과적합(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 정규화 적용 비율을 조정하여 모델 구현
출처 : 앨리스 교육
반응형