콘텐츠로 이동

편향-분산 트레이드오프 (Bias-Variance Trade-off)

핵심 요약: 편향(Bias)은 모델이 체계적으로 빗나가는 정도이고, 분산(Variance)은 데이터가 바뀔 때 모델이 흔들리는 정도다. 단순한 모델은 편향이 높고 분산이 낮으며(과소적합), 복잡한 모델은 편향이 낮고 분산이 높다(과적합). 최적의 모델은 그 중간 어딘가에 있다. 다트를 던질 때 항상 같은 곳(과녁 밖)에 맞으면 편향이 높고, 과녁 근처이지만 흩어지면 분산이 높은 것이다.

모든 예측 오차는 세 가지 원천으로 분해된다: 편향(Bias), 분산(Variance), 그리고 줄일 수 없는 오차(Irreducible Error). 편향은 모델이 너무 단순할 때(과소적합), 분산은 모델이 너무 복잡할 때(과적합) 커진다. 이 둘 사이의 균형을 찾는 것이 모델 선택의 핵심이다.

이것은 이론적 개념만이 아니다. 실제로 모델의 복잡도를 결정하고, 정규화(regularization) 강도를 설정하고, 앙상블 방법을 선택하는 모든 결정의 근간에 이 트레이드오프가 있다.


편향-분산 분해(Bias-Variance Decomposition)는 통계학에서 오래전부터 알려진 개념이었지만, 머신러닝 커뮤니티에서 핵심 프레임워크로 자리잡은 것은 Geman, Bienenstock, Doursat의 1992년 논문 “Neural Networks and the Bias/Variance Dilemma”가 계기였다. 당시 통계학자들은 “신경망은 과적합(Overfitting) 기계에 불과하다”고 비판했고, AI 연구자들은 “충분히 큰 신경망은 모든 함수를 근사할 수 있다”고 반박했다. Geman 등은 이 논쟁을 편향-분산 분해라는 수학적 프레임워크로 정리하여, 양측의 주장이 모두 부분적으로 옳음을 보였다. 신경망은 낮은 편향(높은 표현력)을 가지지만 높은 분산(불안정성)을 대가로 치르며, 이 트레이드오프를 관리하는 것이 핵심이라는 것이다. 이 논문은 정규화(Regularization), 조기 종료(Early Stopping), 앙상블(Ensemble) 같은 기법들이 왜 필요한지에 대한 이론적 근거를 제공했고, 이후 모든 ML 교과서에서 다루는 필수 개념이 되었다.


실제 관계 y=f(x)+ϵy = f(x) + \epsilon (ϵ\epsilon은 평균 0, 분산 σ2\sigma^2인 노이즈)에서, 학습된 모델 f^(x)\hat{f}(x)의 제곱 오차 기대값은 다음과 같이 분해된다:

E[(yf^(x))2]=(Bias[f^(x)])2편향2+Var[f^(x)]분산+σ2줄일 수 없는 오차E\left[(y - \hat{f}(x))^2\right] = \underbrace{\left(\text{Bias}[\hat{f}(x)]\right)^2}_{\text{편향}^2} + \underbrace{\text{Var}[\hat{f}(x)]}_{\text{분산}} + \underbrace{\sigma^2}_{\text{줄일 수 없는 오차}}

각 항의 정의:

Bias[f^(x)]=E[f^(x)]f(x)\text{Bias}[\hat{f}(x)] = E[\hat{f}(x)] - f(x)

Var[f^(x)]=E[(f^(x)E[f^(x)])2]\text{Var}[\hat{f}(x)] = E\left[(\hat{f}(x) - E[\hat{f}(x)])^2\right]

여기서 기대값 E[]E[\cdot]같은 크기의 서로 다른 훈련 세트에 대해 취한다.

데이터 20개로 다항식 회귀(Polynomial Regression)를 학습한다고 하자:

모델다항식 차수훈련 오차테스트 오차진단
직선 (차수 1)115%12%과소적합 — 훈련/테스트 오차 모두 높고 격차 작음
적절한 곡선 (차수 4)43%5%적절 — 훈련 오차 낮고 테스트와 격차 작음
극단적 곡선 (차수 20)200%45%과적합 — 훈련 오차는 완벽하지만 테스트 오차 폭등

차수 20 모델은 훈련 데이터의 노이즈까지 외워버려서(분산 높음), 새 데이터에서 엉뚱한 예측을 한다. 차수 1은 너무 단순해서(편향 높음) 데이터의 패턴을 놓친다.

