The Perceptron with Python
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
- en jaune à gauche le vecteur d’entrée(X) : liste des valeurs (données ou features)
- en rouge le vecteur de poids (W) : liste des valeurs synaptiques pour chaque entrée (meme taille que le vecteur d’entrée)
- 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.
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
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.
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
3. Réalisation de quelques fonctions
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
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