Université Paris 13/Younès Bennani Traitement Informatique des Données 1
7 Younès BENNANI
ILOG 3
Traitement
Informatique des
Données
Université Paris 13/Younès Bennani Traitement Informatique des Données 3
Plan du cours
- Éléments de base - le neurone - architectures - paramètres
- Critères et algorithmes d'apprentissage - Modèles connexionnistes supervisés
- Perceptron multicouches - Réseaux à fonctions radiales - Learning Vector quantization - Modèles Connexionnistes non supervisés
- Les cartes topologiques de Kohonen - ART
- Liens avec les statistiques
- Extraction et sélection de caractéristiques - Fusion de données et de décisions - Heuristiques pour la généralisation
- régularisation structurelle
- régularisation explicite et pénalisation - Applications
Livres
Neural Networks for Pattern Recognition Christopher M. Bishop
Clarendon Press - Oxford (1995)
Neural Smithing
Supervised Learning in Feedforward Artificial Neural Networks Russell D. Reed & Robert J. Marks
Massachusetts Institute of Technology Press (1999)
Pattern Recognition and Neural Networks B.D. Ripley
Cambridge University Press (1996)
Neural Networks
James A. Freeman & David M. Skapura Addison-Wesley Publishing Compagny (1991)
Adaptive Pattern Recognition and Neural Networks Yoh-Han Pao
Addison-Wesley Publishing Compagny (1989)
Neural Networks in Computer Intelligence LiMin Fu
Massachusetts Institute of Technology Press (1994)
Université Paris 13/Younès Bennani Traitement Informatique des Données 5
Le Neurone Formel
1943, Mc Culloch & Pitts
Un modèle et non une copie du neurone biologique
= un processeur élémentaire caractérisé par :
• signaux d’entrée
• poids des connexions
• fonction d’activation
• état interne d’activation
• fonction de transition
• état de sortie
x
0, x
1, K , x
nw
i0, w
i1, K , w
i nF(x
j,w
ij)
a
i= F(x
j, w
ij) f (a
i)
z
i= f ( a
i)
x0
wi0
ai yi
x1
xn
M
F(xj,wij) f(ai) wi1
wi n
Le Neurone Formel
x
0!
w
j0!
z
jx
1x
nM
!
F( x
i,w
j i)
!
f (a
j)
!
w
j1!
w
j n!
a
jUniversité Paris 13/Younès Bennani Traitement Informatique des Données 7
Le Neurone Produit Scalaire
x
0x
1x
nM
!
w
j ix
ii=0 n
"
ƒ ( ) x = e
x ! e ! x e x + e ! x
!
z
j!
a
j!
w
j0!
w
j1!
w
j nLe Neurone Distance
x
0x
1x
nM !
w
j i" x
i( )
2i=0 n
#
!
z
j!
a
j!
w
j0!
w
j1!
w
j nUniversité Paris 13/Younès Bennani Traitement Informatique des Données 9
Réseau Connexionniste
x
0x
1x
nM
z = ! ( x, w)
- Architecture massivement parallèles composées d’un grand nombre de simples composants similaires, utilisés pour l’apprentissage.
- Système basé sur la coopération de plusieurs unités simples (neurones formels).
- Ce sont des unités de traitement qui reçoivent des données x en entrée et produisent une sortie y
- Un réseau se caractérise par : - son architecture
- les fonctions de ses éléments
!
z
1!
z
pM
M
Fonctions d’un réseau connexionniste
Le Mode Apprentissage :
Le réseau est modifié en fonction des exemples d ’apprentissage On peut modifier :
- les poids de ses connexions - son architecture
- les fonctions de transition des unités
Il existe essentiellement deux sortes d ’algorithmes d ’apprentissage : - l ’apprentissage supervisé
- l ’apprentissage non supervisé
Université Paris 13/Younès Bennani Traitement Informatique des Données 11
Apprentissage Supervisé
On se donne :
- N exemples étiquetés - une architecture de réseau - des poids initiaux
On cherche, au moyen de l’algorithme
d’apprentissage à trouver des poids tels que : - les exemples sont reconnus :
- on obtient une bonne généralisation : est une réponse raisonnable pour l’entrée
x y
D
N= { ( x
1, y
1) , ( x
2,y
2) , K , ( x
N, y
N) } x
k!"
ny
k!"
pA w 0
w *
y k = ! ( x k , w) y = ! ( x, w)
x
entrée sortie
! ( x, w)
Professeur
z
Sortie désirée
Sortie calculée
Apprentissage Non Supervisé
On se donne :
- N exemples non étiquetés - une architecture de réseau - des poids initiaux
D
N= { x
1, x
2, K , x
N}
A w 0
On cherche à trouver des poids tels que : - les exemples sont correctement regroupés - on obtient une bonne généralisation
w *
! ( x, w)
x
Université Paris 13/Younès Bennani Traitement Informatique des Données 13
Mode Reconnaissance
Le réseau est utilisé pour traiter des données
- les poids et l ’architecture du réseau sont fixés
- on lui présente un exemple en entrée et le réseau calcule une sortie qui dépend de l’architecture et des poids appris.
A w *
z = ! ( x, w) x
La sortie peut être :
- l’étiquette de la classe (identité) Classement/Discrimination - le N° du cluster Classification/Quantification
- la valeur à prévoir Prévision
- un vecteur du même type que l’entrée Codage/Compaction
Utilisation des modèles connexionnistes
Grand nombre de mesures + Loi sous-jacente inconnue
Taille
Poids
Danceur de Ballet Joueur de Rugby Frontière de
décision
Classement
Taille Poids
Ballet Rugby
x
y
Université Paris 13/Younès Bennani Traitement Informatique des Données 15
Utilisation des modèles connexionnistes
Grand nombre de mesures + Loi sous-jacente inconnue Compression
décodage
codage
x 1 x 2 x 3
x 1 x 2 x 3
x x
Utilisation des modèles connexionnistes
Grand nombre de mesures + Loi sous-jacente inconnue
x t-2 x t-1 x t
x t+1
Régression
Université Paris 13/Younès Bennani Traitement Informatique des Données 17
Utilisation des modèles connexionnistes
Grand nombre de mesures + Loi sous-jacente inconnue Classification
Quantification
x x x
x
x
x x x
x x
x
x x
x
x x x x
x x
x x
x
x
x x x
x x
x
x x
x
x x x x
x
Clustering
Apprentissage à partir d’exemples
Connaissances :
• données
• domaine But :
• Construire un système qui explique des données ou une relation pertinente liant ces données
• Estimer un modèle statistique qui a généré les données
Démarche :
• Choisir un système possédant une bonne capacité de généralisation
• Agir sur la complexité effective des modèles
Université Paris 13/Younès Bennani Traitement Informatique des Données 19
Formalisme
D = { ( x
1, y
1) , ( x
2, y
2) ,..., ( x
N, y
N) } / p(x, y) = p(x )p(y / x)
Données :
F = { ! ( x, w) / w "# }
Problème :
Trouver dans une famille :
Procédure :
C(w) = " L y, [ ! ( x, w) ] dp(x, y)
Risque théorique
(Erreur de généralisation)
! (x, w
*) =
!(x,w)
Arg min C(w)
Choix :
Formalisme
! ( x, w
+) =
!(x,w)
Arg min C
emp(w) Choix :
C
emp(w) = 1
N L y [
k, ! ( x
k, w) ]
k=1 N
"
Risque empirique
(Erreur d ’apprentissage)
C( w)
Le risque théorique n’est pas calculable (p(x,y) est inconnue) On ne peut pas minimiser , on utilise alors un principe d’induction.
Le plus courant = minimisation du risque empirique (MRE) :
Université Paris 13/Younès Bennani Traitement Informatique des Données 21
Critères d’Optimalité
C
emp(w) = 1
N ( y
k! " ( x
k, w ) )
2k=1 N
#
Mean Squarred Error : (MSE)
L ’apprentissage consiste à apprendre une association entre des vecteurs d ’entrée et des vecteurs de sortie, en minimisant l ’écart entre la sortie désirée et la sortie du réseau.
Critères d’Optimalité
P(D / M) Maximum Likelihood Estimation :
(MLE)
Il s ’agit du maximum de vraisemblance, utilisé pour les HMMs par exemple.
Il consiste à estimer la densité de probabilité d ’une distribution à partir d ’exemples.
Le critère d ’optimalité est de la forme :
Données Modèle
Université Paris 13/Younès Bennani Traitement Informatique des Données 23
Critères d’Optimalité
P(D/ M) = P(x
k/ M)
!
kMaximum Likelihood Estimation : (MLE)
Ce critère est non discriminant.
Sous l ’hypothèse d ’indépendance des exemples :
Max P( x
k/ M )
!
k" Max log ( P(x
k/ M) ) " Min
#
k$ log ( P(x
k/ M ) )
#
kCritères d’Optimalité
Maximum Mutual Information : (MMI)
MMI consiste en la maximisation de l ’information mutuelle entre les données et les différents modèles (classes)
L ’information mutuelle entre un modèle M et une donnée x est :
log P( M / x)
P(M ) = log P(x / M) P(M
i)P(x / M
i)
!
iCe critère est discriminant.
Université Paris 13/Younès Bennani Traitement Informatique des Données 25
Critères d’Optimalité
Minimum Error : (ME)
ME consiste à minimiser directement la probabilité d ’erreur de discrimination.
L ’estimation de cette probabilité se fait d ’une manière empirique à partir d ’exemples.
Algorithmes d’Optimisation
À partir d'une configuration initiale des poids (les paramètres du modèle), une procédure de gradient modifie les valeurs de ces paramètres par des ajustements successifs qui visent à
minimiser le critère d'erreur .
La version la plus simple utilise pour cela les dérivées
premières de , c'est le cas de l'algorithme dit de la plus grande pente.
La règle d'adaptation : C
emp(w)
w
ji(t + 1) = w
ji(t) ! 1
N " (t) # C
empk(w)
# w
ji(t)
k=1 N
$ w
ji(t + 1) = w
ji(t) ! "(t) # C
empk
(w )
# w
ji(t)
Cempk (w)=
(
yy!"
(xk,w))
2Université Paris 13/Younès Bennani Traitement Informatique des Données 27
Systèmes d’Apprentissage Supervisé
Système d!’Apprentissage Supervisé
Exemples d’apprentissage
Algorithme d ’apprentissage (Méthode d ’optimisation)
Fonction de coût
Entrée Sortie désirée
Entrée Sortie
calculée
+
-
erreurAdaptation des poids
x
0x
1x
nz = ! (x, w)
! y
! x
M
! z
1! z
pM
Université Paris 13/Younès Bennani Traitement Informatique des Données 29
Adaline : Adaptive Linear Element
Stanford, 1960, Bernard Widrow*
x
0= 1 w
0a x
1x
nM
w
ix
ii=0 n
!
w
1w
nC’est un élément linéaire adaptatif : z = w i x i
i =0 n
!
L ’unité x0, dont l ’activation fixée à 1, est dite unité de biais.
Elle permet d'introduire les termes de biais dans le réseau.
* Widrow B., Hoff M.E. (1960) : « Adaptive switching circuits », IRE WESCON Conv. Record, part 4, pp. 96-104.
z = ! (x, w) = w 0 + w i x i
i=1 n
"
z
f (x) =
1 si x > 0
!1 si x < 0
"
#
$
% $
Adaline : Adaptive Linear Element
z = w i x i
i =0 n
! = w x cos "
w
x
Université Paris 13/Younès Bennani Traitement Informatique des Données 31
Adaline : Adaptive Linear Element
z = ! ( x, w) = w 0 + w i x i
i=1 n
"
z = ! ( x, w) = w 0 + w T x
w x 2
x 1 w 0 + w T x = 0
l = w
Tx w = ! w
0w
Adaline : Adaptive Linear Element
Sans unité de biais
x x x
x x
x x x x
x
o o o
o o
o o o
o o o x x
x x x
x x x x
x
o o o
o o
o o o
o o o
Avec unité de biais
Université Paris 13/Younès Bennani Traitement Informatique des Données 33
Adaline : Adaptive Linear Element
On peut l’utiliser en discrimination (classement) entre 2 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)=0
! (x,w)> 0)
! (x,w)< 0
! (x, w) = w
0+ w
Tx
> 0 si x " C
1< 0 si x "C
2#
$
%
&
%
Adaline : Adaptive Linear Element
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 : C
Adalinek(w) = ( y
k! wx
k)
2x
k, y
k( )
Sortie désirée
L’erreur quadratique globale ou (MSE) est définie comme la moyenne observée des carrés des erreurs instantanées sur l’ensemble de toutes les formes :
x
k, y
k( )
Sortie calculée : z
C
Adaline(w ) = 1
N C
Adalinek(w)
k=1 N
!
Il existe plusieurs algorithmes d’apprentissage.
Université Paris 13/Younès Bennani Traitement Informatique des Données 35
Adaline : Adaptive Linear Element
Techniques de descente de gradient (la plus grande pente) : supposons qu ’à l’instant , les poids de l ’Adaline soient et qu ’on présente la forme ,
alors les poids seront modifiés par :
Cette règle est appelée règle du gradient stochastique ou règle de Widrow-Hoff
ou règle du delta de Widrow-Hoff ou règle !-LMS (Least Mean Square)
!
w( C
Adalinek(w) ) = " C
Adalinek(w)
" w = #2 ( y
k# wx
k) x
kw(t + 1) = w(t) ! " (t)#
w( C
Adalinek(w) )
t
Le pas du gradient Le gradient instantané
w t ( )
x
k, y
k( )
Adaline : Adaptive Linear Element
1- Tirer au hasard 2- Présenter une forme
3- Déterminer la valeur de l’écart
4- Calculer une approximation du gradient
5- Adapter les poids
Où est le pas du gradient.
6- Répéter de 2 à 4 jusqu’à l’obtention d’une valeur acceptable de l’erreur
w
0w t ( )
! ( ) t
e
k( ) t = ( y
k! wx
k)
!
w( C
Adalinek(w) ) = "2e
k( ) t x
kx
k, y
k( )
w(t + 1) = w(t) ! " (t)#
w( C
Adalinek(w) )
Université Paris 13/Younès Bennani Traitement Informatique des Données 37
Adaline : Exemples
Données : Table de vérité d ’une fonction booléenne de 2 variables
Problème :
Trouver un Adaline capable d ’apprendre la table de vérité d’une fonction booléenne de 2 variables
x
11 1
x
21 -1
y
1 1
-1 1 1
-1 -1 -1
Fonction : !(x,w)= (x
1ou x
2)
Adaline : Exemples
x
11 1
x
21 -1
y
1 1
-1 1 1
-1 -1 -1
Fonction : !(x,w)= (x
1ou x
2)
x 2
x 1
Université Paris 13/Younès Bennani Traitement Informatique des Données 39
Adaline : Exemples
D = { ( x
1, y
1) , ( x
2, y
2) ,..., ( x
N, y
N) }
x
11 1
x
21 -1
y
1 1
x
01 1
-1 1 1
1
-1 -1 -1
1
x
0= 1 w
0a y
x
1x
2w
ix
ii=0 n
w
1!
w
2! ( x, w ) = x
1" x
2Adaline : Exemples
x
0= 1 w
0a y
x
1x
nw
ix
ii=0 n
w
1!
w
2! ( x, w ) = x
1" x
2x 2
x 1
w 1 x 1 + w 2 x 2 + w 0 = 0
Université Paris 13/Younès Bennani Traitement Informatique des Données 41
Adaline : Exemples
x
0= 1 w
0a y
x
1x
2w
ix
ii=0 n
w
1!
w
2! ( x, w ) = x
1" x
2x 2
x 1
w
1x
1+ w
2x
2+ w
0= 0
x
11 1
x
21 -1
y
1 -1
x
01 1
-1 1 -1
1
-1 -1 -1
1
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