분해 유도 (핵심 단계):

E[(yf^)2]=E[(f+ϵf^)2]E[(y - \hat{f})^2] = E[(f + \epsilon - \hat{f})^2] =E[(ff^)2]+E[ϵ2]+2E[(ff^)ϵ]= E[(f - \hat{f})^2] + E[\epsilon^2] + 2E[(f - \hat{f})\epsilon] =E[(ff^)2]+σ2(ϵ은 독립, 평균 0)= E[(f - \hat{f})^2] + \sigma^2 \quad (\because \epsilon \text{은 독립, 평균 0})

첫째 항을 전개하면 (fˉ=E[f^]\bar{f} = E[\hat{f}]로 놓고):

E[(ff^)2]=E[(f^fˉ+fˉf)2]E[(f - \hat{f})^2] = E[(\hat{f} - \bar{f} + \bar{f} - f)^2] =E[(f^fˉ)2]+(fˉf)2+2E[(f^fˉ)](fˉf)= E[(\hat{f} - \bar{f})^2] + (\bar{f} - f)^2 + 2E[(\hat{f} - \bar{f})](\bar{f} - f) =Var[f^]+Bias[f^]2(E[f^fˉ]=0)= \text{Var}[\hat{f}] + \text{Bias}[\hat{f}]^2 \quad (\because E[\hat{f} - \bar{f}] = 0)


다트 비유:

편향 낮음 (Low Bias)편향 높음 (High Bias)
분산 낮음 (Low Variance)과녁 중심에 모여 있음 — 이상적과녁 밖 한 점에 모여 있음 — 일관되게 틀림
분산 높음 (High Variance)과녁 중심 주위에 넓게 퍼짐 — 불안정하지만 평균은 맞음과녁 밖에 넓게 퍼짐 — 최악

직관적 이해 다이어그램 세 가지 오차 원천:

  • 편향 (Bias): 모델의 가정이 잘못되어 발생하는 체계적 오차

    • 예: 이차 관계인 데이터에 선형 회귀를 적용
    • 높은 편향 = 과소적합(Underfitting, 모델이 너무 단순해서 패턴을 못 잡는 것)
  • 분산 (Variance): 훈련 데이터의 작은 변동에 모델이 민감하게 반응하는 정도

    • 예: 작은 데이터셋에 깊은 결정 트리 적용 → 훈련 데이터가 조금만 달라져도 완전히 다른 모델
    • 높은 분산 = 과적합(Overfitting, 모델이 훈련 데이터의 노이즈까지 외우는 것)
  • 줄일 수 없는 오차 (σ2\sigma^2, Irreducible Error): 데이터 자체의 내재적 노이즈. 어떤 모델로도 줄일 수 없다 (Bayes Error, 이론적 최소 오차).


오차
│ ╲ ╱ ← 테스트 오차 (Total Error)
│ ╲ ╌╌╌╌╌╌╌╌ ╱
│ ╲ ╱ ╲ ╱
│ ╲ ╱ ╲╱ ← 최적점 (Sweet Spot)
│ ╲╱
│ ────────────────────────── ← 줄일 수 없는 오차 (σ²)
│ ╲
│ ──────── ← 훈련 오차
└──────────────────────────── 모델 복잡도 →
단순 복잡
(High Bias) (High Variance)
  • 단순한 모델: 높은 편향, 낮은 분산 → 과소적합
  • 복잡한 모델: 낮은 편향, 높은 분산 → 과적합
  • 최적점: 편향2^2 + 분산의 합이 최소인 지점
  • U자형 테스트 오차: 훈련 오차는 복잡도에 따라 단조 감소하지만, 테스트 오차는 U자형

현대적 예외 — Double Descent: 매우 고차원/과모수화(overparameterized) 모델(딥러닝)에서는 보간(interpolation) 임계점을 지나면 테스트 오차가 다시 감소하는 현상이 관찰된다. 이는 고전적 U자형 곡선의 예외다.


과소적합 vs 과적합 진단과 처방

섹션 제목: “과소적합 vs 과적합 진단과 처방”
과소적합 (Underfitting)과적합 (Overfitting)
훈련 오차높음낮음
테스트 오차높음높음
둘의 차이작음큼 (큰 격차)
원인모델이 너무 단순모델이 너무 복잡
처방더 복잡한 모델, 더 많은 특성, 정규화 약화더 많은 데이터, 정규화 강화, 단순한 모델, Dropout, 조기 종료, 앙상블

