머신러닝(ML)의 영역에서 최적의 모델 성능을 달성하려면 단순성과 복잡성 사이의 균형을 찾아야 합니다. 모델이 너무 단순하여 학습 데이터에 존재하는 기본 패턴을 포착하지 못하는 경우, 과소적합은 흔히 발생하는 문제입니다. 즉, 모델이 효과적으로 학습하지 못하여 학습된 데이터뿐만 아니라 보이지 않는 새로운 데이터(테스트 데이터 또는 실제 입력)에서도 성능이 저하되는 것을 의미합니다. 적합하지 않은 모델은 데이터 내의 관계를 정확하게 표현하는 데 필요한 용량이나 학습 시간이 부족하여 편향성이 높고 일반화가 잘 이루어지지 않습니다.
언더피팅의 원인은 무엇인가요?
여러 가지 요인으로 인해 모델이 적합하지 않을 수 있습니다:
- 모델 복잡성이 충분하지 않습니다: 선택한 모델이 데이터의 복잡성에 비해 너무 단순할 수 있습니다. 예를 들어, 비선형 패턴이 있는 데이터에 기본 선형 회귀 모델을 사용하거나 레이어 또는 뉴런 수가 너무 적은 신경망(NN) 을 사용하는 경우입니다.
- 부적절한 피처 엔지니어링: 모델에 제공된 입력 피처에 관련 정보가 충분하지 않거나 기본 패턴을 효과적으로 나타내지 못할 수 있습니다.
- 학습 데이터가 충분하지 않습니다: 모델이 기본 패턴을 학습하기에 충분한 예시를 보지 못했을 수 있습니다. 이는 복잡한 딥 러닝 모델의 경우 특히 그렇습니다. 다양하고 대표성 있는 데이터를 확보하는 것이 중요하며, 이러한 데이터는 Ultralytics 데이터 세트와 같은 플랫폼을 통해 탐색할 수 있습니다.
- 너무 짧은 훈련: 모델 훈련 프로세스가 데이터의 패턴을 학습하기에 충분한 시간을 갖기 전에 조기에 중단될 수 있습니다.
- 과도한 정규화: L1 또는 L2 정규화 또는 높은 탈락률과 같이 과적합을 방지하기 위해 사용되는 기술은 때때로 모델을 지나치게 강하게 적용하면 필요한 패턴을 학습하지 못하도록 모델을 과도하게 제약할 수 있습니다.
미흡한 피팅 식별
일반적으로 훈련 중과 훈련 후에 모델의 성능을 평가하여 적합성 부족을 진단합니다:
- 높은 학습 오류: 모델이 학습된 데이터에서도 제대로 작동하지 않습니다. 정확도, 정밀도, 리콜 또는 F1 점수와 같은 주요 메트릭이 낮고 손실 함수 값이 높게 유지됩니다.
- 높은 유효성 검사/테스트 오류: 모델이 보이지 않는 검증 데이터나 테스트 데이터에 대해서도 제대로 작동하지 않습니다. 학습 오류와 검증 오류 사이의 성능 격차는 일반적으로 작지만 두 오류 모두 허용할 수 없을 정도로 높습니다.
- 학습 곡선: 학습 및 검증 손실/메트릭을 학습 기간에 대해 플로팅하면 적합도 미달을 파악할 수 있습니다. 두 곡선 모두 높은 오류 수준에서 정체되면 모델이 과소적합일 가능성이 높습니다. TensorBoard 또는 다음과 같은 도구를 사용하여 이를 모니터링할 수 있습니다. Weights & Biases. 특정 YOLO 성능 메트릭을 이해하는 것도 중요합니다.
피팅 부족 문제 해결
몇 가지 전략이 적합성 부족을 극복하는 데 도움이 될 수 있습니다:
- 모델 복잡성 증가: 더 많은 매개변수, 레이어 또는 뉴런이 포함된 더 강력한 모델 아키텍처를 사용하세요. 예를 들어, 단순한 CNN에서 다음과 같은 고급 아키텍처로 전환할 수 있습니다. Ultralytics YOLO11 과 같은 고급 아키텍처로 전환할 수 있습니다.
- 기능 엔지니어링 개선: 기존 데이터에서 더 많은 정보를 제공하는 기능을 만들거나 새로운 관련 데이터 소스를 통합합니다.
- 학습 기간을 늘립니다: 모델이 데이터 패턴을 학습할 수 있는 충분한 시간을 갖도록 더 많은 기간 동안 모델을 훈련하세요. 모델 훈련 팁에서 지침을 확인하세요.
- 정규화 감소: 정규화 기법의 강도를 낮춥니다(예: 정규화 매개변수 람다를 낮추고, 탈락 확률을 줄입니다).
- 충분한 데이터를 확보합니다: 더 많은 학습 사례를 수집하세요. 더 많은 데이터를 수집하는 것이 불가능하다면 데이터 증강과 같은 기술을 통해 학습 데이터의 다양성을 인위적으로 늘릴 수 있습니다. 데이터 세트 관리는 Ultralytics HUB와 같은 플랫폼을 사용하여 간소화할 수 있습니다.
과소 피팅 대 과대 피팅
과소적합과 과대적합은 동전의 양면과 같이 모델 일반화의 실패를 나타냅니다.
- 적합하지 않음: 모델이 너무 단순합니다( 편향성이 높음). 데이터의 기본 추세를 포착하지 못하여 학습 및 테스트 세트 모두에서 성능이 저하됩니다.
- 과적합: 모델이 너무 복잡합니다(분산이 높음). 노이즈 및 무작위 변동을 포함하여 학습 데이터를 너무 잘 학습하여 학습 집합에서는 우수한 성능을 보이지만 보이지 않는 데이터에서는 성능이 저하됩니다.
ML의 목표는 모델이 노이즈를 기억하지 않고 실제 기본 패턴을 학습하는 편향-편차 트레이드 오프의 맥락에서 종종 논의되는 과소 적합과 과적합 사이의 스위트 스팟을 찾는 것입니다.
언더피팅의 실제 사례
- 간단한 이미지 분류기: 아주 기본적인 컨볼루션 신경망(CNN) (예: 하나 또는 두 개의 컨볼루션 레이어만 있는)을 ImageNet에서 수천 개의 객체 카테고리 분류와 같은 복잡한 이미지 분류 작업에 대해 훈련합니다. 이 모델은 제한된 용량으로 인해 많은 클래스를 효과적으로 구분하는 데 필요한 복잡한 특징을 학습하지 못하기 때문에 적합하지 않을 가능성이 높습니다. 훈련과 검증 정확도 모두 낮게 유지될 것입니다.
- 기본 예측 유지보수: 단순한 선형 모델을 사용하여 작동 온도만을 기준으로 기계 고장을 예측합니다. 고장이 실제로 진동, 수명, 압력, 온도 비선형성과 같은 복잡한 요인들의 상호 작용에 의해 영향을 받는다면 선형 모델은 적합하지 않습니다. 실제 복잡성을 포착할 수 없기 때문에 예측 모델링 성능이 저하되고 고장을 정확하게 예측하지 못합니다. 더 복잡한 모델이나 더 나은 기능을 활용해야 합니다. 다음과 같은 프레임워크 PyTorch 또는 TensorFlow 와 같은 프레임워크는 보다 정교한 모델을 구축할 수 있는 도구를 제공합니다.