들어가며
이번 글에서는 머신러닝 시스템을 학습할 때 테스트 샘플에 과도하게 일반화해서 문제가 되는 과대적합과
반대로 샘플이 너무 단순해 일반화가 안되는 문제인 과소적합에 대해 알아볼 것이다
일반화가 잘되려면 훈련 데이터가 새로운 데이터를 잘 대표하는 것이 중요하다
하지만 이는 생각보다 어려운 경우가 많다
샘플이 작으면 우연에 의한 대표성 없는 데이터가 생기게 되고(이를 샘플링 잡음이라 한다)
샘플이 커도 표본 추출이 잘못되면 대표성을 띠지 못할 수 있다(이를 샘플링 편향이라 한다)
과대 적합
과대 적합이란?
과대 적합은 모델이 훈련 데이터에는 너무 잘맞지만 새로운 데이터에 대해 일반성이 떨어지는 현상을 말한다
구체적으로 말하자면
과대 적합은 훈련 데이터가 적거나 잡음많고 편향되어있는데 모델이 복잡할 때 일어난다
모델이 복잡하다는 의미는 자유도가 크다는 건데
자유도가 크다는 것은 고차 다항식이며 파라미터가 많은 모델을 의미한다

예를 들어 해외 여행 중 택시 운전사가 여러분의 물건을 훔쳤다고 했을 때
그 나라의 모든 택시 운전사를 도둑이라고 생각하는 것은 과도한 일반화를 한 것이고
기계도 똑같은 함정에 빠질 수 있다 이를 과대적합이라고 하는 것이다
과대 적합 해결 방법
이러한 과대 적합을 해결할 수 있는 몇 가지 방법이 있다
- 파라미터 수가 적은 모델을 선택하거나 훈련 데이터의 특성 수를 줄여야 한다
이처럼 모델에 제약을 가하는 것을 규제(regularization)라고 한다
- 훈련 데이터가 크지 않아서 그런 것일 수 있으므로 데이터를 더 많이 모은다
- 훈련 데이터의 잡음을 줄인다 이상치를 찾아 제거하거나 오류 데이터를 수정한다.
하이퍼파라미터(hyperparameter)
학습하는 동안 규제의 정도는 하이퍼파라미터가 결정한다
하이퍼파라미터는 모델 파라미터와는 다른 개념인데
모델 파라미터는 모델 내부의 매개변수로서 사람이 정하지 않으며 데이터로부터 자동으로 정해지는 값이다
학습 과정에서 조정되는 가중치나 편향이 이에 해당한다
하이퍼파라미터는 사람이 정하며 훈련 전에 미리 지정되고 훈련하는 동안엔 상수로 남아있는다
대표적인 예시로는 학습률, 에포크, k-NN의 k값 등이 있다
쉽게 말하면 모델 파라미터는 모델이 배우는 값,
하이퍼파라미터는 우리가 모델에게 "이렇게 배워라" 라고 설정해주는 값인 것이다

위 그림은 하이퍼파라미터와 파라미터의 관계를 직관적으로 잘 나타내는 그림이다
하이퍼파라미터 값이 설정되면 파라미터 학습이 그 조건 안에서 이루어지는 것이다
과소적합
과소 적합이란?
과소 적합이란 짐작 가능하듯이 과대 적합의 반대이다
모델이 너무 단순해서 데이터의 내재된 구조를 학습하지 못할 때 일어난다
모델의 자유도가 적거나 혹은 제약이 너무 많거나 특성이 너무 부족할 때 일어날 수 있다

과소 적합 해결 방법
과소 적합 문제를 해결하는 방법으로는
- 모델 파라미터가 더 많은 자유도가 큰 모델을 선택한다
- 학습 알고리즘에 더 많은, 좋은 특성을 제공한다 특성 공학을 통해 이 과정을 수행할 수 있다
- 모델의 제약을 줄인다 즉 규제 하이퍼파라미터를 조정한다
마치며
이번 글에서는 모델의 학습과정에서 나타날 수 있는 주요한 현상인 과대 적합과 과소 적합에 대하여 알아보았다
과대 적합은 훈련 오차는 적지만 일반화 오차가 커서 훈련만 잘한다는 개념이고
과소 적합은 훈련 오차도 크고 일반화 오차도 커서 훈련도 못한다는 개념으로 쉽게 이해할 수 있다
모델 파라미터와 하이퍼 파라미터의 개념을 차이가 이해하기 어려움이 있었지만
여러 예시들이랑 관련 문서들을 읽고난 후 그 차이를 구분지을 수 있었다
다음 글에서는 새로운 샘플이 모델에 잘 작동하는 지 확인하는 작업에 대하여 알아볼 것이다
'AI > Machine Learning' 카테고리의 다른 글
| [AI] 테스트 세트 만들기 (0) | 2026.02.03 |
|---|---|
| [AI] 홀드아웃 검증(holdout validation), 교차 검증(cross-validation) (0) | 2026.01.21 |
| [AI] 사례 기반 학습(instance-based learning), 모델 기반 학습(model-based learning) (0) | 2026.01.20 |
| [AI] 오프라인 학습(offline learning), 온라인 학습(online learning) (0) | 2026.01.19 |
| [AI] 준지도학습(semi-supervised learning), 자기지도학습(self-supervised learning), 강화학습(reinforcement learning) (0) | 2026.01.18 |
