[PYTHON] Implementierung eines neuronalen Netzwerks (nur NumPy)

Einführung

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

Referenz

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

Annahme

Implementieren Sie das Matrixprodukt in Python

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.

Implementierung des Matrix-Produkts

Nehmen Sie als Beispiel Folgendes.

Abbildung 4-1

行列の積.jpg

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.

Neuronales Netz und Matrixprodukt

Wenn das neuronale Netzwerk durch ein Matrixprodukt dargestellt wird, kann es sofort berechnet werden. Es ist unten gezeigt.

Abbildung 4-2

ニューラルネットワークと行列積.jpg

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.

Zusammenfassung

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

Implementierung eines neuronalen Netzwerks (nur NumPy)
Implementierung eines neuronalen Netzwerks in Python
Einfache Implementierung eines neuronalen Netzwerks mit Chainer
PRML Kapitel 5 Python-Implementierung für neuronale Netze
Einfache Theorie und Implementierung des neuronalen Netzes
Implementierung eines 3-Schicht-Neuronalen Netzwerks (kein Lernen)
Implementierung von "verschwommenen" neuronalen Netzen mit Chainer
Einfache Implementierung eines neuronalen Netzwerks mithilfe der Chainer-Datenaufbereitung
Einfache Implementierung eines neuronalen Netzwerks mithilfe der Beschreibung des Chainer-Modells
Parametrisches neuronales Netzwerk
Einfache Implementierung eines neuronalen Netzwerks mit Chainer ~ Optimierungsalgorithmus einstellen ~
Implementieren Sie das Convolutional Neural Network
Implementieren Sie das neuronale Netzwerk von Grund auf neu
Erfahrung mit faltbaren neuronalen Netzen
Bayesianische Optimierungsimplementierung von Hyperparametern des neuronalen Netzwerks (Chainer + GPyOpt)
Kernel-Regression nur mit Numpy
Implementieren Sie ein dreischichtiges neuronales Netzwerk
Rank Learning über ein neuronales Netzwerk (RankNet-Implementierung von Chainer)
CNN-Implementierung mit nur Numpy
Neuronales Netzwerk mit Python (Scikit-Learn)
3. Normalverteilung mit neuronalem Netz!
Neuronales Netz beginnend mit Chainer
Tutorial zum neuronalen Netz von Pytorch (CNN) 1.3.1.
4. Kreisparameter mit einem neuronalen Netzwerk!
TensorFlow Tutorial-Convolution Neuronales Netz (Übersetzung)
Neuronales Netzwerk mit OpenCV 3 und Python 3
Einfaches Klassifizierungsmodell mit neuronalem Netz
Was ist das Convolutional Neural Network?
[TensorFlow] [Keras] Aufbau eines neuronalen Netzwerks mit Keras
Ich habe versucht, ein zweischichtiges neuronales Netzwerk zu implementieren
Berühren Sie das Objekt des neuronalen Netzes
Starten Sie nur die Netzwerkfunktionen auf dem Mac neu