L’apprentissage automatique
octobre 2024
L’apprentissage automatique
L’idée d’apprentissage automatique ne date pas
d’hier, puisque le terme de machine learning a été
utilisé pour la première fois par l’informaticien
américain Arthur Samuel en 1959.
Les algorithmes d’apprentissage automatique ont
connu un fort regain d’intérêt au début des années
2000 notamment grâce à la grande quantité de
données disponibles sur Internet (on parle de « big
data« ).
L’apprentissage automatique
➢ L'apprentissage automatique fait référence au développement, à
l’analyse et à l’implémentation de méthodes qui permettent à
une machine d’évoluer grâce à un processus d’apprentissage
➢ Remplir des tâches qu’il est difficile ou impossible de remplir
par des moyens algorithmiques plus classiques.
L’apprentissage automatique
❑ Objectif : extraire et exploiter automatiquement l'information
présente dans un jeu de données.
L’apprentissage automatique
➢ L'apprentissage automatique (en anglais : machine learning ) est
un champ d'étude de l'intelligence artificielle
➢ 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
L’apprentissage automatique
Pour appliquer une méthode d’apprentissage :
il est important de dispenser d’un échantillon
d’exemples contenant un nombre important d’instances
de données étiquetées ou non selon le mode
d’emploi
Préparation des
données
1. Acquire the dataset
✓ Ce jeu de données sera constitué de données rassemblées à partir
de sources multiples qui sont ensuite combinées dans un format
approprié.
✓ Les formats d'ensemble de données diffèrent selon les cas
d'utilisation
✓ Un ensemble de données commercial sera différent d'un ensemble
de données médical.
✓ Quelques formats de fichiers pour les ensembles de données :
- CSV
- HTML
- XLSX
. Acquire the dataset
✓ Quelques formats de fichiers pour les ensembles de
données :
- CSV
- HTML
- XLSX
2. Import the important libraries
• Python is the most extensively used and also the most preferred
library by Data Scientists around the world.
• The three main Python libraries used for data preprocessing in
Machine Learning are:
1. NumPy – NumPy is the fundamental package for scientific
calculation in Python.
2. Pandas – Pandas is an excellent open-source Python library
for data manipulation and analysis. It is extensively used for
importing and managing the datasets.
3. Matplotlib – Matplotlib is a Python 2D plotting library that is
used to plot any type of charts (graphic) in Python.
[Link] (Étiquetage) des données
➢L’annotation des données est la plus importante tâche dans
l’apprentissage automatique.
➢Si les données sont mal annotées, la performance de notre
système d’apprentissage va diminuer.
➢ImageNet (une base des images) a pris 9 années pour être
annotée manuellement, avec un nombre de 14 millions
images.
Exemple Concret : Annotation d'Images pour la
Reconnaissance d'Objets
Contexte : Développer un modèle pour identifier des animaux
dans des images.
[Link] d'Images pour la Reconnaissance
d'Objets
[Link] des Données : Rassembler des images de chiens, chats,
oiseaux, etc.
2.Définition des Étiquettes : Classes à annoter : "Chien", "Chat",
"Oiseau", "Autre".
[Link] d'Annotation :
❖Interne : Une équipe interne étiquette les images.
❖Externe : Des annotateurs sur une plateforme de
crowdsourcing(plateforme pour contributions) attribuent des
étiquettes.
[Link]ôle de Qualité : Vérification de la précision des annotations.
[Link] : Les images étiquetées servent à entraîner un modèle
de classification.
Préparation
des données
[Link] des Données
✓ Gestion des Valeurs Manquantes : Identifier et traiter les
données manquantes (suppression, imputation, etc.).
✓ Correction des Erreurs : Détecter et corriger les erreurs
ou incohérences dans les données
Préparation des données
[Link] des Données
✓ Normalisation et Standardisation : Ajuster l’échelle des
caractéristiques pour qu’elles soient comparables.
✓ Encodage des Catégories : Convertir les variables
catégorielles en formats numériques (par exemple, one-
hot encoding).
Préparation des données
6.Sélection des Caractéristiques
✓ Réduction de Dimensionnalité : Techniques pour
réduire le nombre de variables tout en conservant
l'information (ex : PCA L'analyse en composantes
principales).
✓ Sélection de Variables : Identifier les caractéristiques
les plus pertinentes pour le modèle.
Préparation des données
[Link] des Données
Entraînement et Test : Séparer les données en
ensembles d'entraînement et de test pour évaluer la
performance du modèle.
Types d’apprentissage
Types d’apprentissage
❑Les algorithmes d’apprentissage peuvent se
catégoriser selon le type d’apprentissage qu’ils
emploient :
1. L'apprentissage supervisé
2. L'apprentissage non-supervisé
3. L'apprentissage par renforcement
L’apprentissage supervisé
▪ Les classes de chaque exemple sont prédéterminées.
▪ Le processus se passe en deux phases.
✓ Lors de la première phase (d'apprentissage), il s'agit de
déterminer un modèle à partir des données étiquetées.
✓ La seconde phase (de test) consiste à prédire l'étiquette
d'une nouvelle donnée, connaissant le modèle
préalablement appris.
L’apprentissage supervisé
Apprentissage non supervisé
✓ On dispose d'exemples non étiquetés et le
nombre de classes et leur nature n'ont pas été
prédéterminées :
✓ On parle alors d'apprentissage non-supervisé
ou clustering en anglais.
✓ L'algorithme doit découvrir la structure plus ou moins
cachée des données.
Apprentissage non supervisé
Ces dernières sont ciblées selon leurs attributs disponibles,
pour les classer en groupes homogènes d'exemples.
La similarité est généralement calculée selon une fonction de
distance entre paires d'exemples,
Apprentissage par renforcement
• L’apprentissage par renforcement (RL) est un domaine
du Machine Learning, au même titre que
l’apprentissage supervisé ou non supervisé.
• Son objectif est de créer des agents capables de prendre
les meilleures décisions possibles.
Apprentissage par renforcement
✓ Le RL se base donc sur un système de récompenses :
✓ A chaque action effectuée, l’agent reçoit
une récompense (ou une pénalité dans le cas où
l’action est mal réalisée) de la part de l’environnement,
qui va lui permettre d’ajuster sa stratégie.
Apprentissage par renforcement
L’agent apprend donc à agir de façon à maximiser les récompenses
espérées sur le long terme.
Apprentissage par renforcement
Exemple
La startup britannique Wayve a réussi à concevoir une
voiture autonome capable de suivre une ligne droite en
une journée grâce au RL.
✓ l’agent est le logiciel qui conduit la voiture,
✓ l’environnement est l’espace virtuel dans
lequel le véhicule évolue,
✓ l’action à un instant t, c’est la possibilité de changer de
direction, de ralentir, d’accélérer etc…,
Apprentissage par renforcement
Exemple
✓la récompense est associée dans le cas
où le véhicule circule
correctement dans son environnement (à défaut, une
pénalité est associée si le véhicule se heurte à un
obstacle, par exemple),
✓ On parle de politique pour désigner le mécanisme qui
lie les récompenses observées dans le passé et l’état du
système à l’instant t.
Apprentissage par renforcement
✓ À l’heure actuelle, l’apprentissage par
renforcement se révèle comme la façon la
plus efficace de faire appel à la créativité
des machines.
✓ Contrairement à un humain, une intelligence
artificielle peut effectuer des milliers de
tentatives en simultané. Il suffit pour ce faire
de lancer le même algorithme en parallèle sur
une puissante infrastructure informatique.
1. L’apprentissage supervisé
Apprentissage supervisé
superviseur sortie désirée
ENTREES
erreur
réseau sortie obtenue
Apprentissage supervisé
Premier algorithme :
Les k plus proches
voisins
k plus proches voisins
✓ L’algorithme des k plus proches voisins est un
algorithme d’apprentissage supervisé : il est
nécessaire d’avoir des données labellisées.
✓ À partir d’un ensemble de données labellisées,
il sera possible de classer (déterminer le label)
d’une nouvelle donnée.
Algorithme
✓ On dispose d'une base de données d'apprentissage
constituée de m couples m« entrée-sortie ».
✓ Pour estimer la sortie associée à une nouvelle entrée x, la
méthode consiste à prendre en compte les k échantillons
d'apprentissage dont l'entrée est la plus proche de la
nouvelle entrée x, selon une distance à définir.
❑ Par exemple dans un problème de classification, on
retiendra la classe la plus représentée parmi les k
sorties associées aux k entrées les plus proches de la
nouvelle entrée x.
Exemple
Algorithme
❑ Paramètre : le nombre k de voisins
❑ Donnée : un échantillon de m exemples et leurs classes
❑ La classe d’un exemple X est c(X)
❑ Entrée : un enregistrement Y
➢ Déterminer les k plus proches exemples de Y en calculant les
distances
➢ Combiner les classes de ces k exemples en une classe c
❑ Sortie : la classe de Y est c(Y)=c
Exemple: Client loyal ou non
Exemple: Client loyal ou non
Exemple: Client loyal ou non
K=3
Classe majoritaire
Distance
➢Le choix de la distance est primordial au bon fonctionnement
de la méthode
➢ Les distances les plus simples permettent d'obtenir des
résultats satisfaisants
➢ Propriétés de la distance:
➢ d(A,A)=0
➢ d(A,B)= d(B,A)
➢ d(A,B) ≤ d(A,C) + d(B,C)
Distance Euclidienne
❑Soit X = (x1,..., xn) et Y = (y1,..., yn) deux
exemples, la distance euclidienne entre X
et Y est:
Autres distances
Sommation:
Distance euclidienne ponderée:
Pourquoi pondérer les attributs?
❑ Certains attributs peuvent dominer le calcul de la distance
❑ Exemple:
Mise en oeuvre de la méthode
➢ Choisir les attributs pertinents pour la tâche de
classification.
➢ Choix de la distance par champ et du mode de
combinaison des distances en fonction du type des
champs et des connaissances préalables du problème.
➢ Choix du nombre k de voisins.
➢ Une heuristique fréquemment utilisée
est de prendre k égal au nombre d'attributs
plus 1.
Etude de cas : Iris de Fisher
Les données
Nous avons choisi ici de nous baser sur le jeu de
données iris de Fisher. En 1936, Edgar Anderson a
collecté des données sur 3 espèces d’iris :
« iris setosa« , « iris virginica » et « iris versicolor » :
Etude de cas
Ce jeu de données est composé de 150 entrées, pour
chaque entrée nous avons :
•la longueur des sépales (en cm)
•la largeur des sépales (en cm)
•la longueur des pétales (en cm)
•la largeur des pétales (en cm)
•l’espèce d’iris : Iris setosa, Iris virginica ou Iris
versicolor → label du jeu de données
Etude de cas
Telecharger le fichier [Link]
✓ Le format CSV (pour comma separated values, soit en
français valeurs séparées par des virgules) est un format très
pratique pour représenter des données structurées.
✓ Dans ce format, chaque ligne représente un enregistrement et,
sur une même ligne, les différents champs de l’enregistrement
sont réparés par une virgule (d’où le nom).
Etude de cas
scikit-learn is a Python module for machine learning
Etude de cas
✓ On peut remarquer que les points (longueur, largeur) sont regroupés
en « nuages » correspondant chacun à une espèce différente.
✓ Le nuage « setosa » est isolé tandis que les deux « nuages » « virginica »
et « versicolor » ont un peu tendance à se mélanger !
Identification de la classe d’une donnée
✓ Supposons que nous ayons trouvé un iris et que,
n’étant pas spécialiste, nous souhaitions en
déterminer l’espèce.
✓ On mesure la longueur et la largeur des pétales de
cet iris, et on place le point (donnée à labéliser) sur
la figure :
longueur : 5,29 cm
largeur : 1,27 cm
Identification de la classe d’une donnée
L’identification de l’espèce ne pose pas de problème.
Identification de la classe d’une donnée
Dans ce genre de cas, il peut être intéressant d’utiliser
l’algorithme des « k plus proches voisins » :
Identification de la classe d’une donnée
✓ On calcule la distance entre notre point (largeur
du pétale = 0,75 cm ; longueur du pétale = 2,5 cm)
et chaque point issu du jeu de données "iris" (à
chaque fois c'est un calcul de distance entre 2
points tout ce qu'il y a de plus classique).
✓ on sélectionne uniquement les k distances les plus
petites (les k plus proches voisins)
✓ parmi les k plus proches voisins, on détermine
quelle est l'espèce majoritaire. On associe à notre
"iris mystère" cette "espèce majoritaire parmi les k
plus proches voisins"
Identification de la classe d’une donnée
Prennons k = 3
Identification de la classe d’une donnée
✓ Les 3 plus proches voisins sont signalés ci-dessus
avec des flèches : nous avons deux "iris setosa"
(point vert) et un "iris versicolor" (point rouge).
D'après l'algorithme des "k plus proches voisins",
notre "iris mystère" appartient à l'espèce "setosa".
✓ La bibliothèque Python Scikit learn propose un
grand nombre d'algorithmes lié au machine
learning (c'est sans aucun doute la bibliothèque la
plus utilisée en machine learning). Parmi tous ces
algorithmes, Scikit Learn propose l'algorithme des
k plus proches voisins.
Exercice
❑ On dispose d'une base de données d'apprentissage constituée de 5 couples
« entrée-sortie ».
❑ (Dupont, Admis), (Fernand, Admis), (David, Ajourné), (Dumont,
Ajourné) et (Billaut, Admis).
❑ Pour chaque étudiant, on dispose aussi de 4 notes dans 4 matières
différentes.
❑ Dupont → 14, 12, 8 et 12.
❑ Fernand → 12, 12, 6 et 10.
❑ David → 8, 9, 9 et 1.
❑ Dumont → 15, 11, 3 et 5.
❑ Billaut → 12, 9, 14 et 11.
❑ On dispose maintenant d’une nouvelle entrée Verneuil qui a pour notes : 9,
14, 15 et 6.
❑ En utilisant la méthode des k plus proches voisins (k =3) et en choisissant la
distance suivante : Distance = Racine (Somme (ABS(Xi – Xj))). Déterminez
la classe de Verneuil.
Solution
✓ Pour déterminer la classe de Verneuil en utilisant
la méthode des k plus proches voisins (k = 3) avec
la distance que vous avez indiquée,
✓ nous allons calculer la distance entre Verneuil et
chacun des cinq étudiants de la base de données.
Ensuite, nous choisirons les trois étudiants les plus
proches et déterminerons la classe majoritaire
parmi ces trois voisins.
✓ Voici comment cela se déroule :
• Calcul des distances entre Verneuil et les étudiants de la
base de données en utilisant la formule de distance que
vous avez indiquée :
Distance(Dupont, Verneuil) = √(|14 - 9 | + |12 - 14| +
| 8 - 15| + |12 - 6|) = √(5 + 2 + 7 + 6) = √20 ≈ 4.47
Distance(Fernand, Verneuil) = √(|12 - 9 | + |12 - 14| +
| 6 - 15| + |10 - 6|) = √(3 + 2 + 9 + 4) = √18 ≈ 4.24
Distance(David, Verneuil) = √(|8 - 9 | + | 9 - 14| + | 9 -
15| + | 1 - 6|) = √(1 + 5 + 6 + 5) = √17 ≈ 4.12
Distance(Dumont, Verneuil) = √(|15 - 9 | + |11 - 14| +
| 3 - 15| + | 5 - 6|) = √(36 + 9 + 144 + 1) = √190 ≈ 13.78
Distance(Billaut, Verneuil) = √(|12 - 9 | + | 9 - 14| +
|14 - 15| + |11 - 6|) = √(3 + 5 + 1 + 5) = √14 ≈ 3.74
✓ Maintenant, nous sélectionnons les trois distances les
plus courtes, c'est-à-dire les trois plus proches voisins de
Verneuil. Dans ce cas, les plus proches voisins sont
Fernand, David et Billaut.
✓ Enfin, nous examinons la classe majoritaire parmi ces
trois voisins. Les classes sont Admis, Ajourné et Admis.
La classe majoritaire est "Admis".
✓ Donc, en utilisant la méthode des k plus proches voisins
avec k = 3 et la distance que vous avez indiquée,
Verneuil serait classé comme "Admis".
Discussion
❑ La méthode peut s'appliquer
D ès qu'il est possible de définir
une distance sur les champs
❑La méthode permet de traiter des problèmes avec un
grand nombre d'attributs.
❑Plus le nombre d'attributs est important, plus le
nombre d'exemples doit être grand.
❑Les performances de la méthode dépendent du choix
de la distance et du nombre de voisins.