nosungmin 2023. 1. 31. 20:43

딥러닝에서의 과적합은 신경망 모델이 훈련 데이터를 너무 잘 학습하여 데이터의 노이즈 또는 무작위 파장에 맞춰 맞추기 시작하는 현상을 말합니다. 이는 새로운 데이터에서의 성능이 떨어지고, 모델이 일반적이지 않아지는 결과를 가져옵니다.

 

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

과적합을 해결하는 방법으로 다음 기술을 사용할 수 있습니다.

  1. 정규화: 패널티를 추가하여 모델이 복잡해지는 것을 막습니다.
  2. 훈련 데이터 증가: 더 많은 훈련 데이터를 사용하여 과적합을 막습니다.
  3. 가중치 감소: 모델의 가중치를 줄여 과적합을 막습니다.
  4. 교차 검증: 훈련 데이터를 여러 개의 부분으로 나누어 검증하여 과적합을 막습니다.
  5. 모델 간단화: 모델의 파라미터 수를 줄이거나 모델의 구조를 간단하게 만듭니다.

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

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

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

 

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

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

 

용어 정리 :

 

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)이 계속 나타나는 이유

 

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

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

 

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

또한 과적합을 방지하는데에는 dropout을 쓰기도 한다.

 

Drop-out은 어떤 특정한 설명변수 Feature만을 과도하게 집중하여 학습함으로써 발생할 수 있는 과적합을 방지하기 위해 사용됩니다.