Académique Documents
Professionnel Documents
Culture Documents
Support de cours
APPRENTISSAGE ARTIFICIEL
(« Machine-Learning »)
Année universitaire 2022/2023
Pr. Mohammed OUANAN
1
Objectifs pédagogiques :
2 Pr Mohammed OUANAN
Plan du cours
3 Pr Mohammed OUANAN
Dans ce premier chapitre, nous allons voir :
4 Pr Mohammed OUANAN
• Documents
– Le livre
"L'apprentissage artificiel. Concepts et
algorithmes" (Eyrolles. 3ème éd. 2018)
A. Cornuéjols & L. Miclet & V. Barra
2
Introduction
6 Pr Mohammed OUANAN
Introduction
Le Machine Learning est tout autour de nous. Il intervient chaque fois que
nous cherchons un mot dans Google, une série sur Netflix, une vidéo sur
YouTube, un produit sur Amazon.
7 Pr Mohammed OUANAN
Motivation:
Comprendre au mieux ce qu’est le Machine Learning
Pour nous aider dans nos recherches, nous avons inventé l’ordinateur, qui
permet de résoudre en quelques minutes des calculs qui nous
prendraient des millions d’années à effectuer.
Mais il faut savoir qu’un ordinateur ne sait en réalité faire qu’une chose
: résoudre les calculs qu’on lui donne.
8 Pr Mohammed OUANAN
Motivation:
Comprendre au mieux ce qu’est le Machine Learning
À partir de là, deux situations possibles :
1. On connait le calcul à effectuer pour résoudre notre problème. Dans ce cas, facile ! On
entre ce calcul dans l’ordinateur, c’est ce qu’on appelle la programmation, et
l’ordinateur nous donne le résultat.
Exemple :
Déterminer la structure d’un pont
Le problème du voyageur de transport
2. On ne connait pas le calcul qui résout notre problème Dans ce cas... on est bloqué.
Impossible de donner à un ordinateur un calcul que nous ne connaissons pas.
Exemples :
Reconnaitre un visage sur une photo
Prédire le cours de la Bourse
Eliminer le cancer
Composer de la musique
Conduire une voiture
9 Pr Mohammed OUANAN
Motivation:
Comprendre au mieux ce qu’est le Machine Learning
Doit-on donc perdre tout espoir de voir un jour un ordinateur nous aider
dans la lutte contre le cancer ?
Non Bien sûr que !
10 Pr Mohammed OUANAN
Mais comment apprendre ?
Pour donner à un ordinateur la capacité d’apprendre, on utilise des
méthodes d’apprentissage qui sont fortement inspirées de la façon dont
nous, les êtres humains, apprenons à faire des choses.
Par exemple:
Depuis sa naissance l’enfant apprend :
La voix de sa mère
Apprend à raisonner
…
11 Pr Mohammed OUANAN
Programmation classique
Data
Computer Output
Program
Data
Computer Program
Output
Pr Mohammed OUANAN
12
Apprentissage Automatique(Artificiel )
13 Pr Mohammed OUANAN
Qu'est-ce que l'Apprentissage machine ?
Etant donné :
de l'expérience E, Statistiques
une classe de tâches T utilité
une mesure de performance P, Optimisatio
On dit d'un ordinateur qu'il apprend si n
sa performance sur une tâche de T
mesurée par P
augmente avec l'expérience E
Tom Mitchell, 1998
Par exemple : Programme capable d’estimer le prix des appartements
Expérience (E) : La description de l’appartement et son prix réel
Tâche (T) : Estimer le prix des appartements
Performance (P) : La précision de la prédiction faite par l’algorithme et à
quel point elle est proche du prix réel
14
Les machines (agents) ont besoin d’apprendre Pourquoi?
Trop fastidieux, difficile de couvrir tous les cas d’espèce qu’on pourrait
rencontrer.
15 Pr Mohammed OUANAN
Applications pratiques de l'AA(1)
16 Pr Mohammed OUANAN
Applications pratiques de l'AA(2)
systèmes experts
méthode d'acquisition de connaissances alternative ou
complémentaire au recueil d'expertise
traitement automatique du langage naturel (écrit)
traitement (synthèse et reconnaissance) de la parole
reconnaissance d'images
17 Pr Mohammed OUANAN
Applications pratiques de l'AA (3)
planification, robotique
personnalisation de logiciels :
lecteurs de news ou de mail
jeux
activités beaucoup plus terre-à-terre : industrie chimique, agriculture,
...
18 Pr Mohammed OUANAN
Un domaine interdisciplinaire
INTELLIGENCE
ARTIFICIELLE
STATISTIQUES, OPTIMISATION
analyse de données
Apprentissage
machine
AUTOMATIQUE, VISION
commande,
robotique
Pr Mohammed OUANAN
Différence entre machine Learning et Data Mining
20 Pr Mohammed OUANAN
Concepts Générale
21 Pr Mohammed OUANAN
Jeu de données(Dataset)
un Data Set est une collection nommée qui contient des unités de
données individuelles organisées (formatées) et accessibles par une
méthode d'accès spécifique basée sur l'organisation de l'ensemble de
données. Le jeu de données peut être organisé de façon séquentielle,
séquentielle relative, séquentielle indexée et partitionnée.).
22 Pr Mohammed OUANAN
Feature extraction
L’extraction de caractéristique (feature) a pour but de caractériser les
données d’apprentissage:
Réduction de la dimension du problème
Définies par un expert ou un algorithme
Exemples:
Individu: âge, taille, poids,…
Caractère: valeur des pixels du caractère redimensionné
Cours boursier: open, close, high, low
23 Pr Mohammed OUANAN
Que sont les données( features)?
Une donnée est un nombre, une caractéristique, qui m’apporte une
information sur un individu, un objet ou une observation. Par exemple, 30
est un nombre sans intérêt, mais si quelqu’un vous dit « J’ai 30 ans», 30
devient une donnée qui vous permettra d’en savoir un peu plus sur lui.
- Les données privées sont tout simplement les données qui en théorie
n’appartiennent qu’à vous ou à votre organisation.
24 Pr Mohammed OUANAN
- Pour cela, trois modes de collecte de données existent:
• Les open data, qui correspondent à la mise à disposition gratuite de données
de la société civile, sur des sites tels que www.data.gov, www.data.gouv.fr, etc.
• Le Web en tant que tel est lui aussi directement source de données. Pour
cela, il faut un minimum d’expertise en programmation pour être capable de
faire ce que l’on nomme du web scraping, qui consiste à récupérer des
données directement à partir des pages des sites Internet.
25 Pr Mohammed OUANAN
Les principaux types de données
On distingue généralement les données quantitatives des données qualitatives.
Les données quantitatives sont des valeurs qui décrivent une quantité
mesurable, sous la forme de nombres sur lesquels on peut faire des calculs
(moyenne, etc.) et des comparaisons (égalité/différence,
infériorité/supériorité, etc.). Elles répondent typiquement à des questions
du type «combien». On fait parfois la différence entre:
26
Les principaux types de données
Les données qualitatives décrivent quant à elles des qualités ou des
caractéristiques. Elles répondent à des questions de la forme « quel
type » ou « quelle catégorie». Ces valeurs ne sont plus des nombres,
mais un ensemble de modalités. On ne peut pas faire de calcul sur ces
valeurs, même dans l’éventualité où elles prendraient l’apparence
d’une série numérique. On distingue:
les données qualitatives ordinales, dont les modalités sont ordonnées selon
un ordre « logique». Par exemple: les tailles de vêtements (S, M, L, XL), le
degré d’accord à un test d’opinion (fortement d’accord, d’accord, pas
d’accord, fortement pas d’accord).
27 Pr Mohammed OUANAN
Type de données Opérations supportées
Quantitatives continues continues Calculs, égalité/différence,
infériorité/supériorité
Quantitatives discrets continues Calculs, égalité/différence,
infériorité/supériorité
Qualitatives nominales Égalité/différence
28 Pr Mohammed OUANAN
L'apprentissage Automatique (Machine Learning)
29 Pr Mohammed OUANAN
Apprentissage supervisée
Imaginez que vous commenciez à apprendre le chinois. Pour ce faire, il vous faudra soit
acheter un livre de traduction chinois-français, ou bien trouver un professeur de chinois.
30 Pr Mohammed OUANAN
Apprentissage supervisée
31 Pr Mohammed OUANAN
Notion 1 : Apprendre à partir d’exemples (Dataset)
lorsque l’on fournit à une machine beaucoup d’exemples (x,y) dans le but de lui faire
apprendre la relation qui relie x à y
En Machine Learning, on compile ces exemples (x,y) dans un tableau que l’on
appelle Dataset :
La variable y porte le nom de target (la cible). C’est la valeur que l’on cherche à prédire.
La variable x porte le nom de feature (facteur). Un facteur influence la valeur de y et
on a en général beaucoup de features (x1,x2… ) dans notre Dataset que l’on regroupe
dans une matrice X
32 Pr Mohammed OUANAN
Exemple
33 Pr Mohammed OUANAN
Notion 2: Développer un modèle à partir du Dataset
En Machine Learning, on développe un modèle à partir de ce Dataset. Il peut s’agir d’un
modèle linéaire comme vous pouvez le voir à gauche, ou bien un modèle non-linéaire comme
vous pouvez le voir à droite
34 Pr Mohammed OUANAN
Notion 3 : Les erreurs de notre modèle - la
Fonction
Coût
à noter est qu’un modèle nous retourne des erreurs par rapport à notre
Dataset. On appelle Fonction Coût l’ensemble de ces erreurs (le plus
souvent on prend la moyenne quadratique des erreurs)
35 Pr Mohammed OUANAN
un bon modèle, c’est avoir un modèle qui nous donne de petite erreurs,
donc une petite Fonction Coût.
36 Pr Mohammed OUANAN
Notion 4 : Apprendre, c’est minimiser la Fonction
Coût
37 Pr Mohammed OUANAN
Apprentissage supervisée
Apprentissage visant à apprendre à partir d’un ensemble d’exemples
étiquètes a étiqueter des éléments inconnus.
Autrement formulé, a partir d’un set input et d’un set output on cherche
a trouver la relation(classifieur) liant input et output,
Exemples entrée-sortie
(x1,y1), (x2,y2), … , (xn, yn)
H famille de ALGORITHME fH
modèles mathématiques D’APPRENTISSAG
E
Hyper-paramètres pour
l’algorithme d’apprentissage
Meilleure hypothèse f*
?
38 Pr Mohammed OUANAN
Apprentissage supervisé: classification
Exemples
Prédire si un email est un spam (classe y=1) ou non (classe y=0) selon le
nombre de liens présent dans l’email ( les x)
Prédire si un tumeur est maligne ( y=1) on non (y=0) selon la taille du
tumeur (x1) et l'âge du patient (x2)
Détection de visage, classes={présence, absence}
OCR, classes={caractères identifiables}
39 Pr Mohammed OUANAN
Apprentissage supervisé: régression
Exemples:
Prédire le prix d’un appartement (y )selon sa surface habitable (x)
Prédire la quantité d’essence consommée (y) selon la distance parcourue
(x)
Prévision de la charge d’un serveur
Prévision de la fréquentation des routes
Estimation de la consommation d’electricité d’un ménage
40 Pr Mohammed OUANAN
La force du Machine Learning, c’est qu’il est très facile de développer des
modèles très complexes qui peuvent analyser des milliers de features (x) qu’un
être humain ne serait pas capable de prendre en compte pour faire son calcul
(et Excel non plus).
Par exemple, pour prédire le prix d’un appartement (y) un modèle de Machine
Learning peut prendre en compte :
sa surface (x1)
sa localisation (x2)
sa qualité (x3)
sa proximité avec un parc (x4)
etc.
41 Pr Mohammed OUANAN
Apprentissage non supervisé
Extraire des patterns( structure sous-jacente) dans un training non
étiqueté, on observe un set de données pour trouver les relations cachées
qui s’est trouve. Le partitionnement de données, data clustering,
42 Pr Mohammed OUANAN
Apprentissage NON supervisé à partir de données
Base d’exemples
de type « entrée seule» :
X= {x1, x2, … , xn}
(xid, souvent avec d « grand ») hH telle que
H famille de critère J(h,X)
modèles mathématiques ALGORITHME soit vérifié ou
[ chaque hH agent D’APPRENTISSAG optimisé
avec comportement y=h(x) ] E
Hyper-paramètres pour
l’algorithme
d’apprentissage
Exemple typique : le « clustering »
h(x)C={1,2, …, K} [ chaque i « cluster » ]
J(h,X) : dist(xi,xj) « plus faible pour xi,xj tq h(xi)=h(xj)
que pour des xi,xj tq h(xi)h(xj)»
43 Pr Mohammed OUANAN
Apprentissage non supervisé: Clustering
Former des groupes homogènes à l’intérieur d’une population:
Etant donne un ensemble de points, chacun ayant un ensemble d’attributs, et
une mesure de similarité définie sur eux, trouver des groupes (classes,
segments, clusters) tels que :
Les points à l’intérieur d’un même groupe sont très similaires entre eux.
Les points appartenant à des groupes différents sont très dissimilaires.
Le choix de la mesure de similarité est important.
Exemples:
Text mining : textes proches, dossiers automatiques.
Web mining : pages web proches
BioInformatique : gènes ressemblants
Marketing : segmentation de la clientèle
44 Pr Mohammed OUANAN
Apprentissage par renforcement
Apprendre un comportement (policy) optimal au sein d’un
environnement en se basant sur un fedback régulier de la série
d’actions effectuée
Orienté pour la prise de décision cet apprentissage se base
sur l’expérience (échecs et succès constatés).
Exemples :
La robotique
Education des animaux de compagnie
jeu d’échec, poker, backgammon, go…
behaviorisme: (pavlov, watson,skinner)
Black-box
Contingence de renforcement:( state, action,reward)
45 Pr Mohammed OUANAN
On a besoin:
1) Ensemble de données d’apprentissage
2) Ensemble de données de Test
3) Algorithme d’apprentissage(ou d’adaptation des paramètres)
L’apprentissage se déroule en deux parties distinctes :
46 Pr Mohammed OUANAN
Algorithme machine learning
47 Pr Mohammed OUANAN
Dilemme Biais-Variance
Définition:
Biais : à quel point le modèle est flexible
Variance: à quel point le résultat d’apprentissage va varier
suite à une faible modification du training set( base
d’apprentissage).
48 Pr Mohammed OUANAN
Dilemme Biais-Variance
Lorsqu'on minimise la fonction de cout du modèle on minimise
en fait simultanément deux sources d’erreurs:
(biais) c’est l’erreur provenant d’hypothèses erronées dans
l’algorithme d'apprentissage.
49 Pr Mohammed OUANAN
On pourrait alors se dire qu’il suffit de développer des modèles moins
complexes avec moins de features… Et Pouf ! Plus de problème de variance !
C’est vrai, Mais on risque alors d’avoir un modèle erroné qui manque de
précision. On appelle ça Under fitting, et on dit que le modèle a un grand
biais.
50 Pr Mohammed OUANAN
Dilemme Biais-Variance
La variance c’est l’erreur du a la sensibilité de notre modèle
aux petites fluctuations de l’échantillon de l’apprentissage.
51 Pr Mohammed OUANAN
Le modèle B ne donne aucune erreur par rapport au Dataset, donc
d’après ce que nous avons vu, il devrait être parfait ! Pourtant, le
modèle A semble plus convaincant, alors que celui-ci donne une
Fonction Coût plus élevée.
Le modèle B souffre ici d’un problème appelé Over fitting, qui est un
phénomène très courant en Machine Learning et qu’il vous faut
absolument éviter.
52 Pr Mohammed OUANAN
Comment trouver alors le juste milieu entre biais et variance ? C’est une
des grandes questions à laquelle sont confrontés les Data Scientists
53 Pr Mohammed OUANAN
Différentes méthodes de validation
54 Pr Mohammed OUANAN
Différentes méthodes de validation
55 Pr Mohammed OUANAN
Validation croisée à k plis (k-fold)
Données
56 Pr Mohammed OUANAN
Test / Validation
Mesurer le sur-apprentissage
GENERALISATION
la connaissance acquise est-elle utilisable dans des circonstances nouvelles
?
Ne pas valider sur l'ensemble d'apprentissage !
Validation sur ensemble de test supplémentaire
Validation Croisée
57 Pr Mohammed OUANAN
Sur-apprentissage
58 Pr Mohammed OUANAN
Data pre-processing: Comment préparer votre
Dataset
Il est fréquent qu’un Dataset contienne quelques anomalies, voire
des erreurs, qu’il faut supprimer pour ne pas biaiser l’apprentissage
de la machine (vous ne voudriez pas que la machine apprenne quelque
chose de faux).
Il est aussi important de normaliser vos données, c’est-à-dire les
mettre sur une même échelle pour rendre l’apprentissage de la
machine plus rapide et aussi plus efficace
Si vous avez des valeurs manquantes, il faut être capable de leur
assigner une valeur défaut.
Si vous avez des features catégoriales (exemple : homme/femme) il
faut les convertir en données numériques (homme=0, femme=1).
59 Pr Mohammed OUANAN
Egalement, il est très important de nettoyer le Dataset des features
redondantes (qui ont une forte corrélation) pour faciliter
l’apprentissage de la machine
Typiquement, sklearn et pandas disposent des fonctions nécessaires
pour faire un bon data pre-processing. Pour charger un fichier Excel au
format csv, utiliser la librairie pandas.
Les données doivent toujours venir de la même distribution
60 Pr Mohammed OUANAN
Prétraitement des données
Pour chaque paramètre on normalise
µ
Xnorm
Ou on standardise la valeur entre 0 et 1
( )
Xstd ( ) from sklearn.preprocessing
Codification import LabelEncoder,
OneHotEncoder
61 Pr Mohammed OUANAN
Résumé
Attention à votre fonction de coût :
qu’est-ce qui importe pour la mesure de performance ?
Données rares :
Attention à la répartition entre données d’apprentissage et données test.
Validation croisée.
N’oubliez pas l’ensemble de validation
62 Pr Mohammed OUANAN
Machine learning avec Python
63 Pr Mohammed OUANAN
Conclusion
Il convient de retenir quelques étapes simples à effectuer dans l’ordre :
Récupération des données à analyser. Cette étape semble triviale mais est souvent celle qui
prend plus de temps… Si vous souhaitez faire de la reconnaissance de visages, vous allez devoir
prendre/disposer de photos de milliers de visages pour (prétendre) avoir un classifieur
performant.
Sélection des caractéristiques. les données brutes sont souvent inexploitables, il faut
procéder à un prétraitement des données afin d’extraire les caractéristiques des données
pertinentes pour la prise de décision autrement appelées caractéristiques (features).
Cette extraction de caractéristiques (feature selection) fait souvent appel au bon sens, à des
facteurs de corrélation statistiques ou à des itérations successives (choix empirique).
Choix du modèle. Comme pour la sélection des features, il n’y a pas de méthodes
automatiques. Cela dépend en grande partie des données à analyser et de facteurs empiriques.
Entraînement du modèle. Pour chaque modèle, il existe un algorithme d’entraînement. Cette
étape prend souvent beaucoup de temps et augmente avec la taille des données d’entrée.
Evaluation du modèle. En général, on procède par validation croisée. Une des déclinaisons
de cette méthode consiste à découper l’ensemble de données en deux, d’entraîner le modèle avec
la première moitié et de tester le modèle sur la seconde moitié. On calcule ensuite plusieurs
indicateurs pour évaluer le modèle, en particulier sa précision (nombre de bonnes prévisions
divisées par le nombre total de prévisions).
64 Pr Mohammed OUANAN