Apprentissage artificiel Fabien Teytaud Intro Supervisé Non...

160
Apprentissage artificiel Fabien Teytaud Intro Supervisé Non supervisé Par renforcement Apprentissage artificiel Fabien Teytaud Université du Littoral Cote d’Opale 25 août 2020

Transcript of Apprentissage artificiel Fabien Teytaud Intro Supervisé Non...

Page 1: Apprentissage artificiel Fabien Teytaud Intro Supervisé Non ...teytaud/files/Cours/Ap...Apprentissage artificiel Fabien Teytaud Intro Supervisé Non supervisé Par renforcement

Apprentissage artificiel

Fabien Teytaud

Intro

Supervisé

Non supervisé

Par renforcement

Apprentissage artificiel

Fabien Teytaud

Université du Littoral Cote d’Opale

25 août 2020

Page 2: Apprentissage artificiel Fabien Teytaud Intro Supervisé Non ...teytaud/files/Cours/Ap...Apprentissage artificiel Fabien Teytaud Intro Supervisé Non supervisé Par renforcement

Apprentissage artificiel

Fabien Teytaud

Intro

Supervisé

Non supervisé

Par renforcement

Avant toute chose ...

Référence

Bulco : 006.3 COR A

Page 3: Apprentissage artificiel Fabien Teytaud Intro Supervisé Non ...teytaud/files/Cours/Ap...Apprentissage artificiel Fabien Teytaud Intro Supervisé Non supervisé Par renforcement

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.

Page 4: Apprentissage artificiel Fabien Teytaud Intro Supervisé Non ...teytaud/files/Cours/Ap...Apprentissage artificiel Fabien Teytaud Intro Supervisé Non supervisé Par renforcement

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 ...

Page 5: Apprentissage artificiel Fabien Teytaud Intro Supervisé Non ...teytaud/files/Cours/Ap...Apprentissage artificiel Fabien Teytaud Intro Supervisé Non supervisé Par renforcement

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.

Page 6: Apprentissage artificiel Fabien Teytaud Intro Supervisé Non ...teytaud/files/Cours/Ap...Apprentissage artificiel Fabien Teytaud Intro Supervisé Non supervisé Par renforcement

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.

Page 7: Apprentissage artificiel Fabien Teytaud Intro Supervisé Non ...teytaud/files/Cours/Ap...Apprentissage artificiel Fabien Teytaud Intro Supervisé Non supervisé Par renforcement

Apprentissage artificiel

Fabien Teytaud

Intro

Supervisé

Non supervisé

Par renforcement

Un premier exemple

1. Observation de l’amateur.

Page 8: Apprentissage artificiel Fabien Teytaud Intro Supervisé Non ...teytaud/files/Cours/Ap...Apprentissage artificiel Fabien Teytaud Intro Supervisé Non supervisé Par renforcement

Apprentissage artificiel

Fabien Teytaud

Intro

Supervisé

Non supervisé

Par renforcement

Un premier exemple

petit grandTaille de l'observation

blanc

clair

fonce

Couleu

r

Page 9: Apprentissage artificiel Fabien Teytaud Intro Supervisé Non ...teytaud/files/Cours/Ap...Apprentissage artificiel Fabien Teytaud Intro Supervisé Non supervisé Par renforcement

Apprentissage artificiel

Fabien Teytaud

Intro

Supervisé

Non supervisé

Par renforcement

Un premier exemple

1. Observation de l’amateur.2. Étiquetage de l’expert.

Page 10: Apprentissage artificiel Fabien Teytaud Intro Supervisé Non ...teytaud/files/Cours/Ap...Apprentissage artificiel Fabien Teytaud Intro Supervisé Non supervisé Par renforcement

Apprentissage artificiel

Fabien Teytaud

Intro

Supervisé

Non supervisé

Par renforcement

Un premier exemple

petit grandTaille de l'observation

blanc

clair

fonce

Couleu

r

mouettesgoelands

Page 11: Apprentissage artificiel Fabien Teytaud Intro Supervisé Non ...teytaud/files/Cours/Ap...Apprentissage artificiel Fabien Teytaud Intro Supervisé Non supervisé Par renforcement

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.

Page 12: Apprentissage artificiel Fabien Teytaud Intro Supervisé Non ...teytaud/files/Cours/Ap...Apprentissage artificiel Fabien Teytaud Intro Supervisé Non supervisé Par renforcement

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

Page 13: Apprentissage artificiel Fabien Teytaud Intro Supervisé Non ...teytaud/files/Cours/Ap...Apprentissage artificiel Fabien Teytaud Intro Supervisé Non supervisé Par renforcement

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

Page 14: Apprentissage artificiel Fabien Teytaud Intro Supervisé Non ...teytaud/files/Cours/Ap...Apprentissage artificiel Fabien Teytaud Intro Supervisé Non supervisé Par renforcement

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.

