본문 바로가기

【1】Deep Learning 시작하기/규제화라는 게 있다

Overfitting이 무엇일까?

우리는 지금까지 신경망의 학습 성능을 높이기 위한 기술들을 알아보았다. 신경망은 데이터를 기반으로 학습을 시키는데 이 때 학습한 결과를 평가하는 과정이 반드시 필요하다. 일종의 시험을 통해 신경망의 학습 결과를 확인하는 것이다. 학습에 사용되는 데이터를 학습 데이터(Trainset)라고 하고 평가에 사용되는 데이터를 시험 데이터(Testset)라고 하는데 신경망을 충분히 학습시키다 보면 학습데이터를 너무 ‘완벽 학습’ 하여 학습에 등장하지 않은 데이터는 맞추지 못하는 상황이 발생하게 된다. 이를 오버피팅(혹은 과적합, Overfitting) 상태라고 부른다. 즉, 오버피팅이란 주어진 데이터를 지나치게 학습한 나머지 조금만 바뀐 비슷한 문제에 대해서는 답을 찾지 못하는 것이다. 우리가 원하는 이상적인 상황은 주어진 학습 데이터를 적당량 학습하고 이를 바탕으로 새로운 데이터가 주어져도 바르게 식별할 수 있는 상태이다. 이를 피팅(혹은 적합, Fitting) 이라고 한다. 반대로 부족한 학습으로 인해 학습 데이터와 새로운 데이터에 대해 성능이 모두 떨어지는 상태를 언더피팅(과소적합, Underfitting)이라고 한다. 아래의 그림은 빨간 점과 초록색 점을 구분(classification)하는 학습 후 상태를 평가한 그림이다.

 

- 학습 데이터 에서 ‘학습’은 훈련, 트레인이라고도 하며 데이터는 데이터, 세트, 데이터셋 이라고도 한다. 자료에 따라 혼합해서 사용하지만 모두 기계를 학습시킬 때 사용되는 데이터를 의미하는 동의어들이다.

 

왼쪽부터 언더피팅 그림을 먼저 보자. 빨간색과 초록색 점의 구분이 제대로 되지 않는 즉, 학습이 덜 된 상태를 보여준다. 가운데 피팅은 두 점이 위치한 특징을 파악하여 영역을 색으로 잘 구분했으며 이를 통해 영역 안에서 빨간 점이 추가로 찍히더라도 잘 분류를 할 것이다. 마지막으로 세번째 오버피팅 그림을 보자. 정확히 학습에 사용된 데이터의 초록점만 보라색 영역으로 구분해 놓았다. 그야말로 완벽한 구분을 했지만 새로운 초록색 점이 찍힌다면 노란 영역의 빨간 점으로 잘못 분류할 것이다. 언더피팅은 학습을 충분히 시켜 줌으로써 해결이 가능하다. 우리가 주의해야할 것은 오버피팅이 되지 않게 하는 것이다. 그렇다면 오버피팅을 방지하기 위한 방법에는 무엇이 있을까? 다음 글에서 알아보도록 하자.

 

 

 

 

 

 

 


작성자 홍다혜 ghdek11@gmail.com / 이원재 wonway333@gmail.com

 

'【1】Deep Learning 시작하기 > 규제화라는 게 있다' 카테고리의 다른 글

Drop-out  (0) 2020.01.19
L1 Norm, L2 Norm  (0) 2020.01.18
Overfitting 해결하기  (0) 2020.01.17