[PYTHON] Kapitel 2 Implementierung von Perceptron Schneiden Sie nur die guten Punkte des Deeplearning aus, die von Grund auf neu erstellt wurden

Was ist Perceptron?

Perceptron empfängt mehrere Signale als Ein- und Ausgänge eines Signals. Das Perceptron-Signal ist ein Binärwert von 1 oder 0. Dieses Mal werde ich es so beschreiben, dass es nicht 0 und 1 fließt.

Tortyp

AND

x1 x2 y
0 0 0
1 0 0
0 1 0
1 1 1

NAND

x1 x2 y
0 0 1
1 0 1
0 1 1
1 1 0

OR

x1 x2 y
0 0 0
1 0 1
0 1 1
1 1 1

Implementierung von Perceptron

Einfache Implementierung

def AND(x1, x2)
    w1, w2, theta = 0.5, 0.5, 0.7
    temp = x1*w1+x2*w2
    if tmp <= theta:
        return 0
    elif tmp > theta:
        return 1

Die Parameter w1, w2 und Theta werden in der Funktion initialisiert und geben 1 zurück, wenn die Summe der gewichteten Eingaben den Schwellenwert überschreitet, andernfalls 0. Überprüfen wir dann, ob die Ausgabe wie in Abbildung 2-2 dargestellt ist.

AND(0, 0) # 0
AND(1, 0) # 0
AND(0, 1) # 0
AND(1, 1) # 1

Ich habe das erwartete Verhalten.

In ähnlicher Weise können sowohl NAND als auch OR implementiert werden.

Einführung von Gewichten und Vorurteilen

y = 0(b+w1x1+w2x2 <= 0)
    1(b+w1x1+w2x2 >  0)
>>>import numpy as np
>>>x = np.array([0,1])
>>>w = np.array([0.5, 0.5])
>>>b = -0.7
>>>w*x
>>>array([0. , 0.5])
>>>np.sum(w*x)
0.5
>>>np.sum(w*x) + b
-0.19999999996

Umsetzung nach Gewicht und Voreingenommenheit

def AND(x1, x2):
   x = np.array([x1, x2])
   w = np.array([0.5, 0.5])
   b = -0.7
   tmp = np.sum(w*x) + b
   if tmp <= 0:
       return 0
   else:
       return 1

def NAND(x1, x2):
   x = np.array([x1, x2])
   w = np.array([-0.5, -0.5])
   b = 0.7
   tmp = np.sum(w*x) + b
   if tmp <= 0
      return 0
   else:
      return 1

def OR(x1, x2):
   x = np.array([x1, x2])
   w = np.array([0.5, 0.5])
   b = -0.2
   tmp = np.sum(w*x) + b
   if tmp <= 0
       return 0
   else:
       return 1

XOR-Gatter

Das XOR-Gatter ist eine Logikschaltung, die auch als exklusive Summe von Logik bezeichnet wird.

OR

x1 x2 y
0 0 0
1 0 1
0 1 1
1 1 0

Es ist schwierig, dieses Ergebnis in einer Gleichung auszudrücken.

Mehrschichtiges Perceptron

Perceptron konnte das XOR-Gatter nicht darstellen. Dies ist jedoch durch Stapeln von Schichten möglich.

Kombination bestehender Tore

Das XOR-Gatter kann durch den Wert der Kombination von NAND und OR und AND dargestellt werden.

XOR |x1|x2|s1|s2|y| |---|---|---| |0|0|1|0|0| |1|0|1|1|1| |0|1|1|1|1| |1|1|0|1|0|

Implementierung von XOR

def XOR(x1, x2):
    s1 = NAND(x1, x2)
    s2 = OR(x1, x2)
    y = AND(s1, s2)

XOR(0, 0) # 0
XOR(1, 0) # 1
XOR(0, 1) # 1
XOR(1, 1) # 0

XOR ist ein zweischichtiges Perzeptron. Mehrere gestapelte Perzeptrone werden manchmal als mehrschichtige Perzeptrone bezeichnet. Es ist möglich, durch Stapeln von Schichten flexibler auszudrücken.

Zusammenfassung

--Perceptron ist ein Algorithmus mit Eingabe und Ausgabe. Bei einer bestimmten Eingabe wird ein fester Wert ausgegeben.

Recommended Posts

