과적합은 모델이 학습 데이터의 기본 패턴뿐만 아니라 특정 데이터세트에 존재하는 노이즈 및 임의성도 학습할 때 발생합니다. 그 결과 훈련 데이터에서는 매우 우수한 성능을 발휘하지만 보이지 않는 새로운 데이터에 대해서는 일반화에 실패하는 모델이 탄생합니다.
신분증
-
높은 훈련 정확도, 낮은 테스트 정확도: 주요 지표 중 하나는 모델이 훈련 데이터에서는 매우 잘 수행되지만 테스트 또는 검증 데이터에서는 좋지 않은 경우입니다.
-
모델 복잡성: 과적합 모델은 지나치게 복잡한 경향이 있어 기본 패턴이 아닌 노이즈를 포착합니다.
-
시각화: 훈련 및 검증 세트의 성능을 보여주는 학습 곡선과 같은 플롯은 검증 성능이 정체되거나 감소하는 동안 훈련 성능이 계속 향상되는 경우 과적합을 드러낼 수 있습니다.
과적합을 완화하기 위한 예방 및 기술
-
교차 검증: k-겹 교차 검증과 같은 기술은 데이터의 다양한 하위 집합에서 모델 성능을 평가하여 모델이 잘 일반화되는지 확인하는 데 도움이 됩니다.
-
학습-검증-테스트 분할: 교육, 검증 및 테스트를 위해 데이터를 개별 세트로 분할하면 보이지 않는 데이터에 대해 모델을 평가할 수 있습니다.
-
기능 선택: 가장 관련성이 높은 기능만 사용하여 모델을 학습하고 덜 유익한 속성으로 인한 노이즈를 방지합니다.
-
정규화: L1 또는 L2 정규화와 같은 기술은 모델의 손실 함수에 페널티 항을 추가하여 지나치게 복잡한 모델을 방해합니다.
-
조기 중지: 검증 세트에서 모델 성능을 모니터링하고 성능이 저하되기 시작하면 훈련을 중지하여 훈련 데이터를 과도하게 최적화하는 것을 방지합니다.
-
앙상블 방법: 배깅, 부스팅 또는 스택과 같은 기술을 사용하면 여러 모델의 예측을 결합하여 과적합을 줄이는 데 도움이 될 수 있습니다.
-
데이터 확대: 특정 유형의 모델의 경우 기존 데이터에 변환이나 섭동을 적용하여 추가 교육 데이터를 생성하면 과적합을 방지하는 데 도움이 될 수 있습니다.
모델이 새로운, 보이지 않는 데이터에 잘 일반화되도록 보장하는 동시에 과적합을 방지하려면 모델 복잡성, 데이터 세트 크기 및 정규화 기술의 균형을 맞추는 것이 중요합니다.