독립변수가 1개인 데이터이고 파란점은 훈련셋의 데이터입니다.
만약 위의 데이터를 가지고 아주 정확한 예측 모델을 만든다면 아래와 같은 빨간 곡선 형태가 예측값이 됩니다
이 예측 모델을 가지고 시험셋을 예측하면 어떻게 되는지 보겠습니다
위 그래프에서 노란색 원들은 시험셋의 데이터이고 점선은 예측치와 실제값 사이의 오차를 의미합니다. 예측모델이 훈련셋을 지나치게 잘 예측한다면 위와 같이 새로운 데이터를 예측할때 큰 오차를 유발할 수 있습니다.
이런 상황을 오버피팅(overfitting, 과적합) 이라고 합니다.
현실데이터에는 어느 정도의 오차 범위가 있고 때로는 아웃라이어도 있기 때문에 훈련셋에 아주 딱 떨어지는 예측 모델을 만드는 것보다 어느정도 두리뭉실한 수준으로 예측하는 것이 오히려 새로운 데이터 예측에는 더 나을 수 도 있습니다.
동일한 훈련셋으로 단순하 예측모델을 보겠습니다
직선으로 예측하는 모델입니다. 역시 실제값과 예측모델 사이에 상당한 오차가 발생합니다.
이러한 경우를 언더 피팅(Underfitting, 과소적합)이라고 합니다.
언더피팅은 시험셋은 적당한 예측력을 보여주지만 오히려 훈련셋 데이터는 예측력이 떨어집니다.
오버피팅과 언더피팅은 모두 피해야 하는 문제이며 언더피팅이 더 안좋은 모델이라고 볼 수 있습니다.
시험셋의 예측이 상대적으로 괜찬다고 해도 훈련셋조차 제대로 예측을 못한다면 그 결과를 신뢰하기 어렵기 때문입니다.
따라서 언더피팅은 피해야 하며 데이터와 모델이 괜찬다면 실제로 잘 발생하지도 않습니다.
반면 오버피팅은 머신러닝 알고리즘이 복잡해짐에 따라 빈번하게 발생하며 완전한 해결도 어렵습니다.
해결예시
오버피팅과 언더핑을 해결한 예시입니다
너무 과하지도 부족하지도 않은 수준의 예측 모델을 만들어서 훈련셋과 시험셋 모두에서 적절한 수준의 오차를 가져가는 형태가 좋은 모델입니다.
이러한 상황을 설명하는 개념으로 편향-분산 트레이드 오프(bias-variance tradeoff)가 있습니다.
편향은 독립변수와 종속변수를 모델링한 알고리즘이 적절치 못하거나 중요한 부분을 놓쳐서 제대로 된 예측을 하지 못할때 높아집니다. 분산은 훈련셋에 있는 데이터의 노이즈에 의해 발생하는 오차입니다.
예를 들어 앞서 살펴본 오버피팅은 알고리즘이 훈련셋을 지나치게 정확하게 따라가면서 모든 노이즈를 모델에 포함해 높은 분산이 발생할 수 있습니다.
높은 편향은 언더피팅 문제를, 높은 분산은 오버피팅 문제를 불러올수 있습니다.
가장 이상적이게는 편향과 분산이 모두 낮은 모델이겠지만 현실에서는 기대하기 어렵습니다
분산이 낮으면 편향이 올라가게 되고 반대로 편향이 낮아질수록 분산이 올라갑니다. 각 오차들의 합이 전체 모델의 에러가 되기 때문에 이 둘의 합이 가장 낮은 중간지점이 우리가 찾아야할 최적점입니다. 이를 두고 편향-분산 트레이드오프라고 합니다.
Must Have 데싸노트의 실전에서 통하는 머신러닝 / 권시현 / 2022년, 골든래빗
'IT > 머신러닝' 카테고리의 다른 글
로지스틱 회귀분석(Logistic Regression) (0) | 2024.08.26 |
---|---|
회귀분석(+다중공선성 문제) (0) | 2024.08.20 |
독립변수, 종속변수, 연속형 변수, 범주형 변수 (0) | 2024.08.16 |
피처 엔지니어링 기법 (2) | 2024.08.14 |
머신러닝 핵심 라이브러리 (0) | 2024.08.13 |