Page 15: Apprentissage artificiel Fabien Teytaud Intro Supervisé Non ...teytaud/files/Cours/Ap...Apprentissage artificiel Fabien Teytaud Intro Supervisé Non supervisé Par renforcement

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

Page 16: Apprentissage artificiel Fabien Teytaud Intro Supervisé Non ...teytaud/files/Cours/Ap...Apprentissage artificiel Fabien Teytaud Intro Supervisé Non supervisé Par renforcement

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.

Page 17: Apprentissage artificiel Fabien Teytaud Intro Supervisé Non ...teytaud/files/Cours/Ap...Apprentissage artificiel Fabien Teytaud Intro Supervisé Non supervisé Par renforcement

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

Page 18: Apprentissage artificiel Fabien Teytaud Intro Supervisé Non ...teytaud/files/Cours/Ap...Apprentissage artificiel Fabien Teytaud Intro Supervisé Non supervisé Par renforcement

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.

Page 19: Apprentissage artificiel Fabien Teytaud Intro Supervisé Non ...teytaud/files/Cours/Ap...Apprentissage artificiel Fabien Teytaud Intro Supervisé Non supervisé Par renforcement

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.

Page 20: Apprentissage artificiel Fabien Teytaud Intro Supervisé Non ...teytaud/files/Cours/Ap...Apprentissage artificiel Fabien Teytaud Intro Supervisé Non supervisé Par renforcement

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

Page 21: Apprentissage artificiel Fabien Teytaud Intro Supervisé Non ...teytaud/files/Cours/Ap...Apprentissage artificiel Fabien Teytaud Intro Supervisé Non supervisé Par renforcement

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.

Page 22: Apprentissage artificiel Fabien Teytaud Intro Supervisé Non ...teytaud/files/Cours/Ap...Apprentissage artificiel Fabien Teytaud Intro Supervisé Non supervisé Par renforcement

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.

Page 23: Apprentissage artificiel Fabien Teytaud Intro Supervisé Non ...teytaud/files/Cours/Ap...Apprentissage artificiel Fabien Teytaud Intro Supervisé Non supervisé Par renforcement

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).

Page 24: Apprentissage artificiel Fabien Teytaud Intro Supervisé Non ...teytaud/files/Cours/Ap...Apprentissage artificiel Fabien Teytaud Intro Supervisé Non supervisé Par renforcement

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).

Page 25: Apprentissage artificiel Fabien Teytaud Intro Supervisé Non ...teytaud/files/Cours/Ap...Apprentissage artificiel Fabien Teytaud Intro Supervisé Non supervisé Par renforcement

Apprentissage artificiel

Fabien Teytaud

Intro

Supervisé

Non supervisé

Par renforcement

Exercices

TP d’initiation en Python

Page 26: Apprentissage artificiel Fabien Teytaud Intro Supervisé Non ...teytaud/files/Cours/Ap...Apprentissage artificiel Fabien Teytaud Intro Supervisé Non supervisé 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

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

Page 27: Apprentissage artificiel Fabien Teytaud Intro Supervisé Non ...teytaud/files/Cours/Ap...Apprentissage artificiel Fabien Teytaud Intro Supervisé Non supervisé 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.

Page 28: Apprentissage artificiel Fabien Teytaud Intro Supervisé Non ...teytaud/files/Cours/Ap...Apprentissage artificiel Fabien Teytaud Intro Supervisé Non supervisé 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

Principe de l’algo

Comment classer le carré noir ?

−10 −5 0 5 10

−10

−5

05

10

X1

X2

Page 29: Apprentissage artificiel Fabien Teytaud Intro Supervisé Non ...teytaud/files/Cours/Ap...Apprentissage artificiel Fabien Teytaud Intro Supervisé Non supervisé 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

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

Page 30: Apprentissage artificiel Fabien Teytaud Intro Supervisé Non ...teytaud/files/Cours/Ap...Apprentissage artificiel Fabien Teytaud Intro Supervisé Non supervisé 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

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.

Page 31: Apprentissage artificiel Fabien Teytaud Intro Supervisé Non ...teytaud/files/Cours/Ap...Apprentissage artificiel Fabien Teytaud Intro Supervisé Non supervisé 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

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

●●●

●●

●●●

Page 32: Apprentissage artificiel Fabien Teytaud Intro Supervisé Non ...teytaud/files/Cours/Ap...Apprentissage artificiel Fabien Teytaud Intro Supervisé Non supervisé 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

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

●●●

●●

●●●

Page 33: Apprentissage artificiel Fabien Teytaud Intro Supervisé Non ...teytaud/files/Cours/Ap...Apprentissage artificiel Fabien Teytaud Intro Supervisé Non supervisé 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

Principe de l’algo

Apprentissage d’un modèle non linéaire

Page 34: Apprentissage artificiel Fabien Teytaud Intro Supervisé Non ...teytaud/files/Cours/Ap...Apprentissage artificiel Fabien Teytaud Intro Supervisé Non supervisé 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

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

●●●

●●

●●●

