AI/MachineLearning

과적합과 정규화

향식이 2021. 6. 3. 22:45

과적합(Overfitting)이란?

모델이 주어진 훈련 데이터에 과도하게 맞춰져서 새로운 데이터가 입력 되었을 때 잘 예측하지 못하는 현상

즉, 모델이 과도하게 복잡해져 일반성이 떨어진 경우를 의미함

 

과적합 방지 방법

  1. 교차검증 (Cross Validation)

  • 모델이 잘 적합되었는지 알아보기 위해 훈련용 데이터와 별개의 테스트 데이터, 그리고 검증 데이터로 나누어 성능 평가하는 방법
  • k-fold 교차검증 : 훈련 데이터를 계속 변경하며 모델을 훈련시킴. 데이터를 k등분으로 나누고 K번 훈련시킴.

  2. 정규화

  • 모델의 복잡성을 줄여 일반화된 모델을 구현하기 위한 방법 -> 모델 베타i에 패널티를 부여함
  • L1 정규화 (Lasso) : 불필요한 입력값에 대응되는 베타i를 정확히 0으로 만듦.
  • L2 정규화 (Ridge) : 아주 큰 값이나 작은 값을 가지는 이상치에 대한 베타i를 0에 가까운 값으로 만듦.

적용한 정규화 방법에 따라 라쏘(Lasso), 릿지(Ridge), 엘라스틱 넷(Elasticnet)회귀로 분류할 수 있음.

 

 

 

(1) 정규화 기법을 적용한 회귀 - Lasso

- 회귀 학습에 사용되는 Loss function(비용 함수)에 L1정규화 항을 추가

- 중요하지 않은 베타i를 0으로 만들어 모델의 복잡성을 줄일 수 있음.

장점 : 모델의 복잡성이 낮아짐 -> 과적합 문제가 줄어듦 -> 예측,계산해서 쉽고 간단하게 할 수 있음.

단점 : 모델의 정확성이 떨어질 수 있음, 몇 개의 중요 변수만 선택하기 때문에 정보를 손실할 수 있음.

 

(2) 정규화 기법을 적용한 회귀 - Ridge Regression

단점 : 0이 아닌 0에 가까워지는 것이기 때문에 식이 엄청 간단해지진 않음.

 

(3) 정규화 기법을 적용한 회귀(3) - Elastic Net Regression

-Lasso회귀의 L1정규화와 Ridge회귀의 L2 정규화 적용 비율을 조정하여 모델 구현

 

출처 : 앨리스 교육

반응형