본문으로 건너뛰기
Minsing Log
뒤로 가기

Overfitting & Underfitting

Data & ML

만약 동일한 점들이 주어지고 이점을 대표할 수 있는 함수를 추정하는 경우, 가운데가 optimize하다고 한다면

내용 및 사진 출처: https://22-22.tistory.com/35





-> trianing sample에 대한 과도한 학습/ 모델이 복잡해지면서 새로운 test sample에 대해서는 loss가 낮아지다가 점점 높아지는걸 확인할 수 있다.




overfitting이란 무엇인가?

multiple linear regression에서 train data에 대한 과도한 학습으로 인해서 train data에 대한 prediction의 정확도가 너무 높아져 새로운 data에 대한 정확도가 낮아지는 현상 / 모델의 일반성이 낮아진다. 모델의 complexity가 높아져도 발생




어떻게 인지하는가?

과거 데이터를 학습한 multiple linear regression에서 새로운 data에 대한 prediction 정확성이 매우 낮을때




해결

  1. cross-validation(k-fold국룰)

  2. Regularization

  1. data augmentation(학습 데이터 늘리기)

  2. dropout: 학습할때 뉴런을 끄고 학습

  3. Model capacity 낮추기: 모델이 학습 데이터에 비해 과하게 복잡하지 않도록, hidden layer 크기를 줄이거나 layer 개수를 줄이는 등 모델을 간단하게 만듦.

Test Set Accuracy가 증가하다가 감소하면 학습 데이터가 부족한 경우로 볼 수 있다. 학습 데이터를 늘릴 필요가 있다. 이미지 같은 경우 이미지의 비율을 바꾸거나, 일부분을 가리거나, 회전하는 것으로 데이터를 늘릴 수 있다.

Training Set Accuracy가 100%에 가깝지만 Test Set Accuracy가 상당히 낮은 경우가 있다. 학습 데이터가 편향되어 있지 않은지 확인할 필요가 있다. 특수한 경우의 데이터를 가지고 일반적 문제를 해결하는 경우가 해당될 수 있다.

내용 참조: https://22-22.tistory.com/35


Underfitting이란 무엇인가?

이미 있는 train set에 대해서도 학습을 하지 못한 상태.


왜 발생?




정리

오버피팅은 train set에 대해서 과도하게 맞춰져서 새로운 데이터에 대한 예측 정확도가 떨어지면서 일반성이 떨어지는 현상

심화 내용 링크

http://sanghyukchun.github.io/59/

출처: 1.앨리스 머신러닝 중급과정 내용참조 2.overfitting사진 & 3가지 예측 유형 사진:https://22-22.tistory.com/35

공개 여정 구독

글이 올라오면 이메일로 보내드릴게요.

개발, 창업, 배움, 실패와 회고를 짧고 솔직하게 기록합니다. 검색으로 스쳐가는 독자가 아니라 여정을 따라오는 팬을 만들기 위한 뉴스레터입니다.

뉴스레터는 준비 중입니다. 그동안 RSS 로 구독하거나 이메일 로 알림을 요청해 주세요.


이 글 공유하기:

댓글

GitHub 계정으로 로그인해 댓글을 남길 수 있습니다.


이전 글
비전공자들을 위한 이해할 수 있는 IT 지식
다음 글
Supervised Learning(Classification)