Ich brauche Hilfe bei der Genauigkeit für das Training des Modells für maschinelles Lernen.Machine Learning Genauigkeit zeigt 0
Meine Eingabe für das Training sind mehrere Array mit 500 Integer/Daten, die ich es in der Datei hdf5 unter Dataset namens "the_data" gespeichert. In diesem Beispiel habe ich 100 Arrays.
[[1,2,3,...500],
[501,502,...1000],
[1001,... ],
....
...... ]]
Die Ausgabe ist eine Zufallszahl, die ich vor der Hand erzeugen und es als ‚output.txt‘ speichern. Es hat 100 Zufallszahlen.
194521, 307329, 182440, 180444, 275690,...,350879
unter meinem modifizierten Skript basiert auf http://machinelearningmastery.com/tutorial-first-neural-network-python-keras/
import h5py
from keras.models import Sequential
from keras.layers import Dense
seed = 7
np.random.seed(seed)
input_data = h5py.File('test.h5', 'r')
output_data = open("output.txt", "r")
X = input_data['the_data'][:]
Y = output_data.read().split(',')
model = Sequential()
model.add(Dense(500, input_dim=500, init='normal', activation='relu'))
model.add(Dense(100, init='normal', activation='relu'))
model.add(Dense(60, init='normal', activation='relu'))
model.add(Dense(1, init='normal', activation='sigmoid'))
model.compile(loss='binary_crossentropy', optimizer='adamax', metrics=['accuracy'])
model.fit(X, Y, nb_epoch=500, batch_size=10)
scores = model.evaluate(X, Y)
print("%s: %.2f%% , %s: %.2f%%" % (model.metrics_names[0], scores[0]*100, model.metrics_names[1], scores[1]*100))
Was ich bekommen habe, wie das Ergebnis so einen Gedanken über jemand
Epoch 500/500
100/100 [==============================] - 0s - loss: -4851446.0896 - acc: 0.0000e+00
100/100 [==============================] - 0s
loss: -485144614.93% , acc: 0.00%
ist
Hat warum passiert ist das?
Vielen Dank für Ihre Hilfe.
Ja, danke, dass du binäre Crossentropie auf mich gerichtet hast. Ich dachte nicht viel darüber nach, weil ich mich zu sehr auf den Output konzentrierte. Ich werde mehr auf das, was Sie vorgeschlagen haben, schauen. Ich wollte auch nur versuchen, ob das Netzwerk auch numerische Werte als Ausgabe erkennen kann. Keine anderen Gründe. Vielen Dank für Ihre Antwort. – Fang