개념을 죽 정리해보다 이게 학부때 날 그렇게 괴롭혔던 라쏘, 릿지였다는 걸 알고 새삼 교수님께 죄송했다... 선형방법론의 그 어려운 수식을 푸는 느낌으로 공부해볼 일은 아니지만 꽤나 머신러닝에서 이해가 안돼 애를 먹고 있는 파트이기 때문에 정리해보려 한다.
0. 과적합이 뭘까?
- 기계 학습(machine learning)에서 학습 데이터를 과하게 학습(overfitting)하는 것을 뜻함
- 학습데이터에 대해서는 오차가 감소하지만 실제 데이터에 대해서는 오차가 증가(위키)
1. 왜 알아야 할까?
- 과적합은 강력한 머신러닝의 숙명의 숙명과도 같은 것
- 전체 데이터를 학습 할 수 없는 이상 항상 염두해 두어야 함
- 개념이 뭔지 알고, 증상이 뭔지 알아야 어떤 치료를 할 지 알 수 있기 때문
2. 왜 일어날까?
- 학습 데이터가 실제 데이터의 부분집합이 때문에 모든 특성을 반영하지 않음
- 고려하는 변수(Feature)가 너무 많아서(차원의 저주가 발생해 이상치가 모델에 끼치는 영향이 비정상적으로 커짐)
- 모델이 너무 복잡함
3. 어떻게 해결할까?
- Feature 수 제한하기
- 정규화
- 검증(Validation)
4. 정규화는 어떻게 할까?
- 라쏘(LASSO) a.k.a L1 페널티
기존의 MSE의 최소가 되게하는 가중치와 편향을 찾는 것에 더해 가중치들의 절댓값의 합이 최소가 되게 하는 개념이다.
(무시무시한 수식을 볼 수 있지만, 지금 공부할 단계는 아닌 듯하다. 필요하면 https://sosoeasy.tistory.com/389)
이는 가중치의 모든 원소가 0이 되거나 0에 가깝게 되도록 하게 만든다.
라쏘의 장점은 두 가지다.
첫 번째는 제약 조건을 통해 일반화된 모형을 찾는 것, 두 번째는 필요없는 가중치들이 0이 되어서 모델 해석력이 좋아지는 것이다. 반대로 변수 선택이 불가능하고, 크기가 큰 변수를 우선적으로 줄이는 경향이 있다.
- 릿지(Ridge) a.k.a. L2 페널티
MSE에 가중치의 제곱의 합을 더해 최소를 찾는 개념이다. (이것 또한 무시무시한 수식을 보고 싶다면 여기https://rk1993.tistory.com/entry/Ridge-regression%EC%99%80-Lasso-regression-%EC%89%BD%EA%B2%8C-%EC%9D%B4%ED%95%B4%ED%95%98%EA%B8%B0)
릿지의 장점은 변수를 선택할 수 있다는 점(변수들이 지워지지 않으니)이다. 변수 특성이 전체적으로 비슷하다면 릿지를 선택하는 게 좋다고 알려져 있다. 변수가 없어지진 않고 0에 가까워질 뿐이니까!
'프로젝트(진행중) > 머신러닝 한 걸음씩' 카테고리의 다른 글
Accuracy(정확도), Recall(재현율), Precision(정밀도), F1 Score 총정리 (0) | 2021.10.05 |
---|---|
EP 05. RNN부터 LSTM까지 이해하기 1 (0) | 2021.09.22 |
EP 04. KNN(최근접 이웃) 개념과 장단점 (0) | 2021.09.06 |
EP 03. 나에게 필요한 머신러닝 찾아내는 방법(with 생활코딩) (0) | 2021.08.01 |
EP 01. 경사하강법 (0) | 2021.07.19 |
댓글