Ich habe gelesen, dass Sie die Ausgabe eines Neurons in einem Neuronalen Netz berechnen, indem Sie alle Eingaben mal ihre entsprechenden Gewichte addieren und dann mit z. die Sigmoid-Funktion.Neural Network Neurons ausgegeben Zahlen> 1
Aber was ich nicht verstehe, ist, dass diese Summe (ohne Glättung) größer als 1.
bekommen konnte, wenn diese Ausgänge meine Sigmoidfunktion geschieht 1.0.
Die Funktion Ich bin mit dem Neuron Output (ohne Glättung) zu berechnen ist:
def sum(self, inputs):
valu = 0
for i, val in enumerate(inputs):
valu += float(val) * self.weights[i]
return valu
Also meine Frage ist: Bin ich etwas falsch zu machen, weil ich, dass der Ausgang zwischen 0 gelesen haben sollte und 1?
Verstehen Sie Ihre Frage nicht wirklich. Die Summe der gewichteten Eingaben kann größer als eins sein. Es kann auch weniger als Null sein. Die Sigmoid-Funktion bildet diesen Wert auf eine Zahl zwischen Null und Eins ab. Ihr Codebeispiel berechnet nur die gewichtete Summe, ohne die Sigmoid-Funktion darauf anzuwenden. –
Nicht wirklich, wenn der in die Sigmiod-Funktion eingegebene Wert größer als 1 ist, gibt es nur 1 zurück. Das ist mein Problem –
Aber wie können wir Ihnen helfen, wenn Sie nicht den Code Ihrer Sigmoid-Funktion zeigen? Ihr Codebeispiel berechnet nur den Zustand des Neurons, nicht die Ausgabe. Normalerweise erhalten Sie die Ausgabe, indem Sie eine Art Sigmoid-Funktion auf den Zustand anwenden. –