Я новичок в нейронных сетях, и наблюдаю за тем, как много сумматоров сумели построить мою первую, но что-то не так.
Вход состоит из 100 входов, все цифры от 0 до 100.
Выход имеет три класса [x, y, z], где только один из них может быть 1, а остальные должны быть 0, поэтому есть только 3 результата
[1,0,0], [0,1,0] и [0,0,1]
Я экспериментирую со следующей настройкой
model = Sequential([
Dense(32, input_shape=(100,), activation='sigmoid'),
Dense(64, activation='sigmoid'),
Dense(3, activation='sigmoid')
])
model.compile(Adam(lr=0.0001),loss='categorical_crossentropy', metrics=['accuracy'])
model.fit(bets, results, validation_split= 0.20, batch_size=10, epochs=200, shuffle=True, verbose=3)
Проблема, которую я получаю, состоит в том, что вывод не равен 1, поэтому в идеале я должен смотреть на
например [0,1, 0,3, 0,6] или [0,7, 0,2, 0,1] или [0,1, 0,8, 0,1]
Но когда я запускаю прогноз, я получаю что-то вроде
например [0,8, 0,2, 0,9]
Может быть, модель нужно обучать дольше, чем 200 эпох, но не уверен, что мои другие конфигурации верны для значений моего ввода и вывода.
есть идеи?