s5unnyjjj's LOG

ML - Theory #7 : Generalization(일반화), Underfitting(과소적합), Overfitting(과대적합), Bias(편향), Variance(분산) 본문

Artificial Intelligence/Machine Learning

ML - Theory #7 : Generalization(일반화), Underfitting(과소적합), Overfitting(과대적합), Bias(편향), Variance(분산)

s5unnyjjj 2021. 4. 21. 22:31

일반화 (Generalizatoin)

머신러닝 알고리즘들은 학습 과정을 통하여 점차 학습 데이터에 대하여 오차 즉, 학습오차를 감소시켜 나간다. 그러나 우리가 학습의 결과로 원하는 모델은 도메인에서 주어진 임의에 데이터에 대하여 성능이 뛰어난 모델, 즉 "일반화 오차(generalization error)"가 작은 모델을 원하게 된다. 일반화가 잘된 모델이야 말로 좋은모델이기 때문이다. 따라서 모델의 성능을 평가할 때는 도메인에서 임의로 뽑은, 그리고 학습에 사용되지않은 데이터들인 테스트 데이터들에서의 성능을 평가해야 한다. 학습에 사용되지 않은 데이터는 다른 종류의 데이터이므로 해당 데이터에 대해서도 테스트 했을 시 높은 성능을 보인다면 그것이야말로 일반화가 잘된 모델임을 입증할 수 있게된다. 

training error를 최소화 하는 것은 test error를 항상 최소화 하는 것은 아니다.

Underfitting (과소적합)

학습 데이터에 대하여 제대로 학습되지 않아 모델의 성능이 떨어지는 경우가 존재하며, 이를 "Undefitting(과소적합)"이라한다. 그리고 참값들과 추정값들의 차이가 크다는 특징을 갖고 있다. (=high bias)

 ▶ Bias (편향)

  • 참값과 추정값들의 차이를 의미하며, 모델의 학습이 제대로 진행되지 않은 경우 편향 값은 커진다. 따라서, 만일 모델의 편향이 지나치게 크다면, 과소적합이 일어났다고 판단한다. 그러므로 일반적으로 모델의 복잡도가 낮은 경우 편향이 크게 발생한다.

Overfitting (과대적합)

모델의 학습이 지나치게 학습 데이터에 맞추어져 일반화 성능은 오히려 떨어지는 경우가 존재하며, 이를 "Overffing(과대적합)" 이라한다. 그리고 추정값들의 흩어진 정도가 크다는 특징을 갖고 있다. (=high variance)

 ▶ Variance (분산) ◀

  • 추정값들의 흩어진 정도를 의미하며, 학습결과가 지나치게 데이터의 샘플링에 의존적인 경우에는 분산 값은 커진다. 따라서, 만일 모델의 분산이 지나치게 크다면, 과적합이 일어났다고 판단한다. 그러므로 일반적으로 모델의 복잡도가 높거나 데이터가 적은 경우 크게 발생한다.
  • 아래 그림은 Bias와 Variance를 표현한 그림이다.

아래 그림은 회귀분석에서의 과적합 및 과소적합을 표현한 그림이다.

 

< 회귀분석에서의 과적합 및 과소적합 >

아래 그림은 분류에서의 과적합 및 과소적합을 표현한 그림이다.

< 분류에서의 과적합 및 과소적합 >

아래 그림을 보면 모델의 복잡도가 높아질수록 점점 Underfitting에서 벗어라 Best fit에 이르게 된다. 하지만 Best fit을 지나게되면 Overffiting을 향하게 되므로 일반화 성능이 떨어지게 되어 Test error가 커지는 현상을 확인할 수 있다. 

< 과적합 및 과소적합 >

∵ 위에서 살펴봤듯이 bias-variance는 tradeoff 관계이므로, 올바른 복잡도를 선택하는 것은 중요하다. 하지만 올바른 복잡도라는 말 자체가 추상적이므로 찾기 쉽지 않다. 그러므로 모델의 복잡도를 조절하는 방법으로 Regularization, Cross-validation이 있다. 이것에 대해서는 다음 글인 Theory #4에서 알아본다.


>> 위 내용은 필자가 공부하여 직접 정리한 내용입니다.

>> 부족한 점이 많을 수 있기에 잘못된 내용이나 궁금한 사항이 있으면 댓글 달아주시기 바랍니다.

>> 긴 글 읽어주셔서 감사합니다. 

반응형
Comments