model = tf.keras.models.Sequential()
model.add(tf.keras.layers.Flatten())
model.add(tf.keras.layers.Dense(128, 'relu'))
model.add(tf.keras.layers.Dense(10, 'softmax'))
model.compile('adam', loss = 'sparse_categorical_crossentropy', metrics = ['accuracy'])
epoch_history = model.fit(training_images, training_labels, epochs = 30, validation_split = 0.2)
plt.plot(epoch_history.history['accuracy'])
plt.plot(epoch_history.history['val_accuracy'])
plt.legend(['train accuracy', 'validation accuracy'])
plt.show()
train accuracy는 정답을 알려주니까 학습을 할 수록 올라가는데, validation accuracy는 올라가지 않는다
이런 상황을 오버 피팅이라고 한다.
'인공지능 > 텐서플로우' 카테고리의 다른 글
validation_data 파라미터 사용법 (0) | 2022.06.14 |
---|---|
텐서플로우의 콜백클래스를 이용해서, 원하는 조건이 되면 학습을 멈추게 하기 (0) | 2022.06.13 |
softmax로 나온 결과를 레이블 인코딩으로 바꾸는 방법 (0) | 2022.06.13 |
분류의 문제에서 loss 셋팅하는 방법 (0) | 2022.06.13 |
여러 클래스로 분류할 때, 아웃풋 노드에서 사용하는 액티베이션 함수 softmax (0) | 2022.06.13 |