Page 35: Apprentissage artificiel Fabien Teytaud Intro Supervisé Non ...teytaud/files/Cours/Ap...Apprentissage artificiel Fabien Teytaud Intro Supervisé Non supervisé 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

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.

Page 36: Apprentissage artificiel Fabien Teytaud Intro Supervisé Non ...teytaud/files/Cours/Ap...Apprentissage artificiel Fabien Teytaud Intro Supervisé Non supervisé 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

Choix de k?

I Pour étiqueter un point, on choisit la classe dominanteparmi les k plus proches voisins.

[http ://www.statsoft.fr]

Page 37: Apprentissage artificiel Fabien Teytaud Intro Supervisé Non ...teytaud/files/Cours/Ap...Apprentissage artificiel Fabien Teytaud Intro Supervisé Non supervisé 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

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.

Page 38: Apprentissage artificiel Fabien Teytaud Intro Supervisé Non ...teytaud/files/Cours/Ap...Apprentissage artificiel Fabien Teytaud Intro Supervisé Non supervisé 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

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 .

Page 39: Apprentissage artificiel Fabien Teytaud Intro Supervisé Non ...teytaud/files/Cours/Ap...Apprentissage artificiel Fabien Teytaud Intro Supervisé Non supervisé 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

Exercices

TP sur les k plus proches voisins

Page 40: Apprentissage artificiel Fabien Teytaud Intro Supervisé Non ...teytaud/files/Cours/Ap...Apprentissage artificiel Fabien Teytaud Intro Supervisé Non supervisé 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

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

Page 41: Apprentissage artificiel Fabien Teytaud Intro Supervisé Non ...teytaud/files/Cours/Ap...Apprentissage artificiel Fabien Teytaud Intro Supervisé Non supervisé 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.

Page 42: Apprentissage artificiel Fabien Teytaud Intro Supervisé Non ...teytaud/files/Cours/Ap...Apprentissage artificiel Fabien Teytaud Intro Supervisé Non supervisé 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

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).

Page 43: Apprentissage artificiel Fabien Teytaud Intro Supervisé Non ...teytaud/files/Cours/Ap...Apprentissage artificiel Fabien Teytaud Intro Supervisé Non supervisé 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

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?

Page 44: Apprentissage artificiel Fabien Teytaud Intro Supervisé Non ...teytaud/files/Cours/Ap...Apprentissage artificiel Fabien Teytaud Intro Supervisé Non supervisé 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

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

Page 45: Apprentissage artificiel Fabien Teytaud Intro Supervisé Non ...teytaud/files/Cours/Ap...Apprentissage artificiel Fabien Teytaud Intro Supervisé Non supervisé 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

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.

Page 46: Apprentissage artificiel Fabien Teytaud Intro Supervisé Non ...teytaud/files/Cours/Ap...Apprentissage artificiel Fabien Teytaud Intro Supervisé Non supervisé 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

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

Page 47: Apprentissage artificiel Fabien Teytaud Intro Supervisé Non ...teytaud/files/Cours/Ap...Apprentissage artificiel Fabien Teytaud Intro Supervisé Non supervisé 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

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 .

Page 48: Apprentissage artificiel Fabien Teytaud Intro Supervisé Non ...teytaud/files/Cours/Ap...Apprentissage artificiel Fabien Teytaud Intro Supervisé Non supervisé 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

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 ).

Page 49: Apprentissage artificiel Fabien Teytaud Intro Supervisé Non ...teytaud/files/Cours/Ap...Apprentissage artificiel Fabien Teytaud Intro Supervisé Non supervisé 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

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)

Page 50: Apprentissage artificiel Fabien Teytaud Intro Supervisé Non ...teytaud/files/Cours/Ap...Apprentissage artificiel Fabien Teytaud Intro Supervisé Non supervisé 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

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.

Page 51: Apprentissage artificiel Fabien Teytaud Intro Supervisé Non ...teytaud/files/Cours/Ap...Apprentissage artificiel Fabien Teytaud Intro Supervisé Non supervisé 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

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)

Page 52: Apprentissage artificiel Fabien Teytaud Intro Supervisé Non ...teytaud/files/Cours/Ap...Apprentissage artificiel Fabien Teytaud Intro Supervisé Non supervisé 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

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

Page 53: Apprentissage artificiel Fabien Teytaud Intro Supervisé Non ...teytaud/files/Cours/Ap...Apprentissage artificiel Fabien Teytaud Intro Supervisé Non supervisé 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

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

Page 54: Apprentissage artificiel Fabien Teytaud Intro Supervisé Non ...teytaud/files/Cours/Ap...Apprentissage artificiel Fabien Teytaud Intro Supervisé Non supervisé 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

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 )

Page 55: Apprentissage artificiel Fabien Teytaud Intro Supervisé Non ...teytaud/files/Cours/Ap...Apprentissage artificiel Fabien Teytaud Intro Supervisé Non supervisé 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

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.

