https://youtu.be/hBJqjAaUesA
- 이전에 들었던 유사한 부분이 많기 때문에 간략히 정리. 상세 내용은 아래 페이지 참조
- train data의 noise까지 fitting 된 것을 overfitting이라고 한다.
- 모델이 학습이 안된거는 underfitting
- 과적합 문제를 방지하기 위해 Regularization(규제)을 사용함. 이것은 overfitting을 방지한다.
- Regularization은 일종의 페널티를 부여한다.
- 예컨대 회귀 문제는 $\theta$를 최소화하는 것을 찾게 되는데, 여기에 $\theta$의 합을 더해줘서 (절대값을 더할 수도 있고(이게 L1) 제곱해서 더할 수도 있다(이게 L2)) (추가로 $\lambda$를 곱한) 무작정 $\theta$를 최소화하는 것을 못 찾게 한다.
- 머신러닝에서는 가중치 $W$를 구하게 되는데, 이 $W$를 강제로 더해줘서 규제를 사용함
- 기본적으로 복잡한 선을 그리려면 함수가 복잡해져야 한다.
- 위 overfitting 이미지에서 가장 오른쪽의 복잡한 선을 그리려면 그 식 안에 속한 $\theta$의 값이 커야 함. 만일 $\theta$가 0에 가까운 작은 값이라면 복잡한 선을 그릴 수 없고, underfitting과 같은 단순한 선이 그려짐.
- 그래서 단순한 모델을 만드는 것과 weight 값을 작게 만드는 것은 강한 상관관계가 있다.
- 이래서 머신러닝에서 학습을 반복하면 $\theta$가 점점 커지게 되는데, (식은 최소화된 $\theta$를 잡게 되므로 그 안에서 작은 값을 찾게 되지만) 이거를 방지하기 위해 아예 $\theta$를 더해줘서 균형을 잡는다.
- L2 Regularization을 Ridge Regression이라고 한다.
- 제곱의 합이기 때문에 원형으로 나타나고, $\lambda$가 커질수록 원은 작아지고 작아질수록 원은 커짐.
- L1 Regularization을 Lasso Regularization이라고 한다.
- 아까와 마찬가지로 $\lambda$가 커질수록 마름모는 작아지고 작아질수록 커짐.
- L2와 달리 절대값의 합이기 때문에 마름모 모양으로 표현된다.
- 이 경우 많은 경우 최적값이 꼭지점에 모이게 되는데, 마름모 바깥의 많은 점들의 가장 가까운 거리가 꼭지점에 대응되기 때문. 변에 대응되는 영역은 좁은 영역만 가능하다.
- 많은 점들이 꼭지점에 모인다는 것은 $\theta$가 0이 된다는 것이 되고, 그것은 위의 복잡한 수식에서 많은 선들이 사라져서 결국 식이 단순해 진다는 것이 된다.
- 따라서 noise에 robust한 decision boundary를 만들게 된다.
- Neural Network는 overfitting이 쉽게 되기 때문에 위와 같은 기법을 사용ㅎㅏ.