Многоуровневая классификация с использованием nolearn NeuralNet
Я пытаюсь сделать многослойную классификацию, используя cnn, предоставленный нейронной сетью nolearn.
Я прочитал этот пост: nolearn для классификации нескольких меток.
В настоящее время у меня есть следующая NeuralNet:
net = NeuralNet(
# layers, conv configurations.....
# output
output_num_units=5,
output_nonlinearity=lasagne.nonlinearities.sigmoid,
update_learning_rate=0.01,
update_momentum=0.9,
regression=True,
objective_loss_function=lasagne.objectives.binary_crossentropy,
custom_score=("validation score", lambda x, y: np.mean(np.abs(x - y))),
max_epochs=10,
verbose=1,
)
Однако я все еще сталкиваюсь с парой проблем:
По моим данным, y_train для каждого образца в x_train имеет форму двоичного вектора. например, [0, 1, 0, 0, 1]. Однако, когда я предсказываю использование обученного nn, результирующий вектор не содержит только 0 или 1. Но что-то вроде [ 9.43239172e-02, 3.47329084e-02, 4.87453086e-02, 2.75143515e-02, 2.76312385e-01, 1.31596944e-02].
Если я хочу убедиться, что каждый ярлык в прогнозе точно совпадает с фактическим y, каким должен быть мой обычный показатель в нейронной сети?
Спасибо.