Page 56: Apprentissage artificiel Fabien Teytaud Intro Supervisé Non ...teytaud/files/Cours/Ap...Apprentissage artificiel Fabien Teytaud Intro Supervisé Non supervisé 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

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).

Page 57: Apprentissage artificiel Fabien Teytaud Intro Supervisé Non ...teytaud/files/Cours/Ap...Apprentissage artificiel Fabien Teytaud Intro Supervisé Non supervisé 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

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

Page 58: Apprentissage artificiel Fabien Teytaud Intro Supervisé Non ...teytaud/files/Cours/Ap...Apprentissage artificiel Fabien Teytaud Intro Supervisé Non supervisé 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

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?”

Page 59: Apprentissage artificiel Fabien Teytaud Intro Supervisé Non ...teytaud/files/Cours/Ap...Apprentissage artificiel Fabien Teytaud Intro Supervisé Non supervisé 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

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

Page 60: Apprentissage artificiel Fabien Teytaud Intro Supervisé Non ...teytaud/files/Cours/Ap...Apprentissage artificiel Fabien Teytaud Intro Supervisé Non supervisé 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

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

Page 61: Apprentissage artificiel Fabien Teytaud Intro Supervisé Non ...teytaud/files/Cours/Ap...Apprentissage artificiel Fabien Teytaud Intro Supervisé Non supervisé 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

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

Page 62: Apprentissage artificiel Fabien Teytaud Intro Supervisé Non ...teytaud/files/Cours/Ap...Apprentissage artificiel Fabien Teytaud Intro Supervisé Non supervisé 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

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é?”.

Page 63: Apprentissage artificiel Fabien Teytaud Intro Supervisé Non ...teytaud/files/Cours/Ap...Apprentissage artificiel Fabien Teytaud Intro Supervisé Non supervisé 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

É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.

Page 64: Apprentissage artificiel Fabien Teytaud Intro Supervisé Non ...teytaud/files/Cours/Ap...Apprentissage artificiel Fabien Teytaud Intro Supervisé Non supervisé 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

É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.

Page 65: Apprentissage artificiel Fabien Teytaud Intro Supervisé Non ...teytaud/files/Cours/Ap...Apprentissage artificiel Fabien Teytaud Intro Supervisé Non supervisé 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

É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.

Page 66: Apprentissage artificiel Fabien Teytaud Intro Supervisé Non ...teytaud/files/Cours/Ap...Apprentissage artificiel Fabien Teytaud Intro Supervisé Non supervisé 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

É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

Page 67: Apprentissage artificiel Fabien Teytaud Intro Supervisé Non ...teytaud/files/Cours/Ap...Apprentissage artificiel Fabien Teytaud Intro Supervisé Non supervisé 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

Un exemple d’élagage

a X1

X2

b

c

d

* *

* *

*

*

* *

*

o

o

o

o

o

o

o

o

oo

Page 68: Apprentissage artificiel Fabien Teytaud Intro Supervisé Non ...teytaud/files/Cours/Ap...Apprentissage artificiel Fabien Teytaud Intro Supervisé Non supervisé 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

Un exemple d’élagage

x1 > a ?

x2 > c ?

x2 > d ?

* o

*

x2 > b ?

* o

faux

faux

faux

vrai

vrai

vraifa

ux

vrai

Page 69: Apprentissage artificiel Fabien Teytaud Intro Supervisé Non ...teytaud/files/Cours/Ap...Apprentissage artificiel Fabien Teytaud Intro Supervisé Non supervisé 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

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

Page 70: Apprentissage artificiel Fabien Teytaud Intro Supervisé Non ...teytaud/files/Cours/Ap...Apprentissage artificiel Fabien Teytaud Intro Supervisé Non supervisé 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

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

Page 71: Apprentissage artificiel Fabien Teytaud Intro Supervisé Non ...teytaud/files/Cours/Ap...Apprentissage artificiel Fabien Teytaud Intro Supervisé Non supervisé 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

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

Page 72: Apprentissage artificiel Fabien Teytaud Intro Supervisé Non ...teytaud/files/Cours/Ap...Apprentissage artificiel Fabien Teytaud Intro Supervisé Non supervisé 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

Un exemple d’élagage

On obtient T1

x1 > a ?

* x2 > b ?

* o

faux

vrai

faux

vrai

Page 73: Apprentissage artificiel Fabien Teytaud Intro Supervisé Non ...teytaud/files/Cours/Ap...Apprentissage artificiel Fabien Teytaud Intro Supervisé Non supervisé 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

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

Page 74: Apprentissage artificiel Fabien Teytaud Intro Supervisé Non ...teytaud/files/Cours/Ap...Apprentissage artificiel Fabien Teytaud Intro Supervisé Non supervisé 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

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

Page 75: Apprentissage artificiel Fabien Teytaud Intro Supervisé Non ...teytaud/files/Cours/Ap...Apprentissage artificiel Fabien Teytaud Intro Supervisé Non supervisé 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

