Université Paris 13/Younès Bennani Traitement Informatique des Données 1
8 Younès BENNANI
ILOG 3
Traitement
Informatique des Données
Université Paris 13/Younès Bennani Traitement Informatique des Données 2
Université Paris 13/Younès Bennani Traitement Informatique des Données 3
x0 wi0
ai yi
x1
xn M
F(xj,wij) f(ai) wi1
wi n
x0 x1
xn
M
x y
z = ! ( x, w)
D = { ( x
1, y
1) , ( x
2, y
2) ,..., ( x
N, y
N) } / p(x, y) = p(x)p(y / x)
F = { ! (x,w) / w "# }
C( w) = " L y,! [ (x, w) ] dp( x, y)
!(x,w*)=
!(x,w)
Arg min
C(w)!(x,w+)=
!(x,w)
Arg min
Cemp(w) Cemp(w)=1N L y
[
k,!
(xk,w)]
k=1 N
"
wji(t+1)=wji(t)!1
N"(t) #Cempk (w)
#wji(t)
k=1 N
$
wji(t+1)=wji(t)!"(t)#Cempk (w)
#wji(t) Choix
Choix
Apprentissage Induction
ou
Rappels
Rappels
x0=1 w0
a x1
xn
M
wixi i=0
n
!
w1
wn
z= wixi i=0
n
!
f(x)=
1si x>0
!1si x<0
"
#
$
% $
C
Adalinek(w) = ( y
k! wx
k)
2!
wC
Adalinek
( w)
( ) = "C
Adalinek"w (w) = #2 [ y
k# wx
k] x
kw(t + 1) = w(t) ! " (t)#
wC
Adalinek
(w )
( )
Adaline
Fonction de Coût
Apprentissage
w
0(t + 1) w
1(t + 1)
M w
n(t + 1)
!
"
#
# #
$
%
&
&
&
= w
0(t) w
1(t) M w
n(t)
!
"
#
# #
$
%
&
&
&
' 2 ((t) y
k' ( w
0(t) w
1(t) K w
n(t) )
x
0 kx
1kM x
nk!
"
#
# #
$
%
&
&
&
)
* + + +
,
- . . .
x
0 kx
1kM x
nk!
"
#
# #
$
%
&
&
&
Université Paris 13/Younès Bennani Traitement Informatique des Données 5
Exercice à faire
x0 0.3
a
y
x1
x2
wixi i=0
n
0.8 !
0.4
!(
x,w)
D = 1 1 1
!
"
# #
$
%
&
& ,'1
!
"
# #
$
%
&
& ;
1 1 '1
!
"
# #
$
%
&
& ,1
!
"
# #
$
%
&
& ; 1 '1
1
!
"
# #
$
%
&
& ,1
!
"
# #
$
%
&
& ;
1 '1 '1
!
"
# #
$
%
&
& ,1
!
"
# #
$
%
&
&
( )
* + *
, -
* . *
Représenter dans un repère orthogonal l’ensemble des échantillons.
Utiliser l ’algorithme Adaline pour adapter les poids du modèle (!=0.1).
Donner l ’équation de l ’hyperplan séparant les deux classes.
Représenter l ’hyperplan dans le même repère orthogonal
f (x) =
1 si x > 0
!1 si x < 0
"
#
$
% $
Université Paris 13/Younès Bennani Traitement Informatique des Données 6
Représentation graphique
x0 0.3
a y
x1
x2
wixi i=0
n
0.8 !
0.4
! (
x,w)
D = 1 1 1
!
"
# #
$
%
&
& , '1
!
"
# #
$
%
&
& ;
1 1 '1
!
"
# #
$
%
&
& ,1
!
"
# #
$
%
&
& ;
1 '1
1
!
"
# #
$
%
&
& ,1
!
"
# #
$
%
&
& ;
1 '1 '1
!
"
# #
$
%
&
& ,1
!
"
# #
$
%
&
&
( )
* + *
, -
*
. * x 2
x 1
Université Paris 13/Younès Bennani Traitement Informatique des Données 7
Adaptation des poids
x0
0.3
a y
x1
x2
wixi
i=0 n
0.8 !
0.4
! (
x,w)
!
w
0(t + 1) w
1(t + 1) w
2(t + 1)
"
#
$
$ $
%
&
' ' ' =
0.3 0.8 0.4
"
#
$
$ $
%
&
'
' ' ( 2 ) 0.1) (1( ( 0.3 0.8 0.4 ) )
1 1 1
"
#
$
$ $
%
&
' ' '
* + , , ,
- . / / / )
1 1 1
"
#
$
$ $
%
&
' ' '
D = 1 1 1
!
"
# #
$
%
&
& ,'1
!
"
# #
$
%
&
& ;
1 1 '1
!
"
# #
$
%
&
& ,1
!
"
# #
$
%
&
& ;
1 '1
1
!
"
# #
$
%
&
& ,1
!
"
# #
$
%
&
& ;
1 '1 '1
!
"
# #
$
%
&
& ,1
!
"
# #
$
%
&
&
( )
* + *
, -
* . *
w
0(t + 1) w
1(t + 1)
M w
n(t + 1)
!
"
#
# #
$
%
&
&
&
= w
0(t) w
1(t) M w
n(t)
!
"
#
# #
$
%
&
&
&
' 2 ((t) y
k' ( w
0(t) w
1(t) K w
n(t) )
x
0 kx
1kM x
nk!
"
#
# #
$
%
&
&
&
)
* + + +
,
- . . .
x
0 kx
1kM x
nk!
"
#
# #
$
%
&
&
&
!
w
0(t + 1) w
1(t + 1) w
2(t + 1)
"
#
$
$ $
%
&
' ' ' =
0.3 0.8 0.4
"
#
$
$ $
%
&
' ' ' (
(0.5 (0.5 (0.5
"
#
$
$ $
%
&
' ' '
!
w
0(t + 1) w
1(t + 1) w
2(t + 1)
"
#
$
$ $
%
&
' ' ' =
0.8 1.3 0.9
"
#
$
$ $
%
&
' ' '
Évolution de l’apprentissage
x0 0.3
a y
x1
x2
wixi
i=0 n
0.8 !
0.4
! (
x,w)
x 2
x 1
t = 10 t = 15
w
1*x
1+ w
2*x
2+ w
0*= 0
t = 20 t = 5
t = 0
0.8 x
1+ 0.4 x
2+ 0.3 = 0
Université Paris 13/Younès Bennani Traitement Informatique des Données 9
Adaline : limites
! ( x, w ) = x
1" x
2= XOR( x
1, x
2)
x 2
x 1
1 1
1 -1
-1 1 1
1
-1 1 1
1
-1 -1 -1
1
?
x
0x
1x
2y
x
1x
2x
3x
4Université Paris 13/Younès Bennani Traitement Informatique des Données 10
«Linear Separability»
A
B
A
B
Linéairement séparable Non-linéairement séparable
x2
x1
« Linearly separable classes can be separated by a hyperplane.
In 2 dimensions, the hyperplane is a line. »
Université Paris 13/Younès Bennani Traitement Informatique des Données 11
Madaline : Multi-Adaptive Linear Element
! ( x, w ) = z = x
1" x
2Madaline = un ensemble d’Adalines parallèles
Adaline 1
Adaline 2
x
0w
01x
1x
2w
11w
21w
02w
12w
22Adaline 1 Adaline 2
1 1
1 -1
-1 1 1
1
-1 1 1
1
-1 -1 1
1
1 1 1 -1
-1 1 1 -1
Adaline 3
w
31w
32z1!z2
z
1z
2Adaline 3
x
0x
1x
2y y y
x
1x
2x
3x
4Madaline : Multi-Adaptive Linear Element
x 2
x 1
Adaline 1
Adaline 2
! ( x, w ) = x
1" x
2Adaline 1
Adaline 2
x
0w
01x
1x
2w
11w
21w
02w
12w
22Adaline 3
w
31w
32z1!z2
z
1z
2Université Paris 13/Younès Bennani Traitement Informatique des Données 13
Madaline : Multi-Adaptive Linear Element
!(x,w)=x1"x2
x 2
x 1
Adaline avec pré-traitement polynomial
x
0x
1x
2Adaline
x
2x Id x
2Id
w
0w
1w
2w
3w
4w
5w
1x
1+ w
2x
12+ w
3x
1x
2+ w
4x
2+ w
5x
22+ w
0= 0
Ellipse de séparation
Université Paris 13/Younès Bennani Traitement Informatique des Données 14
Perceptron
Perceptron
Rosenblatt F., 1957, 1962*
* Rosenblatt F. (1957) : « The perceptron: a perceiving and recognizing automaton », Reports 85-460-1, Cornell Aeronautical Lab., Ithaca, N.Y.
* Rosenblatt F. (1962) : « Principles of Neurodynamics: perceptrons and theory of brain mechanisms », Spartan Books, Washington.
1957, Frank Rosenblatt
Le perceptron ne désigne pas un seul modèle mais regroupe une importante famille
d ’algorithmes.
Le perceptron = machine adaptative employée pour résoudre des problèmes de classement (discrimination).
X ! ( x, w )
Université Paris 13/Younès Bennani Traitement Informatique des Données 15
Perceptron
Rosenblatt F., 1957, 1962
X "i=0n wi!
i(x) ! (
x,w)
=f(wT"
)
1
w0w1
wn
!
1!
2!
nf(x)=
1 si x!0
"1 si x<0
#
$
%
&
%
la rétine
qui reçoit les informations de l'extérieur
la cellule de décision les cellules d'association
chaque cellule possède une fonction
de transition définie sur la rétine : ! ( x, w ) = f w
0+ w
i"
i( x)
i=1 n
$ #
%
& '
(
!
i( ) x : R " # R
wT=
(
w0,w1,K,wn)
!=
(
1,!1(x),!2(x),K,!n(x))
Perceptron
Cas de deux classes
x x x
x x
x x x x
x
o o o
o o
o o o
o o o
x
iC
2C
1"(x,w)=1
"(x,w)= -1
! (x, w) = f w
0+ w
i"
i(x)
i=1 n
$ #
% & '
( =
1 si x )C
1*1 si x )C
2+
, - . -
Un perceptron peut être vu comme un classificateur à 2 classes :
C
1= { x ! R : " ( x,w ) = 1 }
C
2= { x ! R : " ( x,w) = #1 }
Université Paris 13/Younès Bennani Traitement Informatique des Données 17
Perceptron
Cas de deux classes
w
T!
k> 0 pour x
k"C
1w
T!
k< 0 pour x
k"C
2#
$
%
&
% ! x
k, w
T( "
ky
k) > 0
w
D(w)= 1 wmin
k
(
wT!kyk)
2
3
1
2 3
1
w
y
k= 1 si x
k!C
1y
k= "1 si x
k!C
2#
$
%
&
%
Transformation
Dmax reflète la difficulté du problème :
Si Dmax grand alors le problème est facile Si Dmax < 0 alors pas de solution.
Dmax=max
w D(w)
! !
Université Paris 13/Younès Bennani Traitement Informatique des Données 18
Perceptron
Cas de deux classes
Si l ’on appelle la forme prise en compte à l’itération k,
On définit le carré de l’erreur instantanée associée à la forme par : x
k, y
k( )
L’erreur quadratique globale ou (MSE) est :
x
k, y
k( )
C
Perceptron(w) = 1
N C
Perceptronk(w)
k=1 N
! = " w
T( #
ky
k)
k:xk mal classé
{ ! }
Il existe plusieurs algorithmes d’apprentissage.
!
k= ( 1, !
1(x
k),!
2(x
k), K , !
n(x
k) )
y
k= 1 si x
k!C
1y
k= "1 si x
k!C
2#
$
%
&
%
w
T!
k> 0 pour x
k"C
1w
T!
k< 0 pour x
k"C
2#
$
%
&
% ! x
k, w
T( "
ky
k) > 0
C
Perceptronk(w) = ! w
T( "
ky
k)
Université Paris 13/Younès Bennani Traitement Informatique des Données 19
Perceptron
Cas de deux classes
Critère d'arrêt = taux de classement satisfaisant.
Techniques de descente de gradient (la plus grande pente) : supposons qu ’à l’instant , les poids du Perceptron soient et qu ’on présente la forme , alors les poids seront modifiés par :
!
w( C
Perceptronk(w) ) = " C
Perceptronk
(w)
" w = # $
ky
kw(t +1) = w(t) ! " (t)#
w( C
Perceptronk(w) )
t
Le pas du gradient Le gradient instantané
w t ( )
x
k, y
k( )
!k=
(
1,!1(xk),!2(xk),K,!n(xk))
Perceptron
1- A t=0, tirer au hasard 2- Présenter une forme
3- Calculer la sortie du perceptron et la comparer à
4- Si est bien classé :
Si est mal classé :
Où est le pas du gradient.
5- Répéter de 2 à 4 jusqu’à l’obtention d’une valeur acceptable de l’erreur
w(0) = ( w
0(0), w
1(0), K , w
n(0) )
T! ( ) t
x
k, y
k( )
f w
0+ !
i(x)
i=1 n
"
#
$ % &
' = f w (
T!
k)
w(t + 1) = w(t) x
kx
kw(t + 1) = w(t) + ! (t ) "
ky
kAlgorithme d ’apprentissage : cas de 2 classes
!k=
(
1,!1(xk),!2(xk),K,!n(xk))
y
kf w (
T!
k) = y
kf w (
T!
k) " y
kw0(t+1) w1(t+1)
M wn(t+1)
!
"
#
# #
$
%
&
&
&
= w0(t) w1(t) M wn(t)
!
"
#
# #
$
%
&
&
&
+'(t)yk 1 (1(xk)
M (n(xk)
!
"
#
# #
$
%
&
&
&
Université Paris 13/Younès Bennani Traitement Informatique des Données 21
Exemple de Perceptron
1 1
1 -1
1 1 1
1
-1 1 1
1
-1 -1 -1
1
x
0x
1x
2y
x
1x
2x
3x
4D = { ( x
1, y
1) , ( x
2, y
2) ,..., ( x
N, y
N) }
! ( x, w ) = x
1" x
2wi
!
i i=0n
"
(x)1 w
0w
1w
2!
1( ) x
k= x
1 kx k
x2
x1
!
2( ) x
k= x
2kUniversité Paris 13/Younès Bennani Traitement Informatique des Données 22
p i 2
Perceptron
Cas de p classes : C
1, C
2, …, C
pX "j=0nwij!j(x) ! ( x, w )
1
wi0
wi1
win
!
1!
2!
n1
Max
wpj!j j=0
n
"
(x)w2j!j j=0
n
"
(x)w1j!j j=0
n
"
(x)! ( x, w ) = C
isi " j # i, w
i T$ > w
jT
$ où $ = ( 1,$
1( ) x ,$
2( ) x ,K,$
n( ) x )
ou
! ( x,w ) = C
isi " j # i, w
i k$
k> w
j k$
k k=1n k=1
%
n
%
&
' (
)
(
Université Paris 13/Younès Bennani Traitement Informatique des Données 23
Perceptron
1- A t=0, tirer au hasard la matrice des poids 2- Présenter une forme
3- Calculer la sortie du perceptron et la comparer à
4- Si est bien classé :
Si est mal classé :
Où est le pas du gradient.
5- Répéter de 2 à 4 jusqu’à l’obtention d’une valeur acceptable de l’erreur
w(0)
! ( ) t
x
k! C
i! ( x
k, w ) = C
j" j = Arg max
l
w
lT#
k( )
w(t + 1) = w(t) x
kx
kw
i(t +1) = w
i(t) + ! ( t) "
kAlgorithme d ’apprentissage : cas de p classes
C
iw
j(t +1) = w
j(t) ! "(t ) #
k! ( x
k, w )
C
j= C
iC
j! C
iw
l(t +1) = w
l(t) ! l " i et l " j
Perceptron et Adaline
Cas de 2 classes
Classe A Classe B
Solution trouvée Par l ’Adaline
Meilleure séparation robuste entre les classes.
Solution trouvée Par le Perceptron Sépartion qui minimise Le nombre d ’erreur.
Perceptron
Adaline
+
Professeur Sortie calculée
Erreur
+
Professeur Sortie calculée
Erreur
Université Paris 13/Younès Bennani Traitement Informatique des Données 25
Théorème de convergence du Perceptron
« Si un ensemble de formes est linéairement séparable, alors l’algorithme d’apprentissage du Perceptron converge vers une solution correcte en un nombre fini d’itération. »
Arbib M.A. (1987) : « Brains, Machines, and Mathematics » Berlin, Springer-Verlag.
Rosenblatt F. (1962) : « Principles of Neurodynamics » N.Y., Spartan.
Block H.D. (1962) : « The Perceptron: A Model for Brain Functioning » Reviews of Modern Physics 34, 123-135.
Minsky M.L. & Papert S.A. (1969) : « Perceptrons » Cambridge, MIT Press.
Diederich S. & Opper M. (1987) : « Learning of Correlated Patterns Spin-Glass Networks by Local Learning Rules »
Physical Review letters 58, 949-952.
Université Paris 13/Younès Bennani Traitement Informatique des Données 26
Théorème de convergence du Perceptron
w
*: une bonne solution
m
k: nombre d' adaptation après les présentations de x
kw = ! m
k"
k#
ky
kw(t + 1) = w(t) + !(t ) "
ky
kw.w
*= ! m
k"
ky
k.w
*#
km = m
k!
kw.w
*! " m min
k
( #
ky
k.w
*) = " m D w ( )
*w
*! = ( w.w * ) 2
w 2 . w * 2 " 1
la règle d ’adaptation est : Hypothèse :
après ces itérations, devient : m
kw
et Soit Soit
Alors
D(w)= 1 wmin
k
(
wT!kyk)
Le nombre total d’adaptation
Université Paris 13/Younès Bennani Traitement Informatique des Données 27
Théorème de convergence du Perceptron
w(t + 1)
2= w(t)
2+ !
2"
k 2( ) y
k 2+ 2! w(t)"
ky
k# w(t)
2+ !
2"
k 2( ) y
k 2! w
2" #
2$
k 2( ) y
k 2" #
2n
w
2! m "
2n
1 ! " ! m D w ( )
* 2w.w
*! " m min n.
k
( #
ky
k.w
*) = " m D w ( )
*w
*m ! n D
max D(w)= 1 2wmin
k
(
wT!kyk)
Dmax=max
w D(w)
= n = 1
! 0
Alors
Après itérations on a donc : m
or Alors
Par conséquent :
Cqfd.
Capacités d’un séparateur linéaire *
= le nombre maximum de séparations linéaires possibles en 2 classes dans un ensemble de points en dimension . C N, ( d )
N d
• Si , on peut calculer par récurrence : C N ( , d )
C N,1 ( ) = 2 N
C ( 1, d ) = 2 ( d ! 1 )
* Cover T. (1965) : « Geometrical and statistical properties of linear inequalities with applications
C N, ( d ) = N ! 1 k
"
#
$ %
&
k=0 N!1
' C ( 1,d ! k )
Pour un ensemble de points il y a dichotomies possibles.
- Pour les dichotomies sont linéairement séparables - Pour seulement sont linéairement séparables.
N 2
NC N, ( d )
2
NN ! d + 1 N > d + 1
p q
!
"
# $
% & p!
(p ' q)! q!
• Si alors N ! d +1 C N, ( d ) = 2
NN > d + 1
Université Paris 13/Younès Bennani Traitement Informatique des Données 29
Capacités d’un séparateur linéaire *
= la probabilité qu’une dichotomie aléatoire soit linéairement séparable dans un ensemble de points en dimension .
F N ( , d )
N d
* Cover T. (1965) : « Geometrical and statistical properties of linear inequalities with applications in pattern recognition »
IEEE Transactions on Electronic Computers, 14:326-334.
F N ( , d ) =
1 si N ! d + 1
1
2
N"1N " 1 k
#
$
% &
' si N > d +1
k=0 d
(
)
* + , +
d=20
d=1 d=!
N /(d + 1) F(N, d)
0.0 0.5 1.0
0 1 2 3 4
F(N, d) = 0.5 pour N = 2(d + 1)
Université Paris 13/Younès Bennani Traitement Informatique des Données 30
Limites du Perceptron
Sur les fonctions booléennes à entrées, moins de sont réalisables par un perceptron (linéairement séparables).
Une limitation importante, qui a justifié à l’époque l ’abandon des recherches sur les perceptrons.
2
2dd
* Lewis P.M. & Coates C.L. (1967) : « Threshold Logic » N.Y., John Wiley.
** Minsky M.L. & Papert S.A. (1969) : « Perceptrons » Cambridge, MA : MIT Press.
2
d2d!
*
1969, Minsky Marvin, Papert Seymour**
Un violent coup d’arrêt aux recherches dans le domaine
Université Paris 13/Younès Bennani Traitement Informatique des Données 31
Architecture multi-couches
Le « credit assignment problem »
On se donne un réseau en couches, et un ensemble d ’exemples composés de paires entrées-sorties.
L ’algorithme de rétro-propagation du gradient apporte une solution d ’une simplicité déroutante à ce problème.
x0
x1
xn
M
x y
Perceptron
Appliquer l ’algorithme d ’apprentissage pour déterminer W2 On ne connaît pas les sorties
Désirées des unités cachées ! On ne peut pas appliquer l ’algorithme d ’apprentissage du Perceptron pour
déterminer W1
W1
W2
L’après pause connexionniste
Bryson A., Denham W., Dreyfuss S. (1963) : « Optimal Programming Problem With Ineduality Constraints. I: Necessary Conditions for Extremal Solutions », AIAA Journal, Vol. 1, pp. 25-44.
LeCun Y. (1986) : « Learning Processes in Asymmetric Threshold Network »
Disordered Systems and Biological Organizations, Les Houches, France, Springer, pp. 223-240.
Rumelhart D., Hinton G.E., Williams R. (1986) : « Learning Internal Representations by Error Propagation »
In Parallel Distributed Processing: exploring the microstructure of cognition, Vol I, Badford Books, Cambridge, MA, pp. 318-362, MIT Press.