Im Abschnitt zuvor haben wir bereits die Verallgemeinerung zugelassen, dass Eingangsneuronen nicht nur die Werte 0 und 1 annehmen können, sondern auch (reelle) Zahlen zwischen 0 und 1. Für alle anderen Neuronen ergibt das Modell aber weiterhin nur aktiviert (1) bzw. nicht aktiviert (0). Und genau dies wollen wir nun ändern, sodass sämtliche Neuronen auch Werte zwischen 0 und 1 annehmen können.
Der Wert eines jeden Neurons soll aber weiterhin vom Schwellwerte sowie von der gewichteten Summe der einwirkenden Neuronen abhängen. Genauer soll gelten:
Je größer die Differenz zwischen gewichteter Summe der einwirkenden Neuronen und Schwellwert,
desto größer der Wert des Neurons. Zudem soll der Wert eines jeden Neurons aus dem Intervall [0,1] sein.
Und genau hier kommt eine sogenannte Aktivierungsfunktion ins Spiel:
Der Wert von Neuron A ist
unter Verwendung einer geeigneten Aktivierungsfunktion mit
Eine sehr einfache Aktivierungsfunktion ist die Stufenfunktion:
Mit dieser Aktivierungsfunktion ergibt sich exakt das gleiche Verhalten wie zuvor, denn ist gleichbedeutend mit der für aktivierte Neuronen gültigen Ungleichung
wie bisher. Eine in vielerlei Hinsicht sinnvollere Wahl ist folgende:
Ein geeignete und häufig genutze Aktivierungsfunktion ist die Sigmoid-Funktion:
Unter Verwendung der Sigmoid-Funktion erhalten alle Neuronen einen Wert zwischen 0 und 1 und zudem gilt die geforderte Eigenschaft:
Je größer die Differenz zwischen gewichteter Summe der einwirkenden Neuronen und Schwellwert,
desto größer der Wert des Neurons.
Auch diese Verallgemeinerung lässt sich im Quellcode auf einfache Art und Weise berücksichtigen.