SW/딥러닝

23. 딥러닝 : 훈련과 검증 : 방법, 예제, 데이터 구성 종류

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

데이터 종류

 

이전 포스팅을 통해 머신 러닝에 있어 과적합이 실제 잘 나타는 문제라는 것을 확인했습니다. 과적합을 방지하기 위해 어떻게해야 하는지 알아보도록 하겠습니다.

일반적으로 사용 가능한 데이터를 세 가지 하위 집합으로 구성하여 과적합을 파악합니다. 첫 번째 데이터는 이름에서 알 수 있듯이 학습 데이터 세트를 테스트하여 모델을 학습하는 데 도움이됩니다. 지금까지 보았던 모든 것을 수행하는 곳입니다. 모든 데이터가 훈련 데이터라고 생각했지만 의도적으로 변수명을 훈련 데이터라고 레이블을 붙였습니다.

다른 두 가지 하위 집합을 확인하겠습니다. 유효 검사 데이터 세트는 과적합을 감지하고 방지하는 데 도움이 되는 것입니다.

 

 

 

훈련 시 손실 함수

 

어떻게 작동하는지 알아보겠습니다. 모든 훈련은 훈련 세트에서 수행됩니다. 훈련을 위해 가끔씩 한 번만 훈련을 중단합니다. 이 시점에서 모델은 다소 훈련이 되어 있습니다. 모델을 가져와 유효성 검사 데이터 세트에 적용하는 것입니다. 즉, 가중치를 업데이트하여 뒤로만 전파하지 않습니다. 즉, 평균적으로 손실 함수를 계산하여 유효성 검사 세트에 대해 계산 된 마지막 로스 값은 훈련 세트와 가까워야 합니다.

일반적으로 좋은 기계 학습 알고리즘을 만드는 과정에서 이 작업을 여러 번 수행 할 것입니다. 계산하는 마지막 두 함수는 훈련 손실 및 유효성 검증 손실이라고 하며 그라디언트 디센트를 사용하여 훈련합니다. 각 후속 손실은 이전 손실과 같거나 낮을 것입니다. 

 

 

 

오버피팅

 

손실이 최소화되고 있으면, 유효성 검사 손실이 증가하기 시작할 수 있습니다. 이곳이 바로 그 지점입니다. 훈련 세트를 예측하는 데 더 나아지고 있지만 전반적인 데이터에서 멀어지고 있습니다. 이 시점에서 모델 학습을 중단해야합니다.

모델의 복잡성을 증가시켜 언더피팅 위치에서 시작합니다. 그리고 매우 좋은 모델에 도달합니다. 검증 비용이 감소함에 따라 훈련 손실이 계속 감소하고 있음을 알 수 있지만 어느 시점에서 과적합이 될 수 있으므로, 검증 손실이 증가할 때가 바로 중지해야 할 시점입니다. 훈련 세트와 유효성 검사 세트는 서로 겹치지 않고 분리되어야합니다.

반응형