[PYTHON] Numpy-Sigmoid-Lernen

Numpy-Sigmoid-Lernen

Eine Erinnerung an das Selbstlernen. Ordnen Sie Diagramme und Lerncode an, um Numpy-Sigmoid zu verstehen ニューラルネットワークの全体像.jpg

** Wenn die Sigmoidfunktion als Aktivierungsfunktion verwendet wird, wird sie wie folgt **

python



import numpy as np


#Definition der Sigmoidfunktion
def sigmoid(a):
    return 1 / (1 + np.exp(-a))


#Erste Schicht
x1 = np.array([[1], [2]])
w1 = np.array([[0.4, 0.3], [0.7, 0.6]])
a1 = w1.dot(x1)

#Zweite Schicht
x2 = sigmoid(a1)
w2 = np.array([[0.2, 0.3], [1, 0.7]])
a2 = w2.dot(x2)

#Ausgabewert und korrekter Antwortwert
y = sigmoid(a2)
t = np.array([[1], [0]])
print(y)

#Ordnen Sie Eingabewerte, Parameter und Gesamtwerte an
X = [x1, x2]
A = [a1, a2]
W = [w1, w2]

#Ermitteln Sie die Größe der Ebenen, über die der Parameter verfügt
max_layer = len(X)


#Differenzierung der Aktivierungsfunktion
def f(a):
    return (1 - sigmoid(a)) * sigmoid(a)


#Implementierung der Aktualisierungsformel g
def g(l, j):
    if max_layer == l:
        return (y[j] - t[j]) * f(A[l - 1][j])
    else:
        output = 0
        m = A[l - 1].shape[0]
        for i in range(m):
            output += g(l + 1, i) * W[l][j, i] * f(A[l - 1][j])
        return output


#Differenzierung der Fehlerfunktion nach Parameter w
def diff(j, k, l):
    return g(l, j) * X[l - 1][k]


#Lernen Sie die Parameter 100 Mal
for _ in range(100):
    for l in range(len(X)):
        for j in range(W[l].shape[0]):
            for k in range(W[l].shape[1]):
                W[l][j, k] = W[l][j, k] - diff(j, k, l + 1)
    A[0] = W[0].dot(X[0])
    X[1] = sigmoid(A[0])
    A[1] = W[1].dot(X[1])
    y = sigmoid(A[1])

print(y)

[[0.60041131] [0.79248709]] [[0.91175343] [0.08878309]]

Formuntersuchung

python


#range.Das Verständnis der Formform scheint Zeilen und Spalten zurückzugeben
import numpy as np
a = np.array([[1,2,3],[4,5,6],[4,5,6],[4,5,6]])
a.shape

(4, 3)

Kurz gesagt, es ist die Größe des Arrays. Dieses Ergebnis zeigt an, dass das Array 4 * 3 (4 Zeilen und 3 Spalten) ist. a.shape [0] ist in diesem Beispiel 4. 3 für a.form [1]

Recommended Posts

Numpy-Sigmoid-Lernen
Echtzeit-Persönliche Schätzung (Lernen)
Lernaufzeichnung
Lernrekord Nr. 3
Lernrekord Nr. 1
Maschinelles Lernen
Python lernen
Lernrekord Nr. 2
6/10 Lerninhalte
Tiefes Lernen
LPIC201 Studiennotiz
[Einführung] Stärkung des Lernens
[Python] Lernnotiz 1
Python-Lernnotizen
Report_Deep Learning (Teil 2)
Report_Deep Learning (Teil 1)
Report_Deep Learning (Teil 1)
Python-Lernausgabe
Deep Learning Memorandum
Starten Sie Deep Learning
Wörterbuch-Lernalgorithmus
Report_Deep Learning (Teil 2)
Python-Lernseite
Python-Lerntag 4
Zukünftiges Verstärkungslernen_2
Zukünftiges Verstärkungslernen_1
Python Deep Learning
Lernen ohne Lehrer 1 Grundlagen
Python-Lernen (Ergänzung)
Betreutes Lernen (Klassifizierung)
Deep Learning × Python
[Memo] Maschinelles Lernen
Python-Lernnotizen
Beispiel für maschinelles Lernen