Python vs Ruby "Deep Learning from scratch" Chapitre 3 Graphique de la fonction step, fonction sigmoid, fonction ReLU

Aperçu

Ecrivez un programme pour dessiner des graphiques de fonctions pas à pas, de fonctions sigmoïdes et de fonctions ReLU en Python et Ruby, en vous référant au code du chapitre 3 du livre "Deep Learning from scratch-The théorie et implémentation de l'apprentissage profond appris avec Python".

Une bibliothèque externe est utilisée pour le traitement des calculs et le traitement des dessins. Utilisez NumPy et Matplotlib pour Python et Numo :: NArray et Numo :: Gnuplot pour Ruby.

Si vous avez besoin de créer un environnement, cliquez ici. → Python vs Ruby "Deep Learning from scratch" Chapitre 1 Graphique de la fonction sin et de la fonction cos http://qiita.com/niwasawa/items/6d9aba43f3cdba5ca725

Code pour dessiner des graphiques pour les fonctions pas à pas, les fonctions sigmoïdes et les fonctions ReLU

Python

import numpy as np
import matplotlib
matplotlib.use("AGG") #AGG dans la bibliothèque de dessins(Anti-Grain Geometry)utilisation
import matplotlib.pyplot as plt

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

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

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

#Créer des données
x = np.arange(-5.0, 5.0, 0.1)
y1 = step(x)
y2 = sigmoid(x)
y3 = relu(x)

#Dessiner un graphique
plt.figure(figsize=(3, 4), dpi=160) #Taille de l'image
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) #plage de l'axe des x
plt.ylim(-0.2, 5.2) #plage de l'axe y
plt.legend()
plt.savefig("python_graph.png ")

Ruby

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

#Fonction Step
def step(x)
  x > 0 # Numo::Bit de retour
end

#Fonction Sigmaid
def sigmoid(x)
  1 / (1 + Numo::NMath.exp(-x)) # Numo::Renvoie DFloat
end

# ReLU (Rectified Linear Unit)une fonction
def relu(x)
  y = Numo::DFloat[x] #copie
  y[y < 0] = 0 #Remplacez 0 si la valeur est inférieure à 0
  y
end

#Créer des données
x = Numo::DFloat.new(100).seq(-5.0, 0.1)
y1 = step(x)
y2 = sigmoid(x)
y3 = relu(x)

#Dessiner un graphique
g = Numo::gnuplot do
  set term: {png: {size: [480, 640]}} #Taille de l'image
  set output: 'ruby_graph.png'
  set title: 'Step, Sigmoid, ReLU' #Titre
  set key: 'box left top'
  set xrange: -5.5...5.5 #plage de l'axe des x
  set yrange: -0.2...5.2 #plage de l'axe y
  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

Image de sortie

Python

python_graph.png

Ruby

ruby_graph.png

Matériel de référence

--Python vs Ruby "Deep Learning from scratch" Résumé --Qiita http://qiita.com/niwasawa/items/b8191f13d6dafbc2fede

Recommended Posts

