작성
·
572
0
선생님 안녕하세요.
강의 4분30초 부근 만들어진 모델을 test데이터로 성능을 측정했을 때, 정확도가 0.92정도로 꽤 높다고 생각합니다.
하지만 강의에선 flatten으로 인해 파라미터 개수가 급격히 증가하여 과적합이 일어났다고 설명하셨는데, 만약 과적합이 일어났다면 test데이터로 성능을 측정했을 때 더 낮은 정확도가 나와야하는것 아닌가요?
train데이터셋으로 모델을 훈련시킬 때 정확도가 99%가 나왔기 때문에 과적합이라고 설명해주신건 이해를 했습니다. 하지만 test데이터셋으로 모델 성능평가를 했을 때 높은 정확도가 나왔음에도 과적합이라고 생각하는건 이해가 되지 않아서 문의 드립니다.
답변 1
0
안녕하십니까,
질문의 맥락을 잘 이해했는지 모르겠습니다.
질문해 주신,
하지만 강의에선 flatten으로 인해 파라미터 개수가 급격히 증가하여 과적합이 일어났다고 설명하셨는데, 만약 과적합이 일어났다면 test데이터로 성능을 측정했을 때 더 낮은 정확도가 나와야하는것 아닌가요?
=> 에서 어느 정도 낮은 정확도가 나와야 과적합으로 생각하실지는 잘 모르겠습니다만,
과적합은 학습 데이터의 모델 성능과 검증 또는 테스트 데이터의 모델 성능간의 차이가 발생할 때를 지칭합니다. 그리고 어떤 딥러닝 모델이라도 과적합은 발생할 수 밖에 없습니다. 또한 어느 정도 성능 차이가 나야 과적합으로 결정하게 되는지의 기준은 없습니다.
다만 학습과 테스트 시에 성능 차이가 나면 과적합의 정도를 줄이기 위해서 여러가지 기법을 통해서 개선을 하게 됩니다.
과적합을 발생 시키는 요인은 매우 많습니다(이런 과적합의 문제를 해결하는 기법들은 앞으로 강의에서도 많이 설명 드릴 것 입니다). 그 중에서 모델의 가중치(파라미터) 갯수가 너무 많은 것도 한가지 요인입니다. 특히나 최종 Dense layer에서 파라미터 갯수가 너무 많을 경우 학습 데이터에만 최적화된 모델로 가중치가 학습될 가능성이 높습니다. 때문에 이러한 문제를 개선하고자 Drop out 기법이 도입된 것입니다.
물론 Drop out이 언제나 과적합을 개선하는 것은 아니지만, 일반적으로 약간의 성능 개선에 도움을 줄 수 있습니다.
추가적으로 말씀드리면 데이터 세트가 Fashion Mnist와 같은 정돈되고 명확한 이미지 데이터라 테스트 데이터가 90%가 넘는 성능이 나왔지만, 다양한 이미지를 가지는 데이터 세트였다면, 이 정도 성능을 발휘하기는 어려울 수 있으며, 학습과 테스트 데이터의 성능 차이가 충분히 과적합이라고 여겨질 정도로 더 발생할 수 있었을 것입니다.
원하시는 답변이 아니면 다시 말씀해 주십시요.
감사합니다.