Cours ML
Cours ML
2022-2023
Objectifs du cours
2
Plan du cours
3
Chapitre1: Introduction au Machine Learning
4
Introduction
5
Historique
6
Historique
• L’évolution de l’IA est marquée par trois phases importantes :
Entre 1980 et 2010 : des recherches intensives sont établies pour inventer des
nouvelles technologies et les expérimenter dans des domaines plus larges.
Avec l’apparition d’Internet, des progrès importants ont été réalisés et qui se
manifeste par le développement du réseau de neurones récurrent en 1977 par
‘’Sepp Hochreiter ‘’ et ‘’Jürgen Schmidhuber’’.
7
Différences entre Machine Learning, Deep Learning et
Intelligence Artificielle
• Exemple: apprendre à un ordinateur à reconnaître la présence de chat sur des image:
L’IA exige qu’un programmeur écrive tout le code nécessaire à l’ordinateur pour
reconnaître un chat présent sur une image. Le programmateur crée le modèle
d’apprentissage.
Le machine learning et le deep learning rendent l’IA plus efficace et plus accessible
8
Qu’est-ce que l’apprentissage automatique?
• Selon Wikipedia : « L’apprentissage automatique (en anglais machine learning,
littéralement « apprentissage machine ») ou apprentissage statistique est un
champ d’étude de l’intelligence artificielle qui se fonde sur des approches
mathématiques et statistiques pour donner aux ordinateurs la capacité d’ «
apprendre » à partir de données, c’est à-dire d’améliorer leurs performances à
résoudre des tâches sans être explicitement programmés pour chacune. Plus
largement, il concerne la conception, l’analyse, l’optimisation, le développement et
l’implémentation de telles méthodes. »
9
L’apprentissage automatique
Voici trois exemples de problèmes relevant de l’apprentissage automatique.
Exemple 1: Supposons que l’on dispose d’une collection d’articles de journaux. Comment
identifier des groupes d’articles portant sur un même sujet ?
Exemple 2: Supposons que l’on dispose d’un certain nombre d’images représentant des
chiens, et d’autres représentant des chats. Comment classer automatiquement une
nouvelle image dans une des catégories « chien » ou « chat » ?
Exemple 3: Supposons que l’on dispose d’une base de données regroupant les
caractéristiques de logements dans une ville : superficie, quartier, étage, prix, année
de construction, nombre d’occupants, montant des frais de chauffage. Comment
prédire la facture de chauffage à partir des autres caractéristiques pour un logement
qui n’appartiendrait pas à cette base ?
10
Les phases d’une approche d’apprentissage automatique
• L’approche d’apprentissage automatique se compose généralement de deux phases
principales: la phase d’apprentissage et la phase de prise de décision
La phase d’apprentissage : les méthodes d’apprentissage automatique sont
appliquées pour apprendre le modèle de système à l’aide de l’ensemble de données
d’apprentissage.
La phase de prise de décision : le système peut obtenir la sortie estimée pour chaque
nouvelle entrée en utilisant le modèle entraîné.
11
Les phases d’une approche d’apprentissage automatique
Les phases d’une approche d’apprentissage automatique
12
Les types de Machine Learning
13
L’apprentissage supervisé
• L’apprentissage supervisé consiste à développer une fonction qui prévoit l’événement
en se basant sur les connaissances acquises à partir des données précédentes ou
actuelles déjà étiquetées.
• L’objectif est alors de doter le système par la capacité d’apprendre à prédire pour
toute valeur entrée une valeur de sortie.
• Deux grandes tâches :
Classification: On cherche à prédire une cible t qui est un indice de classe : t {1,
…, C}
Régression: On cherche à prédire une cible t qui est un nombre réel : t R
• Les algorithmes d’apprentissage supervisé les plus utilisés sont : la régression linéaire,
la régression logistique, la rétro-propagation du gradient, l’algorithme des plus
proches voisins (KNN), l’arbre de décision, etc.
14
L’apprentissage supervisé
• Exemple:
16
L’apprentissage supervisé
• Avantages
L'apprentissage supervisé offre un moyen de collecter les données des expériences
précédentes et de prédire les résultats.
Il est bénéfique pour optimiser les performances à travers l'expérience.
Les utilisateurs peuvent utiliser l'apprentissage supervisé pour résoudre différents
types de problèmes de calcul dans le monde réel.
• Inconvénients
La formation nécessite un temps de calcul élevé.
Il faut beaucoup de données
Les données doivent être annotées.
17
L’apprentissage supervisé
• Applications:
Bioinformatique : L'apprentissage supervisé est populaire dans ce domaine car il est utilisé dans
notre vie de tous les jours. Les informations biologiques telles que les empreintes digitales, la
détection des visages, la texture de l'iris, etc. sont stockées sous forme de données dans nos
smartphones et autres appareils pour sécuriser les données et renforcer la sécurité du système.
Détection de spam: Cette application aide à prévenir la cybercriminalité; les applications sont
formées pour détecter les messages et e-mails irréels et informatisés et alerter l'utilisateur s'il
s'agit de spam ou de faux.
Reconnaissance d'objets pour la vision: L'algorithme est entraîné avec un énorme ensemble de
données d'objets identiques ou similaires pour identifier l'objet plus tard au fur et à mesure
qu'il se présente.
18
L’apprentissage non supervisé
• L’apprentissage non supervisé est utilisé lorsque les données d’apprentissage sont
non classées et non étiquetées.
• Cette technique cherche à déduire une fonction pour expliquer les modèles cachés à
partir des données non étiquetés en regroupant les données similaires en des classes.
• Parmi les algorithmes les plus reconnus utilisant l’apprentissage non supervisé, on cite :
K-means, algorithme de kohonen SOM, etc.
19
L’apprentissage non supervisé
• Applications
Séjours d'accueil : L'application utilise l'apprentissage non supervisé pour
connecter les utilisateurs du monde entier; l'utilisateur interroge ses besoins.
L'application apprend ces modèles et recommande des séjours et des
expériences qui relèvent du même groupe ou cluster.
Shopping en ligne: Les sites Web en ligne comme Amazon utilisent également
l'apprentissage non supervisé pour connaître l'achat du client et recommander
ensemble les produits les plus fréquemment achetés, un exemple d'exploration
de règles d'association.
Détection de fraude par carte de crédit : Les algorithmes d'apprentissage non
supervisé apprennent les différents modèles de l'utilisateur et son utilisation de
la carte de crédit. Si la carte est utilisée dans des parties qui ne correspondent
pas au comportement, une alarme est générée, ce qui pourrait être marqué
comme une fraude, et des appels sont passés pour confirmer s'ils utilisent la
carte.
20
L’apprentissage semi-supervisé
• L’apprentissage semi-supervisé se situe entre l’apprentissage supervisé et
l’apprentissage non-supervisé. Le processus de l’apprentissage utilise généralement
une petite quantité de données étiquetées avec une grande quantité de données non
étiquetées.
21
L’apprentissage par renforcement
• L’apprentissage par renforcement est une technique qui permet à un agent de
modifier son comportement selon les interactions avec son environnement .
• Ces récompenses, qui peuvent être positives ou négatives, indiquent à quel point
l’action exécutée est bonne ou mauvaise.
22
L’apprentissage par renforcement
• L’objectif de l’agent est de maximiser ses récompenses en exploitant le système.
• Avec la répétition, l’agent tente d’apprendre à favoriser les actions qui mènent à
des récompenses positives et à éviter les actions qui provoquent des récompenses
négatives.
• Parmi les algorithmes les plus reconnus utilisant l’apprentissage par renforcement,
on cite: Q-Learning, DQN
23
L’apprentissage par renforcement
• Applications:
Jeux
Robot navigant dans un labyrinthe
24
Apprentissage Supervisé : K-plus proches voisins (KNN)
25
Chapitre I: Apprentissage Supervisé
K-plus proches voisins (KNN)
Les Réseaux de Neurones (ANN)
26
K-plus proches voisins (KNN)
• L’algorithme des k plus proches voisins s'écrit en abrégé k-NN ou KNN , de l'anglais
k-nearest neighbors, appartient à la famille des algorithmes d’apprentissage
automatique (machine learning).
• Le k dans la formule "k plus proches voisins" signifie qu’à la place de se contenter
du seul voisin le plus proche de l'observation inconnue, nous pouvons prendre en
compte un nombre fixé k de voisins du jeu d'apprentissage.
• Enfin, nous pouvons faire une prédiction en nous basant sur la classe majoritaire
dans ce voisinage.
27
K-plus proches voisins (KNN)
• Données :
Attributs : un ensemble X = {x1, x2, · · · xn}
où chaque xi est le domaine d’un attribut ai numérique.
Exemple : a1 =age , x1 = [0; 122], a2 =fumeur, x2 = {0, 1} (non/oui)
Classes (ou étiquettes) : un ensemble fini de classes Y .
Exemple : Y = {patient à risque, patient sans risque}
Attributs: X=X1×X2
avec X1=Age et X2=Fumeur
Classes: Y
Avec valeurs possibles: {risque, pas de risque}
28
K-plus proches voisins (KNN)
• Objectif : pouvoir prédire la classe ou la valeur d’un nouvel exemple en utilisant les
exemples déjà connus
Principe classification:
[Link] la classe des k exemples les plus proches
[Link] la classe majoritaire dans le voisinage du nouvel exemple
Principe régression:
[Link] les valeurs des k exemples les plus proches
[Link] la moyenne des voisins au nouvel exemple
29
K-plus proches voisins (KNN)
• Pseudo code: pour une nouvelle observation inconnue en entrée dont on veut
prédire sa variable de sortie, il faut faire :
Etape 1: Calculer toutes les distances entre cette observation en entrée et les
autres observations du jeu de données,
Etape 4: Retourner la valeur calculée dans l’étape 3 comme étant la valeur qui a
été prédite par l’algorithme pour l’observation en entrée qui était inconnue.
30
K-plus proches voisins (KNN)
• Mesure de similarité : pour mesurer la proximité entre les observations, on doit
imposer une fonction de similarité à l’algorithme.
• Cette fonction qui calcule la distance entre deux observations estime l’affinité entre
les observations comme ceci : « Plus deux points sont proches l’un de l’autre, plus ils
sont similaires.
• Il existe de nombreuses fonctions de similarité dans la littérature:
Distance euclidienne: distance en ligne droite qui sépare deux points dans
l’espace.
Distance de Manhattan: correspond à un déplacement à un angle droit sur un
damier.
31
K-plus proches voisins (KNN)
• Il faut savoir qu’on choisit généralement la fonction de distance en fonction des
types de données qu’on manipule.
32
K-plus proches voisins (KNN)
• Choisir la bonne k: pour sélectionner la valeur de k qui convient à nos données,
nous exécutons plusieurs fois l’algorithme KNN avec différentes valeurs de k.
33
K-plus proches voisins (KNN)
• Avantages:
Facile à comprendre
Apprentissage rapide
• Inconvénients:
Pas efficace pour des jeux de données larges.
34
K-plus proches voisins (KNN)
Exercices
• Exercice 1: Soient les points de coordonnées suivantes:
A(1,6),B(2,6),C(3,1),D(4,2),E(6,0),F(7,5),G(7,3),H(10,3).
En utilisant la distance euclidienne, quels sont les deux plus proches voisins du point
P(5,5) ?
35
K-plus proches voisins (KNN)
Solution:
36
K-plus proches voisins (KNN)
Exercices
• Exercice 2: Supposons que l’on a un problème de classification qui consiste à
déterminer la classe d’appartenance de nouvelles instances Xi. Le domaine de
valeurs des classes possibles est 1,2,3.
Selon la base de connaissance suivante, déterminez à la main, la classe de l’instance
X6, dont les valeurs pour les attributs numériques A1 à A5 sont <3,12,4,7,8, à l’aide
de l’algorithme des k-voisins les plus proches (KNN) avec K=1puis K=3. Montrez tous
les calculs.
x6 3 12 4 7 8
37
K-plus proches voisins (KNN)
Exercices
• Exercice 3: On cherche à prédire la couleur d’un fruit en fonction de sa largeur (LL)
et de sa hauteur (HH).
On dispose des données d’apprentissage suivantes :
• L’objectif ici est d’étudier l’influence des voisins sur la propriété de couleur d’un
fruit.
• Soit UU le nouveau fruit de largeur L=1, et de hauteur H=4.
Quelle est sa couleur si l’on considère 1 voisin ?
Quelle est sa couleur si l’on considère 3 voisins ?
39
K-plus proches voisins (KNN)
• Exercice 4: utiliser les données du tableau ci-dessous pour estimer le poids d’une
personne en fonction de sa taille et de son âge avec K=3
40
K-plus proches voisins (KNN)
• Solution
• La moyenne de ces points de données est la prédiction finale pour le nouveau point.
Ici, nous avons le poids de ID11=(77+72+60)/3 = 69.66 kg.
41
Apprentissage Supervisé : Les Réseaux de Neurones (ANN)
42
Les réseaux de neurone artificiels (ANN):
Introduction
43
Les réseaux de neurone artificiels (ANN):
Modèle biologique:
• Les neurones reçoivent des signaux (impulsions électriques ) par les dendrites et
envoient l’information par les axones.
• Les contacts entre deux neurones ( entre axone et dendrite ) se font par
l’intermédiaire des synapses.
• Les signaux n ’opèrent pas de manière linéaire : effet de seuil.
44
Les réseaux de neurone artificiels (ANN):
équivalences:
45
Les réseaux de neurone artificiels (ANN):
Motivations:
• Trois grandes caractéristiques du cerveau vu comme une « machine »:
– Apprentissage: Adaptation, Plasticité synaptique, Reconversion
– Robustesse: Résistance à l’imprécision des entrées, Résistance à la détérioration
, Distribution des informations
– Parallélisme: Interactions locales , Propriétés globales, Simultanéité du
traitement
• Ces caractéristiques inspirent la construction des réseaux de neurones formels
46
Les réseaux de neurone artificiels (ANN):
47
Les réseaux de neurone artificiels (ANN):
48
Les réseaux de neurone artificiels (ANN):
• Calcul de la sortie
– Si a > s (seuil) x = 1
– sinon x = 0, -1 ou autre valeur ≠ 1 selon l'application
• Ou bien
– a = ∑([Link]) –s (la valeur de seuil est introduite ici dans le calcul de la
somme pondérée)
– x = signe(a) ( sia > 0 alors x = +1 sinon x = -1 )
49
Les réseaux de neurone artificiels (ANN):
50
Les réseaux de neurone artificiels (ANN):
• Exemple
51
Les réseaux de neurone artificiels (ANN):
ANN: Utilité
• Classification: Si on conçoit les entrées comme les composantes d’un
vecteur d’observation (dans un espace), la réponse parmi : +1 et 0 permet
de dire que le neurone décompose son espace d’observation en deux :
zone d’activité et zone de non activité
52
Les réseaux de neurone artificiels (ANN):
ANN: Apprentissage
• Un neurone formel peut donc séparer des vecteurs en deux classes
• Les classes sont déterminées par les coefficients synaptiques
• Le problème est alors de choisir les coefficients
– Ceci s'effectue en se donnant des exemples: un ensemble de vecteurs dont on connaît
les classes respectives
– Ensuite, par itérations successives, on stabilise les coefficients
53
Les réseaux de neurone artificiels (ANN):
ANN: Apprentissage
54
Les réseaux de neurone artificiels (ANN):
De nombreuses variantes
• réseau de neurones à propagation avant(Perceptron)
– perceptron mono-couche (SLP: single-layer perceptron)
– perceptron multicouches(PMC, MLP: Multi-Layer Perceptron)
– réseau neuronal convolutif (CNN: Convolutional Neural Network)
• réseau de neurones récurrents(RNN: Recurrent Neural Network)
• réseaux de neurones profonds(DNN: Deep Neural Networks) réseaux avec
couches de neurones cachées(plus de 2)
55
Perceptron
56
Perceptron
Apprentissage
– Initialisation aléatoire des poids wi
– Choisir la valeur de
– Tant que (critère d’arrêt non satisfait)
Pour chaque instance P faire
– Calculer la sortie réelle y=f(w,x)
– Calculer l’erreur
– MAJ des poids
57
Perceptron
Règle d’apprentissage:
• où
– 0< < 1 est un paramètre qui contrôle le taux d'apprentissage
(learning rate)
– err(p) est l'erreur lorsque le motif d'entrée p est présenté
58
Perceptron
59
Perceptron
• Exemple 1
60
Perceptron
• Suite
61
Perceptron
62
Perceptron
• Résultat
– Le Perceptron réalise une partition de son espace d'entrée en 2 classes (1 et 2) selon la
valeur de sa sortie (+1 ou -1)
– La séparation de ces deux zones est effectuée par un hyperplan – L'équation de la droite
séparatrice est :
63
Perceptron
• Exemple 2: AND
64
Perceptron Multicouches (PMC)
Problème du OU exclusif
66
Perceptron Multicouches (PMC)
• Structure
67
Perceptron Multicouches (PMC)
Les caractéristiques :
• Il comporte une seule couche de sortie.
• Il peut comporter d’une à plusieurs couches cachées.
• Chaque neurone est uniquement relié à tous les neurones de la couche suivante.
• La fonction d’activation doit être de préférence strictement croissantes et bornées.
Les fonctions classiquement utilisées sont la fonction linéaire, la tangente
hyperbolique et la fonction sigmoïde standard.
68
Perceptron Multicouches (PMC)
69
Algorithme de rétro-propagation du gradient
70
Algorithme de rétro-propagation du gradient
71
Algorithme de rétro-propagation du gradient
72
Algorithme de rétro-propagation du gradient
• Supposons que 𝐸2>𝜉 , dans ce cas nous modifions les poids de la couche de sorite et des couches
Apprentissage de la couche de sortie
cachées.
• C’est l’apprentissage de la couche de sortie qui consiste à calculer, à partir des erreurs en sortie,
une modification des poids des neurones de cette couche.
73
Algorithme de rétro-propagation du gradient
Apprentissage de la couche de sortie
• Pour chaque neurone i de la couche de sortie K :
𝛿𝑖,𝑘=𝑠𝑖,𝑘×(1−𝑠𝑖,𝑘)×(𝑑𝑖−𝑠𝑖,𝑘)
– Calculer un facteur de correction :
𝑒𝑡 𝑜ù 𝑁𝑒𝑡=Σ𝑒𝑖×𝑤𝑖−𝜃𝑖
Car : 𝑓′(𝑁𝑒𝑡)=𝑓(𝑁𝑒𝑡)×(1−𝑓(𝑁𝑒𝑡))
est : 𝛿𝑖,𝑘=𝑓′(𝑁𝑒𝑡)×(𝑑𝑖−𝑠𝑖,𝑘)
La relation générale donc du facteur de correction
et ensuite recalculer les nouveau poids : 𝑤𝑗𝑖 ,𝑘= 𝑤𝑗𝑖 ,𝑘+ Δ𝑤𝑗𝑖 ,𝑘
74
Algorithme de rétro-propagation du gradient
Apprentissage des couches cachées
• L’étape de correction au niveau de la couche de sortie étant réalisée, on passe au traitement de la
• En remontant ainsi le réseau jusqu’à arriver aux entrées on aura mis à jour toutes les connexions.
Ensuite en recalcule la sortie finale du réseau avec les nouveaux poids, puis nous comparons
l’erreur quadratique avec ξ et ainsi de suite jusqu’à arriver au critère d’arrêt qui a été choisi
75
Algorithme de rétro-propagation du gradient
Exemple: Prenons ce réseau
76
Algorithme de rétro-propagation du gradient
Exemple: Avec x= (1,1) la sortie désirée=0
77
Algorithme de rétro-propagation du gradient
La propagation donne :
Neurone j
78
Algorithme de rétro-propagation du gradient
• La sortie désirée u doit être pour x = (1; 1) égale à 0.
• On souhaite alors que la modification des poids conduise à une sortie inférieure à 0:63..
• Pour le neurone de sortie on a
• Et
• Commençons avec (3,5)
79
Algorithme de rétro-propagation du gradient
• Il faut maintenant calculer les valeurs des modifications des neurones cachés (3) et (4)
80
Algorithme de rétro-propagation du gradient
• De la même manière pour (3)
81
Algorithme de rétro-propagation du gradient
• Mise à jour des poids
82
Apprentissage non supervisé
83
Apprentissage non-supervisé
Introduction
• Apprentissage non-supervisé = Algorithme de clustering
• divise un groupe hétérogène de données, en sous-groupes de manière que les données
considérées comme les plus similaires soient associées au sein d’un groupe homogène et qu’au
contraire les données considérées comme différentes se retrouvent dans d’autres groupes distincts
84
Apprentissage non-supervisé
Introduction
– Méthodes hiérarchiques
• ascendantes: on agglomère progressivement les données deux à deux
(exemple: algorithme agglomératif hiérarchique)
85
Apprentissage non supervisé : Non hiérarchique ( K-Means)
86
Algorithmes des K-Means(k-moyennes)
• Méthode non-hiérarchique
• On cherche à organiser l’ensemble de données D= {x1,…, xN }en K ensembles (clusters)
• Etant données des points et un entier k, le problème est de diviser les points en k groupes
(clusters) de façon à minimiser une fonction de coût.
• L’objectif est de minimiser la distance entre les points à l’intérieur de chaque partition
87
Algorithmes des K-Means(k-moyennes)
88
Algorithmes des K-Means(k-moyennes)
Algorithme classique
• 1: estimer des points K (aléatoirement)
89
Apprentissage non-supervisé
Algorithme classique
2: Assigner les éléments à ces groupes
90
Apprentissage non-supervisé
Algorithme classique
3: Déplacer les points K vers les centres
91
Algorithmes des K-Means(k-moyennes)
Algorithme classique
4: Réassigner les éléments et répéter jusqu’à stabilité
92
Algorithmes des K-Means(k-moyennes)
Algorithme
93
Algorithmes des K-Means(k-moyennes)
Exemple
• X={27, 51, 52, 33, 45, 22, 28, 44, 40, 38, 20, 57}
• K=3
• N= Maximum amplitude= 57-20 = 37
94
Algorithmes des K-Means(k-moyennes)
Exemple
• Cluster 1 : 20, 22, 27, 28, 33, 38 Center: 168 / 6 = 28
• Cluster 2 : 40, 44, 45, 51 Center: 180 / 4 = 45
• Cluster 3 : 52, 57 Center: 109 / 2 = 54.5
95
Algorithmes des K-Means(k-moyennes)
Exemple
• Cluster 1 : 20, 22, 27, 28, 33 Center: 130 / 5 = 26
• Cluster 2 : 38, 40,44,45 Center: 167 / 4 = 41,75
• Cluster 3 : 51, 52, 57 Center: 160 / 3 = 53.33
• .....
96
Algorithmes des K-Means(k-moyennes)
Choisir K : le nombre de clusters
• Choisir un nombre de cluster K n’est pas forcément intuitif. Spécialement quand le jeu
de données est grand et qu’on n’ait pas un a priori ou des hypothèses sur les données.
– Un nombre grand peut conduire à un partitionnement trop fragmenté des
données. Ce qui empêchera de découvrir des patterns intéressants dans les
données.
– Par contre, un nombre de clusters trop petit, conduira à avoir, potentiellement, des
cluster trop généralistes contenant beaucoup de données. Dans ce cas, on n’aura
pas de patterns “fins” à découvrir
97
Algorithmes des K-Means(k-moyennes)
Choisir K : le nombre de clusters
99
Algorithmes des K-Means(k-moyennes)
Exercice:
Utilisez l’algorithme du k-means et la distance euclidienne pour regrouper les
8 exemples suivants en 3 clusters : A1(2,10), A2(2,5), A3(8,4), A4(5,8), A5(7,5),A6(6,4),
A7(1,2), A8(4,9).
On considère comme centre de classes à l’initialisation les points A1, A4 et A7. Déroulez
une itération de l’algorithme de k-means pour ces données et cette initialisation et
donnez :
— Les nouveaux clusters
— Les centres de chaque cluster
— Faites une représentation graphique montrant les points d’étude, les clusters et les
centres des clusters
100
Exercices de Révision
101
Exercice1(K-plus proches voisins)
Dans le quadrillage ci-dessous 14 points sont dessinés, dont 7 de la classe C1, avec des
ronds noirs, et 7 de la classe C2, avec des losanges. On introduit un nouveau point A(4,5),
dont on cherche la classe à l’aide d’un algorithme des k plus proches voisins pour la
distance géométrique habituelle, en faisant varier la valeur de k parmi 1, 3 et 5. Quelle est
la bonne valeur de k ?
102
Exercice1(K-plus proches voisins)
• d(A,p1)=sqrt(9+16)= 5
• d(A,p8)=sqrt(4+9)= 3,46
• d(A,p2)=sqrt(4+16)= 4,47
• d(A,p9)=sqrt(9+9)= 4,24
• d(A,p3)=sqrt(1+16)= 4,12
• d(A,p10)=sqrt(1+4)= 2,23
• d(A,p4)=sqrt(0+16)= 4
• d(A,p11)=sqrt(9+1)= 3,16
• d(A,p5)=sqrt(1+16)= 4,12
• d(A,p12)=sqrt(1+1)= 1,41
• d(A,p6)=sqrt(9+9)= 4,24
• d(A,p13)=sqrt(0+1)= 1
• d(A,p7)=sqrt(0+9)= 3
• d(A,p14)=sqrt(9+4)= 3,46
103
Exercice1(K-plus proches voisins)
• k=1 {p13 }losange
• k=3 {p13 p12 p10 }rond
• k=5 {p13 p12 p10 p7 p11}rond
minimiser la distance intra-cluster (moyenne de distance avec les différentes points du
même cluster) et maximiser la distance inter-cluster (moyenne de distance avec les
différentes points de l’autre cluster)
104
Exercice 2 (perceptron)
Soit l’ensemble d’entraînement suivant:
105
Exercice 3 (perceptron)
La simulation de l’algorithme du perceptron est la suivant :
106
Exercice 3 (perceptron)
107
Exercice 3 (perceptron)
108
Apprentissage par renforcement
109
Apprentissage par renforcement
Introduction
• Apprentissage par renforcement
= Apprentissage en environnement (partiellement) inconnu
= Apprentissage par essais et erreurs
= Apprentissage par interaction avec l’environnement (exploration)
• Classification
– car on veut ici apprendre de bonnes séquences d’actions
• Planification
– car on n’a ici qu’une connaissance imparfaite de l’environnement
– car ici l’environnement peut changer car ici on n’a souvent pas un état initial et un but fixés
110
Apprentissage par renforcement
Cadre général
Un agent évolue dans un environnement donné.
Il peut effectuer certaines actions dépendant de l’état courant :
• l’état de l’environnement
• et son propre état
ce qui amène dans un nouvel état.
Certaines actions sont liées à des récompenses / coûts immédiats.
L’agent doit apprendre quelle action choisir dans chaque état afin de suivre une séquence
d’action qui lui soit la plus favorable possible.
111
Apprentissage par renforcement
Définition
• L’Apprentissage par Renforcement, ou Reinforcement Learning en anglais, peut être
considéré comme la science de la prise de décision.
• L’objectif est de prendre la meilleure décision possible étant donné un certain contexte.
• Un agent dans un état actuel S apprend de son environnement en interagissant avec ce
dernier par le moyen d’actions. Suite à une action A, l’environnement retourne
un nouvel état S’ et une récompense R associée, qui peut être positive ou négative.
112
Apprentissage par renforcement
Principe :
• L’apprentissage par renforcement définit un type d’interaction entre l’agent et
l’environnement à partir d’un état ou une situation s dans l’environnement, l’agent
choisit et exécute une action a qui provoque une transition vers l’état s’.
• Il reçoit en retour un signal de renforcement r.
• Ce signal est utilisé par l’agent pour améliorer sa stratégie « politique », c'est-à-dire la
séquence de ses actions, afin de maximiser ses récompenses futures.
114
Apprentissage par renforcement
Processus Décisionnels de Markov :
• Le Processus Décisionnel de Markov forme le modèle le plus classique des problèmes
de décision séquentielle.
• C’est un processus stochastique, il assigne des récompenses aux transitions des états.
115
Apprentissage par renforcement
Processus de décision Markovien : États, actions, récompenses
Exemple. Un labyrinthe :
• Plusieurs entrées possibles, 1 sortie
• Déplacements possibles : ↑ ↓ ← → (sauf à travers les murs)
• Chaque déplacement coûte 5$
• Gain à la sortie : 100$
116
Apprentissage par renforcement
un MDP est défini comme un quadruplet {S, A,P, R} :
• S est l’ensemble d’´etats (states)
• A est l’ensemble des actions. On note A(s) l’ensemble des actions dans l’´etat s tel que
A(s) ∈ A
• P est la fonction de transition : P : S × A × S → [0, 1].
Cette fonction définit une distribution de probabilité sur les transitions
P(s, a, S’ ) = P( S’ = S t 1 |s = S t , at = a).
• R est la fonction de récompense (reward).
R : S × A × S → R telle que
R(s, a, S’ ) = E[ r | S = s, a = a, S = s’ ]
t t t t 1
117
Les champs d’application
• Apprendre à un hélicoptère à faire des figures de voltige
• Faire marcher un robot humanoïde
118
les algorithmes d'apprentissage par renforcement
119
Apprentissage par renforcement: L’algorithme Q-learning
120
L’algorithme Q-learning
• Le Q-learning est un algorithme d’apprentissage par renforcement qui cherche à
trouver la meilleure action à entreprendre compte tenu de l’état actuel.
• Le Q-learning cherche à apprendre une politique qui maximise la récompense totale
• Le Q-learning consiste à déterminer une fonction Q(s, a) qui prend deux paramètres :
– s : L’état du système
– a : l’action que l’on veut effectuer
121
L’algorithme Q-learning
• Un agent apprenant est sujet au compromis entre l'exploitation (refaire des actions,
dont il sait qu'elles vont lui donner de bonnes récompenses) et l'exploration (essayer de
nouvelles actions, pour apprendre de nouvelles choses).
– exploration : le but est d’apprendre le mieux possible
– exploitation : le but est d’optimiser au mieux ses récompenses
122
L’algorithme Q-learning
123
L’algorithme Q-learning
124
L’algorithme Q-learning
L’équation de bellman
Vitesse d’apprentissage( learning rate): plus il est élevé, plus les nouvelles informations
seront importantes par rapport aux anciennes.
À 0, l’agent n’apprend rien, et à 1, il ne retiendra pas les anciennes infos qu’il a apprises.
Facteur d’actualisation (gamma), entre 0 et 1. : détermine l’importance des récompenses
futures. Trop élevé (trop proche de 1), il y a risque de divergence.
125
L’algorithme Q-learning
126
L’algorithme Q-learning
• Exemple
127
L’algorithme Q-learning
Limites du Q-Learning
• Le processus itératif de calcul et d’actualisation des valeurs-Q pour chaque paire état-
action dans un grand espace d’état devient inefficace et peut-être irréalisable en raison
des ressources et du temps nécessaire.
128