2014-11-08 6 views
14

Ich habe ein neuronales Netz mit 22 Eingängen von 5184 Werten (zweistellige Werte, Bilder, die auf Bytes umgewandelt), und ich versuchte, 2 Ausgänge mit dem Wert 0 oder 1 zu setzen, wie:Wie viele Ausgangsneuronen hat mein neuronales Netzwerk?

<input data line with 5184 values> 
0 1 
<input data line with 5184 values> 
1 0 
<input data line with 5184 values> 
. 
. 
. 

und als ich tun, um die Ausbildung, die ich bekommen Ergebnisse wie:

Epochs   1. Current error: 0.3750000000. Bit fail 33. 

Also, was ist nicht dieses Bit? The documentation says:

Die Anzahl der Fehlerbits; bedeutet die Anzahl der Ausgangsneuronen, die mehr als die Bitfehlergrenze unterscheiden.

Aber wie kann ich 33 Ausgabe Neuronen scheitern lassen, wenn ich nur 2 Ausgänge habe?

--update

Ich stelle mir dies 33 von insgesamt 44 Ausgänge (2 von jedem der 22 Eingänge) sein könnte. Aber es gibt nichts in der Dokumentation, um dies zu bestätigen ...

Antwort

9

Die Zahl '33' ist die Menge über der 'Differenz' zwischen Ihrer Ausgabe und der erwarteten Zielausgabe während des Trainings des neuronalen Netzes. Dies bedeutet einfach, dass Ihr neuronales Netzwerk um 33 Bits zu viel von der gewünschten Ausgabe abweicht. Beachten Sie, dass es die gesamte Ausgabe zählt und auch eine aktuelle "Fehlerrate" ergibt, die für Sie bei 37,5% liegt. Die Standardfehlerratentoleranz beträgt gemäß der Dokumentation 0,35. Wenn Sie dies annehmen, haben Sie 2,5% zu viele Fehlerbits entsprechend 33 Bits in einem 33 * 40 = 1320-Bit-Ausgang. Zumindest verstehe ich das auf diesen Dokumentationsseiten.

Möglicherweise haben Sie versehentlich mehr als 2 Ausgänge. 1320/22 = 60.

+0

Danke für die Antwort! Ich verstehe das nicht "33 * 40", du meinst "33 * 44"? Oder woher kommt diese '40'? Auch wenn ich 'fann_num_output_train_data' drucke, bekomme ich' 2', also sieht es so aus, als wären die Ausgaben korrekt. Wie auch immer, du hast geholfen, das Bit-Fail-Zeug zu klären, danke! –

+0

Die 40 kommt von den 2,5%. 2,5 * 40 = 100%, die alle deine Bits sein sollten. Aus den drei Fakten kann ich den letzten Wert mithilfe einiger Grundrechenarten berechnen. Natürlich nehme ich an, dass die Fehlermeldung korrekt ist. – aphid

+0

Ich verstehe die '1320' als' (33/2.5) * 100 = 1320'. Aber ich versuche immer noch, diese "40" herauszufinden ... Wenn ich 1320/33 mache, bekomme ich 40, aber was diese 40 wirklich bedeutet? –

Verwandte Themen