[PYTHON] Faire un circuit logique avec Perceptron (Perceptron multicouche)

Cet article est un mémo d'apprentissage de Deep Learning from scratch.

Le point

--Perceptron est un algorithme qui reçoit plusieurs signaux en tant qu'entrées et émet un signal. Lorsque «biais» et «poids» sont définis comme paramètres et qu'une certaine entrée est donnée, une valeur fixe est sortie. "Bias" est un paramètre qui contrôle la facilité d'allumage. "Weight" est un paramètre qui contrôle l'importance de chaque entrée.

Expression pour Perceptron

\begin{eqnarray}
y=\left\{ \begin{array}{ll}
0 & (b + w_1 x_1 + w_2 x_2 \leqq 0) \\
1 & (b + w_1 x_1 + w_2 x_2 \gt 0) \\
\end{array} \right.
\end{eqnarray}

Implémentation d'un circuit logique avec Perceptron

perceptron.py


import numpy as np

# x1,x2:Entrée w1,w2:Poids b:biais
def perceptron(x1,x2,w1,w2,b):
    x = np.array([x1, x2])
    w = np.array([w1, w2])
    tmp = np.sum(w*x) + b
    return 0 if tmp <= 0 else 1

def AND(x1,x2):
    return perceptron(x1,x2,0.5,0.5,-0.7)

def NAND(x1,x2):
    return perceptron(x1,x2,-0.5,-0.5,0.7)

def OR(x1,x2):
    return perceptron(x1,x2,0.5,0.5,0.0)

def XOR(x1,x2):
    #Perceptron multicouche
    s1 = NAND(x1,x2)
    s2 = OR(x1,x2)
    y = AND(s1,s2)
    return y

#Vérifiez le fonctionnement ci-dessous
print("AND")
print(AND(0,0)) # 0
print(AND(0,1)) # 0
print(AND(1,0)) # 0
print(AND(1,1)) # 1

print("NAND")
print(NAND(0,0)) # 1
print(NAND(0,1)) # 1
print(NAND(1,0)) # 1
print(NAND(1,1)) # 0

print("OR")
print(OR(0,0)) # 0
print(OR(0,1)) # 1
print(OR(1,0)) # 1
print(OR(1,1)) # 1

print("XOR")
print(XOR(0,0)) # 0
print(XOR(0,1)) # 1
print(XOR(1,0)) # 1
print(XOR(1,1)) # 0

Recommended Posts

Faire un circuit logique avec Perceptron (Perceptron multicouche)
Faites une loterie avec Python
Faire un feu avec kdeplot
Faisons une interface graphique avec python.
Faites un son avec le notebook Jupyter
Perceptron multicouche avec chaînette: ajustement fonctionnel
Faisons une rupture de bloc avec wxPython
[Chainer] Apprentissage de XOR avec perceptron multicouche
Créer un système de recommandation avec python
Créer un filtre avec un modèle django
Faisons un graphe avec python! !!
Faisons un spacon avec xCAT
Créer un itérateur de modèle avec PySide
Faire un joli graphique avec plotly
Faisons un jeu de shiritori avec Python
Créer un lecteur vidéo avec PySimpleGUI + OpenCV
Créez un simulateur de gacha rare avec Flask
Créez un pipeline de notebook avec Kedro + Papermill
Créez un quiz de dessin avec kivy + PyTorch
Faisons la voix lentement avec Python
Créez un classificateur en cascade avec Google Colaboratory
Faisons un langage simple avec PLY 1
Faire Oui Non Popup avec Kivy
Faire une minuterie de lavage-séchage avec Raspberry Pi
Créer une animation GIF avec surveillance des dossiers
Créez un framework Web avec Python! (1)
Faisons une IA à trois yeux avec Pylearn 2
Créez une application de bureau avec Python avec Electron
Faisons un bot Twitter avec Python!
Créez un framework Web avec Python! (2)
Un mémorandum pour faire WebDAV uniquement avec nginx
Créer un bot Twitter Trend avec heroku + Python
Fabriquer un appareil de surveillance avec un capteur infrarouge
Créez un simple générateur d'images par points avec Flask
Comment créer un dictionnaire avec une structure hiérarchique.
Je veux faire un jeu avec Python
Remplaçons UWSC par Python (5) Faisons un robot
Essayez de créer un groupe de dièdre avec Python
[Chat De Tornado] Créez un chat en utilisant WebSocket dans Tornado
Transformez les données de vacances en une trame de données avec les pandas
Créer un bot LINE WORKS avec Amazon Lex
Classification d'image MNIST (numéro manuscrit) avec Perceptron multicouche
(Mémorandum) Créer un diagramme de dispersion 3D avec matplodlib
Combinez des chaînes répétitives en une seule avec des expressions régulières Python.
Prévision de stock avec TensorFlow (perceptron multicouche: MLP) ~ Prévision de stock 2 ~
Faisons un outil de veille de commande avec python
[Pratique] Créez une application Watson avec Python! # 2 [Fonction de traduction]
[Pratique] Créez une application Watson avec Python! # 1 [Discrimination linguistique]
Créez un Slackbot simple avec un bouton interactif en python
[Jouons avec Python] Créer un livre de comptes de ménage
Essayez de créer un jeu simple avec Python 3 et iPhone
Faire un point d'arrêt sur la couche c avec python
Créer une fonction pour décrire les polices japonaises avec OpenCV
Facilitons un peu la gestion des dépendances avec pip
Créer un outil de formatage CSV avec Python Pandas Py Installer
Créons une application Mac avec Tkinter et py2app
Essayez de créer une grille sphérique avec Rhinoceros / Grasshopper / GHPython