Un exemple d’élagage

On obtient T2

x1 > a ?

* o

faux

vrai

Page 76: Apprentissage artificiel Fabien Teytaud Intro Supervisé Non ...teytaud/files/Cours/Ap...Apprentissage artificiel Fabien Teytaud Intro Supervisé Non supervisé 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

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.

Page 77: Apprentissage artificiel Fabien Teytaud Intro Supervisé Non ...teytaud/files/Cours/Ap...Apprentissage artificiel Fabien Teytaud Intro Supervisé Non supervisé 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

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

Page 78: Apprentissage artificiel Fabien Teytaud Intro Supervisé Non ...teytaud/files/Cours/Ap...Apprentissage artificiel Fabien Teytaud Intro Supervisé Non supervisé 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

Exercices

TD Arbre de décisions

Page 79: Apprentissage artificiel Fabien Teytaud Intro Supervisé Non ...teytaud/files/Cours/Ap...Apprentissage artificiel Fabien Teytaud Intro Supervisé Non supervisé 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

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

Page 80: Apprentissage artificiel Fabien Teytaud Intro Supervisé Non ...teytaud/files/Cours/Ap...Apprentissage artificiel Fabien Teytaud Intro Supervisé Non supervisé 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)

Page 81: Apprentissage artificiel Fabien Teytaud Intro Supervisé Non ...teytaud/files/Cours/Ap...Apprentissage artificiel Fabien Teytaud Intro Supervisé Non supervisé 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

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.

Page 82: Apprentissage artificiel Fabien Teytaud Intro Supervisé Non ...teytaud/files/Cours/Ap...Apprentissage artificiel Fabien Teytaud Intro Supervisé Non supervisé 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é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.

Page 83: Apprentissage artificiel Fabien Teytaud Intro Supervisé Non ...teytaud/files/Cours/Ap...Apprentissage artificiel Fabien Teytaud Intro Supervisé Non supervisé 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

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.

Page 84: Apprentissage artificiel Fabien Teytaud Intro Supervisé Non ...teytaud/files/Cours/Ap...Apprentissage artificiel Fabien Teytaud Intro Supervisé Non supervisé 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

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.

Page 85: Apprentissage artificiel Fabien Teytaud Intro Supervisé Non ...teytaud/files/Cours/Ap...Apprentissage artificiel Fabien Teytaud Intro Supervisé Non supervisé 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

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

Page 86: Apprentissage artificiel Fabien Teytaud Intro Supervisé Non ...teytaud/files/Cours/Ap...Apprentissage artificiel Fabien Teytaud Intro Supervisé Non supervisé 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

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

Page 87: Apprentissage artificiel Fabien Teytaud Intro Supervisé Non ...teytaud/files/Cours/Ap...Apprentissage artificiel Fabien Teytaud Intro Supervisé Non supervisé 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

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

Page 88: Apprentissage artificiel Fabien Teytaud Intro Supervisé Non ...teytaud/files/Cours/Ap...Apprentissage artificiel Fabien Teytaud Intro Supervisé Non supervisé 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

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

Page 89: Apprentissage artificiel Fabien Teytaud Intro Supervisé Non ...teytaud/files/Cours/Ap...Apprentissage artificiel Fabien Teytaud Intro Supervisé Non supervisé 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

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

Page 90: Apprentissage artificiel Fabien Teytaud Intro Supervisé Non ...teytaud/files/Cours/Ap...Apprentissage artificiel Fabien Teytaud Intro Supervisé Non supervisé 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

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

Page 91: Apprentissage artificiel Fabien Teytaud Intro Supervisé Non ...teytaud/files/Cours/Ap...Apprentissage artificiel Fabien Teytaud Intro Supervisé Non supervisé 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

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

Page 92: Apprentissage artificiel Fabien Teytaud Intro Supervisé Non ...teytaud/files/Cours/Ap...Apprentissage artificiel Fabien Teytaud Intro Supervisé Non supervisé 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

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

Page 93: Apprentissage artificiel Fabien Teytaud Intro Supervisé Non ...teytaud/files/Cours/Ap...Apprentissage artificiel Fabien Teytaud Intro Supervisé Non supervisé 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

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

Page 94: Apprentissage artificiel Fabien Teytaud Intro Supervisé Non ...teytaud/files/Cours/Ap...Apprentissage artificiel Fabien Teytaud Intro Supervisé Non supervisé 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

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

Page 95: Apprentissage artificiel Fabien Teytaud Intro Supervisé Non ...teytaud/files/Cours/Ap...Apprentissage artificiel Fabien Teytaud Intro Supervisé Non supervisé 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

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

Page 96: Apprentissage artificiel Fabien Teytaud Intro Supervisé Non ...teytaud/files/Cours/Ap...Apprentissage artificiel Fabien Teytaud Intro Supervisé Non supervisé 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

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

