# Underfitting Underfitting은 학습 데이터의 패턴을 충분히 학습하지 못해 나타나는 머신러닝의 현상으로, 모델의 표현력이나 특징 표현의 한계로 인해 데이터의 구조를 제대로 반영하지 못하는 상태를 말한다. 이로 인해 학습 데이터와 검증 데이터 모두에서 높은 오차가 관찰될 수 있으며, 일반화 성능이 저하된다. ## 정의 Underfitting은 모델이 주어진 데이터의 패턴을 포착하지 못하여 예측값이 실제 값과 큰 차이를 보이는 현상이다. 이는 주로 모델의 용량이 부족하거나 특징 표현이 불충분할 때 발생한다. ## 원인 - 모델의 용량 부족: 선형 모델이 비선형 관계를 학습하지 못하는 경우. - 과도한 규제(regulation): L1/L2 규제가 지나치게 강해 자유도가 감소하는 경우. - 특징 표현의 부재: 중요한 변수나 상호작용이 누락되었거나 비효율적으로 인코딩된 경우. - 데이터의 단순성 또는 노이즈 특성에 비해 모델이 과소 적용된 경우. - 적절한 학습 데이터의 부재와 무관하게 모델 자체가 데이터의 구조를 학습할 여력이 부족한 경우. ## 특징 및 진단 - 학습 오차와 검증 오차가 모두 높다. - 모델이 데이터의 기본 구조를 포착하지 못한다. - 일반화 오차의 구성 요소 중 bias가 큰 비중을 차지한다. - 학습 곡선에서 학습 손실이 충분히 감소하지 않거나 수렴하지 않는 경향이 있다. - 수식으로 표현하면 일반화 오차는 다음과 같이 분해된다: $ E[(y - \hat{f}(x))^2] = \mathrm{Bias}[\hat{f}(x)]^2 + \mathrm{Var}[\hat{f}(x)] + \sigma^2 $ 여기서 underfitting은 주로 \(\mathrm{Bias}[\hat{f}(x)]^2\)가 크게 나타나는 경우다. 또한 편향-분산 트레이드오프에서 편향이 주로 높은 편이다. 편향의 정의는 $\mathrm{Bias}[\hat{f}(x)] = E[\hat{f}(x)] - f(x)$ 이다. ## 진단 도구 - 학습 곡선 분석: 학습 데이터에 대한 손실이 충분히 감소하지 않으면 underfitting 의심. - 교차 검증 결과의 지속적 높은 오차: 데이터에 비해 모델이 과소한 경우일 수 있다. - 잔차 분석: 예측 오차가 특정 패턴이나 구조를 보일 때 모델의 표현력 부족으로 판단 가능. - 특성 중요도 및 표현력 점검: 중요한 비선형 관계나 상호작용 항이 빠져 있지 않은지 확인. ## 해결 방법 - 모델 복잡도 증가: 더 높은 차원의 모델이나 비선형 모델 도입(예: 다항 특징, 커널 방법, 트리 기반 모델의 최대 깊이 증가 등). - 특징 공학(feature engineering) 강화: 중요한 변수 도입, 상호작용 항 추가, 도메인 지식에 기반한 파생 특징 생성. - 규제 감소: L1/L2 규제의 강도를 낮추거나 제거. - 데이터 표현 개선: 비선형성을 포착할 수 있는 방법으로 전환(예: 비선형 모델, 신경망 구조의 조정). - 앙상블의 활용: 부스팅과 같은 방법은 약한 모델의 표현력을 증가시켜 underfitting을 완화할 수 있다. - 데이터 수집 및 품질 개선: 데이터의 다양성과 품질이 부족한 경우 추가 데이터를 수집하여 특징 표현의 가능성을 높일 수 있다. - 학습 알고리즘 및 하이퍼파라미터 재조정: 학습률, 규제 강도, 모델의 구조적 파라미터 등을 재조정. ## 예시 - 예시 1: 단순 선형 회귀로 비선형 패턴을 학습하려 하면 underfitting이 발생할 수 있다. 이 경우 다항식 특징을 추가하면 모델이 비선형 관계를 포착할 수 있어 성능이 향상될 수 있다. 예를 들어, $x$, $x^2$, $x^3$ 등의 다항 특징을 도입하면 데이터의 곡선을 더 잘 따라갈 수 있다. - 원래 모델: 선형 회귀 $\hat{y} = w_0 + w_1 x$ - 개선 모델: 다항 회귀 $\hat{y} = w_0 + w_1 x + w_2 x^2 + w_3 x^3$ - 예시 2: 규제가 지나치게 강하게 설정된 경우도 underfitting을 유발한다. L2 규제를 낮추거나 제거하고, 필요 시 비선형 모델로 전환한다. - 예시 3: 복잡한 패턴을 가진 데이터에 단순한 트리 깊이가 얕은 결정 트리를 사용하면 underfitting이 발생할 수 있다. 트리의 최대 깊이를 늘리거나 부스팅 계열의 알고리즘으로 개선 가능하다. ## 비교: underfitting vs overfitting - Underfitting - 원인: 모델의 용량 부족, 단순한 특징 표현 - 특징: 높은 편향(Bias), 낮은 분산(Variance) - 증상: 학습 데이터와 테스트 데이터 모두에서 성능 저하 - Overfitting - 원인: 모델의 용량 과다, 특징에 과도하게 맞춤 - 특징: 낮은 편향, 높은 분산 - 증상: 학습 데이터에 대해서는 높은 정확도이나, 검증/테스트 데이터에서 성능 저하 ## 요약 Underfitting은 모델의 표현력 부족으로 인해 데이터의 구조를 충분히 학습하지 못하는 상태이다. 원인 분석과 적절한 특징 공학, 모델 복잡도 조정, 규제 완화 등을 통해 해결할 수 있으며, 학습 곡선과 편향-분산 분석을 통해 진단하는 것이 바람직하다. --- 관련 문서: [[Overfitting]], [[Bias-Variance Tradeoff]], [[Feature Engineering]], [[Learning Curve]], [[Regularization]]