과소적합은 데이터 모델이 입력 및 출력 변수 사이의 관계를 정확하게 포착하지 못하여 훈련 세트와 보이지 않는 데이터에서 높은 오류율을 내는 데이터 과학의 시나리오입니다. 과소적합은 모델이 너무 단순할 때 발생하는데, 이는 훈련 시간이나 입력 특성이 더 필요하거나 정규화가 덜 필요한 모델로 인해 발생할 수 있습니다. 과대적합과 마찬가지로 모델에 과소적합이 발생하면 데이터 안에서 지배적 트렌드를 형성할 수 없어서 훈련 오류와 모델의 성능 저하를 유발합니다. 모델을 새 데이터에 잘 일반화할 수 없으면 분류 또는 예측 작업에 활용할 수가 없습니다. 새 데이터로 모델을 일반화할 수 있어야 궁극적으로 매일 머신 러닝 알고리즘을 사용하여 예측을 수행하고 데이터를 분류할 수 있습니다.
높은 편향과 낮은 분산은 과소적합의 좋은 지표입니다. 훈련 데이터 세트를 사용하는 동안 이러한 행동이 관찰되므로 과소적합 모델은 일반적으로 과대적합 모델보다 식별하기가 더 쉽습니다.
Watson Studio
IBM Cloud Pak for Data
간단히 말해, 과대적합은 과소적합과 반대되는 개념으로, 모델이 너무 많이 훈련되었거나 모델이 너무 복잡하여 테스트 데이터의 오류율을 높이는 경우 발생합니다. 과대적합 모델이 과소적합 모델보다 더 흔히 발생하며, 과소적합은 일반적으로 "초기 중지"라는 프로세스를 통해 과대적합을 피하려는 과정에서 발생합니다.
과소 훈련 또는 복잡성 부재로 인해 과소적합이 발생하면, 논리적 예방 전략이 훈련 시간을 늘리거나 관련 있는 입력 데이터를 더 추가할 것입니다. 그러나, 모델을 너무 훈련시키거나 너무 많은 특성을 모델에 추가하면 모델에 과대적합이 발생하여 편향은 낮지만 분산이 높은 경우(즉, 편향-분산 거래)가 발생할 수 있습니다. 이 시나리오에서는 통계 모델이 훈련 데이터에 너무 가까이 적합화되어 모델을 새 데이터 포인트에 잘 일반화할 수 없게 됩니다. 결정 트리 또는 KNN과 같은 일부 유형의 모델은 다른 모델보다 과대적합이 발생하기 더 쉽다는 점에 유의해야 합니다.
과소적합과 달리 훈련 데이터가 과대적합 모델에서 더 높은 정확도를 보이기 때문에 과대적합을 식별하는 일은 과소적합 식별보다 더 어려울 수 있습니다. 알고리즘의 정확도를 평가하려면 k-겹 교차검증이라는 기법이 일반적으로 사용됩니다.
k-겹 교차검증 시 데이터는 k개의 동일한 크기의 하위 세트로 분할됩니다. 이 하위 세트를 "겹"이라고도 부릅니다. k-겹 중 하나는 검증용 세트 또는 검증 세트라고도 알려진 테스트 세트 역할을 하고 나머지 겹들은 모델을 훈련시킵니다. 이 프로세스는 각 폴드가 검증용 겹 역할을 수행할 때까지 반복됩니다. 각 평가를 마친 후 점수를 얻고, 모든 반복이 완료되면 전체 모델의 성능을 평가하기 위해 점수의 평균을 냅니다.
모델을 적합화할 때 이상적 시나리오는 과대적합과 과소적합 사이의 균형점을 찾는 것입니다. 이 둘 사이의 "최적의 지점"을 찾으면 머신 러닝 모델은 정확하게 예측을 수행할 수 있습니다.
훈련 세트를 기반으로 과소적합을 발견할 수 있으므로 시작 시점부터 입력 및 출력 변수 간의 지배적 관계 설정을 더 효과적으로 지원할 수 있습니다. 모델의 복잡성을 적절하게 유지하면 과소적합을 피하고 더 정확한 예측을 수행할 수 있습니다. 과소적합을 줄이기 위해 사용할 수 있는 기법 몇 가지는 아래와 같습니다.
정규하는 일반적으로 계수가 큰 입력 매개변수에 페널티를 적용하여 모델의 분산을 줄이는 데 사용됩니다. L1 정규화, Lasso 정규화, 드롭아웃 등 모델 안의 노이즈와 이상값을 줄이는 데 도움을 주는 방법은 다양합니다. 그러나 데이터의 특성이 너무 획일화되면 모델이 지배적 트렌드를 파악하지 못해 과소적합이 발생합니다. 정규화 정도를 낮추면 모델의 복잡성과 변동이 심해져 모델을 성공적으로 훈련할 수 있습니다.
앞서 언급했듯이, 훈련을 너무 빨리 중단해도 모델의 과소적합이 발생할 수 있습니다. 따라서 훈련 시간을 연장하면 과소적합을 방지할 수 있습니다. 그러나 과다 훈련과 그로 인한 과대적합을 조심하는 것이 중요합니다. 이 두 시나리오의 균형점을 찾는 것이 핵심입니다.
어느 모델이든 특정 결과를 결정하기 위해 특정 특성이 사용됩니다. 예측 특성이 충분하지 않으면 특성의 수를 늘리거나 특성의 중요성을 높여야 합니다. 예를 들면, 신경망에서는 숨겨진 뉴런을 더 추가할 수 있습니다. 또는, 랜덤 포레스트에서는 트리를 더 추가할 수 있습니다. 이 프로세스는 모델에 복잡성을 더하여 더 나은 훈련 결과를 낼 수 있습니다.