Dieser Artikel ist eine Fortsetzung von Maschinelles Lernen ③ Einführung / Implementierung der Aktivierungsfunktion. In diesem Artikel wird die Implementierung eines neuronalen Netzwerks nur mit NumPy beschrieben. Einige Teile des unten stehenden Links überschneiden sich nicht mit der Erklärung. Bitte lesen Sie sie auch. Maschinelles Lernen ① Grundlagen der Perceptron-Grundlagen Maschinelles Lernen ② Perceptron-Aktivierungsfunktion Maschinelles Lernen ③ Einführung und Implementierung der Aktivierungsfunktion
Referenzen: O'REILLY JAPAN Deep Learning von Grund auf neu Bisherige Artikel: Maschinelles Lernen ① Grundlagen der Perceptron-Grundlagen Maschinelles Lernen ② Perceptron-Aktivierungsfunktion Maschinelles Lernen ③ Einführung und Implementierung der Aktivierungsfunktion
Zunächst müssen Sie die Berechnung von Matrixprodukten beim Aufbau eines neuronalen Netzwerks kennen. Wie erwartet wäre es schwierig, die Berechnungsmethode der Matrix in diesem Artikel zu schreiben. Fügen Sie daher bitte [O'REILLY JAPAN Deep Learning von Grund auf neu] hinzu (https://www.oreilly.co.jp/books/9784873117584/). Ich denke du solltest es lesen. Nur die Berechnungsmethode wird nicht beschrieben, daher reicht es aus, sie googeln zu lassen.
Nehmen Sie als Beispiel Folgendes.
Lassen Sie uns das Obige tatsächlich in Python implementieren.
3-1step_func.py
import numpy as np
A = np.array([[1, 2], [3, 4], [5, 6]])
#.Form mit Form bekommen
print(A.shape)
B = np.array([[1, 2, 3, 4],[5, 6, 7, 8]])
print(B.shape)
#np.Holen Sie sich Matrix-Produkt mit Punkt
C = np.dot(A, B)
print(C.shape)
print(C)
Ausführungsergebnis
(3, 2)
(2, 4)
(3, 4)
[[11 14 17 20]
[23 30 37 44]
[35 46 57 68]]
Sie sehen, dass das Ergebnis das gleiche ist wie in Abbildung 4-1. Wir werden diese Implementierungsmethode verwenden, um beim Aufbau eines neuronalen Netzwerks zu helfen.
Wenn das neuronale Netzwerk durch ein Matrixprodukt dargestellt wird, kann es sofort berechnet werden. Es ist unten gezeigt.
Dies ist ein Beispiel, in dem die Eingabe durch eine 1- und 2-Matrix dargestellt wird, das Gewicht durch eine 2- und 3-dimensionale Matrix dargestellt wird und die Ausgabe durch 1 und 3 dargestellt wird.
4-2TwoLayer_NeuralNetwork.py
import numpy as np
x = np.array([1, 2])
w = np.array([[1, 3, 5], [2, 4, 6]])
y = np.dot(x, w)
print(y)
Ausführungsergebnis
[ 5 11 17]
Sie können sehen, dass der Ausgabewert ausgegeben wird.
Ich habe versucht, das neuronale Netzwerk als Matrixprodukt auszudrücken. Das nächste Mal werde ich die Aktivierungsfunktion am Beispiel des dreischichtigen neuronalen Netzwerks einführen.
Recommended Posts