[미래연구소] 딥러닝 17기 week5

qw4735·2022년 3월 1일

http://futurelab.creatorlink.net/

Underfitting vs. Overfitting

  • Fit 이란?
    특정 data를 학습하는 과정
  • overfitting : 너무 학습을 많이해서 정답을 외워버리는 현상
  • underfitting : 모델이 train data조차도 잘 못 맞추는 상황

그렇다면 right fitting의 기준???

왼쪽부터 underfitting, right fit, overfitting한 경우
(모델이 복잡할수록, 학습을 많이 할수록 과적합이 일어나기 쉽다.)

  • underfitting case : loss(samples과 true function간의 차이)가 너무 크다
    -> (선형) model의 한계 => model의 표현력을 높여줘야 함
    (activation, node, layer)
  • overfitting case : loss가 거의 없음. but, 우리가 알지 못하는 점(unseen data)에 대한 loss는 몹시 큼
    -> # of iteration를 낮춤, node/layer의 깊이를 낮춤
  • right fit case : loss가 작으면서 unseen data에 대해서도 잘 맞을 것이다!

우리가 적합한 모델이 overfitting 된 것인지 right fit을 가졌는지 알려면 ? validation set 설정을 통해 가능!!!

bias variance trade-off


처음에는 training set, validation set 둘다 잘 못 맞추다 모델이 복잡해질수록 loss가 줄어들어 점점 적합이 잘 되게 된다.
그러다 어느 시점을 넘어서면 overfitting 현상이 발생하여 training set에 맞게 모델이 변하다 보니, training set에 대해서는 loss가 계속해서 줄어들지만, test set에 대해서는 다시 model loss가 증가하게 된다.

  • bias : 참 값들과 추정 값들의 차이 (loss가 큰 경우)
  • variance : 추정값들의 흩어진 정도 (정답을 외워버린 정도)

low bias & low variance를 가진 모델이 가장 이상적인 모델이지만, 위 그림을 보면 알 수 있듯이 low bias와 low variance는 양립하기 어렵다. 한쪽이 줄어들면 한쪽은 커지게 되어있다.
따라서 적절한 bias, variance값을 잘 찾는 것이 중요하다.

Holdout validation

  • hyperparameter - no free lunch 만능은 없다!!
    -> 해결
    1) iterative process가 필요
    2) holdout validation

  • holdout : 학습시키는 data 따로, 검증하는 data 따로 split한다.

  • holdout validation 사용하는 이유
    학습한 data로 검증하는 건 unseen data에 대한 일반성을 확보하지 못하기 때문

  • training set : 모델을 학습시키는 data

  • validation set : 최적의 hyperparameter인지 검증-> 결과에 따라 tuning함
    여러번 evaluate 가능

  • test set : 수차례의 검증을 마치고, 최종 test에 사용하는 data -> 결과에 따라 tuning 불가능
    한 번만 evaluate 한다

0개의 댓글