У меня есть несколько вопросов о том, как интерпретировать производительность некоторых оптимизаторов в MNIST с использованием сети Lenet5, и что точные данные графиков потери / точности по сравнению с графиками потерь / точности обучения показывают нам. Таким образом, в Керасе все делается с использованием стандартной сети LeNet5, и она рассчитана на 15 эпох с размером пакета 128.
Есть два графика: поезд cc против вал cc и потеря поезда против потери вальса. Я сделал 4 графика, потому что я запускал его дважды, один раз с validation_split = 0.1 и один раз с validation_data = (x_test, y_test) в параметрах model.fit. В частности, здесь показана разница:
train = model.fit(x_train, y_train, epochs=15, batch_size=128, validation_data=(x_test,y_test), verbose=1)
train = model.fit(x_train, y_train, epochs=15, batch_size=128, validation_split=0.1, verbose=1)
Вот графики, которые я создал:
using validation_data=(x_test, y_test):
using validation_split=0.1:
Итак, мои два вопроса:
1.) Как мне интерпретировать оба поезда: cc против val cc и потеря поезда против Val cc графики? Как то, что он говорит мне точно, и почему разные оптимизаторы имеют разную производительность (то есть графики тоже разные).
2.) Почему графики меняются, когда я вместо этого использую validation_split ? Какой из них лучше выбрать?