2017-03-23 4 views
0

Ich versuche derzeit zu verstehen, die ANN, die ich für eine Zuordnung erstellt, die im Wesentlichen Graustufen (0-150) Bilder (120x128) nimmt und bestimmt ob die Person männlich oder weiblich ist. Es funktioniert größtenteils. Ich behandle das wie ein boolesches Problem, bei dem die Ausgabe (männlich = 1, weiblich = 0) ist. Ich bin in der Lage, die ANN korrekt zu identifizieren männlich oder weiblich. Allerdings sind die Ausgaben, die ich für die Männer bekomme, (0,3-0,6) abhängig vom Lauf. Sollte ich den Wert ~ 1 erhalten?Sollte die Ausgabe der Backpropogation konvergieren zu 1 gegeben die Ausgabe ist (0,1)

Ich verwende eine Sigmoid-Einheit 1/(1 + e^-y) und habe versucht, die Umkehrung zu nehmen. Ich habe dies mit 5 - 60 versteckten Einheiten auf 1 Layer versucht und 2 Ausgänge mit Flip-Flop-Ergebnissen versucht. Ich möchte das verstehen, damit ich das auf ein nicht boolesches Problem anwenden kann. Wenn ich eine numerische Ausgabe haben möchte, wie würde ich das machen oder verwende ich die falsche maschinelle Lerntechnik?

Antwort

0

Sie können die binäre Funktion am Ausgang mit einem Schwellenwert verwenden. Angenommen, Sie haben 0 für Frauen und 1 für Männer im Training zugewiesen, beim Testen erhalten Sie Werte zwischen 0 und 1 und auch einige Male unter 0 und über 1 ...... So, um eine Entscheidung beim Ausgabewert zu treffen addiere einfach den Schwellenwert von 0,5 und überprüfe den Ausgabewert, wenn er kleiner als 0,5 ist, dann ist die geschätzte Klasse weiblich und wenn sie gleich oder größer als 0,5 ist, dann ist die geschätzte Klasse männlich.

+0

für 2-Klassen-Problem der Schätzung männlich und weiblich, ein Ausgang ist genug. Trotzdem möchten Sie mehr als einen, d. H. 2 Ausgänge. Halten Sie dann für jede Klasse den Wert so fest, dass die erwartete Ausgabe für Frau [1 0] und für Männchen [0 1] ist. Beim Testen können Sie maximal zwei Ausgänge verwenden, um zu entscheiden, welcher Klasse der Ausgang des neuronalen Netzes angehört. – Chandra

+0

Okay, das ist, was ich tue, da der 0-Bezeichner tendenziell um eine Größenordnung kleiner ist als der 1-Bezeichner . Gibt es eine Möglichkeit, dies zu trainieren, um näher an 1 oder dem Zielwert zu kommen? Ich frage, weil ich mich wundere, wie ich diese NN für nicht-boolesche Ausgaben verwenden kann. – Kendall

+0

Was meinst du mit nicht-booleschen Ausgaben? .. Neuronales Netzwerk wird nur einen nicht-booleschen Gleitkommawert geben, wenn Sie keine binäre Aktivierungsfunktion am Ausgang verwenden. Da Sie Sigmoid-Funktion verwendet haben, wird es flatting/reelle Werte zwischen 0 und 1 oder -1 und 1 geben ... ..... danach ist es Ihnen überlassen, wie Sie es für Ihre Anforderungen verwenden können ... – Chandra