Python vs Ruby "Deep Learning from scratch" Chapitre 3 Graphique de la fonction step, fonction sigmoid, fonction ReLU
Python vs Ruby "Deep Learning from scratch" Chapitre 4 Implémentation de la fonction de perte
Python vs Ruby "Deep Learning from scratch" Chapitre 1 Graphique de la fonction sin et de la fonction cos
Python vs Ruby "Deep Learning from scratch" Chapitre 3 Implémentation d'un réseau neuronal à 3 couches
Résumé Python vs Ruby "Deep Learning from scratch"
Python vs Ruby «Deep Learning from scratch» Chapitre 2 Circuit logique par Perceptron
Deep Learning from scratch La théorie et la mise en œuvre de l'apprentissage profond appris avec Python Chapitre 3
[Deep Learning from scratch] Valeur initiale du poids du réseau neuronal utilisant la fonction sigmoïde
[Deep Learning from scratch] Poids initial du réseau neuronal lors de l'utilisation de la fonction Relu
Deep learning / Deep learning made from scratch Chapitre 6 Mémo
[Mémo d'apprentissage] Deep Learning fait de zéro [Chapitre 5]
[Mémo d'apprentissage] Le Deep Learning fait de zéro [Chapitre 6]
Deep learning / Deep learning made from scratch Chapitre 7 Mémo
Enregistrement d'apprentissage de la lecture "Deep Learning from scratch"
[Mémo d'apprentissage] Deep Learning fait de zéro [~ Chapitre 4]
Chapitre 1 Introduction à Python Découpez uniquement les bons points de Deeplearning à partir de zéro
[Deep Learning from scratch] J'ai essayé d'implémenter la couche sigmoïde et la couche Relu
Deep Learning from scratch ① Chapitre 6 "Techniques liées à l'apprentissage"
Apprentissage profond / rétropropagation d'erreur de la fonction sigmoïde
Deep Learning from scratch Chapter 2 Perceptron (lecture du mémo)
[Mémo d'apprentissage] Apprentissage profond à partir de zéro ~ Mise en œuvre de l'abandon ~
Application de Deep Learning 2 à partir de zéro Filtre anti-spam
Apprentissage profond à partir de zéro 1 à 3 chapitres
Un amateur a trébuché dans le Deep Learning à partir de zéro Note: Chapitre 1
Un amateur a trébuché dans le Deep Learning ❷ fait à partir de zéro Note: Chapitre 5
Un amateur a trébuché dans le Deep Learning ❷ fait à partir de zéro Note: Chapitre 2
Un amateur a trébuché dans le Deep Learning à partir de zéro Note: Chapitre 3
Un amateur a trébuché dans le Deep Learning à partir de zéro Note: Chapitre 7
Un amateur a trébuché dans le Deep Learning à partir de zéro Note: Chapitre 5
Un amateur a trébuché dans le Deep Learning ❷ fait de zéro Note: Chapitre 1
Un amateur a trébuché dans le Deep Learning ❷ fait à partir de zéro Note: Chapitre 4
Un amateur a trébuché dans le Deep Learning à partir de zéro.
Résumé des fonctions d'activation (step, sigmoïde, ReLU, softmax, fonction constante)
Un amateur a trébuché dans le Deep Learning à partir de zéro Note: Chapitre 2
Chapitre 3 Réseau de neurones Ne découpez que les bons points de Deeplearning à partir de zéro
Mémo d'auto-apprentissage "Deep Learning from scratch" (partie 8) J'ai dessiné le graphique du chapitre 6 avec matplotlib
Chapitre 2 Implémentation de Perceptron Ne découpez que les bons points de Deeplearning à partir de zéro
Deep learning / Deep learning from scratch 2 Chapitre 4 Mémo
Deep learning / Deep learning made from scratch Chapitre 3 Mémo
Deep Learning / Deep Learning à partir de Zero 2 Chapitre 5 Mémo
Apprentissage profond à partir de zéro (calcul des coûts)
Deep Learning / Deep Learning à partir de Zero 2 Chapitre 7 Mémo
Deep Learning / Deep Learning à partir de Zero 2 Chapitre 8 Mémo
Écrivez vos impressions sur l'édition du framework Deep Learning 3 créée à partir de zéro
Deep learning / Deep learning made from scratch Chapitre 5 Mémo
Deep learning / Deep learning made from scratch Chapitre 4 Mémo
Deep learning / Deep learning from scratch 2 Chapitre 3 Mémo
Mémo d'apprentissage profond créé à partir de zéro
Mémo d'auto-apprentissage «Deep Learning from scratch» (n ° 10-2) Valeur initiale du poids
Deep Learning / Deep Learning à partir de Zero 2 Chapitre 6 Mémo
[Deep Learning from scratch] Implémentation de couche de la fonction softmax à l'erreur d'entropie croisée
Créez un environnement d'apprentissage pour le «Deep learning from scratch» avec Cloud9 (jupyter miniconda python3)
Apprentissage profond à partir de zéro (propagation vers l'avant)
Notes d'apprentissage depuis le début de Python 1
Apprentissage profond / Apprentissage profond à partir de zéro 2-Essayez de déplacer GRU
"Deep Learning from scratch" avec Haskell (inachevé)
[Windows 10] Construction de l'environnement "Deep Learning from scratch"
Notes d'apprentissage depuis le début de Python 2
[Deep Learning from scratch] À propos de l'optimisation des hyper paramètres