언더피팅은 머신러닝에서 모델이 데이터의 기저 패턴을 포착하기에 너무 단순할 때 발생합니다. 이는 종종 모델이 학습 데이터뿐만 아니라 보이지 않는 데이터에서도 성능이 저조하게 되어, 해결하려는 문제의 복잡성을 이해하지 못한다는 결과를 초래합니다.
언더피팅은 여러 가지 이유로 발생할 수 있습니다:
불충분한 모델 복잡성: 모델이 너무 기본적일 때 데이터에 존재하는 미세한 부분과 복잡한 구조를 포착하지 못합니다. 이는 문제의 지나치게 단순한 표현을 초래하여 부정확한 예측을 초래할 수 있습니다. 데이터 내의 기초적인 관계를 포착할 수 있는 충분한 복잡성을 가진 모델을 선택하는 것이 중요합니다.
특성 부족: 모델이 문제의 복잡성을 포착하기에 충분한 특성을 갖고 있지 않을 때 언더피팅이 발생할 수 있습니다. 예를 들어, 주택 가격을 예측하려고 할 때 침실 수만을 특성으로 고려하면, 모델은 위치나 면적과 같은 다른 중요한 요소의 영향을 포착하지 못할 수 있습니다.
제한된 학습: 모델이 제한된 양의 데이터로 학습될 때도 언더피팅이 발생할 수 있습니다. 불충분한 학습 데이터는 모델이 기초 패턴을 효과적으로 학습하기에 충분한 예시를 제공하지 못할 수 있습니다. 학습 데이터셋의 크기를 증가시키는 것이 언더피팅을 완화하는 데 도움이 될 수 있습니다.
단순한 알고리즘: 특정 알고리즘은 데이터의 복잡한 관계를 포착하기에 유연하지 않을 수 있습니다. 예를 들어, 선형 회귀는 특징과 목표 변수 사이에 선형 관계를 가정하지만, 그 관계가 비선형일 경우 모델은 성능이 저하될 수 있습니다. 결정 트리나 신경망과 같은 더 고급 알고리즘을 사용하여 이 문제를 해결할 수 있습니다.
언더피팅을 방지하기 위해 다음과 같은 전략을 사용할 수 있습니다:
모델 복잡성 증가: 오버피팅 없이 데이터의 복잡한 부분들을 포착할 수 있는 보다 복잡한 모델이나 알고리즘을 선택합니다. 복잡한 모델은 데이터 내의 더 세밀한 관계를 이해하고 학습할 수 있는 높은 용량을 갖추고 있습니다.
특성 공학: 머신러닝 모델을 학습시키기에 적합한 특성을 신중하게 선택하거나 생성합니다. 도메인 지식을 고려하고 모델의 기초 패턴을 포착하는 능력을 향상시킬 수 있는 관련 특성을 포함하는 것이 필수적입니다. 다항식 특성이나 상호작용 항과 같은 특성 공학 기술은 모델의 복잡성을 증가시켜 언더피팅을 방지하는 데 도움을 줄 수 있습니다.
데이터 수집: 제한된 학습 데이터로 인해 모델 성능이 저조한 경우, 모델에 학습할 더 많은 예시를 제공하기 위해 데이터를 더 많이 수집하는 것을 고려합니다. 큰 데이터를 통해 모델이 기초 패턴을 더 잘 포착할 수 있고 언더피팅의 위험을 줄일 수 있습니다.
정규화: L1 또는 L2 정규화와 같은 정규화 기술은 모델 복잡성에 대한 페널티를 추가하여 언더피팅을 방지할 수 있습니다. 정규화는 모델이 학습 데이터에 맞추는 것과 오버피팅 또는 언더피팅을 피하는 것 사이의 균형을 찾도록 유도합니다. 이는 모델의 유연성을 제어하여 지나치게 단순한 모델이 되는 것을 막습니다.
성능 평가: 훈련 데이터와 테스트 데이터 모두에서 모델의 성능을 평가하는 것이 중요합니다. 모델이 훈련 데이터에서는 잘 작동하지만 테스트 데이터에서는 성능이 저조하다면 언더피팅일 수 있습니다. 다양한 데이터셋에서 모델의 성능을 모니터링하는 것은 언더피팅의 징후를 파악하고 추가 개선을 유도할 수 있습니다.
관련 용어
오버피팅: 오버피팅은 언더피팅의 반대입니다. 모형이 지나치게 복잡하여 데이터의 본질적인 패턴보다는 노이즈를 포착할 때 발생합니다. 오버피팅은 일반화가 저조해지고 보이지 않는 데이터에 대해 부정확한 예측을 초래할 수 있습니다.
교차 검증: 교차 검증은 데이터의 다른 하위 집합에서 모델의 성능을 평가하는 데 사용되는 기술입니다. 이는 모델의 일반화 가능성과 보이지 않는 데이터에서 잘 수행할 수 있는 능력을 평가하는 데 도움을 줍니다. 데이터를 훈련 및 검증 세트로 분할하여 교차 검증은 모델 성능에 대한 더 강력한 추정을 제공합니다.
특성 공학: 특성 공학은 머신러닝 모델을 학습시키기에 적절한 특성을 선택하거나 생성하는 과정입니다. 문제 도메인을 이해하고 관련 특성을 식별하며 데이터를 변환하여 모델에 의미 있는 입력을 제공하는 것을 포함합니다. 효과적인 특성 공학은 모델의 성능을 향상시키고 언더피팅 또는 오버피팅을 방지하는 데 중요한 역할을 합니다.