Machine learning

[기계학습]과적합(overfitting)이란?

Acdong 2020. 3. 25. 17:37
728x90

과적합(overfitting)이란?

너무 과도하게 데이터 모델을 학습(learning)을 한 경우를 의미
학습 데이터에는 잘 맞지만 검증 데이터(테스트 데이터)에 잘 맞지 않는 것

 

  •  복잡한 모형일수록, 데이터가 적을수록 과적합이 일어나가 쉽다.
  •  데이터가 많으면 복잡한 모형을 써도 과적합이 잘 발생하지 않음

회귀분석에서 고차항을 넣었을 때 만들어 지는 직선

 

 분산(variance)와 편파성(bias)의 트레이드오프(Tradeoff) 딜레마

분산(var) : 전체 데이터의 집합 중 다른 학습 데이터를 이용했을 때, f^ 이 변하는 정도 

            * 복잡한 모형일 수록 분산이 높음

 

 편파성(bias) : 학습 알고리즘에서 잘못된 가정을 했을 때 발생하는 오차

            * 간단한 모형일 수록 편파성이 높음

 

모형 f^(x)로 모집단의 전체 데이터를 예측할 때 발생하는 총 error 를 계산

용어 정리 :

 

Tradeoff : 트레이드 오프 , 두 가지 중에 하나가 증가하면 하나는 감소하는 관계

 * 딜레마의 원인

 

 MSE(Mean Squared error)  : 오류자승의 평균 기대 값 , 모형의 적합도를 판단하는 척도 수치가 낮을수록 좋은 모형  

 

 irreducible error : 변하지 않는 에러 ( 우리가 해결 할 수 없는 에러 )

 reducible error : 변하는 에러 ( 우리가 수식(모형)을 바꾸면서 줄여 나갈 수 있는 에러 )

 

Var(f^(x)) + [bias(f^(x)]^2 + Var(e) 

 

우리는 Var(f^(x)) + [bias(f^(x)]^2 를 바꿔나가면서 MSE를 줄여나가야 함

   * overfitting도 고려해야 함

 

Trade-off 딜레마 설명 : 복잡하게 만들면 분산이 높아지고 간단하게 만들면 편파성이 높아짐

 

어쩌라는 거야.... 아오 ㄷㄷ

 

  • 1번 모형은 사실상 불가능한 모델 ( 너무 잘 맞음 말이 안 됨)
  • 2번 모형은 편파성은 낮고 분산이 높음 
  • 3번 모형은 편파성이 높고 분산이 낮음
  • 4번 모형은 둘 다 높음 ( 쓰레기 모형 )

 

그럼 2번과 3번 중에 선택해야 하는데 , 즉 적절한 모형 선택과 실험 설계를 통한 과적합을 방지해야 하는데.

 

대부분 2번을 선택해서 과적합을 최대한 줄이는 방법을 선택한다.

 *대표적으로 앙상블 모델이 2번에 해당된다.

 

과적합(overfitting)이 계속 나타나는 이유

 

우리가 가지고 있는 데이터는 모집단이 아니라 표본이기 때문에 

표본이 모집단의 특성을 완벽히 대입하는 것은 어렵다( 완벽한 랜덤은 없다 )

 

그래서 실제 데이터와 안 맞는 현상(과적합)이 발생한다.

 

우리는 오버 피팅과의 싸움을 계속해야 한다.... 수많은 노력 필요!!

반응형