Kapitel 2 Implementierung von Perceptron Schneiden Sie nur die guten Punkte des Deeplearning aus, die von Grund auf neu erstellt wurden
Kapitel 3 Neuronales Netz Schneiden Sie nur die guten Punkte des Deeplearning aus, die von Grund auf neu erstellt wurden
Kapitel 1 Einführung in Python Schneiden Sie nur die guten Punkte des Deeplearning aus, die von Grund auf neu erstellt wurden
Deep Learning von Grund auf neu Die Theorie und Implementierung des mit Python erlernten Deep Learning Kapitel 3
[Lernnotiz] Deep Learning von Grund auf neu gemacht [Kapitel 7]
Deep Learning / Deep Learning von Grund auf neu Kapitel 6 Memo
[Lernnotiz] Deep Learning von Grund auf neu gemacht [Kapitel 5]
[Lernnotiz] Deep Learning von Grund auf neu gemacht [Kapitel 6]
[Lernnotiz] Deep Learning von Grund auf neu gemacht [~ Kapitel 4]
Deep Learning von Grund auf neu Kapitel 2 Perceptron (Memo lesen)
[Lernnotiz] Deep Learning von Grund auf ~ Implementierung von Dropout ~
Python vs Ruby "Deep Learning von Grund auf neu" Kapitel 4 Implementierung der Verlustfunktion
Python vs Ruby "Deep Learning von Grund auf neu" Kapitel 3 Implementierung eines dreischichtigen neuronalen Netzwerks
Anwendung von Deep Learning 2 von Grund auf neu Spam-Filter
Othello ~ Aus der dritten Zeile von "Implementation Deep Learning" (4) [Ende]
[Deep Learning von Grund auf neu] Implementierung der Momentum-Methode und der AdaGrad-Methode
Deep Learning Memo von Grund auf neu gemacht
Schreiben Sie Ihre Eindrücke von der Deep Learning 3 Framework Edition, die von Grund auf neu erstellt wurde
Lernbericht über das Lesen von "Deep Learning von Grund auf neu"
Othello-Aus der dritten Zeile von "Implementation Deep Learning" (2)
Python vs Ruby "Deep Learning von Grund auf neu" Kapitel 2 Logikschaltung von Perceptron
Deep Learning von Grund auf neu ① Kapitel 6 "Lerntechniken"
GitHub des guten Buches "Deep Learning von Grund auf neu"
Deep Learning von Grund auf neu
[Deep Learning von Grund auf neu] Ich habe die Affine-Ebene implementiert
Python vs Ruby "Deep Learning von Grund auf neu" Kapitel 3 Diagramm der Schrittfunktion, Sigmoidfunktion, ReLU-Funktion
Python vs Ruby "Deep Learning from Grund" Kapitel 1 Diagramm der Sin-Funktion und der Cos-Funktion
Deep Learning von Grund auf 1-3 Kapitel
Ein Amateur stolperte über Deep Learning ❷ von Grund auf neu Hinweis: Kapitel 5
Ein Amateur stolperte über Deep Learning ❷ von Grund auf neu Hinweis: Kapitel 2
Ein Amateur stolperte in Deep Learning von Grund auf neu Hinweis: Kapitel 3
Ein Amateur stolperte in Deep Learning von Grund auf neu. Hinweis: Kapitel 7
Ein Amateur stolperte in Deep Learning von Grund auf neu Hinweis: Kapitel 5
Ein Amateur stolperte über Deep Learning ❷ von Grund auf neu Hinweis: Kapitel 1
Ein Amateur stolperte über Deep Learning ❷ von Grund auf neu Hinweis: Kapitel 4
Ein Amateur stolperte in Deep Learning von Grund auf neu Hinweis: Kapitel 4
"Deep Learning from Grund" Memo zum Selbststudium (Nr. 14) Führen Sie das Programm in Kapitel 4 in Google Colaboratory aus
"Deep Learning from Grund" Memo zum Selbststudium (Teil 8) Ich habe die Grafik in Kapitel 6 mit matplotlib gezeichnet
Ein Amateur stolperte in Deep Learning von Grund auf neu Hinweis: Kapitel 2
Ich habe versucht, Perceptron Teil 1 [Deep Learning von Grund auf neu] zu implementieren.
Tiefes Lernen der Verstärkung 2 Implementierung des Lernens der Verstärkung
"Deep Learning from Grund" Memo zum Selbststudium (Nr. 10-2) Anfangswert des Gewichts
Deep Learning / Deep Learning von Grund auf neu 2 Kapitel 4 Memo
Deep Learning / Deep Learning von Grund auf neu Kapitel 3 Memo
Tiefes Lernen von Grund auf neu (Kostenberechnung)
Deep Learning / Deep Learning von Null 2 Kapitel 7 Memo
Deep Learning / Deep Learning von Null 2 Kapitel 8 Memo
Deep Learning / Deep Learning von Grund auf neu Kapitel 5 Memo
Deep Learning / Deep Learning von Grund auf neu Kapitel 4 Memo
Deep Learning / Deep Learning von Grund auf neu 2 Kapitel 3 Memo
Deep Learning / Deep Learning von Null 2 Kapitel 6 Memo
[Deep Learning von Grund auf neu] Layer-Implementierung von der Softmax-Funktion zum Überkreuzen von Entropiefehlern
Tiefes Lernen von Grund auf neu (Vorwärtsausbreitung)
Notizen vom Anfang von Python 1 lernen
Visualisieren Sie die Auswirkungen von Deep Learning / Regularisierung
"Deep Learning von Grund auf neu" mit Haskell (unvollendet)
[Windows 10] Aufbau einer "Deep Learning from Scratch" -Umgebung
Notizen vom Anfang von Python 2 lernen
[Deep Learning von Grund auf neu] Über die Optimierung von Hyperparametern