학습 곡선(Learning Curve)으로 진단:

  • 과소적합: 데이터를 늘려도 훈련 오차와 검증 오차 모두 높은 수준에서 수렴
  • 과적합: 훈련 오차는 낮지만 검증 오차와의 격차가 크고, 데이터를 늘리면 격차가 줄어듦

모델편향분산참고
선형 회귀높음낮음강한 선형 가정
k-NN (k=1)낮음높음데이터에 완벽히 적합
k-NN (k=n)높음낮음항상 전체 평균 예측
결정 트리 (깊음)낮음높음Bagging으로 분산 감소 → Random Forest
신경망낮음높음 → 정규화로 제어Dropout, Weight Decay, Early Stopping
앙상블 (Bagging)원래 모델과 유사감소독립적 모델들의 평균
앙상블 (Boosting)감소약간 증가 가능잔차를 반복 학습

제곱 오차에 대한 깔끔한 분해와 달리, 0-1 손실에서의 편향-분산 분해는 덜 명확하다 (Domingos, 2000). 여러 분해 방법이 존재한다 (Kohavi & Wolpert 등). 하지만 실용적 해석은 동일하다:

  • 단순한 분류기는 결정 경계가 너무 단순하여 패턴을 놓침 (높은 편향)
  • 복잡한 분류기는 노이즈에 맞춰 불안정한 결정 경계를 만듦 (높은 분산)

  • 모델 복잡도를 결정할 때 → 훈련/검증 오차 곡선으로 편향-분산 상태 진단
  • 정규화 강도를 설정할 때 → 편향-분산 균형점 탐색 (교차 검증 활용)
  • 앙상블 전략을 선택할 때 → 분산이 문제면 Bagging, 편향이 문제면 Boosting
  • 데이터 수집 여부를 결정할 때 → 과적합이면 데이터 추가가 도움, 과소적합이면 데이터 추가만으로는 부족

한 헬스케어(Healthcare) 스타트업이 환자 재입원 예측(Hospital Readmission Prediction)을 위해 5,000건의 전자건강기록(EHR) 데이터에 128개 뉴런, 4개 히든 레이어의 딥 뉴럴넷(Deep Neural Network)을 적용했다. 훈련 데이터에서 AUC는 0.94였지만, 5-fold 교차 검증(Cross-Validation) 결과 테스트 AUC는 0.61로 급락했다 — 전형적인 과적합(Overfitting), 즉 높은 분산(High Variance) 문제였다. 5,000건이라는 데이터 규모에 비해 모델 파라미터 수가 약 50,000개로 10배나 많았기 때문이다. 이 팀은 모델을 로지스틱 회귀(Logistic Regression) + L2 정규화(Ridge)로 교체하고, 도메인 전문가와 함께 핵심 특성(Feature) 12개를 수작업으로 선별했다. 결과적으로 교차 검증 AUC가 0.78로 안정적으로 향상되었고, 해석 가능성(Interpretability)까지 확보하여 의료진의 신뢰를 얻었다.


  1. “항상 가장 복잡한 모델이 가장 좋다” — 복잡도를 높이면 훈련 성능은 좋아지지만, 테스트 성능은 악화될 수 있다. 교차 검증으로 일반화 성능을 확인해야 한다.

  2. “편향과 분산을 동시에 줄일 수 있다” — 고정된 데이터에서는 대체로 트레이드오프 관계다. 다만 더 많은 데이터를 확보하면 두 모두 개선 가능하고, 앙상블 방법은 한쪽만 선택적으로 줄일 수 있다.

  3. “줄일 수 없는 오차는 무시해도 된다”σ2\sigma^2는 모델 성능의 하한을 결정한다. 이 한계보다 더 좋아질 수는 없으므로, 현실적인 성능 기대치를 설정하는 데 중요하다.

  4. “딥러닝은 편향-분산 트레이드오프를 무시할 수 있다” — Double descent 현상이 관찰되지만, 트레이드오프 자체가 사라지는 것은 아니다. 정규화와 조기 종료는 여전히 중요하다.

  5. “학습 곡선이 수렴했으면 데이터가 충분하다” — 훈련 오차와 검증 오차가 모두 높은 상태에서 수렴하면, 데이터 문제가 아니라 모델 복잡도 문제(과소적합)일 수 있다.