Overfitting(과적합)이란

Choi Yeonung·2021년 6월 23일
0

머신러닝 기초

목록 보기
2/2

Machine learning을 공부하다 보면 overfitting이란 용어를 굉장히 자주 접하게 된다. 이 포스트에서는 overfitting이 무엇인지 알아보고 overfitting을 어떻게 줄일 수 있는지 소개하겠다.

Overfitting이란

Wikipedia의 정의에 따르면 overfitting은 특정 데이터에 너무 정확하게 일치하여 추가 데이터나 미래 관찰에 대해 잘 예측하지 못하는 것이다.

Overfitting은 모델이 (noise 등의) residual variation이 추출하기 때문에 생긴다.

Overfitting에 상대되는 개념으로 underfitting이 있는데, 이는 모델이 데이터의 구조를 정확하게 잡아내지 못할 때 생긴다. 예를 들어, non-linear 데이터에 linear 모델을 fitting 할 때 일어난다.

위 그림과 같이 모델의 parameter 수가 과도하게 많으면 overfitting이 발생할 수 있다.

Overfitting을 확인하는 방법

Train set에 대한 모델의 성능과 test set에 대한 모델의 성능을 비교하여 test set에 대한 성능이 train set보다 훨씬 낮게 나온다면 overfitting이 나온다고 판단할 수 있다.

Overfitting을 줄이는 방법

Overfitting을 줄이기 위해서는 간단하게 (1) 과도하게 복잡한 모델에 패널티를 주거나 (2) training에 사용되지 않은 데이터를 사용하여 모델의 성능을 평가하는 방법 등이 있다.
또한 model comparison, cross-validation, regularization, early stopping, pruning, Bayesian priors, dropout 등 방법을 사용할 수 있다. 이 방법들 중 자세한 설명이 필요한 것은 다른 포스트에서 소개할 예정이다.

참고

https://en.wikipedia.org/wiki/Overfitting
https://elitedatascience.com/overfitting-in-machine-learning

profile
Code as a hobby

0개의 댓글