과대적합과 과소적합
1. 과대적합(Overfitting)
< Fig. 1. 머신러닝에서의 과대적합 예시 >
과대적합의 해결 방법은 아래와 같습니다.
- 파라미터 수가 적은 모델을 선택하거나, 모델에 제약을 가하여 단순화시킵니다.
- 훈련 데이터를 더 많이 확보합니다.
- 훈련 데이터의 잡음을 줄입니다. (Outlier, Error 제거)
모델을 단순하게 하고 과대적합의 위험을 감소시키기 위해 모델에 제약을 가하는 것을 규제(Regularization)라고 합니다. 예를 들어 앞서 만든 선형 모델은 두 개의 파라미터 𝜃₀와 𝜃₁을 가지고 있었습니다. 이는 데이터에 모델을 맞추기 위한 두 개의 자유도(Degree of Freedom)를 학습 알고리즘에 부여합니다. 모델은 직선의 절편(𝜃₀)과 기울기(𝜃₁)를 조절할 수 있습니다. 우리가 𝜃₁ = 0이 되도록 강제하면 알고리즘에 한 개의 자유도만 남게 되고, 데이터에 적절하게 맞춰지기 힘들어집니다. 즉, 할 수 있는 것이 훈련 데이터에 가능한 가깝게 되도록 직선을 올리거나 내리는 것이 전부이므로 결국 평균 근처가 됩니다. 알고리즘이 𝜃₁을 수정하도록 허락하되 작은 값을 갖도록 유지시키면 학습 알고리즘이 자유도 1과 2 사이의 적절한 어딘가에 위치할 것을 예상할 수 있습니다.
이러한 모델은 자유도가 2인 모델보다는 단순하고 자유도가 1인 모델보다는 복잡한 모델을 만들게 됩니다.
데이터에 완벽히 맞추는 것과 단순한 모델을 유지하는 것 사이의 올바른 균형을 찾는 것이 좋습니다.
2. 과소적합(Underfitting)
< Fig. 2. 과소적합, 과대적합의 예시 >
과소적합의 해결 방법은 아래와 같습니다.
파라미터가 더 많은 강력한 모델을 선택합니다.
학습 알고리즘에 더 좋은 특성을 제공합니다.
모델의 제약을 줄입니다.
데이터를 올바르게 학습시키기 위해서는 과대적합과 과소적합의 중간점을 찾는 것이 좋습니다.
Fig. 3에서 보이는 바와 같이 너무 잘 분류해도, 분류하지 못해도 올바른 모델이라고 할 수 없습니다.
< Fig. 3. 좋은 알고리즘과 나쁜 알고리즘의 예시 >
References
- 오렐리앙 제롱, '핸즈온 머신러닝', 한빛미디어, 2018
- https://medium.com/greyatom/what-is-underfitting-and-overfitting-in-machine-learning-and-how-to-deal-with-it-6803a989c76
'Machine Learning > Basic Theory' 카테고리의 다른 글
[ML] 머신러닝을 위한 테스트 세트 만들기 (2) | 2018.08.31 |
---|---|
[ML] 머신러닝을 위한 데이터 가져오기 (2) | 2018.08.31 |
[ML] 좋은 데이터와 나쁜 데이터 (0) | 2018.08.14 |
[ML] 머신러닝 시스템의 종류 (3) - 사례 기반 학습과 모델 기반 학습 (0) | 2018.08.14 |
[ML] 머신러닝 시스템의 종류 (2) - 배치 학습, 온라인 학습 (0) | 2018.07.23 |