#keras
Вопрос:
Я намеренно сделал последний плотный/Softmax слой своей сети для вывода [0,5 0,5]:
....
outputs = layers.Dense(2, activation='softmax')(x)
model = keras.Model(inputs=inputs, outputs=outputs)
model.compile(loss="categorical_crossentropy", optimizer="adam")
model.predict(SOME_INPUT)
какие результаты:
[[0.5 0.5]]
вопрос:
Во время обучения, как Керас выбирает между классами 0 и 1 ?
Если оба значения softmax равны 0,5, как здесь, какой класс он выберет ?
Кроме того, как я могу отобразить выбранный класс из своего кода ? (Я имею в виду, есть ли другая функция, кроме predict, для вывода выбранного класса вместо значений Softmax ?)
Спасибо!
Комментарии:
1. Я считаю, что Keras работает только с вероятностями и пытается минимизировать перекрестную энтропию, он не выбирает класс. Если вы хотите получить класс с наибольшей вероятностью в качестве выходного, вы можете округлить до ближайшего целого числа.