• 카테고리

    질문 & 답변
  • 세부 분야

    딥러닝 · 머신러닝

  • 해결 여부

    미해결

validation loss와 training loss 질문

22.10.12 15:52 작성 조회수 2.37k

0

안녕하세요! 머신러닝과 딥러닝을 공부하며 궁금한 점이 생겨 질문드립니다.

다양한 데이터들로 배운 내용들을 실습해보고 있는데

모델 학습 후 학습 곡선을 그려 training_loss와 validation_loss를 확인해보면 training loss가 더 높고 validation_loss가 더 작은 값을 가지는 경우가 있더라구요.

검색을 해봐도 train 데이터를 이용해 모델을 학습한 것이므로 training loss가 더 낮아야 할 것 같은데,

이 값이 더 높게 나오는 이유를 알 수 있을까요?

 

또한 이렇게 validation loss이 더 낮은 상황이 지속되다가 training_loss와 validation_loss가 교차하게 되어 두 수치의 대소 관계가 바뀌게 된다면 이것은 무엇을 의미하는지 알 수 있을까요?

 

답변 1

답변을 작성해보세요.

0

안녕하십니까,

일반적으로 대부분의 경우는 training loss가 validation loss보다 낮습니다.

validation loss가 training loss보다 낮다면 그건 validation dataset이 데이터세트를 대표할만한 수준으로 샘플링 되지 않은 경우들이 대부분입니다.

validation 데이터 세트가 너무 작거나, 또는 너무 예측하기 쉬운 데이터 세트로 구성되어 있을 때 그런 경우가 발생할 수 있습니다.

validation 데이터 세트가 너무 예측하기 쉬운 데이터 세트로 구성된 경우를 예로 들어보면 Iris 데이터 세트는 label이 Setosa인 경우가 다른 경우보다 훨씬 예측하기 쉽습니다. 학습 데이트는 개별 label별로 잘 섞여 있는 데이터 세트 이지만 validation 데이터 세트는 Setosa인 경우가 훨씬 많다면 validation loss는 training loss보다 더 작을 수도 있습니다.

그리고 iteration을 반복하면 할수록 training loss는 매우 작아지고, 결국에 다시 training loss가 validation loss보다 더 작아지는 일반적인 현상으로 돌아 올 수 있습니다.

요약드리자면 validation 데이터 세트가 적절하게 만들어졌는지, 다른 random_state를 부여하거나 학습 데이터의 레이블 건수와 분포가 유사한지, 그리고 validation 건수를 좀 더 증가시켜서 다시 한번 테스트를 해보시는게 좋을 것 같습니다.

 

감사합니다.