apprentissage artificiel fabien teytaud intro supervisé non...
TRANSCRIPT
Apprentissage artificiel
Fabien Teytaud
Intro
Supervisé
Non supervisé
Par renforcement
Apprentissage artificiel
Fabien Teytaud
Université du Littoral Cote d’Opale
25 août 2020
Apprentissage artificiel
Fabien Teytaud
Intro
Supervisé
Non supervisé
Par renforcement
Avant toute chose ...
Référence
Bulco : 006.3 COR A
Apprentissage artificiel
Fabien Teytaud
Intro
Supervisé
Non supervisé
Par renforcement
Définition
Qu’est ce que l’apprentissage (automatique/artificiel)Il s’agit de la construction d’un modèle de la réalité à partir dedonnées.
Plus concrètementOn cherche à créer des méthodes permettant à un ordinateurde remplir des taches (difficiles) grâce à un processusd’apprentissage.
Apprentissage artificiel
Fabien Teytaud
Intro
Supervisé
Non supervisé
Par renforcement
Des applications diverses
Où trouve t-on de l’apprentissage(automatique/artificiel)I Reconnaissance de la parole.I Diagnostique médical.I Moteurs de recherche.I Les jeux.I Conduite autonome.I ...
Apprentissage artificiel
Fabien Teytaud
Intro
Supervisé
Non supervisé
Par renforcement
On distingue ..
Classification, classement, régressionI Classification/clustering : Regrouper des ensembles
d’exemples non supervisés en classes.I Classement/classification : Reconnaître des classes à
partir de leurs descripteurs.I Régression : Classement sur des valeurs numériques.
Apprentissage artificiel
Fabien Teytaud
Intro
Supervisé
Non supervisé
Par renforcement
Un premier exemple
I Supposons que quelqu’un arrivant sur Calais souhaiteapprendre à distinguer une mouette rieuse d’un goéland.Pour simplifier le problème, supposons qu’il n’y a pasd’autres oiseaux sur la mer. Afin de voir correctement lesoiseaux, notre nouvel arrivant et un expert local vont surune petite plage où un petit nombre d’oiseaux sont bienvisibles. Pour le débutant deux critères sont facilementdistinguables : la taille et la couleur des plumes.
I L’amateur peut donc prendre des mesures de chaqueoiseau qu’il voit et dresser un graphique.
Apprentissage artificiel
Fabien Teytaud
Intro
Supervisé
Non supervisé
Par renforcement
Un premier exemple
1. Observation de l’amateur.
Apprentissage artificiel
Fabien Teytaud
Intro
Supervisé
Non supervisé
Par renforcement
Un premier exemple
petit grandTaille de l'observation
blanc
clair
fonce
Couleu
r
Apprentissage artificiel
Fabien Teytaud
Intro
Supervisé
Non supervisé
Par renforcement
Un premier exemple
1. Observation de l’amateur.2. Étiquetage de l’expert.
Apprentissage artificiel
Fabien Teytaud
Intro
Supervisé
Non supervisé
Par renforcement
Un premier exemple
petit grandTaille de l'observation
blanc
clair
fonce
Couleu
r
mouettesgoelands
Apprentissage artificiel
Fabien Teytaud
Intro
Supervisé
Non supervisé
Par renforcement
Un premier exemple
1. Observation de l’amateur.2. Étiquetage de l’expert.3. Il faut maintenant que l’amateur trouve une règle
permettant de séparer les exemples en minimisant l’erreur.
Apprentissage artificiel
Fabien Teytaud
Intro
Supervisé
Non supervisé
Par renforcement
Un premier exemple
petit grandTaille de l'observation
blanc
clair
fonce
Couleu
r
Une separatrice simple
mouettesgoelandsseparatrice
Apprentissage artificiel
Fabien Teytaud
Intro
Supervisé
Non supervisé
Par renforcement
Un premier exemple
petit grandTaille de l'observation
blanc
clair
fonce
Couleu
r
Une separatrice complexe
mouettesgoelandsseparatrice
Apprentissage artificiel
Fabien Teytaud
Intro
Supervisé
Non supervisé
Par renforcement
Un premier exemple
1. Observation de l’amateur.2. Étiquetage de l’expert.3. Il faut maintenant que l’amateur trouve une règle
permettant de séparer les exemples en minimisant l’erreur.4. Généralisation.
Apprentissage artificiel
Fabien Teytaud
Intro
Supervisé
Non supervisé
Par renforcement
Un premier exemple
petit grandTaille de l'observation
blanc
clair
fonce
Couleu
r
Generalisation
mouettesgoelandsseparatrice
Apprentissage artificiel
Fabien Teytaud
Intro
Supervisé
Non supervisé
Par renforcement
Mesure de performance
PerformanceI Erreur en généralisation?I Pas seulement : certaines erreurs peuvent être plus
graves que d’autres.I La mesure de performance dépend donc de l’application ...I .. et doit être définie avec soin.
Apprentissage artificiel
Fabien Teytaud
Intro
Supervisé
Non supervisé
Par renforcement
Un premier exemple
Taille de l'echantillon
Mes
ure de
perform
ance
Courbe de performance classique
Courbe en reconnaissanceCourbe en generalisation
Apprentissage artificiel
Fabien Teytaud
Intro
Supervisé
Non supervisé
Par renforcement
Types d’apprentissage
Les principaux typesI Apprentissage supervisé : Apprentissage sur des
exemples connus (étiquetage des données par un oracle).I Apprentissage non supervisé : Apprentissage sur des
exemples non connus.I Apprentissage semi-supervisé : Apprentissage
intermédiaire (exemples étiquetés/non étiquetés). On ytrouve par exemple l’apprentissage actif.
I Apprentissage par renforcement : Apprentissage basésur des observations/récompenses. L’algorithme agit surl’environnement qui en retour guide l’algorithme.
Apprentissage artificiel
Fabien Teytaud
Intro
Supervisé
Non supervisé
Par renforcement
Apprentissage supervisé
DéfinitionI A partir de la base d’apprentissage S = (xi ,ui )1≤i≤N ,I on va chercher un une loi de dépendance entre x et u.I Par exemple,
I une fonction h aussi proche de f (fonction cible) quepossible tel que ui = f (xi)
I une distribution de probabilité P(xi , ui)
Les différentes représentationsI Si f est une fonction continue on parle alors de régression.I Si f est une fonction discrète on parle alors de
classification.I Si f est une fonction binaire on parle alors d’apprentissage
de concept.
Apprentissage artificiel
Fabien Teytaud
Intro
Supervisé
Non supervisé
Par renforcement
Apprentissage non supervisé
DéfinitionI Dans ce cadre aucun expert n’est disponible.I A partir de la base d’apprentissage S = (xi )1≤i≤N ,I on va chercher des régularités.I Par exemple,
I sous forme de fonctions : régression,I sous forme de nuages de points : mixture de gaussiennes,I sous forme de modèle complexe : réseau bayésien
Apprentissage artificiel
Fabien Teytaud
Intro
Supervisé
Non supervisé
Par renforcement
Apprentissage par renforcement
DéfinitionI L’algorithme doit apprendre un comportement à partir
d’observations.I L’algorithme va prendre une décision (action) qui va agir
sur l’environnement et produire une valeur de retour.I Ce mécanisme va permettre de guider l’apprentissage.I Peut se révéler très utile lorsque l’environnement est
incertain.I Il n’y a pas de supervision.
Apprentissage artificiel
Fabien Teytaud
Intro
Supervisé
Non supervisé
Par renforcement
Espace des hypothèses
Définition
--
-
--
-
--
-
-
-
-
--
-
-
--
-
--
--
-
--
-
---- -
++
+ ++
+ +
+
+++
+
+
- - --
-
-
--
--
- Espace des hypothèses
H1
H2
Echantillon d'apprentissage
Exploration de l’espaceI Aucune structure : exploration aléatoire.I Un voisinage existe : Optimisation de l’espace.
Apprentissage artificiel
Fabien Teytaud
Intro
Supervisé
Non supervisé
Par renforcement
Espace des hypothèses
Biais et variance
Espace des hypothèses
h*
h1
h2
f
Erreur totale
Erreur d'estimation
Erreur d'approximation
Une structure connue?I Biais : erreur d’approximation.I variance : erreur d’estimation.I Il existe un compromis biais/variance.I On se place ici dans un univers non bruité (pas d’erreur
sur f).
Apprentissage artificiel
Fabien Teytaud
Intro
Supervisé
Non supervisé
Par renforcement
Compromis biais/variance : distinguer leshommes des femmes
Modèle simple, une caractéristique : la tailleI Les hommes sont plus grands que les femmes.I Biais fort : femmes grandes et hommes petits.I Variance faible : estimation précise du seuil de la taille.
Modèle complexe, K caractéristiques : taille, poids,longueur cheveux, voix, pilosité, couleur peau ...I Biais faible voire nul (il est possible qu’il existe un
hyperplan séparant homme/femme dans cettereprésentation).
I Variance plus forte : cet hyperplan sera difficile à estimeravec ce grand nombre de caractéristiques (et un nombred’exemples limités).
Apprentissage artificiel
Fabien Teytaud
Intro
Supervisé
Non supervisé
Par renforcement
Exercices
TP d’initiation en Python
Apprentissage artificiel
Fabien Teytaud
Intro
SuperviséLes k plus proches voisins
Les arbres de décisions
Le perceptron
Les réseaux de neurones
Classification naïvebayésienne
Non supervisé
Par renforcement
Sommaire
Introduction
Apprentissage superviséLes k plus proches voisinsLes arbres de décisionsLe perceptronLes réseaux de neuronesClassification naïve bayésienne
Apprentissage non supervisé
Apprentissage par renforcement
Apprentissage artificiel
Fabien Teytaud
Intro
SuperviséLes k plus proches voisins
Les arbres de décisions
Le perceptron
Les réseaux de neurones
Classification naïvebayésienne
Non supervisé
Par renforcement
Présentation de l’algorithme des k plusproches voisins
I Classification et régression.I Facile à comprendre.I Quelques paramètres : k , choix de la mesure de distance.
Apprentissage artificiel
Fabien Teytaud
Intro
SuperviséLes k plus proches voisins
Les arbres de décisions
Le perceptron
Les réseaux de neurones
Classification naïvebayésienne
Non supervisé
Par renforcement
Principe de l’algo
Comment classer le carré noir ?
−10 −5 0 5 10
−10
−5
05
10
X1
X2
Apprentissage artificiel
Fabien Teytaud
Intro
SuperviséLes k plus proches voisins
Les arbres de décisions
Le perceptron
Les réseaux de neurones
Classification naïvebayésienne
Non supervisé
Par renforcement
Principe de l’algo
Comment classer le carré noir ?
−1.0 −0.5 0.0 0.5 1.0 1.5
−1.
0−
0.5
0.0
0.5
1.0
X1
X2
Apprentissage artificiel
Fabien Teytaud
Intro
SuperviséLes k plus proches voisins
Les arbres de décisions
Le perceptron
Les réseaux de neurones
Classification naïvebayésienne
Non supervisé
Par renforcement
Principe de l’algo
Comment classer le carré noir ?I On cherche le plus proche voisin.I On tag le nouveau point avec la classe correspondante.
Diagramme de VoronoiI Découpage du plan en cellules.I Chaque cellule est créée à partir d’un exemple
d’apprentissage.I Chaque cellule forme l’ensemble des points les plus
proches de l’exemple correspondant.
Apprentissage artificiel
Fabien Teytaud
Intro
SuperviséLes k plus proches voisins
Les arbres de décisions
Le perceptron
Les réseaux de neurones
Classification naïvebayésienne
Non supervisé
Par renforcement
Principe de l’algo
Comment classer le carré noir ?
−1.0 −0.5 0.0 0.5 1.0 1.5
−1.
0−
0.5
0.0
0.5
1.0
X1
X2
●
●
●
●
●
●
●
●
●
●●●
●
●●
●
●
●
●
●
●
●
●●●
●
●
●
●
Apprentissage artificiel
Fabien Teytaud
Intro
SuperviséLes k plus proches voisins
Les arbres de décisions
Le perceptron
Les réseaux de neurones
Classification naïvebayésienne
Non supervisé
Par renforcement
Principe de l’algo
Apprentissage d’un modèle
−1.0 −0.5 0.0 0.5 1.0 1.5
−1.
0−
0.5
0.0
0.5
1.0
X1
X2
●
●
●
●
●
●
●
●
●
●●●
●
●●
●
●
●
●
●
●
●
●●●
●
●
●
●
Apprentissage artificiel
Fabien Teytaud
Intro
SuperviséLes k plus proches voisins
Les arbres de décisions
Le perceptron
Les réseaux de neurones
Classification naïvebayésienne
Non supervisé
Par renforcement
Principe de l’algo
Apprentissage d’un modèle non linéaire
Apprentissage artificiel
Fabien Teytaud
Intro
SuperviséLes k plus proches voisins
Les arbres de décisions
Le perceptron
Les réseaux de neurones
Classification naïvebayésienne
Non supervisé
Par renforcement
Principe de l’algo
Robustesse de l’algorithme?
−1.0 −0.5 0.0 0.5 1.0 1.5
−1.
0−
0.5
0.0
0.5
1.0
X1
X2
●
●
●
●
●
●
●
●
●
●●●
●
●●
●
●
●
●
●
●
●
●●●
●
●
●
●
Apprentissage artificiel
Fabien Teytaud
Intro
SuperviséLes k plus proches voisins
Les arbres de décisions
Le perceptron
Les réseaux de neurones
Classification naïvebayésienne
Non supervisé
Par renforcement
Principe de l’algo
Cas des points aberrantsI Un point aberrant change fortement la frontière apprise.I Comportement non souhaité.
Une solutionI Utiliser plus de 1 voisin.I Compter les k plus proches voisins et prendre la classe
dominante.
Apprentissage artificiel
Fabien Teytaud
Intro
SuperviséLes k plus proches voisins
Les arbres de décisions
Le perceptron
Les réseaux de neurones
Classification naïvebayésienne
Non supervisé
Par renforcement
Choix de k?
I Pour étiqueter un point, on choisit la classe dominanteparmi les k plus proches voisins.
[http ://www.statsoft.fr]
Apprentissage artificiel
Fabien Teytaud
Intro
SuperviséLes k plus proches voisins
Les arbres de décisions
Le perceptron
Les réseaux de neurones
Classification naïvebayésienne
Non supervisé
Par renforcement
KNN pour la classification
I Données :I L’ensemble des points d’apprentissage (xi , ui ).I Le nouveau point à classer x .
I Algorithme :I Toutes les distances D(xi , x).I Sélection des k plus proches exemples x1 . . . xk .I Choix de la classe la plus présente parmi les u1 . . . uk
correspondants.
Apprentissage artificiel
Fabien Teytaud
Intro
SuperviséLes k plus proches voisins
Les arbres de décisions
Le perceptron
Les réseaux de neurones
Classification naïvebayésienne
Non supervisé
Par renforcement
KNN pour la régression
I Données :I L’ensemble des points d’apprentissage (xi , ui ).I Le nouveau point x .
I Algorithme :I Toutes les distances D(xi , x).I Sélection des k plus proches exemples x1 . . . xk .
I u =1k
k∑j=1
uj .
Apprentissage artificiel
Fabien Teytaud
Intro
SuperviséLes k plus proches voisins
Les arbres de décisions
Le perceptron
Les réseaux de neurones
Classification naïvebayésienne
Non supervisé
Par renforcement
Exercices
TP sur les k plus proches voisins
Apprentissage artificiel
Fabien Teytaud
Intro
SuperviséLes k plus proches voisins
Les arbres de décisions
Le perceptron
Les réseaux de neurones
Classification naïvebayésienne
Non supervisé
Par renforcement
Sommaire
Introduction
Apprentissage superviséLes k plus proches voisinsLes arbres de décisionsLe perceptronLes réseaux de neuronesClassification naïve bayésienne
Apprentissage non supervisé
Apprentissage par renforcement
Apprentissage artificiel
Fabien Teytaud
Intro
SuperviséLes k plus proches voisins
Les arbres de décisions
Le perceptron
Les réseaux de neurones
Classification naïvebayésienne
Non supervisé
Par renforcement
Les arbres de décisions
ReprésentationI Représentation commode des concepts lorsque les
exemples s’expriment comme des vecteurs d’attributs àvaleurs discrètes.
I En entrée : la description d’exemple.I En sortie : une classe.I Chaque noeud de l’arbre correspond à une question
portant sur un attribut.I Classification d’un objet réalisée par une suite de tests sur
les attributs qui le décrivent.
Apprentissage artificiel
Fabien Teytaud
Intro
SuperviséLes k plus proches voisins
Les arbres de décisions
Le perceptron
Les réseaux de neurones
Classification naïvebayésienne
Non supervisé
Par renforcement
Les arbres de décisions
Construction et évaluationI Quels attributs sélectionner pour construire l’arbre?I Comment évaluer un arbre? A priori on souhaite
minimiser le nombre de tests (en moyenne) pour classifierun exemple (il existe une borne max sur le nombred’attributs).
Apprentissage artificiel
Fabien Teytaud
Intro
SuperviséLes k plus proches voisins
Les arbres de décisions
Le perceptron
Les réseaux de neurones
Classification naïvebayésienne
Non supervisé
Par renforcement
Les arbres de décisions
Un premier exempleI La force du vent : attribut numérique {1 ...12}.I La direction du vent : attribut nominal {face, terre, côté}I La marée : attribut nominal {montante, descendante}
I Décision à prendre : puis-je faire de la planche à voile?
Apprentissage artificiel
Fabien Teytaud
Intro
SuperviséLes k plus proches voisins
Les arbres de décisions
Le perceptron
Les réseaux de neurones
Classification naïvebayésienne
Non supervisé
Par renforcement
Les arbres de décisions
direction du vent
marée
force du vent
Oui Non
force du vent
Oui Non
Non marée
force du vent
Oui Non
force du vent
Oui Non
face
mon
tant
e
5≤
v≤
7 sinon
descendante
5≤
v≤
7 sinon
terre côté
mon
tant
e
5≤
v≤
7 sinon
descendante
4≤
v≤
7 sinon
Apprentissage artificiel
Fabien Teytaud
Intro
SuperviséLes k plus proches voisins
Les arbres de décisions
Le perceptron
Les réseaux de neurones
Classification naïvebayésienne
Non supervisé
Par renforcement
Les arbres de décisions
Comment construire un arbre de décisionsI Parcours exhaustif des arbres impossible.I Exponentiel en fonction de
I nombre d’attributs d .I nombre moyen de valeurs par attribut : v .
Id−1∑i=0
(d − i)v i
I Par exemple, avec 6 attributs et v = 2 on a déjà 72385.
Apprentissage artificiel
Fabien Teytaud
Intro
SuperviséLes k plus proches voisins
Les arbres de décisions
Le perceptron
Les réseaux de neurones
Classification naïvebayésienne
Non supervisé
Par renforcement
Construction intelligente
Algorithm 1 Construction récursive d’un arbre de décision1: Procédure : construireArbre(X )2: if Tous les points de X appartiennent à la même classe
then3: Créer une feuille portant le nom de cette classe4: else5: Choisir le meilleur attribut pour créer un noeud6: Le test associé à ce noeud sépare X en Xg et Xd .7: construireArbre(Xg)8: construireArbre(Xd )9: end if
Apprentissage artificiel
Fabien Teytaud
Intro
SuperviséLes k plus proches voisins
Les arbres de décisions
Le perceptron
Les réseaux de neurones
Classification naïvebayésienne
Non supervisé
Par renforcement
Une interprétation probabiliste
Quelques définitionsI Un exemple ni est décrit par :
I d attributs.I u une classe ∈ U = {u1, . . . , uc}
I Soient n points de l’échantillon d’apprentissage, répartisen U classes uj comportant chacune nj exemples.
I Soit a un attribut binaire quelconque.I a partage chaque nj en deux sous parties, comportant :
I lj points pour a = vrai .I rj points pour a = faux .
Apprentissage artificiel
Fabien Teytaud
Intro
SuperviséLes k plus proches voisins
Les arbres de décisions
Le perceptron
Les réseaux de neurones
Classification naïvebayésienne
Non supervisé
Par renforcement
Une interprétation probabiliste
On peut alors déduire queI lj/n est une estimation de P(a = vrai ,u = uj ).I rj/n est une estimation de P(a = faux ,u = uj ).
I l/n est une estimation de P(a = vrai).I r/n est une estimation de P(a = faux).
I nj/n est une estimation de P(u = uj ).
Apprentissage artificiel
Fabien Teytaud
Intro
SuperviséLes k plus proches voisins
Les arbres de décisions
Le perceptron
Les réseaux de neurones
Classification naïvebayésienne
Non supervisé
Par renforcement
Une mesure pour choisir l’attribut
Théorie de l’informationI Information mutuelle (entropie croisée).I Permet de mesurer l’homogénéité entre deux distributions
de probabilités.
I Soient u et a deux variables, avec Du et Da leursensembles finis de valeurs possibles.
I L’entropie croisée est donnée par :
I(u,a) = −∑
i,j∈DuxDa
p(i , j) log2p(i , j)
p(i)p(j)
Apprentissage artificiel
Fabien Teytaud
Intro
SuperviséLes k plus proches voisins
Les arbres de décisions
Le perceptron
Les réseaux de neurones
Classification naïvebayésienne
Non supervisé
Par renforcement
Une mesure pour choisir l’attribut
Quelques propriétésI I(u,a) possède un minimum (0) quand p(i , j) = p(i)p(j) :
lorsque les deux distributions sont indépendantes.I I(u,a) est maximale lorsque les deux distributions sont
complètement corrélées.
Apprentissage artificiel
Fabien Teytaud
Intro
SuperviséLes k plus proches voisins
Les arbres de décisions
Le perceptron
Les réseaux de neurones
Classification naïvebayésienne
Non supervisé
Par renforcement
Une mesure pour choisir l’attribut
Quelques propriétésI Une variable aléatoire w possède une entropie H(u)
définit par :
H(u) = −∑i∈Du
p(i) log2(p(i))
I L’entropie de w conditionnée par a est définie par :
H(u|a) = −∑
i,j∈DuxDa
p(i , j) log2(p(i |j))
I Or d’après la théorie de l’information, on a :
I(u,a) = H(u)− H(u|a)
Apprentissage artificiel
Fabien Teytaud
Intro
SuperviséLes k plus proches voisins
Les arbres de décisions
Le perceptron
Les réseaux de neurones
Classification naïvebayésienne
Non supervisé
Par renforcement
Une mesure pour choisir l’attribut
I I(u,a) = −Y∑
j=1
ljn
log2lj/n
(l/n)(nj/n)+
rj
nlog2
rj/n(r/n)(nj/n)
I H(u|a) = −Y∑
j=1
ln
ljl
log2ljl
+rn
rj
rlog2
rj
r
Apprentissage artificiel
Fabien Teytaud
Intro
SuperviséLes k plus proches voisins
Les arbres de décisions
Le perceptron
Les réseaux de neurones
Classification naïvebayésienne
Non supervisé
Par renforcement
Une mesure pour choisir l’attribut
Quelques propriétésI On peut donc estimer les probabilités :
H(u|a) =ln
J(a = vrai) +rn
J(a = faux)
avec
J(a = vrai) = −U∑
j=1
ljl
log2ljl
J(a = faux) = −U∑
j=1
rj
rlog2
rj
r
Apprentissage artificiel
Fabien Teytaud
Intro
SuperviséLes k plus proches voisins
Les arbres de décisions
Le perceptron
Les réseaux de neurones
Classification naïvebayésienne
Non supervisé
Par renforcement
Une mesure pour choisir l’attribut
Choix de l’attributI On veut choisir l’attribut qui possède la plus grande
corrélation avec la répartition des classes.I On va donc chercher à minimiser l’entropie :
i∗ = arg mini=1,...,d
(H(u|ai )
Apprentissage artificiel
Fabien Teytaud
Intro
SuperviséLes k plus proches voisins
Les arbres de décisions
Le perceptron
Les réseaux de neurones
Classification naïvebayésienne
Non supervisé
Par renforcement
Un exemple de construction
ProblèmeLe problème consiste à prédire si un enfant peut aller joueravec son voisin.
Base d’exemplesLes décisions prises sur les 8 derniers jours étant donnés 4attributs binaires et 1 classe.
Apprentissage artificiel
Fabien Teytaud
Intro
SuperviséLes k plus proches voisins
Les arbres de décisions
Le perceptron
Les réseaux de neurones
Classification naïvebayésienne
Non supervisé
Par renforcement
Un exemple de construction
Échantillon d’apprentissageDevoirs Bonne humeur Beau Gouter Décisionfinis? de la mère? temps? pris?
1 vrai faux vrai faux oui2 faux vrai faux vrai oui3 vrai vrai vrai faux oui4 vrai faux vrai vrai oui5 faux vrai vrai vrai non6 faux vrai faux faux non7 vrai faux faux vrai non8 vrai vrai faux faux non
Simplifions les notations : (DF, BH, BT, GP).
Apprentissage artificiel
Fabien Teytaud
Intro
SuperviséLes k plus proches voisins
Les arbres de décisions
Le perceptron
Les réseaux de neurones
Classification naïvebayésienne
Non supervisé
Par renforcement
Un exemple de construction
Devoirs Bonne humeur Beau Gouter Décisionfinis? de la mère? temps? pris?
1 vrai faux vrai faux oui2 faux vrai faux vrai oui3 vrai vrai vrai faux oui4 vrai faux vrai vrai oui5 faux vrai vrai vrai non6 faux vrai faux faux non7 vrai faux faux vrai non8 vrai vrai faux faux non
Calcul de H(u = oui |DF )
H(oui|DF ) =58
J(DF = vrai) +38
J(DF = faux)
J(DF = vrai) = −35log2
35−
25log2
25
J(DF = faux) = −13log2
13−
23log2
23
Apprentissage artificiel
Fabien Teytaud
Intro
SuperviséLes k plus proches voisins
Les arbres de décisions
Le perceptron
Les réseaux de neurones
Classification naïvebayésienne
Non supervisé
Par renforcement
Un exemple de construction
On obtientI H(oui |DF ) ≈ 0.9I H(oui |BT ) ≈ 0.8I H(oui |BH) ≈ 0.9I H(oui |GP) ≈ 1
On choisit donc pour racine l’attribut “Est ce qu’il fait beau?”
Apprentissage artificiel
Fabien Teytaud
Intro
SuperviséLes k plus proches voisins
Les arbres de décisions
Le perceptron
Les réseaux de neurones
Classification naïvebayésienne
Non supervisé
Par renforcement
Un exemple de construction
Table pour la valeur vrai
Devoirs Bonne humeur Gouter Décisionfinis? de la mère? pris?
1 vrai faux faux oui3 vrai vrai faux oui4 vrai faux vrai oui5 faux vrai vrai non
Apprentissage artificiel
Fabien Teytaud
Intro
SuperviséLes k plus proches voisins
Les arbres de décisions
Le perceptron
Les réseaux de neurones
Classification naïvebayésienne
Non supervisé
Par renforcement
Un exemple de construction
Table pour la valeur faux
Devoirs Bonne humeur Gouter Décisionfinis? de la mère? pris?
2 faux vrai vrai oui6 faux vrai faux non7 vrai faux vrai non8 vrai vrai faux non
Apprentissage artificiel
Fabien Teytaud
Intro
SuperviséLes k plus proches voisins
Les arbres de décisions
Le perceptron
Les réseaux de neurones
Classification naïvebayésienne
Non supervisé
Par renforcement
Un exemple de construction
est-ce qu’il fait beau?
mes devoirs sont-ils terminés?
Oui Non
mon gouter est-il pris?
Maman est-elle de bonne humeur?
Oui Non
Non
vrai
vrai
faux
faux
vrai
vrai
faux
faux
Apprentissage artificiel
Fabien Teytaud
Intro
SuperviséLes k plus proches voisins
Les arbres de décisions
Le perceptron
Les réseaux de neurones
Classification naïvebayésienne
Non supervisé
Par renforcement
Exercice
ExerciceA l’aide de cet algorithme, refaire l’arbre de décision slide 30.
Pour les attributs nominaux, il suffit de se ramener au casbinaire. Par exemple, l’attribut sur la direction du vent peut êtreéclaté en 3 attributs “vent de face?”, “vent de terre?” et “ventde côté?”.
Apprentissage artificiel
Fabien Teytaud
Intro
SuperviséLes k plus proches voisins
Les arbres de décisions
Le perceptron
Les réseaux de neurones
Classification naïvebayésienne
Non supervisé
Par renforcement
Élagage des arbres de décisions
Pourquoi élaguer?I L’arbre précédemment construit est dit Tmax : chaque
feuille est pure.I Il y a un risque de sous estimer la probabilité d’erreur.
Le pré-élagageI On cesse de diviser un noeud lorsque la pureté des points
est suffisantes (inférieure à un certain seuil).I Utilisation de critères locaux (à une feuille) : on peut
manquer un très bon développement.I Donc, utilisation du post-élégage.
Apprentissage artificiel
Fabien Teytaud
Intro
SuperviséLes k plus proches voisins
Les arbres de décisions
Le perceptron
Les réseaux de neurones
Classification naïvebayésienne
Non supervisé
Par renforcement
Élagage des arbres de décisions
Le post-élagageI Élaguer l’arbre lorsqu’il est parfaitement développé.I Utiliser un ensemble indépendant de l’ensemble
d’apprentissage (ensemble de validation).I Mesurer l’erreur commise sur cet ensemble.
MéthodeI En partant des feuilles, construire une séquence d’arbres{Tmax ,T1,T2, . . . ,Tn} (Tn est l’arbre constitué d’une seulefeuille).
I A chaque étape un noeud est transformé en feuille.I L’idée est de comparer le coût de l’arbre élagué et de
l’arbre non élagué. On s’arrête si le coût du premier estsupérieur.
Apprentissage artificiel
Fabien Teytaud
Intro
SuperviséLes k plus proches voisins
Les arbres de décisions
Le perceptron
Les réseaux de neurones
Classification naïvebayésienne
Non supervisé
Par renforcement
Élagage des arbres de décisions
Estimation du coûtChoisir le noeud v qui minimise :
w(Tk , v) =MCela(v , k)−MC(v , k)
nk .(nt(v , k)− 1)
I MCela(v , k) : nombre d’exemples de l’ensembled’apprentissage mal classés par le noeud v de Tk dansl’arbre élagué à v .
I MC(v , k) : nombre d’exemples de l’ensembled’apprentissage mal classés sous le noeud v de Tk dansl’arbre non élagué à v .
I nk : nombre de feuilles de Tk .I nt(v , k) : nombre de feuilles du sous-arbre de Tk situé
sous le noeud v .
On cherche le meilleur compromis entre le taux d’erreurapparent et la taille.
Apprentissage artificiel
Fabien Teytaud
Intro
SuperviséLes k plus proches voisins
Les arbres de décisions
Le perceptron
Les réseaux de neurones
Classification naïvebayésienne
Non supervisé
Par renforcement
Élagage d’un arbre de décisions
Algorithm 2 Algorithme d’élagage1: Procédure : elaguer(Tmax )2: k ← 03: Tk ← Tmax4: while nbNoeud(Tk ) > 1 do5: for chaque noeud v de Tk m do6: calculer w(Tk , v) sur l’ensemble d’apprentissage7: end for8: Choisir le noeud vm pour lequel w est minimum9: Tk+1 se déduit de Tk en y remplaçant vm par une feuille
10: k ← k + 111: end while
Apprentissage artificiel
Fabien Teytaud
Intro
SuperviséLes k plus proches voisins
Les arbres de décisions
Le perceptron
Les réseaux de neurones
Classification naïvebayésienne
Non supervisé
Par renforcement
Un exemple d’élagage
a X1
X2
b
c
d
* *
* *
*
*
* *
*
o
o
o
o
o
o
o
o
oo
Apprentissage artificiel
Fabien Teytaud
Intro
SuperviséLes k plus proches voisins
Les arbres de décisions
Le perceptron
Les réseaux de neurones
Classification naïvebayésienne
Non supervisé
Par renforcement
Un exemple d’élagage
x1 > a ?
x2 > c ?
x2 > d ?
* o
*
x2 > b ?
* o
faux
faux
faux
vrai
vrai
vraifa
ux
vrai
Apprentissage artificiel
Fabien Teytaud
Intro
SuperviséLes k plus proches voisins
Les arbres de décisions
Le perceptron
Les réseaux de neurones
Classification naïvebayésienne
Non supervisé
Par renforcement
Un exemple d’élagage
Calculer w(Tmax , v1), w(Tmax , v2), w(Tmax , v3),w(Tmax , v4)
x1 > a ?
x2 > c ?
x2 > d ?
* o
*
x2 > b ?
* o
faux
faux
faux
vrai
vrai
vraifa
ux
vrai
v1
v2 v3
v4
Apprentissage artificiel
Fabien Teytaud
Intro
SuperviséLes k plus proches voisins
Les arbres de décisions
Le perceptron
Les réseaux de neurones
Classification naïvebayésienne
Non supervisé
Par renforcement
Un exemple d’élagage
Calcul des valeurs sur Tmax
I w(Tmax , v1) =MCela(v1, k)−MC(v1, k)
n(k).(nt(v1, k)− 1)=
9− 05(5− 1)
=9
20
I w(Tmax , v2) =1− 0
5(3− 1)=
110
I w(Tmax , v3) =2− 0
5(2− 1)=
25
I w(Tmax , v4) =1− 0
5(2− 1)=
15
Apprentissage artificiel
Fabien Teytaud
Intro
SuperviséLes k plus proches voisins
Les arbres de décisions
Le perceptron
Les réseaux de neurones
Classification naïvebayésienne
Non supervisé
Par renforcement
Un exemple d’élagage
Calcul des valeurs sur Tmax
I w(Tmax , v1) =MCela(v1, k)−MC(v1, k)
n(k).(nt(v1, k)− 1)=
9− 05(5− 1)
=9
20
I w(Tmax , v2) =1− 0
5(3− 1)=
110
I w(Tmax , v3) =2− 0
5(2− 1)=
25
I w(Tmax , v4) =1− 0
5(2− 1)=
15
Apprentissage artificiel
Fabien Teytaud
Intro
SuperviséLes k plus proches voisins
Les arbres de décisions
Le perceptron
Les réseaux de neurones
Classification naïvebayésienne
Non supervisé
Par renforcement
Un exemple d’élagage
On obtient T1
x1 > a ?
* x2 > b ?
* o
faux
vrai
faux
vrai
Apprentissage artificiel
Fabien Teytaud
Intro
SuperviséLes k plus proches voisins
Les arbres de décisions
Le perceptron
Les réseaux de neurones
Classification naïvebayésienne
Non supervisé
Par renforcement
Un exemple d’élagage
Calcul des valeurs sur T1
I w(T1, v1) =9− 1
3(3− 1)=
43
I w(T1, v3) =2− 1
3(2− 1)=
13
Apprentissage artificiel
Fabien Teytaud
Intro
SuperviséLes k plus proches voisins
Les arbres de décisions
Le perceptron
Les réseaux de neurones
Classification naïvebayésienne
Non supervisé
Par renforcement
Un exemple d’élagage
Calcul des valeurs sur T1
I w(T1, v1) =9− 1
3(3− 1)=
43
I w(T1, v3) =2− 1
3(2− 1)=
13
Apprentissage artificiel
Fabien Teytaud
Intro
SuperviséLes k plus proches voisins
Les arbres de décisions
Le perceptron
Les réseaux de neurones
Classification naïvebayésienne
Non supervisé
Par renforcement
Un exemple d’élagage
On obtient T2
x1 > a ?
* o
faux
vrai
Apprentissage artificiel
Fabien Teytaud
Intro
SuperviséLes k plus proches voisins
Les arbres de décisions
Le perceptron
Les réseaux de neurones
Classification naïvebayésienne
Non supervisé
Par renforcement
Un exemple d’élagage
Choix de l’arbreI Le choix de l’arbre se fera sur un ensemble de validation
parmi Tmax , T1 et T2.I L’arbre qui aura la meilleure estimation du taux d’erreur de
classification sera choisi.
Apprentissage artificiel
Fabien Teytaud
Intro
SuperviséLes k plus proches voisins
Les arbres de décisions
Le perceptron
Les réseaux de neurones
Classification naïvebayésienne
Non supervisé
Par renforcement
Un exemple d’élagage
Par exemple, sur cet ensemble de validation
a X1
X2
b
c
d
* *
*
*
*
* *
*
o
o
o
o
o
oo
o
I Erreur Tmax :3
16
I Erreur T1 :1
16
I Erreur T2 :2
16
Apprentissage artificiel
Fabien Teytaud
Intro
SuperviséLes k plus proches voisins
Les arbres de décisions
Le perceptron
Les réseaux de neurones
Classification naïvebayésienne
Non supervisé
Par renforcement
Exercices
TD Arbre de décisions
Apprentissage artificiel
Fabien Teytaud
Intro
SuperviséLes k plus proches voisins
Les arbres de décisions
Le perceptron
Les réseaux de neurones
Classification naïvebayésienne
Non supervisé
Par renforcement
Sommaire
Introduction
Apprentissage superviséLes k plus proches voisinsLes arbres de décisionsLe perceptronLes réseaux de neuronesClassification naïve bayésienne
Apprentissage non supervisé
Apprentissage par renforcement
Apprentissage artificiel
Fabien Teytaud
Intro
SuperviséLes k plus proches voisins
Les arbres de décisions
Le perceptron
Les réseaux de neurones
Classification naïvebayésienne
Non supervisé
Par renforcement
Le perceptron
DéfinitionI Le perceptron est un classifieur linéaire.I Il peut être vu comme un réseau de neurones simplifié.I Il a une seule sortie à laquelle toutes les entrées sont
connectées.
Un perceptron à 2 entrées (wikipedia)
Apprentissage artificiel
Fabien Teytaud
Intro
SuperviséLes k plus proches voisins
Les arbres de décisions
Le perceptron
Les réseaux de neurones
Classification naïvebayésienne
Non supervisé
Par renforcement
Le perceptron
PrincipeI A partir de l’échantillon d’apprentissage, il faut trouver le
vecteur de poids w et le biais, tel que :
w .x + biais
{≥ 0< 0
⇒ x ∈
{u1
u2
I En associant u = 1 pour u1 et u = −1 pour u2, on cherchedonc :
w .x .u > 0,∀(xi ,ui ) ∈ S
avec S l’échantillon d’apprentissage.
Apprentissage artificiel
Fabien Teytaud
Intro
SuperviséLes k plus proches voisins
Les arbres de décisions
Le perceptron
Les réseaux de neurones
Classification naïvebayésienne
Non supervisé
Par renforcement
Le perceptron
Définition du risque empiriqueRisque empirique(w) = −
∑xj∈M
w .xj .uj ,
avec M l’ensemble des exemples d’apprentissage mal classéspar le perceptron de poids w .
Comment apprendre le vecteur de poids?Descente de gradient :
w(t + 1) = w(t)− ηxiui
η est appelé le pas d’apprentissage.
Apprentissage artificiel
Fabien Teytaud
Intro
SuperviséLes k plus proches voisins
Les arbres de décisions
Le perceptron
Les réseaux de neurones
Classification naïvebayésienne
Non supervisé
Par renforcement
Le perceptron
L’algorithmeI Passer en revue chaque exemple dans l’échantillon
d’apprentissage et tester la réponse y produite par leperceptron par rapport à la réponse désirée u.
I Si les deux réponses sont identiques, l’exemple est bienclassé : ne rien faire.
I Sinon, si l’exemple est incorrectement classé en w1,ajouter ηx à w , sinon retirer ηx .
I Ré-itérer tant que qu’il reste du temps et tant que tous lesexemples ne sont pas bien classés.
Apprentissage artificiel
Fabien Teytaud
Intro
SuperviséLes k plus proches voisins
Les arbres de décisions
Le perceptron
Les réseaux de neurones
Classification naïvebayésienne
Non supervisé
Par renforcement
Le perceptron
Exemple d’apprentissage du OU logiqueI Les exemples appartiennent à {0,1}2.I Processus :
I On initialise les poids aléatoirement.I Le biais est choisi à 1.I On lit le prochain exemple.I On calcule la sortie.I On met à jour les poids si nécessaire (wi = wi +(u−y)∗xi ).I On ré-itère tant qu’on n’a pas convergé et qu’on a du temps.
Apprentissage artificiel
Fabien Teytaud
Intro
SuperviséLes k plus proches voisins
Les arbres de décisions
Le perceptron
Les réseaux de neurones
Classification naïvebayésienne
Non supervisé
Par renforcement
Déroulement de l’algorithme
It Ex w0 w1 w2
∑xiwi y u w0 w1 w2
1 100 0 1 −1 0 0 0 0 1 −1
Apprentissage artificiel
Fabien Teytaud
Intro
SuperviséLes k plus proches voisins
Les arbres de décisions
Le perceptron
Les réseaux de neurones
Classification naïvebayésienne
Non supervisé
Par renforcement
Déroulement de l’algorithme
Calcul de la séparatrice
w0 + w1 ∗ x1 + w2 ∗ x2 = 0
x2 = −w1
w2∗ x1 −
w0
w2
x2 = − 1−1∗ x1 −
0−1
x2 = 1 ∗ x1 − 0x2 = x1
Apprentissage artificiel
Fabien Teytaud
Intro
SuperviséLes k plus proches voisins
Les arbres de décisions
Le perceptron
Les réseaux de neurones
Classification naïvebayésienne
Non supervisé
Par renforcement
Déroulement de l’algorithme
It Ex w0 w1 w2
∑xiwi y u w0 w1 w2
1 100 0 1 −1 0 0 0 0 1 −1
●
−1.5 −1.0 −0.5 0.0 0.5 1.0 1.5
−1.
5−
1.0
−0.
50.
00.
51.
01.
5
X1
X2
Apprentissage artificiel
Fabien Teytaud
Intro
SuperviséLes k plus proches voisins
Les arbres de décisions
Le perceptron
Les réseaux de neurones
Classification naïvebayésienne
Non supervisé
Par renforcement
Déroulement de l’algorithme
It Ex w0 w1 w2
∑xi wi y u w0 w1 w2
1 100 0 1 −1 0 0 0 0 1 −12 101 0 1 −1 −1 0 1 0 + 1 ∗ 1 1 + 1 ∗ 0 −1 + 1 ∗ 1
●
−1.5 −1.0 −0.5 0.0 0.5 1.0 1.5
−1.
5−
1.0
−0.
50.
00.
51.
01.
5
X1
X2
Apprentissage artificiel
Fabien Teytaud
Intro
SuperviséLes k plus proches voisins
Les arbres de décisions
Le perceptron
Les réseaux de neurones
Classification naïvebayésienne
Non supervisé
Par renforcement
Déroulement de l’algorithme
It Ex w0 w1 w2
∑xi wi y u w0 w1 w2
1 100 0 1 −1 0 0 0 0 1 −12 101 0 1 −1 −1 0 1 1 1 03 111 1 1 0 2 1 1 1 1 0
●
−1.5 −1.0 −0.5 0.0 0.5 1.0 1.5
−1.
5−
1.0
−0.
50.
00.
51.
01.
5
X1
X2
Apprentissage artificiel
Fabien Teytaud
Intro
SuperviséLes k plus proches voisins
Les arbres de décisions
Le perceptron
Les réseaux de neurones
Classification naïvebayésienne
Non supervisé
Par renforcement
Déroulement de l’algorithme
It Ex w0 w1 w2
∑xi wi y u w0 w1 w2
1 100 0 1 −1 0 0 0 0 1 −12 101 0 1 −1 −1 0 1 1 1 03 111 1 1 0 2 1 1 1 1 04 110 1 1 0 2 1 1 1 1 0
●
−1.5 −1.0 −0.5 0.0 0.5 1.0 1.5
−1.
5−
1.0
−0.
50.
00.
51.
01.
5
X1
X2
Apprentissage artificiel
Fabien Teytaud
Intro
SuperviséLes k plus proches voisins
Les arbres de décisions
Le perceptron
Les réseaux de neurones
Classification naïvebayésienne
Non supervisé
Par renforcement
Déroulement de l’algorithme
It Ex w0 w1 w2
∑xi wi y u w0 w1 w2
1 100 0 1 −1 0 0 0 0 1 −12 101 0 1 −1 −1 0 1 1 1 03 111 1 1 0 2 1 1 1 1 04 110 1 1 0 2 1 1 1 1 05 100 1 1 0 1 1 0 1 + (−1) ∗ 1 1 + (−1) ∗ 0 0 + (−1) ∗ 0
●
−1.5 −1.0 −0.5 0.0 0.5 1.0 1.5
−1.
5−
1.0
−0.
50.
00.
51.
01.
5
X1
X2
Apprentissage artificiel
Fabien Teytaud
Intro
SuperviséLes k plus proches voisins
Les arbres de décisions
Le perceptron
Les réseaux de neurones
Classification naïvebayésienne
Non supervisé
Par renforcement
Déroulement de l’algorithmeIt Ex w0 w1 w2
∑xi wi y u w0 w1 w2
1 100 0 1 −1 0 0 0 0 1 −12 101 0 1 −1 −1 0 1 1 1 03 111 1 1 0 2 1 1 1 1 04 110 1 1 0 2 1 1 1 1 05 100 1 1 0 1 1 0 0 1 06 101 0 1 0 0 0 1 0 + 1 ∗ 1 1 + 1 ∗ 0 0 + 1 ∗ 1
●
−1.5 −1.0 −0.5 0.0 0.5 1.0 1.5
−1.
5−
1.0
−0.
50.
00.
51.
01.
5
X1
X2
Apprentissage artificiel
Fabien Teytaud
Intro
SuperviséLes k plus proches voisins
Les arbres de décisions
Le perceptron
Les réseaux de neurones
Classification naïvebayésienne
Non supervisé
Par renforcement
Déroulement de l’algorithmeIt Ex w0 w1 w2
∑xi wi y u w0 w1 w2
1 100 0 1 −1 0 0 0 0 1 −12 101 0 1 −1 −1 0 1 1 1 03 111 1 1 0 2 1 1 1 1 04 110 1 1 0 2 1 1 1 1 05 100 1 1 0 1 1 0 0 1 06 101 0 1 0 0 0 1 1 1 17 111 1 1 1 3 1 1 1 1 1
●
−1.5 −1.0 −0.5 0.0 0.5 1.0 1.5
−1.
5−
1.0
−0.
50.
00.
51.
01.
5
X1
X2
Apprentissage artificiel
Fabien Teytaud
Intro
SuperviséLes k plus proches voisins
Les arbres de décisions
Le perceptron
Les réseaux de neurones
Classification naïvebayésienne
Non supervisé
Par renforcement
Déroulement de l’algorithmeIt Ex w0 w1 w2
∑xi wi y u w0 w1 w2
1 100 0 1 −1 0 0 0 0 1 −12 101 0 1 −1 −1 0 1 1 1 03 111 1 1 0 2 1 1 1 1 04 110 1 1 0 2 1 1 1 1 05 100 1 1 0 1 1 0 0 1 06 101 0 1 0 0 0 1 1 1 17 111 1 1 1 3 1 1 1 1 18 110 1 1 1 2 1 1 1 1 1
●
−1.5 −1.0 −0.5 0.0 0.5 1.0 1.5
−1.
5−
1.0
−0.
50.
00.
51.
01.
5
X1
X2
Apprentissage artificiel
Fabien Teytaud
Intro
SuperviséLes k plus proches voisins
Les arbres de décisions
Le perceptron
Les réseaux de neurones
Classification naïvebayésienne
Non supervisé
Par renforcement
Déroulement de l’algorithmeIt Ex w0 w1 w2
∑xi wi y u w0 w1 w2
1 100 0 1 −1 0 0 0 0 1 −12 101 0 1 −1 −1 0 1 1 1 03 111 1 1 0 2 1 1 1 1 04 110 1 1 0 2 1 1 1 1 05 100 1 1 0 1 1 0 0 1 06 101 0 1 0 0 0 1 1 1 17 111 1 1 1 3 1 1 1 1 18 110 1 1 1 2 1 1 1 1 19 100 1 1 1 1 1 0 1 + (−1) ∗ 1 1 + (−1) ∗ 0 1 + (−1) ∗ 0
●
−1.5 −1.0 −0.5 0.0 0.5 1.0 1.5
−1.
5−
1.0
−0.
50.
00.
51.
01.
5
X1
X2
Apprentissage artificiel
Fabien Teytaud
Intro
SuperviséLes k plus proches voisins
Les arbres de décisions
Le perceptron
Les réseaux de neurones
Classification naïvebayésienne
Non supervisé
Par renforcement
Déroulement de l’algorithmeIt Ex w0 w1 w2
∑xi wi y u w0 w1 w2
1 100 0 1 −1 0 0 0 0 1 −12 101 0 1 −1 −1 0 1 1 1 03 111 1 1 0 2 1 1 1 1 04 110 1 1 0 2 1 1 1 1 05 100 1 1 0 1 1 0 0 1 06 101 0 1 0 0 0 1 1 1 17 111 1 1 1 3 1 1 1 1 18 110 1 1 1 2 1 1 1 1 19 100 1 1 1 1 1 0 0 1 1
10 101 0 1 1 1 1 1 0 1 111 111 0 1 1 2 1 1 0 1 112 110 0 1 1 1 1 1 0 1 113 100 0 1 1 0 0 0 0 1 1
●
−1.5 −1.0 −0.5 0.0 0.5 1.0 1.5
−1.
5−
1.0
−0.
50.
00.
51.
01.
5
X1
X2
Apprentissage artificiel
Fabien Teytaud
Intro
SuperviséLes k plus proches voisins
Les arbres de décisions
Le perceptron
Les réseaux de neurones
Classification naïvebayésienne
Non supervisé
Par renforcement
Sommaire
Introduction
Apprentissage superviséLes k plus proches voisinsLes arbres de décisionsLe perceptronLes réseaux de neuronesClassification naïve bayésienne
Apprentissage non supervisé
Apprentissage par renforcement
Apprentissage artificiel
Fabien Teytaud
Intro
SuperviséLes k plus proches voisins
Les arbres de décisions
Le perceptron
Les réseaux de neurones
Classification naïvebayésienne
Non supervisé
Par renforcement
Les réseaux de neurones
PrincipeI A l’origine le but était de modéliser le fonctionnement du
cerveau.I Ce principe reste un axe de recherche, mais est
indépendant de ce que nous traiterons dans ce cours.I Le principe est basé sur la propagation d’informations
dans des unités de calcul élémentaires.I Ensemble de neurones interconnectés. A chaque neurone
est associé un poids qui représente l’influence d’unneurone sur un autre.
I Apprentissage des poids afin d’entraîner le réseau àeffectuer des taches de classification ou de régression.
Apprentissage artificiel
Fabien Teytaud
Intro
SuperviséLes k plus proches voisins
Les arbres de décisions
Le perceptron
Les réseaux de neurones
Classification naïvebayésienne
Non supervisé
Par renforcement
Les réseaux de neurones
Le neurone formelI Un neurone d’entrée est une unité correspondant à une
donnée d’entrée.I Un neurone de sortie est une unité qui fournit une
hypothèse d’apprentissage.I Un neurone caché est une unité interne du réseau, qui
n’est ni une entrée ni une sortie.
Apprentissage artificiel
Fabien Teytaud
Intro
SuperviséLes k plus proches voisins
Les arbres de décisions
Le perceptron
Les réseaux de neurones
Classification naïvebayésienne
Non supervisé
Par renforcement
Les réseaux de neurones
Le neurone formelI Formellement, il est pratique de représenter un réseau de
neurones par un ensemble de valeurs σi (une pour chaqueneurone).
I Dans le cas d’un neurone d’entrée σi = xi ; dans les autrescas σi représente l’état du neurone i .
I Une fonction f permet de calculer pour chaque neurone iune valeur de sortie yi en fonction de son état σi :
yi = f (σi )
Apprentissage artificiel
Fabien Teytaud
Intro
SuperviséLes k plus proches voisins
Les arbres de décisions
Le perceptron
Les réseaux de neurones
Classification naïvebayésienne
Non supervisé
Par renforcement
Une fonction classique
Une fonction sigmoïde : yi = f (σi) =1
1 + e−λσi
−10 −5 0 5 100.0
0.2
0.4
0.6
0.8
1.0
Apprentissage artificiel
Fabien Teytaud
Intro
SuperviséLes k plus proches voisins
Les arbres de décisions
Le perceptron
Les réseaux de neurones
Classification naïvebayésienne
Non supervisé
Par renforcement
Structure des réseaux multicouches
Structure [wikipedia]
Apprentissage artificiel
Fabien Teytaud
Intro
SuperviséLes k plus proches voisins
Les arbres de décisions
Le perceptron
Les réseaux de neurones
Classification naïvebayésienne
Non supervisé
Par renforcement
Structure des réseaux multicouches
Structure [wikipedia]
Apprentissage artificiel
Fabien Teytaud
Intro
SuperviséLes k plus proches voisins
Les arbres de décisions
Le perceptron
Les réseaux de neurones
Classification naïvebayésienne
Non supervisé
Par renforcement
Apprentissage d’un réseau
Algorithme d’apprentissageI Apprentissage incrémental.I A chaque étape, une donnée va permettre de modifier les
poids de toutes les connexions.I La séquence de données peut être :
I construite par tirage aléatoire parmi les exemplesd’apprentissage.
I par plusieurs passages successifs de la totalité desexemples.
I Quelque soit le choix des données, il sera bien plusimportant que le nombre d’exemples.
Apprentissage artificiel
Fabien Teytaud
Intro
SuperviséLes k plus proches voisins
Les arbres de décisions
Le perceptron
Les réseaux de neurones
Classification naïvebayésienne
Non supervisé
Par renforcement
Apprentissage d’un réseau
Algorithme d’apprentissageI La règle delta généralisée donne le changement de poids
entre les neurones i et j : ∆w(i , j) = αδjyi
I ∆i est proportionnel à une mesure d’erreur δj et à la sortiedu neurone i (l’entrée du neurone j donc).
I Pour les connexions sur les sorties, cette valeur se calculecomme suit : δj = (uj − yj )yj (1− yj ).
I Pour les neurones cachés, le calcul se fait itérativement :δj = yj (1− yj )
∑k∈dest(j)
δk w(j , k),
I avec dest(j) l’ensemble des neurones auxquels j seconnecte.
Apprentissage artificiel
Fabien Teytaud
Intro
SuperviséLes k plus proches voisins
Les arbres de décisions
Le perceptron
Les réseaux de neurones
Classification naïvebayésienne
Non supervisé
Par renforcement
Apprentissage d’un réseau
Algorithme d’apprentissage
Algorithm 3 Algorithme d’apprentissage d’un réseau multi-couches
1: while Le critère d’arrêt n’est pas atteint do2: Choisir aléatoirement un point d’apprentissage.3: for Chaque couche en partant de celle du haut do4: for Chaque neurone de cette couche do5: Calculer δj6: for Chaque connexion w(i , j) menant à j do7: Calculer ∆w(i , j) = αδjyi8: end for9: end for
10: end for11: for Chaque connexion w(i , j) do12: w(i , j) = w(i , j) + ∆w(i , j)13: end for14: end while
Apprentissage artificiel
Fabien Teytaud
Intro
SuperviséLes k plus proches voisins
Les arbres de décisions
Le perceptron
Les réseaux de neurones
Classification naïvebayésienne
Non supervisé
Par renforcement
Apprentissage d’un réseau sur une exemple
Prenons ce réseau :
1
x1
x2
3
4
5
1
w(2, 4)
w(2, 3)
w(1, 4)
w(0, 4)
w(1, 3)
w(0, 3)
w(0, 5)
w(4, 5)
w(3, 5)
Apprentissage artificiel
Fabien Teytaud
Intro
SuperviséLes k plus proches voisins
Les arbres de décisions
Le perceptron
Les réseaux de neurones
Classification naïvebayésienne
Non supervisé
Par renforcement
Prenons un exemple
Fixons les poidsI w(2,4) = 0.4I w(2,3) = 0.3I w(1,4) = −0.2I w(0,4) = −0.3I w(1,3) = 0.1I w(0,3) = 0.2I w(0,5) = 0.4I w(4,5) = −0.4I w(3,5) = 0.5
Apprentissage artificiel
Fabien Teytaud
Intro
SuperviséLes k plus proches voisins
Les arbres de décisions
Le perceptron
Les réseaux de neurones
Classification naïvebayésienne
Non supervisé
Par renforcement
Apprentissage d’un réseau
Avec x = (1,1), on obtient donc :
1
x1
x2
3
4
5
1
0.4
0.3
−0.2
−0.3
0.1
0.2
0.4
−0.4
0.5
Apprentissage artificiel
Fabien Teytaud
Intro
SuperviséLes k plus proches voisins
Les arbres de décisions
Le perceptron
Les réseaux de neurones
Classification naïvebayésienne
Non supervisé
Par renforcement
Apprentissage d’un réseau
La propagation donne :
Neurone j σj yi
3 0.2 + 0.1*1 + 0.3*1 = 0.61
1 + e−0.6 = 0.65
4 -0.3 + -0.2*1 + 0.4*1 = -0.11
1 + e0.1 = 0.48
5 0.4 + 0.48*-0.4 + 0.65*0.5 = 0.531
1 + e−0.53 = 0.63
Apprentissage artificiel
Fabien Teytaud
Intro
SuperviséLes k plus proches voisins
Les arbres de décisions
Le perceptron
Les réseaux de neurones
Classification naïvebayésienne
Non supervisé
Par renforcement
Apprentissage d’un réseau
I Supposons que la sortie désirée u doit être pour x = (1,1)égale à 0.
I On souhaite alors que la modification des poids conduiseà une sortie inférieure à 0.63..
I Pour le neurone de sortie on a ∆w(i , j) = αδjyi .I et δj = (uj − yj )yj (1− yj ).I Commençons avec (3,5).
Apprentissage artificiel
Fabien Teytaud
Intro
SuperviséLes k plus proches voisins
Les arbres de décisions
Le perceptron
Les réseaux de neurones
Classification naïvebayésienne
Non supervisé
Par renforcement
Apprentissage d’un réseau
I On obtient : δ5 = (0− 0.63) ∗ 0.63 ∗ (1− 0.63) = −0.147I ∆w(3,5) = α ∗ −0.147 ∗ y3
I Pour cet exemple on choisit α = 1, on obtient alors :∆w(3,5) = −0.147 ∗ 0.65 = −0.1
I De la même manière on calcule∆w(4,5) = −0.147 ∗ 0.48 = −0.07 et∆w(0,5) = −0.147 ∗ 1 = −0.147
Apprentissage artificiel
Fabien Teytaud
Intro
SuperviséLes k plus proches voisins
Les arbres de décisions
Le perceptron
Les réseaux de neurones
Classification naïvebayésienne
Non supervisé
Par renforcement
Apprentissage d’un réseau
Il faut maintenant calculer les valeurs desmodifications des neurones cachés (3) et (4)I δ4 = y4(1− y4)
∑k∈dest(4)
δk w(4, k),
I avec dest(4) = (5)
I δ4 = y4(1− y4)δ5w(4,5) =0.48 ∗ (1− 0.48) ∗ −0.147 ∗ −0.4 = 0.015
I ∆w(1,4) = 0.015 ∗ 1 = 0.015I ∆w(2,4) = 0.015 ∗ 1 = 0.015I ∆w(0,4) = 0.015 ∗ 1 = 0.015
Apprentissage artificiel
Fabien Teytaud
Intro
SuperviséLes k plus proches voisins
Les arbres de décisions
Le perceptron
Les réseaux de neurones
Classification naïvebayésienne
Non supervisé
Par renforcement
Apprentissage d’un réseau
De la même manière pour (3)I On a dest(3) = 5.I δ3 = y3(1− y3)δ5w(3,5) =
0.65 ∗ (1− 0.65) ∗ −0.147 ∗ 0.5 = −0.017I ∆w(1,3) = −0.017 ∗ 1 = −0.017I ∆w(2,3) = −0.017 ∗ 1 = −0.017I ∆w(0,3) = −0.017 ∗ 1 = −0.017
Apprentissage artificiel
Fabien Teytaud
Intro
SuperviséLes k plus proches voisins
Les arbres de décisions
Le perceptron
Les réseaux de neurones
Classification naïvebayésienne
Non supervisé
Par renforcement
Apprentissage d’un réseau
Mise à jour des poidsI w(0,5) = w(0,5) + ∆w(0,5) = 0.4− 0.147 = 0.25I w(3,5) = w(3,5) + ∆w(3,5) = 0.5− 0.1 = 0.4I w(4,5) = w(4,5) + ∆w(4,5) = −0.4− 0.07 = −0.47I w(0,3) = w(0,3) + ∆w(0,3) = 0.2− 0.017 = 0.183I w(1,3) = w(1,3) + ∆w(1,3) = 0.1− 0.017 = 0.083I w(2,3) = w(2,3) + ∆w(2,3) = 0.3− 0.017 = 0.283I w(0,4) = w(0,4) + ∆w(0,4) = −0.3 + 0.015 = −0.285I w(1,4) = w(1,4) + ∆w(1,4) = −0.2 + 0.015 = −0.185I w(2,4) = w(2,4) + ∆w(2,4) = 0.4 + 0.015 = 0.415
Exercice : Ré-itérer une itération avec le même exemple.
Apprentissage artificiel
Fabien Teytaud
Intro
SuperviséLes k plus proches voisins
Les arbres de décisions
Le perceptron
Les réseaux de neurones
Classification naïvebayésienne
Non supervisé
Par renforcement
Sommaire
Introduction
Apprentissage superviséLes k plus proches voisinsLes arbres de décisionsLe perceptronLes réseaux de neuronesClassification naïve bayésienne
Apprentissage non supervisé
Apprentissage par renforcement
Apprentissage artificiel
Fabien Teytaud
Intro
SuperviséLes k plus proches voisins
Les arbres de décisions
Le perceptron
Les réseaux de neurones
Classification naïvebayésienne
Non supervisé
Par renforcement
Classification naïve bayésienne
Modèle bayesien naïfI Soit un problème à n caractéristiques a1, . . . ,an
I Hypothèse : toutes les caractéristiques sontindépendantes (approche “naive”)
I Modèle naif bayésien : p(U|a1, . . . ,an)
Apprentissage artificiel
Fabien Teytaud
Intro
SuperviséLes k plus proches voisins
Les arbres de décisions
Le perceptron
Les réseaux de neurones
Classification naïvebayésienne
Non supervisé
Par renforcement
Classification naïve bayésienne
Modèle bayesien naïfI A l’aide du théorème de Bayes, on a
p(U|a1, . . . ,an) =p(U)p(a1, . . . ,an|U)
p(a1, . . . ,an)
I postérieure =antérieure× vraisemblance
évidence
Apprentissage artificiel
Fabien Teytaud
Intro
SuperviséLes k plus proches voisins
Les arbres de décisions
Le perceptron
Les réseaux de neurones
Classification naïvebayésienne
Non supervisé
Par renforcement
Classification naïve bayésienne
Inférence du modèleI Modèle naif bayésien :
p(U|a1, . . . ,an) =p(U)p(a1, . . . ,an|U)
p(a1, . . . ,an)I Le dénominateur ne dépend pas de U, il est donc
constant.I p(U)p(a1, . . . ,an|U) =
p(U)p(a1|U)p(a2|U,a1)p(a3|U,a1,a2) . . . p(an|U,a1,a2, . . . ,an−1)
I Hypothèse naïve : chaque ai est indépendant sachant U,donc p(ai |U,aj ) = p(ai |U)
I p(a1, . . . ,an|U) = p(a1|U)p(a2|U) . . . p(an|U) =n∏
i=1
p(ai |U)
On obtient donc :
p(U|a1, . . . ,an) = p(U)n∏
i=1
p(ai |U)/p(a1, . . . ,an)
Apprentissage artificiel
Fabien Teytaud
Intro
SuperviséLes k plus proches voisins
Les arbres de décisions
Le perceptron
Les réseaux de neurones
Classification naïvebayésienne
Non supervisé
Par renforcement
Classification naïve bayésienne
Compléxité du modèleI Modèle naif bayésien :
p(U|a1, . . . ,an) =p(U)
∏i p(ai |U)
p(a1, . . . ,an)
I n × |A| × |U| paramètres,avec n le nombre de caractéristiques,|A| la taille du domaine pour chaque caractéristique et|U| le nombre de classes.
I Le nombre total de paramètres est linéaire avec n.I Modèle très simple mais souvent efficace.
Apprentissage artificiel
Fabien Teytaud
Intro
SuperviséLes k plus proches voisins
Les arbres de décisions
Le perceptron
Les réseaux de neurones
Classification naïvebayésienne
Non supervisé
Par renforcement
Classification naïve bayésienne
Problème classique : catégorisation de texteI Spam/Ham,I Quels articles sont intéressants? ,I Classer des pages web ou des forums par topic,I Classer des livres selon leur catégorie (policier, sf ..),I Retrouver l’auteur d’un écrit ancien,I ...
I La classification naïve bayésienne est très utilisée pources taches.
I Quelles caractéristiques pour représenter un document?
Apprentissage artificiel
Fabien Teytaud
Intro
SuperviséLes k plus proches voisins
Les arbres de décisions
Le perceptron
Les réseaux de neurones
Classification naïvebayésienne
Non supervisé
Par renforcement
Classification naïve bayésienne pour lacatégorisation de texte
Sac de motsI Caractéristiques : ai représente le mot à la position iI On considère qu’un mot est indépendant d’un autre.I On ne cherche pas un modèle de langage (on suppose
que la présence d’un mot suffit à la catégorisation).I p(U,a1, . . . ,an) = p(U)
∏i
p(ai |U)
I Dans le modèle “sac de mots” chaque position estidentiquement distribuée.
I Modèle non sensible à l’ordre des mots.
Apprentissage artificiel
Fabien Teytaud
Intro
SuperviséLes k plus proches voisins
Les arbres de décisions
Le perceptron
Les réseaux de neurones
Classification naïvebayésienne
Non supervisé
Par renforcement
Catégorisation de textes
Exemple : Spam/Ham [inspiré de Prof. PieterAbbeel, UC Berkeley, Spring 2013]I Modèle : p(U,a1, . . . ,an) = p(U)
∏i
p(ai |U)
I Quels sont les paramètres?I ⇒ U={spam,ham}, A=l’ensemble des mots.
p(U) p(A|spam) p(A|ham)ham: 0.66 the: 0.0156 the: 0.0210spam: 0.33 to: 0.0153 to: 0.0133
and: 0.0115 of: 0.0119of: 0.0095 2002: 0.0110you: 0.0093 with: 0.0108a: 0.0086 from: 0.0107with: 0.0080 and: 0.0105from: 0.0075 a: 0.0100. . . . . .
Apprentissage artificiel
Fabien Teytaud
Intro
SuperviséLes k plus proches voisins
Les arbres de décisions
Le perceptron
Les réseaux de neurones
Classification naïvebayésienne
Non supervisé
Par renforcement
Catégorisation de textes
Exemple : Spam/Ham [inspiré de Prof. PieterAbbeel, UC Berkeley, Spring 2013]I Modèle : p(U,a1, . . . ,an) = p(U)
∏i
p(ai |U)
I Quels sont les paramètres?I ⇒ U={spam,ham}, A=l’ensemble des mots.
p(U) p(A|spam) p(A|ham)ham: 0.66 the: 0.0156 the: 0.0210spam: 0.33 to: 0.0153 to: 0.0133
and: 0.0115 of: 0.0119of: 0.0095 2002: 0.0110you: 0.0093 with: 0.0108a: 0.0086 from: 0.0107with: 0.0080 and: 0.0105from: 0.0075 a: 0.0100. . . . . .
Apprentissage artificiel
Fabien Teytaud
Intro
SuperviséLes k plus proches voisins
Les arbres de décisions
Le perceptron
Les réseaux de neurones
Classification naïvebayésienne
Non supervisé
Par renforcement
Catégorisation de textes
Exemple : Spam/Ham [inspiré de Prof. PieterAbbeel, UC Berkeley, Spring 2013]I Modèle : p(U,a1, . . . ,an) = p(U)
∏i
p(ai |U)
I Quels sont les paramètres?I ⇒ U={spam,ham}, A=l’ensemble des mots.
p(U) p(A|spam) p(A|ham)ham: 0.66 the: 0.0156 the: 0.0210spam: 0.33 to: 0.0153 to: 0.0133
and: 0.0115 of: 0.0119of: 0.0095 2002: 0.0110you: 0.0093 with: 0.0108a: 0.0086 from: 0.0107with: 0.0080 and: 0.0105from: 0.0075 a: 0.0100. . . . . .
Apprentissage artificiel
Fabien Teytaud
Intro
SuperviséLes k plus proches voisins
Les arbres de décisions
Le perceptron
Les réseaux de neurones
Classification naïvebayésienne
Non supervisé
Par renforcement
Catégorisation de textes
Exemple : Spam/Ham [inspiré de Prof. PieterAbbeel, UC Berkeley, Spring 2013]I Modèle : p(U,a1, . . . ,an) = p(U)
∏i
p(ai |U)
I Quels sont les paramètres?I ⇒ U={spam,ham}, A=l’ensemble des mots.
p(U) p(A|spam) p(A|ham)ham: 0.66 the: 0.0156 the: 0.0210spam: 0.33 to: 0.0153 to: 0.0133
and: 0.0115 of: 0.0119of: 0.0095 2002: 0.0110you: 0.0093 with: 0.0108a: 0.0086 from: 0.0107with: 0.0080 and: 0.0105from: 0.0075 a: 0.0100. . . . . .
Apprentissage artificiel
Fabien Teytaud
Intro
SuperviséLes k plus proches voisins
Les arbres de décisions
Le perceptron
Les réseaux de neurones
Classification naïvebayésienne
Non supervisé
Par renforcement
Catégorisation de textes
Exemple : Spam/Ham
Mot p(A|spam) p(A|ham) Score Spam Score hamprior 0.33333 0.66666 -1.1 -0.4Gary 0.00002 0.00021 -11.8 -8.9would 0.00069 0.00084 -19.1 -16.0you 0.00881 0.00304 -23.8 -21.8like 0.00086 0.00083 -30.9 -28.9to 0.01517 0.01339 -35.1 -33.2lose 0.00008 0.00002 -44.5 -44.0weight 0.00016 0.00002 -53.3 -55.0while 0.00027 0.00027 -61.5 -63.2you 0.00881 0.00304 -66.2 -69.0sleep 0.00006 0.00001 -76.2 -80.5
I On calcule log(p(U).p(a1|U).p(a2|U) . . .)
I p(spam|a1, . . . ,an) =e−76.2
e−76.2 + e−80.5 ≈ 1
Apprentissage artificiel
Fabien Teytaud
Intro
SuperviséLes k plus proches voisins
Les arbres de décisions
Le perceptron
Les réseaux de neurones
Classification naïvebayésienne
Non supervisé
Par renforcement
Catégorisation de textes
Exemple : Spam/Ham
Mot p(A|spam) p(A|ham) Score Spam Score hamprior 0.33333 0.66666 -1.1 -0.4Gary 0.00002 0.00021 -11.8 -8.9would 0.00069 0.00084 -19.1 -16.0you 0.00881 0.00304 -23.8 -21.8like 0.00086 0.00083 -30.9 -28.9to 0.01517 0.01339 -35.1 -33.2lose 0.00008 0.00002 -44.5 -44.0weight 0.00016 0.00002 -53.3 -55.0while 0.00027 0.00027 -61.5 -63.2you 0.00881 0.00304 -66.2 -69.0sleep 0.00006 0.00001 -76.2 -80.5
I On calcule log(p(U).p(a1|U).p(a2|U) . . .)
I p(spam|a1, . . . ,an) =e−76.2
e−76.2 + e−80.5 ≈ 1
Apprentissage artificiel
Fabien Teytaud
Intro
SuperviséLes k plus proches voisins
Les arbres de décisions
Le perceptron
Les réseaux de neurones
Classification naïvebayésienne
Non supervisé
Par renforcement
Catégorisation de textes
Exemple : Spam/Ham
Mot p(A|spam) p(A|ham) Score Spam Score hamprior 0.33333 0.66666 -1.1 -0.4Gary 0.00002 0.00021 -11.8 -8.9would 0.00069 0.00084 -19.1 -16.0you 0.00881 0.00304 -23.8 -21.8like 0.00086 0.00083 -30.9 -28.9to 0.01517 0.01339 -35.1 -33.2lose 0.00008 0.00002 -44.5 -44.0weight 0.00016 0.00002 -53.3 -55.0while 0.00027 0.00027 -61.5 -63.2you 0.00881 0.00304 -66.2 -69.0sleep 0.00006 0.00001 -76.2 -80.5
I On calcule log(p(U).p(a1|U).p(a2|U) . . .)
I p(spam|a1, . . . ,an) =e−76.2
e−76.2 + e−80.5 ≈ 1
Apprentissage artificiel
Fabien Teytaud
Intro
SuperviséLes k plus proches voisins
Les arbres de décisions
Le perceptron
Les réseaux de neurones
Classification naïvebayésienne
Non supervisé
Par renforcement
Catégorisation de textes
Exemple : Spam/Ham
Mot p(A|spam) p(A|ham) Score Spam Score hamprior 0.33333 0.66666 -1.1 -0.4Gary 0.00002 0.00021 -11.8 -8.9would 0.00069 0.00084 -19.1 -16.0you 0.00881 0.00304 -23.8 -21.8like 0.00086 0.00083 -30.9 -28.9to 0.01517 0.01339 -35.1 -33.2lose 0.00008 0.00002 -44.5 -44.0weight 0.00016 0.00002 -53.3 -55.0while 0.00027 0.00027 -61.5 -63.2you 0.00881 0.00304 -66.2 -69.0sleep 0.00006 0.00001 -76.2 -80.5
I On calcule log(p(U).p(a1|U).p(a2|U) . . .)
I p(spam|a1, . . . ,an) =e−76.2
e−76.2 + e−80.5 ≈ 1
Apprentissage artificiel
Fabien Teytaud
Intro
SuperviséLes k plus proches voisins
Les arbres de décisions
Le perceptron
Les réseaux de neurones
Classification naïvebayésienne
Non supervisé
Par renforcement
Catégorisation de textes
Exemple : Spam/Ham
Mot p(A|spam) p(A|ham) Score Spam Score hamprior 0.33333 0.66666 -1.1 -0.4Gary 0.00002 0.00021 -11.8 -8.9would 0.00069 0.00084 -19.1 -16.0you 0.00881 0.00304 -23.8 -21.8like 0.00086 0.00083 -30.9 -28.9to 0.01517 0.01339 -35.1 -33.2lose 0.00008 0.00002 -44.5 -44.0weight 0.00016 0.00002 -53.3 -55.0while 0.00027 0.00027 -61.5 -63.2you 0.00881 0.00304 -66.2 -69.0sleep 0.00006 0.00001 -76.2 -80.5
I On calcule log(p(U).p(a1|U).p(a2|U) . . .)
I p(spam|a1, . . . ,an) =e−76.2
e−76.2 + e−80.5 ≈ 1
Apprentissage artificiel
Fabien Teytaud
Intro
SuperviséLes k plus proches voisins
Les arbres de décisions
Le perceptron
Les réseaux de neurones
Classification naïvebayésienne
Non supervisé
Par renforcement
Catégorisation de textes
Exemple : Spam/Ham
Mot p(A|spam) p(A|ham) Score Spam Score hamprior 0.33333 0.66666 -1.1 -0.4Gary 0.00002 0.00021 -11.8 -8.9would 0.00069 0.00084 -19.1 -16.0you 0.00881 0.00304 -23.8 -21.8like 0.00086 0.00083 -30.9 -28.9to 0.01517 0.01339 -35.1 -33.2lose 0.00008 0.00002 -44.5 -44.0weight 0.00016 0.00002 -53.3 -55.0while 0.00027 0.00027 -61.5 -63.2you 0.00881 0.00304 -66.2 -69.0sleep 0.00006 0.00001 -76.2 -80.5
I On calcule log(p(U).p(a1|U).p(a2|U) . . .)
I p(spam|a1, . . . ,an) =e−76.2
e−76.2 + e−80.5 ≈ 1
Apprentissage artificiel
Fabien Teytaud
Intro
SuperviséLes k plus proches voisins
Les arbres de décisions
Le perceptron
Les réseaux de neurones
Classification naïvebayésienne
Non supervisé
Par renforcement
Catégorisation de textes
Exemple : Spam/Ham
Mot p(A|spam) p(A|ham) Score Spam Score hamprior 0.33333 0.66666 -1.1 -0.4Gary 0.00002 0.00021 -11.8 -8.9would 0.00069 0.00084 -19.1 -16.0you 0.00881 0.00304 -23.8 -21.8like 0.00086 0.00083 -30.9 -28.9to 0.01517 0.01339 -35.1 -33.2lose 0.00008 0.00002 -44.5 -44.0weight 0.00016 0.00002 -53.3 -55.0while 0.00027 0.00027 -61.5 -63.2you 0.00881 0.00304 -66.2 -69.0sleep 0.00006 0.00001 -76.2 -80.5
I On calcule log(p(U).p(a1|U).p(a2|U) . . .)
I p(spam|a1, . . . ,an) =e−76.2
e−76.2 + e−80.5 ≈ 1
Apprentissage artificiel
Fabien Teytaud
Intro
SuperviséLes k plus proches voisins
Les arbres de décisions
Le perceptron
Les réseaux de neurones
Classification naïvebayésienne
Non supervisé
Par renforcement
Estimation des paramètres
Maximum de vraisemblanceI p(a) =
nb de anb d’exemples totals
I que signifie une valeur de a=0?I que se passe t-il si a = 0?
I nb de a = 0⇒ p(a) = 0⇒∏
i
p(ai |U) = 0
I Cela supposerait que si un mot n’apparait pas dans uneclasse (par exemple Spam) alors c’est forcément une autreclasse (par exemple Ham).
I ⇒ surapprentissage si a est une donnée non existantedans la base d’apprentissage
Laplace smoothing
I p(x) =nb de x + 1∑A(nb de x + 1)
=nb de x + 1
nb d’exemples + |A|
Apprentissage artificiel
Fabien Teytaud
Intro
SuperviséLes k plus proches voisins
Les arbres de décisions
Le perceptron
Les réseaux de neurones
Classification naïvebayésienne
Non supervisé
Par renforcement
Estimation des paramètres
Maximum de vraisemblanceI p(a) =
nb de anb d’exemples totals
I que signifie une valeur de a=0?I que se passe t-il si a = 0?
I nb de a = 0⇒ p(a) = 0⇒∏
i
p(ai |U) = 0
I Cela supposerait que si un mot n’apparait pas dans uneclasse (par exemple Spam) alors c’est forcément une autreclasse (par exemple Ham).
I ⇒ surapprentissage si a est une donnée non existantedans la base d’apprentissage
Laplace smoothing
I p(x) =nb de x + 1∑A(nb de x + 1)
=nb de x + 1
nb d’exemples + |A|
Apprentissage artificiel
Fabien Teytaud
Intro
SuperviséLes k plus proches voisins
Les arbres de décisions
Le perceptron
Les réseaux de neurones
Classification naïvebayésienne
Non supervisé
Par renforcement
Catégorisation de textes
Exemple : critiques de films : +/-
Doc Texte Classe1 J’adore le film +2 Je déteste le film -3 Un film intéressant. Bon film +4 Scénario minable -5 Scénario intéressant. Un bon film +
I Vocabulaire : 10 mots uniques : <Je, adore, le, film,déteste, un, intéressant, bon, scénario, minable>
Apprentissage artificiel
Fabien Teytaud
Intro
SuperviséLes k plus proches voisins
Les arbres de décisions
Le perceptron
Les réseaux de neurones
Classification naïvebayésienne
Non supervisé
Par renforcement
Catégorisation de textes
Exemple : critique de films : +/-I Représentation d’une critique par un vector de mots.
I Un attibut par position d’un mot dans une critique.I Apprentissage supervisé : utilisation d’exemples, ici :
I p(+)I p(-)I p(critique|+)I p(critique|-)
Apprentissage artificiel
Fabien Teytaud
Intro
SuperviséLes k plus proches voisins
Les arbres de décisions
Le perceptron
Les réseaux de neurones
Classification naïvebayésienne
Non supervisé
Par renforcement
Catégorisation de textes
Exemple : critiques de films : +/-
C num Je adore le film déteste un intéressant bon scénario minable+ 1 1 1 1 1- 2 1 1 1 1+ 3 2 1 1 1- 4 1 1+ 5 1 1 1 1 1
Estimation de Laplace des paramètres
I p(+) =3 + 1
3 + 2 + 2=
47
I p(“Je”|+) =nombre de “je” dans + + 1
nombre mots dans + + |voc|=
1 + 114 + 10
Exercice1. Calculer p(+|"je déteste le scénario. Minable").2. Calculer p(-|"je déteste le scénario. Minable").3. Conclure.
Apprentissage artificiel
Fabien Teytaud
Intro
SuperviséLes k plus proches voisins
Les arbres de décisions
Le perceptron
Les réseaux de neurones
Classification naïvebayésienne
Non supervisé
Par renforcement
Catégorisation de textes
Exemple : critiques de films : +/-
C num Je adore le film déteste un intéressant bon scénario minable+ 1 1 1 1 1- 2 1 1 1 1+ 3 2 1 1 1- 4 1 1+ 5 1 1 1 1 1
Estimation de Laplace des paramètres
I p(+) =3 + 1
3 + 2 + 2=
47
I p(“Je”|+) =nombre de “je” dans + + 1
nombre mots dans + + |voc|=
1 + 114 + 10
Exercice1. Calculer p(+|"je déteste le scénario. Minable").2. Calculer p(-|"je déteste le scénario. Minable").3. Conclure.
Apprentissage artificiel
Fabien Teytaud
Intro
SuperviséLes k plus proches voisins
Les arbres de décisions
Le perceptron
Les réseaux de neurones
Classification naïvebayésienne
Non supervisé
Par renforcement
Catégorisation de textes
Exemple : critiques de films : +/-
C num Je adore le film déteste un intéressant bon scénario minable+ 1 1 1 1 1- 2 1 1 1 1+ 3 2 1 1 1- 4 1 1+ 5 1 1 1 1 1
Estimation de Laplace des paramètres
I p(+) =3 + 1
3 + 2 + 2=
47
I p(“Je”|+) =nombre de “je” dans + + 1
nombre mots dans + + |voc|=
1 + 114 + 10
Exercice1. Calculer p(+|"je déteste le scénario. Minable").2. Calculer p(-|"je déteste le scénario. Minable").3. Conclure.
Apprentissage artificiel
Fabien Teytaud
Intro
Supervisé
Non superviséLes K-moyens
Par renforcement
Sommaire
Introduction
Apprentissage supervisé
Apprentissage non superviséLes K-moyens
Apprentissage par renforcement
Apprentissage artificiel
Fabien Teytaud
Intro
Supervisé
Non superviséLes K-moyens
Par renforcement
Un exemple classique
I Nous avons 6 objets numérotés.I On cherche à les regrouper en 2 classes.I On commence par tirer deux points au hasard : par
exemple les objets 5 et 6.I Les points les plus proches (distance euclidienne) de 5
sont dans la première classe, les autres dans la seconde.
Apprentissage artificiel
Fabien Teytaud
Intro
Supervisé
Non superviséLes K-moyens
Par renforcement
Un exemple classique
0 1 2 3 4 5 60
1
2
3
1 2 3
4 5 6
Apprentissage artificiel
Fabien Teytaud
Intro
Supervisé
Non superviséLes K-moyens
Par renforcement
Un exemple classique
0 1 2 3 4 5 60
1
2
3
1 2 3
4 5 6
Apprentissage artificiel
Fabien Teytaud
Intro
Supervisé
Non superviséLes K-moyens
Par renforcement
Un exemple classique
I Ensuite, on calcule le centre de gravité de chaque classe.I On les nomme A1 et B1. Ils sont respectivement en
(2.6,1.4) et (5,2).
Apprentissage artificiel
Fabien Teytaud
Intro
Supervisé
Non superviséLes K-moyens
Par renforcement
Un exemple classique
0 1 2 3 4 5 60
1
2
3
1 2 3
4 5 6
A1
B1
Apprentissage artificiel
Fabien Teytaud
Intro
Supervisé
Non superviséLes K-moyens
Par renforcement
un exemple classique
I On recommence ensuite le processus.I Les 6 objets sont alloués soit à A1, soit à B1 en fonction de
leur distance à ces classes.I On obtient deux nouvelles répartitions, (1,2,3,4) d’un côté
et (5,6) de l’autre.I On calcule les deux nouveaux centres de gravité. On les
nommes A2 et B2.
Apprentissage artificiel
Fabien Teytaud
Intro
Supervisé
Non superviséLes K-moyens
Par renforcement
Un exemple classique
0 1 2 3 4 5 60
1
2
3
1 2 3
4 5 6
A1
B1
A2
B2
Apprentissage artificiel
Fabien Teytaud
Intro
Supervisé
Non superviséLes K-moyens
Par renforcement
Un exemple classique
Fin du processusI Les nouveaux centres de gravité sont (2.25,1.25) et
(4.5,2).I On arrête le processus car une nouvelle classe ne
changerait pas la répartition des objets.I Mesure de qualité : la somme des variances intra-classes :
T =1n
∑j=1,C
∑i=1,n
δji |xi − uj |2, avec δj
i = 1 si i = j et 0 sinon.
I T représente1n
fois la somme sur toutes les classes de ladistance de tous les points aux centres de gravité de leurclasse correspondante.
Apprentissage artificiel
Fabien Teytaud
Intro
Supervisé
Non superviséLes K-moyens
Par renforcement
Un exemple classique
Dans notre exempleI Les valeurs successives de la somme des distances
valent :
I (1,2,3,4,5), (6) :6.46
= 1.07
I (1,2,3,4), (5,6) :46
= 0.67
I L’algorithme des k-moyennes fait décroître ce critère, maisrien n’assure que la répartition soit optimale. Il se peut quel’algorithme converge vers un minimum local.
Apprentissage artificiel
Fabien Teytaud
Intro
Supervisé
Non supervisé
Par renforcementUCB
Q-learning
Apprentissage par renforcement
PrincipeI Apprentissage en ligne.I Système agissant sur son environnement.I Une récompense est nécessaire.I Rechercher une politique qui maximise l’espérance des
prises de décisions futures.I Robotique, jeux, navigation, planification financière, ...
Apprentissage artificiel
Fabien Teytaud
Intro
Supervisé
Non supervisé
Par renforcementUCB
Q-learning
Principe
NotationsI ε : L’ensemble des états.I Z : L’ensemble des actions.I s : Un état.I a : Une action.I π(s,a) : La probabilité que l’action a soit choisie dans l’état
s par la politique π.I Q∗(s,a) : La vraie espérance de gain quand l’action a est
choisie dans l’état s.I rt : Le signal de renforcement reçu par l’agent à l’instant t .I Rt : Le gain cumulé à partir de t .I Eπ : L’espérance en suivant la politique π.
Apprentissage artificiel
Fabien Teytaud
Intro
Supervisé
Non supervisé
Par renforcementUCB
Q-learning
Principe
I L’agent ne connaît pas son environnement :I Il ne connaît pas les signaux de renforcement
(récompenses, punitions) associés à chaque état.I Il ne connaît pas la topologie de l’espace des états.
I L’agent ne connaît pas l’effet de ses actions dans un étatdonné, c’est à dire la fonction qui associe à chaque couple(état, action) un état résultant.
L’agent doit tenter de connaître son environnement en sebasant sur ses observations. Pas de connaissance a priori :apprentissage long mais méthode robuste.
Apprentissage artificiel
Fabien Teytaud
Intro
Supervisé
Non supervisé
Par renforcementUCB
Q-learning
Principe
ButL’apprenant est plongé dans un environnement, et doit, àtravers ses actions, de maximiser le gain qu’il reçoit durant sonexécution.
La mesure du gainI Une mesure adaptée pour une application.I 3 mesures classiques :
I Le gain cumulé avec horizon infini :
Rt = rt+1 + rt+2 + rt+3 + . . .+ rT =T∑
i=t+1
ri
I Le gain cumulé avec intérêt et horizon infini :
Rt = rt+1 + γrt+2 + γ2rt+3 + γk . . .+ rT =T∑
k=0
γk rt+k+1, avec
0 ≤ γ ≤ 1
I Le gain en moyenne : Rt =1
T − 1
T∑i=t+1
ri
Apprentissage artificiel
Fabien Teytaud
Intro
Supervisé
Non supervisé
Par renforcementUCB
Q-learning
Le compromis exploration contre exploitation
Apprentissage artificiel
Fabien Teytaud
Intro
Supervisé
Non supervisé
Par renforcementUCB
Q-learning
Le compromis exploration contre exploitation
Supposons que nous avons n bras. On les essaietous une fois. Ensuite, quelle stratégie adopter?I Exploitation pure : prendre le bras avec le meilleur gain,
et le choisir pour tous les tirages.I Exploration pure : essayer tous les bras un nombre de
fois équivalent.
⇒ La stratégie optimale se situe entre les deux.
Apprentissage artificiel
Fabien Teytaud
Intro
Supervisé
Non supervisé
Par renforcementUCB
Q-learning
Le compromis exploration contre exploitation
Un exemple : Upper Confidence BoundPour chaque bras i , on calcule le score :
UCB1 = xi +
√2xlog(n)
ni
[Auer et al, 2002]
Apprentissage artificiel
Fabien Teytaud
Intro
Supervisé
Non supervisé
Par renforcementUCB
Q-learning
Sommaire
Introduction
Apprentissage supervisé
Apprentissage non supervisé
Apprentissage par renforcementUpper Confidence BoundQ-learning
Apprentissage artificiel
Fabien Teytaud
Intro
Supervisé
Non supervisé
Par renforcementUCB
Q-learning
Monte-Carlo
La méthode Monte-CarloI Si rien n’est connu, il ne faut pas oublier l’aléatoire.I L’idée est d’estimer les possibilités à l’aide
d’échantillonnage.I On se base alors sur la moyenne de gain pour chaque
état.I On calcule une approximation de l’espérance empirique :
Vπ(s) = Eπ{Rt |st = s}
Apprentissage artificiel
Fabien Teytaud
Intro
Supervisé
Non supervisé
Par renforcementUCB
Q-learning
Sommaire
Introduction
Apprentissage supervisé
Apprentissage non supervisé
Apprentissage par renforcementUpper Confidence BoundQ-learning