входные изображения упорядочены до (0, 1), а выход - это значения с плавающей запятой 32, имеющие псевдогауссовское распределение (-∞, ∞)
при установке, точность обучения и проверки составляет более 0,999, но при прогнозировании с использованием поезда и установленная проверка, он не воспроизводится.
прогнозируемые выходные данные показывают только отрицательные значения (и несколько положительных идентичных значений)
вызвана ли эта проблема неправильным выбором функции активации?
Я пробовал вместо relu, linear, sigmoid. результаты были такими же.
model = Sequential()
model.add(Convolution1D(filters=64, kernel_size=2, input_shape=(img_width, img_height)))
model.add(Activation("relu"))
model.add(MaxPooling1D(pool_size=(2)))
model.add(Convolution1D(filters=32, kernel_size=2))
model.add(Activation("relu"))
model.add(MaxPooling1D(pool_size=(2)))
model.add(Flatten())
model.add(Dense(256))
model.add(Activation("relu"))
model.add(Dense(1, activation='linear'))
model.compile(loss='mse', optimizer=optimizers.RMSprop(lr=0.0001), metrics=['accuracy'])
Прогноз, сделанный следующим образом,
model.fit(x_train, y_train, epochs=2,
validation_data=(x_valid, y_valid),
batch_size=2048,
shuffle='batch',
use_multiprocessing=True)
# right after fitting
result = model.predict(x_train, use_multiprocessing=True)