Page 97: Apprentissage artificiel Fabien Teytaud Intro Supervisé Non ...teytaud/files/Cours/Ap...Apprentissage artificiel Fabien Teytaud Intro Supervisé Non supervisé 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

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

Page 98: Apprentissage artificiel Fabien Teytaud Intro Supervisé Non ...teytaud/files/Cours/Ap...Apprentissage artificiel Fabien Teytaud Intro Supervisé Non supervisé 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.

Page 99: Apprentissage artificiel Fabien Teytaud Intro Supervisé Non ...teytaud/files/Cours/Ap...Apprentissage artificiel Fabien Teytaud Intro Supervisé Non supervisé 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

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.

Page 100: Apprentissage artificiel Fabien Teytaud Intro Supervisé Non ...teytaud/files/Cours/Ap...Apprentissage artificiel Fabien Teytaud Intro Supervisé Non supervisé 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

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 )

Page 101: Apprentissage artificiel Fabien Teytaud Intro Supervisé Non ...teytaud/files/Cours/Ap...Apprentissage artificiel Fabien Teytaud Intro Supervisé Non supervisé 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

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

Page 102: Apprentissage artificiel Fabien Teytaud Intro Supervisé Non ...teytaud/files/Cours/Ap...Apprentissage artificiel Fabien Teytaud Intro Supervisé Non supervisé 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

Structure des réseaux multicouches

Structure [wikipedia]

Page 103: Apprentissage artificiel Fabien Teytaud Intro Supervisé Non ...teytaud/files/Cours/Ap...Apprentissage artificiel Fabien Teytaud Intro Supervisé Non supervisé 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

Structure des réseaux multicouches

Structure [wikipedia]

Page 104: Apprentissage artificiel Fabien Teytaud Intro Supervisé Non ...teytaud/files/Cours/Ap...Apprentissage artificiel Fabien Teytaud Intro Supervisé Non supervisé 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

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.

Page 105: Apprentissage artificiel Fabien Teytaud Intro Supervisé Non ...teytaud/files/Cours/Ap...Apprentissage artificiel Fabien Teytaud Intro Supervisé Non supervisé 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

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.

Page 106: Apprentissage artificiel Fabien Teytaud Intro Supervisé Non ...teytaud/files/Cours/Ap...Apprentissage artificiel Fabien Teytaud Intro Supervisé Non supervisé 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

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

Page 107: Apprentissage artificiel Fabien Teytaud Intro Supervisé Non ...teytaud/files/Cours/Ap...Apprentissage artificiel Fabien Teytaud Intro Supervisé Non supervisé 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

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)

Page 108: Apprentissage artificiel Fabien Teytaud Intro Supervisé Non ...teytaud/files/Cours/Ap...Apprentissage artificiel Fabien Teytaud Intro Supervisé Non supervisé 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

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

Page 109: Apprentissage artificiel Fabien Teytaud Intro Supervisé Non ...teytaud/files/Cours/Ap...Apprentissage artificiel Fabien Teytaud Intro Supervisé Non supervisé 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

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

Page 110: Apprentissage artificiel Fabien Teytaud Intro Supervisé Non ...teytaud/files/Cours/Ap...Apprentissage artificiel Fabien Teytaud Intro Supervisé Non supervisé 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

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

Page 111: Apprentissage artificiel Fabien Teytaud Intro Supervisé Non ...teytaud/files/Cours/Ap...Apprentissage artificiel Fabien Teytaud Intro Supervisé Non supervisé 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

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).

Page 112: Apprentissage artificiel Fabien Teytaud Intro Supervisé Non ...teytaud/files/Cours/Ap...Apprentissage artificiel Fabien Teytaud Intro Supervisé Non supervisé 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

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

Page 113: Apprentissage artificiel Fabien Teytaud Intro Supervisé Non ...teytaud/files/Cours/Ap...Apprentissage artificiel Fabien Teytaud Intro Supervisé Non supervisé 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

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

Page 114: Apprentissage artificiel Fabien Teytaud Intro Supervisé Non ...teytaud/files/Cours/Ap...Apprentissage artificiel Fabien Teytaud Intro Supervisé Non supervisé 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

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

Page 115: Apprentissage artificiel Fabien Teytaud Intro Supervisé Non ...teytaud/files/Cours/Ap...Apprentissage artificiel Fabien Teytaud Intro Supervisé Non supervisé 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

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.

Page 116: Apprentissage artificiel Fabien Teytaud Intro Supervisé Non ...teytaud/files/Cours/Ap...Apprentissage artificiel Fabien Teytaud Intro Supervisé Non supervisé 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

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

Page 117: Apprentissage artificiel Fabien Teytaud Intro Supervisé Non ...teytaud/files/Cours/Ap...Apprentissage artificiel Fabien Teytaud Intro Supervisé Non supervisé 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)

Page 118: Apprentissage artificiel Fabien Teytaud Intro Supervisé Non ...teytaud/files/Cours/Ap...Apprentissage artificiel Fabien Teytaud Intro Supervisé Non supervisé 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 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

