Normalerweise sind die Voraktivierungsfunktionen pro Neuron eine Kombination aus einem inneren Produkt (oder Skalarprodukt bei der Vektorvektor-Multiplikation) und einer Addition zur Einführung einer Verzerrung. Ein einzelnes Neuron kann als
z = b + w1*x1 + x2*x2 + ... + xn*xn
= b + w'*x
h = activation(z)
beschrieben, in dem b
einen additiven Term (der Neurons bias) und jeder h
ist die Ausgabe von einer Schicht und entspricht dem Eingang der folgenden Schicht. Im Fall der "Ausgabeschicht" ist dies y = h
. Eine Schicht könnte auch aus mehreren Neuronen oder - wie in Ihrem Beispiel - nur aus einzelnen Neuronen bestehen.
In dem beschriebenen Fall scheint es, als ob kein Bias verwendet wird. Ich verstehe es wie folgt:
Für jedes Eingabe-Neuron x1
bis x9
wird ein einzelnes Gewicht verwendet, nichts Besonderes hier. Da es neun Eingänge sind, macht diese 9 Gewichte, die sich in so etwas wie:
hidden_out = sigmoid(w1*x1 + w2*x2 + ... + w9*x9)
Um die verborgene Schicht mit dem Ausgang, die gleiche Regel gilt für eine Verbindung: Die Ausgangslage des Eingangs gewichtet und dann summiert über alle Eingaben. Da es nur eine Eingabe ist, ist nur ein Gewicht „summierte“ werden, so dass
output = w10*hidden_out
Beachten Sie, dass die Sigmoidfunktion seinen Eingang auf einen Ausgangsbereich von 0..1 quetscht, so multipliziert es mit Ein Gewicht skaliert es auf Ihren gewünschten Ausgabebereich.
Ich denke, es ist besser, wenn Sie das Papier zur Verfügung stellen, wenn möglich – malioboro