SW/딥러닝

21. 딥러닝 : 오버피팅(Overfitting) : 개념, 예제, 차이, 의미

얇은생각 2020. 3. 9. 07:30
반응형

모델 예측 그래프

 

인터뷰에서 가장 일반적으로 묻는 질문 중 하나는 과적합에 관한 것입니다. 면접관은 아마도 주제를 제기하고 과적합이 무엇인지, 어떻게 다루는지를 묻습니다.

이번 포스팅에서는 바로 오버피팅, 과적합에 대해 알아보겠습니다. 서로 관련이있는 두 가지 개념이 있습니다. 오버피팅과 언더피팅입니다.

언더피팅은 오버피팅의 반대의 의미를 가집니다. 언더피팅은 모델이 데이터의 기본 논리를 포착하지 못했으므로 어떻게 해야할지 몰라 정확한 결과와는 거리가 멀다는 것을 알 수 있습니다.

먼저 회귀를 살펴보고 분류 문제를 고려할 것입니다. 여기에서 약간의 노이즈가있는 파란색 함수에 여러 데이터 요소를 볼 수 있습니다. 알고리즘은 위와과 같은 모델을 생성합니다. 완벽하지는 않지만 실제 관계에 매우 가깝습니다.

선형 모델의 언더 피딩 모델을 보도록 하겠습니다. 강력한 예측력을 갖지 못하고 적합 모델에 비해 다소 떨어집니다. 손실 함수 측면에서 비용이 높고 정확도가 낮습니다.

이번에는 과적합 모델에 대해 보도록 하겠습니다. 훈련 데이터 모델링에 매우 적합하여 각 관측치에 매우 근접한 모델에 대해 과적합이라 판단할 수 있습니다. 문제는 랜덤 노이즈가 내부 및 과적합 모델에서 포착된다는 것입니다.

예를 들어, 50개의 공통 지표를 기반으로 유로 달러 환율을 예측할 수 있다고 가정해보겠습니다. 실제 돈으로 거래를 시작합니다. 불행히도 대부분의 주문은 비참하게 실패합니다. 이 놀라운 모델을 너무 믿었기 때문에 모든 돈을 잃게 됩니다. 모델과 함께 일어난 일은 아마도 훈련 데이터를 너무 과도하게 피팅되어버렸기 때문입니다. 이 경우 노이즈는 투자자의 무작위 결정으로 구성되어있을 것입니다. 따라서, 컴퓨터는 너무 똑똑하면 안되는 것입니다.

훈련 데이터를 잘 훈련하고 정확도를 높일 수는 있습니다. 마지막 손실이 낮았고 학습 과정은 매력적으로 동작할 수 있습니다. 그러나 일단 훈련 세트에서 나가 실제 데이터를 만나면 실제 상황의 우리 모델은 결코 잘못 동작하는 것이 아닙니다. 실수는 그 모델을 훈련 시킨 사람이 잘못 훈련시킨 것입니다. 

위 그래프를 본 후에 과적합 문제를 발견할 수 있다고 생각할 수 있습니다. 하지만 쉽지 않을 수 있습니다. 다음 번에는 이러한 오버피팅을 다루는 방법에 대해 알아보도록 하겠습니다.

반응형