머신러닝을 배우다 보면 자주 듣는 두 단어가 있습니다. 바로 편향(Bias)분산(Variance)입니다. 이 둘은 모델이 왜 잘 맞지 않는지, 혹은 왜 훈련 데이터는 잘 맞추는데 실제 데이터에서는 성능이 떨어지는지를 설명하는 핵심 개념입니다.

1. 편향 (Bias)

  • 정의: 모델이 현실의 복잡한 패턴을 얼마나 단순화하고 있는가를 보여주는 지표
  • 특징: 예측이 실제와 꾸준히 멀리 떨어져 있음
  • 원인: 너무 단순한 모델(예: 직선 하나로 복잡한 곡선 설명)
  • 결과: 훈련/테스트 데이터 모두 성능이 낮음
  • 연결 개념: 과소적합(Underfitting)

2. 분산 (Variance)

  • 정의: 모델이 데이터의 작은 변화(노이즈)에 얼마나 예민하게 반응하는가
  • 특징: 학습 데이터에서는 성능이 높지만 새로운 데이터에서 급락
  • 원인: 너무 복잡한 모델(노이즈까지 학습)
  • 결과: 과적합(Overfitting)

3. 편향-분산 트레이드오프

편향을 낮추면 모델이 복잡해져 분산이 커질 수 있고, 분산을 낮추면 모델이 단순해져 편향이 커질 수 있습니다.

  • 목표: 둘 다 0으로 만드는 것이 아니라 균형점을 찾는 것

4. 모델 정규화 (Regularization)

편향과 분산 문제를 조율하는 대표적인 도구가 정규화입니다.

4.1 정의

손실 함수에 페널티 항을 추가해 모델이 불필요하게 복잡해지는 것을 억제하는 방법입니다. 가중치가 과도하게 커지는 것을 막아 과적합을 줄이고 일반화 성능을 높입니다.

4.2 정규화의 주요 방식

L1 정규화 (Lasso)

  • 방식: 손실 함수에 가중치 절댓값 합 추가
  • 효과: 일부 가중치를 0으로 만들어 변수 선택 효과

L2 정규화 (Ridge)

  • 방식: 손실 함수에 가중치 제곱합 추가
  • 효과: 모든 가중치를 조금씩 줄여 안정적인 학습(완전 0은 드묾)

Elastic Net

  • 방식: L1 + L2 절충
  • 효과: 변수 선택(L1)과 안정성(L2)을 함께 확보

5. 왜 손실 함수와 정규화가 중요한가?

  • 손실 함수: 모델이 얼마나 틀렸는지 평가하는 기준
  • 정규화: 손실 함수에 규칙을 더해 과한 학습(오버피팅)을 제어

정리하면,

  • 손실 함수: 오답 체크 기준
  • 정규화: 답을 맞추되 과하게 외우지 않게 하는 제약

정리

  • 편향은 단순해서 본질을 놓치는 문제
  • 분산은 복잡해서 노이즈까지 외우는 문제
  • 정규화는 둘 사이 균형을 맞춰 일반화 성능을 높이는 방법