본문 바로가기
Analysis

머신러닝 기초: 과적합과 과소적합의 이해

by Pebble`s 2025. 3. 8.

머신러닝 기초: 과적합과 과소적합의 이해

머신러닝 모델을 개발할 때 가장 흔히 마주치는 두 가지 문제가 바로 과적합(Overfitting)과 과소적합(Underfitting)입니다. 이 두 개념은 모델의 성능과 일반화 능력을 결정하는 핵심 요소로, 균형 잡힌 모델을 구축하기 위해 반드시 이해해야 합니다.

 

 

과적합(Overfitting): 나무는 보되 숲은 보지 못하는 상태

과적합은 모델이 훈련 데이터에 지나치게 맞춰져서 새로운 데이터에 대한 예측 성능이 떨어지는 현상입니다. 이는 마치 시험 문제와 답안을 모두 암기했지만, 실전에서 비슷하지만 다른 문제를 만났을 때 풀지 못하는 학생과 같습니다.

과적합의 특징

  • 훈련 데이터에 대한 성능은 매우 좋음
  • 테스트 데이터(새로운 데이터)에 대한 성능은 저조함
  • 모델이 훈련 데이터의 노이즈까지 학습함
  • 복잡한 모델일수록 과적합 위험이 높아짐

과적합이 발생하는 이유

  1. 모델이 너무 복잡함: 필요 이상으로 많은 매개변수나 층을 가진 모델
  2. 훈련 데이터가 부족함: 모델의 복잡성에 비해 데이터 샘플이 적음
  3. 훈련 기간이 너무 김: 불필요하게 오래 훈련하여 노이즈까지 학습함

과적합 해결 방법

  • 정규화(Regularization): L1, L2 정규화 등을 통해 모델의 복잡성에 페널티 부여
  • 드롭아웃(Dropout): 신경망에서 일부 노드를 무작위로 비활성화
  • 교차 검증(Cross-validation): 데이터를 여러 부분으로 나누어 검증
  • 앙상블 방법(Ensemble methods): 여러 모델의 예측을 결합
  • 데이터 증강(Data augmentation): 기존 데이터에 약간의 변형을 주어 더 많은 훈련 데이터 생성
  • 조기 종료(Early stopping): 검증 성능이 더 이상 향상되지 않을 때 훈련 중단

과소적합(Underfitting): 나무도 숲도 제대로 보지 못하는 상태

과소적합은 모델이 데이터의 패턴을 충분히 학습하지 못해 훈련 데이터와 테스트 데이터 모두에서 낮은 성능을 보이는 현상입니다. 이는 마치 교과서의 기본 개념조차 이해하지 못한 학생이 시험에서 좋은 성적을 기대할 수 없는 것과 유사합니다.

과소적합의 특징

  • 훈련 데이터에 대한 성능이 저조함
  • 테스트 데이터에 대한 성능도 마찬가지로 저조함
  • 모델이 데이터의 복잡한 패턴을 포착하지 못함
  • 너무 단순한 모델에서 주로 발생함

과소적합이 발생하는 이유

  1. 모델이 너무 단순함: 복잡한 데이터 패턴을 표현하기에 충분한 용량이 없음
  2. 특성(Feature)이 불충분함: 중요한 특성이 모델에 포함되지 않음
  3. 훈련 기간이 너무 짧음: 충분히 학습하지 못함
  4. 정규화가 너무 강함: 과도한 제약으로 모델의 학습 능력 제한

과소적합 해결 방법

  • 더 복잡한 모델 사용: 더 많은 매개변수나 층을 가진 모델로 전환
  • 특성 엔지니어링: 새로운 특성 추가 또는 기존 특성의 변환
  • 정규화 감소: 모델에 가해진 제약 완화
  • 더 오래 훈련: 모델이 충분히 학습할 수 있도록 훈련 기간 연장
  • 다항 특성 추가: 비선형 관계를 포착하기 위한 다항식 특성 도입

과적합과 과소적합의 균형 잡기

머신러닝에서 가장 이상적인 상태는 과적합도 과소적합도 아닌, 적절한 균형점을 찾는 것입니다. 이를 위한 몇 가지 방법은 다음과 같습니다:

학습 곡선 분석

훈련 세트와 검증 세트에 대한 성능을 훈련 샘플 수 또는 훈련 횟수에 따라 그래프로 그려보면, 모델이 과적합인지 과소적합인지 판단할 수 있습니다.

  • 훈련 오류와 검증 오류가 모두 높으면 과소적합
  • 훈련 오류는 낮지만 검증 오류가 높으면 과적합
  • 두 오류가 모두 낮고 가까우면 적절한 균형

모델 복잡성 조절

모델의 복잡성을 조절하는 하이퍼파라미터를 조정하여 최적의 지점을 찾을 수 있습니다.

  • 의사결정 트리의 최대 깊이
  • 신경망의 층 수와 노드 수
  • 정규화 강도(λ)
  • 다항식의 차수

앙상블 방법 활용

여러 모델의 예측을 결합하는 앙상블 방법(랜덤 포레스트, 그래디언트 부스팅 등)은 과적합 위험을 줄이면서도 복잡한 패턴을 학습할 수 있게 해줍니다.

실제 사례로 보는 과적합과 과소적합

부동산 가격 예측 모델

  • 과소적합 사례: 집 면적만으로 가격을 예측하는 단순 선형 모델은 지역, 건축 연도, 학군 등 중요한 요소를 고려하지 않아 과소적합될 가능성이 큽니다.
  • 과적합 사례: 너무 많은 특성(집 면적, 방 개수, 욕실 개수, 건축 연도, 우편번호, 주변 상점 수 등)을 포함하고 복잡한 모델을 사용하면, 훈련 데이터에는 잘 맞지만 새로운 주택에 대한 예측은 부정확할 수 있습니다.

질병 진단 모델

  • 과소적합 사례: 환자의 나이와 체온만으로 질병을 진단하려는 모델은 중요한 증상과 검사 결과를 고려하지 않아 진단 정확도가 낮을 것입니다.
  • 과적합 사례: 너무 많은 검사 결과와 의료 기록을 사용하여 훈련 데이터의 특이한 패턴까지 학습한 모델은 새로운 환자에게 적용할 때 신뢰성이 떨어질 수 있습니다.

결론: 적절한 균형이 성공의 열쇠

머신러닝에서 과적합과 과소적합은 모델 개발 과정에서 반드시 마주치게 되는 도전 과제입니다. 과적합은 모델이 훈련 데이터에 지나치게 특화되어 일반화 능력이 부족한 상태를, 과소적합은 모델이 데이터의 기본 패턴조차 포착하지 못하는 상태를 의미합니다.

성공적인 머신러닝 모델을 만들기 위해서는 이 두 극단 사이에서 적절한 균형을 찾아야 합니다. 이를 위해 모델 복잡성 조절, 정규화 기법 적용, 충분한 훈련 데이터 확보, 교차 검증 등의 방법을 활용할 수 있습니다.

결국, 과적합과 과소적합의 이해는 단순히 문제를 식별하는 것을 넘어, 모델의 성능을 최적화하고 실제 환경에서 신뢰할 수 있는 예측을 제공하는 데 필수적인 지식입니다. 데이터 과학자로서 이 균형을 찾는 과정은 때로는 도전적이지만, 그만큼 보람 있는 여정이 될 것입니다.