Neuron
In diesem Artikel lernen Sie die Grundlagen der Funktionsweise künstlicher Neuronen kennen. In den folgenden Artikeln lernen wir die Grundlagen neuronaler Netze kennen und schreiben ein einfaches neuronales Netz in Python.
Neuronale Netze bestehen aus miteinander verbundenen Neuronen, sodass ein Neuron der Hauptteil eines neuronalen Netzes ist. Neuronen führen nur zwei Aktionen aus: Sie multiplizieren die Eingabedaten mit den Gewichten und addieren sie und addieren die Verzerrung. Die zweite Aktion ist die Aktivierung.
Jetzt mehr über die Eingabedaten, Gewichte, Verzerrungen und die Aktivierungsfunktion.
Eingabedaten sind Daten, die ein Neuron von früheren Neuronen oder vom Benutzer empfängt.
Jedem Eingang des Neurons werden Gewichte zugewiesen, zunächst werden ihnen Zufallszahlen zugewiesen. Beim Training eines neuronalen Netzwerks ändert sich der Wert von Neuronen und Verschiebungen. Die Gewichte werden mit den Eingabedaten multipliziert, die dem Neuron zugeführt werden.
Jedem Neuron werden Offsets zugewiesen, genau wie die Gewichte der anfänglichen Vorspannung, dies sind Zufallszahlen. Offsets erleichtern und beschleunigen das Trainieren des neuronalen Netzwerks.
Die Aktivierungsfunktion, die wir in unserem neuronalen Netzwerk verwenden werden, heißt Sigmoid. Die Sigmoidformel lautet:
Diese Funktion umschließt eine beliebige Zahl von -∞ bis + ∞ im Bereich von 0 bis 1.
Wenn wir die Aufgaben, die das Neuron ausführt, mathematisch beschreiben, erhalten wir zwei Formeln: Notation:
f (x) - Aktivierungsfunktion
x - die Summe des Produkts der Eingabedaten mit den Gewichten und der Vorspannung
i - Array von Eingabedaten
w -
b -
j -
python.
numpy. Linux Window:
pip install numpy
:
import numpy as np
Neuron, :
class Neuron:
def __init__(self, number_of_weights = 1):
self.w = np.random.normal(size=number_of_weights)
self.b = np.random.normal()
, , . . :
def activate(self, inputs):
x = np.dot(self.w, inputs) + self.b
return sig(x)
, . :
def sig(x):
return 1 / (1 + np.exp(-x))
Math.py
numpy:
import numpy as np
Neuron.py. Neuron.py Math.py:
from Math import *
2 :
Neuron.py
import numpy as np
from Math import *
class Neuron:
def __init__(self, number_of_weights = 1):
self.w = np.random.normal(size=number_of_weights)
self.b = np.random.normal()
def activate(self, inputs):
x = np.dot(self.w, inputs) + self.b
return sig(x)
Math.py
import numpy as np
def sig(x):
return 1 / (1 + np.exp(-x))
.
, :
,
Python
- .