요새 딥러닝 모델 성능 개선에 힘쓰고 있는데, 누구나 그렇듯 과대적합이 발목 잡고 있다.
해결 방법 조사 중에, 학생들이 주로 과대적합과 일반화에 대해 오해하는 요소들을 다룬 논문을 발견하여서
이해한 부분을 간략하게 정리해본다.
https://arxiv.org/abs/2209.03032
Machine Learning Students Overfit to Overfitting
Overfitting and generalization is an important concept in Machine Learning as only models that generalize are interesting for general applications. Yet some students have trouble learning this important concept through lectures and exercises. In this paper
arxiv.org
과대적합을 해결하기 위해 다루면 좋을 방법
- 정규화 기법 적용
- 모델 복잡도 감소
- 적절한 표준 모델 아키텍처 도입
1. 학습에 사용되는 손실 함수가 적절한가?
연구 목적에 적절하지 않은 손실함수를 적용하면 학습이 정상적으로 진행될 수가 없고, 수렴하지 않을 것이다.
대표적인 분류 모델의 손실함수인 크로스 엔트로피. 예측 모델에 MSE 등이 있다.
꼭 분류 / 예측으로 나누어 볼 것이 아니라 목적에 부합한 손실함수가 적용되었는지 알아볼 것.
2. 학습이 수렴에 이르렀는가?
충분한 양의 에포크 동안 학습 되어 손실 값이 떨어지지 않는 지점까지 다다른 것인지 확인한다.
3. 검증 데이터셋이 과대적합 확인에 사용되고 있는가?
평가지표만으로는 과대적합을 알 수 없다. 오로지 학습 데이터와 검증 데이터만으로 과대적합을 알 수 있다.
4. 학습 데이터 수가 충분한가?
학습 데이터 수가 적으면 모델이 특정 패턴을 학습할 수 없고, 수렴 특성을 찾기 어려울 수 밖에 없다.
학습 데이터와 모델 파라미터를 비교해보고, 학습 데이터가 적다면 추가 수집 또는 데이터 증강에 대해 알아보는 게 좋다.
5. 학습 데이터와 검증 데이터의 분포가 유사한가?
검증에 사용되는 데이터와 학습 데이터 분포 차이가 크다면, 과대적합의 문제가 아니라 일반화 문제로 좋은 결과를 내지 못할 수 있다.
6. 학습 파이프라인이 적절한가?
학습 과정을 설계하는데 실수 또는 착오가 있었다면, 과대적합처럼 보이지만 실상은 다른 원인일 수도 있는 것이다.
데이터 구성은 정확히 했는지. 데이터 레이블링 매칭은 정확히 되었는지. 모델 아키텍처 구현을 정확하게 했는지. 적절한 손실함수를 적용했는지 확인해야한다.
'데이터사이언스 > 머신러닝' 카테고리의 다른 글
상호 작용(Significant Interaction)과 상관 관계(Correlation) 차이 (1) | 2023.12.23 |
---|---|
[머신러닝] Training set과 Test set에 동일하게 Label Encoding 적용하는 방법 (0) | 2023.10.10 |
핸즈온 머신러닝 2 - 2장 End-to-End 머신러닝 프로젝트 요약 (0) | 2022.09.21 |
핸즈온 머신러닝 2 - 1장 기계학습 개요 (0) | 2022.09.19 |
앙상블 - 배깅 공부하다 끄적 (0) | 2022.08.09 |