[PYTHON] Lernen aus den Grundlagen Lehrbuch für künstliche Intelligenz Kapitel 5 Kapitelende Probleme

Einführung

Als Studie über maschinelles Lernen lese ich "* Lernen aus den Grundlagen: Lehrbuch für künstliche Intelligenz *".

Das Merkmal dieses Buches ist, dass das Problem am Ende des Kapitels ein einfaches Programm von Python enthält.

Hier wird es mit "Ruby" kopiert.

Kapitel 5 Ende des Kapitels Problem

neuralnet.rb


INPUTNO = 2
HIDDENNO = 2

def forward(wh, wo, hi, e)
  HIDDENNO.times do |i|
    u = 0.0
    INPUTNO.times do |j|
      u += e[j] * wh[i][j]
    end
    u -= wh[i][INPUTNO]
    hi[i] = f(u)
  end
  o = 0.0
  HIDDENNO.times do |i|
    o += hi[i] * wo[i]
  end
  o -= wo[HIDDENNO]
  f(o)
end

def f(u)
  return 1.0 if u >= 0
  0.0
end

wh = [[-2, 3, -1], [-2, 1, 0.5]]
wo = [-60, 94, -1]
e = [[0, 0], [0, 1], [1, 0], [1, 1]]
hi = [0] * (HIDDENNO + 1)

e.each do |i|
  puts "#{i}->#{forward(wh, wo, hi, i)}"
end

Es ist eine einfache hierarchische Berechnung des neuronalen Netzes und es gibt kein Lernen, aber bitte seien Sie vorsichtig, da der Einzug in der 26. Zeile ** einen Fehler enthält ** (25. September 2019, 1. Auflage, 1. Druckausgabe) **

error.py


for i in range(HIDDENNO):     #Falsch

    for i in range(HIDDENNO): #Positiv

Wie Sie wissen, scheinen Einrückungsfehler in Python fatal zu sein, aber zum Glück können Sie den Beispielcode von Ohms Buchseite herunterladen.

step.rb


def f(u)
  return 1.0 if u >= 0
  0.0
end

 #Ausgabebeispiel
[0, 0]->0.0
[0, 1]->1.0
[1, 0]->1.0
[1, 1]->0.0

Die Übertragungsfunktion "f" ist eine Sprungfunktion

Sigmoid.rb


def f(u)
  1 / (1 + Math::E ** -u)
end

 #Ausgabebeispiel
[0, 0]->0.0006265270712940932
[0, 1]->0.6434453861326787
[1, 0]->0.0003334059232134918
[1, 1]->8.512503196901111e-16

Die Übertragungsfunktion "f" ist eine Sigmoidfunktion

ramp.rb


def f(u)
  return u if u >= 0
  0.0
end

 #Ausgabebeispiel
[0, 0]->0.0
[0, 1]->1.0
[1, 0]->0.0
[1, 1]->0.0

Die Übertragungsfunktion "f" ist eine Rampenfunktion

Zusammenfassung

Recommended Posts

Lernen aus den Grundlagen Lehrbuch für künstliche Intelligenz Kapitel 5 Kapitelende Probleme
Deep Learning aus den mathematischen Grundlagen Teil 2 (während der Teilnahme)
Othello ~ Aus der dritten Zeile von "Implementation Deep Learning" (4) [Ende]
Pip die maschinelle Lernbibliothek von einem Ende (Ubuntu)
Künstliche Intelligenz durch maschinelles Lernen mit TensorFlow aus Null Wissen schaffen - Einführung 1
Deep Learning / Deep Learning von Grund auf neu 2 Kapitel 4 Memo
Deep Learning / Deep Learning von Grund auf neu Kapitel 3 Memo
Deep Learning / Deep Learning von Null 2 Kapitel 5 Memo
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
Python-Lernnotiz für maschinelles Lernen von Chainer bis zum Ende von Kapitel 2
[Lernnotiz] Deep Learning von Grund auf neu gemacht [Kapitel 7]
Notizen vom Anfang von Python 1 lernen
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]
Deep Learning / Deep Learning von Grund auf neu Kapitel 7 Memo
Notizen vom Anfang von Python 2 lernen
Deep Learning aus den mathematischen Grundlagen (während der Teilnahme)
Mathematische Statistik aus den Grundlagen Probabilistische Variablen
[Lernnotiz] Deep Learning von Grund auf neu gemacht [~ Kapitel 4]
Deep Learning von Grund auf neu Die Theorie und Implementierung des mit Python erlernten Deep Learning Kapitel 3