오버피팅을 확인해 볼 수 있는 코드이다.
1
2
3
4
5
6
7
8
|
import matplotlib.pyplot as plt
plt.plot(epoch_history.history['accuracy'],color = 'b')
plt.plot(epoch_history.history['val_accuracy'],color = 'r')
plt.title('Model Accuracy')
plt.xlabel('epoch')
plt.ylabel('Acc.')
plt.legend(['Train', 'Val'])
plt.show()
|
cs |
코드를 입력하면 밑의 결과를 얻을 수 있는데
그래프를 보면 Train의 정확도가 증가하고 있어 모델이 좋아지고 있다고 생각할 수 있습니다.
그러나 Train만 확인해서 좋은 러닝모델이라고 말할 수 없습니다.
validation의 정확도는 올라가지 않는 상태가 지속되므로 이러한 그래프를 가진 모델은 과적합(overfitting)이라고 판단할 수있습니다.
train의 그래프와 validation의 그래프가 만나는 지점까지의 학습횟수가 가장 이상적인 학습횟수이다.
이미지 증강 (0) | 2021.03.15 |
---|---|
Transfer Learning (0) | 2021.03.04 |
이미지 제너레이터 (0) | 2021.03.03 |
콜백 함수 (0) | 2021.03.02 |
오차함수 (loss) (0) | 2021.03.02 |