머신러닝과 딥러닝 모델을 공부하다 보면 Regularization(정규화) 과 Generalization(일반화) 은 꼭 짚고 넘어가야 하는 핵심 개념입니다.
둘 다 공통 목표는 과적합(overfitting) 을 방지하고, 현실 세계 데이터에도 잘 작동하는 모델을 만드는 데 있습니다.
모델이 훈련 데이터에서 배우지 않은 새로운 데이터(test data) 에도 잘 작동하는 능력을 말합니다.
과적합을 줄이기 위해 모델의 복잡도를 제어하거나 추가적인 제약을 가하는 방법입니다.
모델이 훈련 데이터에 과하게 적응하지 않고, 일반화 성능을 높이는 것이 주된 목적입니다.
기법 | 설명 |
---|---|
L1 정규화 (Lasso) | 가중치의 절댓값 합을 줄여서 일부 가중치를 0으로 → 특징 선택(feature selection) 효과 |
L2 정규화 (Ridge) | 가중치의 제곱합을 줄여서 전체 가중치를 작게 유지 |
Dropout | 학습 시 일부 뉴런을 랜덤하게 꺼서 특정 뉴런에 대한 의존도 감소 → 앙상블 효과 |
Early Stopping | 검증 성능이 떨어지기 시작하면 학습을 조기 종료 → 과적합 방지 |
Data Augmentation | 데이터 변형으로 데이터 다양화 → 일반화 능력 향상 |
Batch Normalization | 학습 안정화 + 일부 정규화 효과 |
정리하자면: