Python vs Ruby "Deep Learning von Grund auf neu" Kapitel 3 Diagramm der Schrittfunktion, Sigmoidfunktion, ReLU-Funktion

Überblick

Schreiben Sie ein Programm zum Zeichnen von Diagrammen von Schrittfunktionen, Sigmoidfunktionen und ReLU-Funktionen in Python und Ruby. Beziehen Sie sich dabei auf den Code in Kapitel 3 des Buches "Deep Learning von Grund auf neu - Theorie und Implementierung von Deep Learning aus Python".

Eine externe Bibliothek wird für die Berechnungs- und Zeichnungsverarbeitung verwendet. Verwenden Sie NumPy und Matplotlib für Python und Numo :: NArray und Numo :: Gnuplot für Ruby.

Wenn Sie eine Umgebung erstellen müssen, lesen Sie hier. → Python vs Ruby "Deep Learning von Grund auf neu" Kapitel 1 Diagramm der Sin- und Cos-Funktion http://qiita.com/niwasawa/items/6d9aba43f3cdba5ca725

Code zum Zeichnen von Diagrammen für Schrittfunktionen, Sigmoidfunktionen und ReLU-Funktionen

Python

import numpy as np
import matplotlib
matplotlib.use("AGG") #AGG in Zeichnungsbibliothek(Anti-Grain Geometry)verwenden
import matplotlib.pyplot as plt

#Stufenfunktion
def step(x):
  return np.array(x > 0, dtype=np.int)

#Sigmaid-Funktion
def sigmoid(x):
  return 1 / (1 + np.exp(-x))

# ReLU (Rectified Linear Unit)Funktion
def relu(x):
  return np.maximum(0, x)

#Daten erstellen
x = np.arange(-5.0, 5.0, 0.1)
y1 = step(x)
y2 = sigmoid(x)
y3 = relu(x)

#Zeichnen eines Diagramms
plt.figure(figsize=(3, 4), dpi=160) #Bildgröße
plt.plot(x, y1, label="Step")
plt.plot(x, y2, label="Sigmoid")
plt.plot(x, y3, label="ReLU")
plt.title("Step, Sigmoid, ReLU")
plt.xlim(-5.5, 5.5) #x-Achsenbereich
plt.ylim(-0.2, 5.2) #Bereich der y-Achse
plt.legend()
plt.savefig("python_graph.png ")

Ruby

require 'numo/narray'
require 'numo/gnuplot'

#Stufenfunktion
def step(x)
  x > 0 # Numo::Gibt Bit zurück
end

#Sigmaid-Funktion
def sigmoid(x)
  1 / (1 + Numo::NMath.exp(-x)) # Numo::Gibt DFloat zurück
end

# ReLU (Rectified Linear Unit)Funktion
def relu(x)
  y = Numo::DFloat[x] #Kopieren
  y[y < 0] = 0 #Ersetzen Sie 0, wenn der Wert kleiner als 0 ist
  y
end

#Daten erstellen
x = Numo::DFloat.new(100).seq(-5.0, 0.1)
y1 = step(x)
y2 = sigmoid(x)
y3 = relu(x)

#Zeichnen eines Diagramms
g = Numo::gnuplot do
  set term: {png: {size: [480, 640]}} #Bildgröße
  set output: 'ruby_graph.png'
  set title: 'Step, Sigmoid, ReLU' #Titel
  set key: 'box left top'
  set xrange: -5.5...5.5 #x-Achsenbereich
  set yrange: -0.2...5.2 #Bereich der y-Achse
  set offset: [0, 0, 0, 0]
  plot x, y1, {w: 'lines', lw: 3, title: 'Step'},
       x, y2, {w: 'lines', lw: 3, title: 'Sigmoid'},
       x, y3, {w: 'lines', lw: 3, title: 'ReLU'}
end

Ausgabebild

Python

python_graph.png

Ruby

ruby_graph.png

Referenzmaterial

--Python vs Ruby "Deep Learning from Grund" Zusammenfassung --Qiita http://qiita.com/niwasawa/items/b8191f13d6dafbc2fede

Recommended Posts

Python vs Ruby "Deep Learning von Grund auf neu" Kapitel 3 Diagramm der Schrittfunktion, Sigmoidfunktion, ReLU-Funktion
Python vs Ruby "Deep Learning von Grund auf neu" Kapitel 4 Implementierung der Verlustfunktion
Python vs Ruby "Deep Learning from Grund" Kapitel 1 Diagramm der Sin-Funktion und der Cos-Funktion
Python vs Ruby "Deep Learning von Grund auf neu" Kapitel 3 Implementierung eines dreischichtigen neuronalen Netzwerks
Python vs Ruby "Deep Learning von Grund auf neu" Zusammenfassung
Python vs Ruby "Deep Learning von Grund auf neu" Kapitel 2 Logikschaltung von Perceptron
Deep Learning von Grund auf neu Die Theorie und Implementierung des mit Python erlernten Deep Learning Kapitel 3
[Deep Learning von Grund auf neu] Anfangswert des Gewichts des neuronalen Netzwerks unter Verwendung der Sigmoid-Funktion
[Deep Learning von Grund auf neu] Anfangsgewicht des neuronalen Netzwerks bei Verwendung der Relu-Funktion
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
Lernbericht über das Lesen von "Deep Learning von Grund auf neu"
[Lernnotiz] Deep Learning von Grund auf neu gemacht [~ Kapitel 4]
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] Ich habe versucht, Sigmoid Layer und Relu Layer zu implementieren
Deep Learning von Grund auf neu ① Kapitel 6 "Lerntechniken"
Deep Learning / Fehler-Backpropagation der Sigmoid-Funktion
Deep Learning von Grund auf neu Kapitel 2 Perceptron (Memo lesen)
[Lernnotiz] Deep Learning von Grund auf ~ Implementierung von Dropout ~
Anwendung von Deep Learning 2 von Grund auf neu Spam-Filter
Deep Learning von Grund auf 1-3 Kapitel
Ein Amateur stolperte in Deep Learning von Grund auf neu Hinweis: Kapitel 1
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
Zusammenfassung der Aktivierungsfunktionen (Schritt, Sigmoid, ReLU, Softmax, konstante Funktion)
Ein Amateur stolperte in Deep Learning von Grund auf neu Hinweis: Kapitel 2
Kapitel 3 Neuronales Netz Schneiden Sie nur die guten Punkte des Deeplearning aus, die von Grund auf neu erstellt wurden
"Deep Learning from Grund" Memo zum Selbststudium (Teil 8) Ich habe die Grafik in Kapitel 6 mit matplotlib gezeichnet
Kapitel 2 Implementierung von Perceptron Schneiden Sie nur die guten Punkte des Deeplearning aus, die von Grund auf neu erstellt wurden
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
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
Schreiben Sie Ihre Eindrücke von der Deep Learning 3 Framework Edition, die von Grund auf neu erstellt wurde
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 Memo von Grund auf neu gemacht
"Deep Learning from Grund" Memo zum Selbststudium (Nr. 10-2) Anfangswert des Gewichts
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
Erstellen Sie mit Cloud9 (jupyter miniconda python3) eine Lernumgebung für "Deep Learning von Grund auf neu".
Tiefes Lernen von Grund auf neu (Vorwärtsausbreitung)
Notizen vom Anfang von Python 1 lernen
Tiefes Lernen / Tiefes Lernen von Grund auf 2-Versuchen Sie, GRU zu bewegen
"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