Вы находитесь на странице: 1из 17

Définition d’un perceptron

Définition Un perceptron linéaire à seuil prend


en entrée n valeurs x1,..., xn et calcule une sortie
o. Un perceptron est défini par la donnée de n+1
constantes : les coefficients synaptiques w1, ...,
wn et le seuil (ou le biais) .
• On ajoute une entrée supplémentaire x0 (le
biais), avec le coefficient synaptique suivant :
w0 = -θ
• comme fonction de transfert la fonction de
Heavyside :
• f(x)=1 si x > 0
• f(x)=0 sinon
Interprétation géométrique et
limitations
• Définition Soit S un ensemble d'exemples dans
Rn × { 0,1} . On note S0 = { s ∈Rn | (s,0) ∈ S } et
S1 = { s ∈ Rn | (s,1) ∈ S } . On dit que S est
linéairement séparable s'il existe un hyperplan
H de Rn tel que les ensembles S0 et S1 soient
situés de part et d'autre de cet hyperplan.
• Théorème Un perceptron linéaire à seuil à n
entrées divise l'espace des entrées Rn en deux
sous-espaces délimités par un hyperplan.
Réciproquement, tout ensemble linéairement
séparable peut être discriminé par un
perceptron.
• L’algorithme du perceptron
• 1/ Initialisation des poids et du seuil θ à des valeurs (petites)
choisies au hasard.
• 2/ Présentation d'une entrée X = (x1, ... ,xn) de la base
d'apprentissage.
• 3/ Calcul de la sortie obtenue o pour cette entrée :
a = ∑ (wi . xi)
o = signe (a) ( si a > 0 alors o = +1 sinon o = 0)
• 4/ Si la sortie o du Perceptron est différente de la sortie
désirée d pour cet exemple d'entrée X alors modification des
poids (μ le pas de modification) :
wi(t+1) = wi(t) + μ.((d - o).xi)
• Rappel : d = +1 si X est de la classe 1, d = 0 si X est de la classe
2 et (d - o) est une estimation de l'erreur.
• 5/ Tant que tous les exemples de la base d'apprentissage ne
sont pas traités correctement (i.e. modification des poids),
retour à l'étape 2.
Exemple de fonctionnement de l'algorithme
d'apprentissage du Perceptron
• Base d'exemples d'apprentissage :
• x1 x2 d
• 0 1 1 (1)
• 1 0 1 (2)
• 1 1 1 (3)
• 0 0 0 (4)
• Apprentissage par l’ algorithme du perceptron
• • μ bien choisi, suffisamment petit
• •
• Si μ trop grand : risque d’oscillation autour du minimum
• •
• Si μ trop petit : nombre élevé d’itérations
Optimisation : gradient
• Problème :
• Trouver le minimum de la fonction f continue
et dérivable : x → f(x)
• On construit la suite :
Xn telle que :
• • On part d’une valeur initiale X0 quelconque
• • Xn+1 = Xn - ε * f ′(Xn), avec ε valeur réelle
non nulle « bien choisie » entre 0 et 1
• Remarques :
• • Le choix de ε est empirique
• • Si ε trop petit : le nombre d’itérations est
trop grand
• • Si ε est trop grand : les valeurs de la suite
risquent d’osciller ⇒ pas de convergence
• • Rien ne garantit que le minimum trouvé est
un minimum global
Apprentissage par descente de
gradient
• Soient le vecteur des entrées x et le vecteur des
coefficients synaptiques w.
• La sortie vaut alors : o = X.w = x0.w0 + … + xn.wn,
• Soit S la base d ’apprentissage composée de
couples (X, d), où d est la sortie attendue pour X.
• On définit ainsi l ’erreur sur le réseau pour la base
d ’apprentissage S :
• E(w) = 1/2 Σ[(X,d) dans S] (d − o)²
• Problème : trouver w qui minimise E(w).
• ⇒ Méthode du gradient.
PERCEPTRON : REGLE DELTA
Apprentissage :
algorithme de Widrow-Hoff (adaline / règle delta)
• 1/ Initialisation des poids et du seuil S à des valeurs
(petites) choisies au hasard.
• 2/ Présentation d'une entrée X = (x1, ... xn) de la base
d'apprentissage.
• 3/ Calcul de la sortie obtenue o pour cette entrée :
a = ∑ (wi . xi)
o = signe (a) ( si a > 0 alors o = +1 sinon o = -1 )
• 4/ Si la sortie o du Perceptron est différente de la sortie
désirée d pour cet exemple d'entrée X alors modification
des poids (μ le pas de modification) :
wi(t+1) = wi(t) + μ.((d - a).xi)
• 5/ Tant que tous les exemples de la base d'apprentissage ne
sont pas traités correctement (i.e. modification des poids),
retour à l'étape 2.
• Théorème Le XOR ne peut pas être calculé par
un perceptron linéaire à seuil.
Démonstration
• Démonstration algébrique : Supposons qu'il
existe un perceptron défini par les coefficients
synaptiques (w0, w1, w2) calculant le XOR sur
deux entrées booléennes x1 et x2. On devrait
avoir :
tp
• créer un perceptron qui permet d’apprendre
la notion de chiffre pair ou impair

Вам также может понравиться