The Perceptron with Python

Nathan Bangwa
3 min readMay 20, 2019

--

Dans ce post nous allons ensemble voir ce quoi un perceptron ou neurone artificiel (neurone formel), comment il fonctionne, ses limites et comment faire une implementation en Python.

1. c’est quoi un perceptron

Le perceptron est un algorithme d’apprentissage supervisé de classifieurs binaires. Il a été inventé en 1957 par Frank Rosenblatt au laboratoire d’aéronautique de l’université Cornell. Wikipédia

En gros le perceptron est un modèle binaire d’un neurone biologique

2. Vue d’ensemble

Perceptron overview
  1. en jaune à gauche le vecteur d’entrée(X) : liste des valeurs (données ou features)
  2. en rouge le vecteur de poids (W) : liste des valeurs synaptiques pour chaque entrée (meme taille que le vecteur d’entrée)
  3. en vert le biais (bias) : ce paramètre influe sur la sensibilité du neurone. Le biais est au neurone ce que la constante b est à la droite (y = ax + b).
    Généralement le biais est une constante qui vaut 1, et donc seul son poids persiste sur le schema (on notera b ou Wo).

4. un module de calcul qui a 2 grandes parties: la partie de pré-activation et la partie d’activation.

Pre-activation : c’est une fonction qui calcul la somme pondérée des entrées. si vous avez oubliez à quoi ressemble la somme pondérée, eh bien c’est votre jour de chance. ci-bas un petit rappel.

Dans le cas ci-haut, Score est notre vecteur d’entrée (features) et Weight est notre vecteur de poids synaptiques
Weighted Sum

Et voila notre somme pondérée qui vaut 570 et qui sera envoyée en paramètre à notre fonction d’activation.

NB : dans l’exemple ci-haut le bias est nul (0), sinon la valeur aurait été de 570 + bias

Pre-activation function in python

Activation : C’est une fonction qui prend en paramètre la somme pondérée et qui donne l’état de la sortie du neurone (actif/inactif) en fonction d’un seuil donnée.

threshold Function

Elle donne 0 si la valeur de la somme pondérée est inférieur au seuil (ici le seuil vaut 0) et 1 dans le cas contraire.

NB : C’est pas l’unique fonction d’activation qui existe

Activation function in python

3. Réalisation de quelques fonctions

On parle de perceptron AND, OR, XOR
AND Perceptron in python
OR Perceptron in python

4. Limites du perceptron simple

Le perceptron ne peut modélisé une fonction que si l’échantillon des données est linéairement séparable. Le pourquoi se trouve dans la seconde partie The Perceptron Learing Protocol

Échantillon de données

Si on peut tracer une droite pour séparer les points noirs de points blancs, c’est que le perceptron simple (formel) peut modéliser la fonction.

5. Ressources

vous trouverrez le notebook Jupyter à cette adresse : https://notebooks.azure.com/nathanbangwa7/projects/perceptron-presentation

--

--

Nathan Bangwa

Microsoft Student Partner, Python Engineer, AI Student Developer, Data Science Enthusiast