Page 119: Apprentissage artificiel Fabien Teytaud Intro Supervisé Non ...teytaud/files/Cours/Ap...Apprentissage artificiel Fabien Teytaud Intro Supervisé Non supervisé 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

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)

Page 120: Apprentissage artificiel Fabien Teytaud Intro Supervisé Non ...teytaud/files/Cours/Ap...Apprentissage artificiel Fabien Teytaud Intro Supervisé Non supervisé 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

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.

Page 121: Apprentissage artificiel Fabien Teytaud Intro Supervisé Non ...teytaud/files/Cours/Ap...Apprentissage artificiel Fabien Teytaud Intro Supervisé Non supervisé 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

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?

Page 122: Apprentissage artificiel Fabien Teytaud Intro Supervisé Non ...teytaud/files/Cours/Ap...Apprentissage artificiel Fabien Teytaud Intro Supervisé Non supervisé 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 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.

Page 123: Apprentissage artificiel Fabien Teytaud Intro Supervisé Non ...teytaud/files/Cours/Ap...Apprentissage artificiel Fabien Teytaud Intro Supervisé Non supervisé 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

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. . . . . .

Page 124: Apprentissage artificiel Fabien Teytaud Intro Supervisé Non ...teytaud/files/Cours/Ap...Apprentissage artificiel Fabien Teytaud Intro Supervisé Non supervisé 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

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. . . . . .

Page 125: Apprentissage artificiel Fabien Teytaud Intro Supervisé Non ...teytaud/files/Cours/Ap...Apprentissage artificiel Fabien Teytaud Intro Supervisé Non supervisé 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

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. . . . . .

Page 126: Apprentissage artificiel Fabien Teytaud Intro Supervisé Non ...teytaud/files/Cours/Ap...Apprentissage artificiel Fabien Teytaud Intro Supervisé Non supervisé 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

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. . . . . .

Page 127: Apprentissage artificiel Fabien Teytaud Intro Supervisé Non ...teytaud/files/Cours/Ap...Apprentissage artificiel Fabien Teytaud Intro Supervisé Non supervisé 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

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

Page 128: Apprentissage artificiel Fabien Teytaud Intro Supervisé Non ...teytaud/files/Cours/Ap...Apprentissage artificiel Fabien Teytaud Intro Supervisé Non supervisé 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

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

Page 129: Apprentissage artificiel Fabien Teytaud Intro Supervisé Non ...teytaud/files/Cours/Ap...Apprentissage artificiel Fabien Teytaud Intro Supervisé Non supervisé 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

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

Page 130: Apprentissage artificiel Fabien Teytaud Intro Supervisé Non ...teytaud/files/Cours/Ap...Apprentissage artificiel Fabien Teytaud Intro Supervisé Non supervisé 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

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

Page 131: Apprentissage artificiel Fabien Teytaud Intro Supervisé Non ...teytaud/files/Cours/Ap...Apprentissage artificiel Fabien Teytaud Intro Supervisé Non supervisé 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

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

Page 132: Apprentissage artificiel Fabien Teytaud Intro Supervisé Non ...teytaud/files/Cours/Ap...Apprentissage artificiel Fabien Teytaud Intro Supervisé Non supervisé 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

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

Page 133: Apprentissage artificiel Fabien Teytaud Intro Supervisé Non ...teytaud/files/Cours/Ap...Apprentissage artificiel Fabien Teytaud Intro Supervisé Non supervisé 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

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

Page 134: Apprentissage artificiel Fabien Teytaud Intro Supervisé Non ...teytaud/files/Cours/Ap...Apprentissage artificiel Fabien Teytaud Intro Supervisé Non supervisé 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

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|

Page 135: Apprentissage artificiel Fabien Teytaud Intro Supervisé Non ...teytaud/files/Cours/Ap...Apprentissage artificiel Fabien Teytaud Intro Supervisé Non supervisé 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

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|

Page 136: Apprentissage artificiel Fabien Teytaud Intro Supervisé Non ...teytaud/files/Cours/Ap...Apprentissage artificiel Fabien Teytaud Intro Supervisé Non supervisé 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

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>

Page 137: Apprentissage artificiel Fabien Teytaud Intro Supervisé Non ...teytaud/files/Cours/Ap...Apprentissage artificiel Fabien Teytaud Intro Supervisé Non supervisé 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

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|-)

Page 138: Apprentissage artificiel Fabien Teytaud Intro Supervisé Non ...teytaud/files/Cours/Ap...Apprentissage artificiel Fabien Teytaud Intro Supervisé Non supervisé 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

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.

Page 139: Apprentissage artificiel Fabien Teytaud Intro Supervisé Non ...teytaud/files/Cours/Ap...Apprentissage artificiel Fabien Teytaud Intro Supervisé Non supervisé 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

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.

Page 140: Apprentissage artificiel Fabien Teytaud Intro Supervisé Non ...teytaud/files/Cours/Ap...Apprentissage artificiel Fabien Teytaud Intro Supervisé Non supervisé 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

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.

Page 141: Apprentissage artificiel Fabien Teytaud Intro Supervisé Non ...teytaud/files/Cours/Ap...Apprentissage artificiel Fabien Teytaud Intro Supervisé Non supervisé Par renforcement

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

Page 142: Apprentissage artificiel Fabien Teytaud Intro Supervisé Non ...teytaud/files/Cours/Ap...Apprentissage artificiel Fabien Teytaud Intro Supervisé Non supervisé 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.

Page 143: Apprentissage artificiel Fabien Teytaud Intro Supervisé Non ...teytaud/files/Cours/Ap...Apprentissage artificiel Fabien Teytaud Intro Supervisé Non supervisé Par renforcement

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

Page 144: Apprentissage artificiel Fabien Teytaud Intro Supervisé Non ...teytaud/files/Cours/Ap...Apprentissage artificiel Fabien Teytaud Intro Supervisé Non supervisé Par renforcement

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

Page 145: Apprentissage artificiel Fabien Teytaud Intro Supervisé Non ...teytaud/files/Cours/Ap...Apprentissage artificiel Fabien Teytaud Intro Supervisé Non supervisé Par renforcement

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).

Page 146: Apprentissage artificiel Fabien Teytaud Intro Supervisé Non ...teytaud/files/Cours/Ap...Apprentissage artificiel Fabien Teytaud Intro Supervisé Non supervisé Par renforcement

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

Page 147: Apprentissage artificiel Fabien Teytaud Intro Supervisé Non ...teytaud/files/Cours/Ap...Apprentissage artificiel Fabien Teytaud Intro Supervisé Non supervisé Par renforcement

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.

Page 148: Apprentissage artificiel Fabien Teytaud Intro Supervisé Non ...teytaud/files/Cours/Ap...Apprentissage artificiel Fabien Teytaud Intro Supervisé Non supervisé Par renforcement

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

Page 149: Apprentissage artificiel Fabien Teytaud Intro Supervisé Non ...teytaud/files/Cours/Ap...Apprentissage artificiel Fabien Teytaud Intro Supervisé Non supervisé Par renforcement

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.

Page 150: Apprentissage artificiel Fabien Teytaud Intro Supervisé Non ...teytaud/files/Cours/Ap...Apprentissage artificiel Fabien Teytaud Intro Supervisé Non supervisé Par renforcement

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.

Page 151: Apprentissage artificiel Fabien Teytaud Intro Supervisé Non ...teytaud/files/Cours/Ap...Apprentissage artificiel Fabien Teytaud Intro Supervisé Non supervisé Par renforcement

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, ...

Page 152: Apprentissage artificiel Fabien Teytaud Intro Supervisé Non ...teytaud/files/Cours/Ap...Apprentissage artificiel Fabien Teytaud Intro Supervisé Non supervisé Par renforcement

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 π.

Page 153: Apprentissage artificiel Fabien Teytaud Intro Supervisé Non ...teytaud/files/Cours/Ap...Apprentissage artificiel Fabien Teytaud Intro Supervisé Non supervisé Par renforcement

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.

Page 154: Apprentissage artificiel Fabien Teytaud Intro Supervisé Non ...teytaud/files/Cours/Ap...Apprentissage artificiel Fabien Teytaud Intro Supervisé Non supervisé Par renforcement

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

Page 155: Apprentissage artificiel Fabien Teytaud Intro Supervisé Non ...teytaud/files/Cours/Ap...Apprentissage artificiel Fabien Teytaud Intro Supervisé Non supervisé Par renforcement

Apprentissage artificiel

Fabien Teytaud

Intro

Supervisé

Non supervisé

Par renforcementUCB

Q-learning

Le compromis exploration contre exploitation

Page 156: Apprentissage artificiel Fabien Teytaud Intro Supervisé Non ...teytaud/files/Cours/Ap...Apprentissage artificiel Fabien Teytaud Intro Supervisé Non supervisé Par renforcement

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.

Page 157: Apprentissage artificiel Fabien Teytaud Intro Supervisé Non ...teytaud/files/Cours/Ap...Apprentissage artificiel Fabien Teytaud Intro Supervisé Non supervisé Par renforcement

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]

Page 158: Apprentissage artificiel Fabien Teytaud Intro Supervisé Non ...teytaud/files/Cours/Ap...Apprentissage artificiel Fabien Teytaud Intro Supervisé Non supervisé Par renforcement

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

Page 159: Apprentissage artificiel Fabien Teytaud Intro Supervisé Non ...teytaud/files/Cours/Ap...Apprentissage artificiel Fabien Teytaud Intro Supervisé Non supervisé Par renforcement

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}

Page 160: Apprentissage artificiel Fabien Teytaud Intro Supervisé Non ...teytaud/files/Cours/Ap...Apprentissage artificiel Fabien Teytaud Intro Supervisé Non supervisé Par renforcement

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