Académique Documents
Professionnel Documents
Culture Documents
-Machine Learning-
1) Introduction à l’IA :
Définition de l’intelligence artificielle IA :
L’intelligence artificielle (IA) (en anglais, Artificial Intelligence - AI) est l’ensemble des
théories et des techniques mises en œuvre en vue de réaliser des machines capables de simuler
l’intelligence humaine.
L’intelligence artificielle (IA) consiste à imiter l’intelligence de l’être humain, en implantant
un algorithme (programme) qui donne à la machine la capacité d’apprendre.
- Domaine de la banque : systèmes experts d'évaluation de risque lié à l'octroi d'un crédit ;
- Domaine militaire : systèmes autonomes tels que les drones ;
- Domaine des jeux ;
- Domaine de la médecine : systèmes experts d'aide au diagnostic (mieux interpréter les
radiographies que les médecins (Détection d’une personne atteinte du COVID19 )) ;
Exemple :
Pour créer un programme avec lequel dialoguer en fonction de vos besoins, les questions à
poser à l'utilisateur sont préenregistrées et en fonction des réponses, l'algorithme suit une logique
pré-programmée (programmation à base d'instructions conditionnelles) pour vous poser d'autres
questions. Ce genre d'intelligence nécessite d'avoir une base de connaissance importante si on ne
veut pas que l'algorithme tourne en rond rapidement.
Le programme apprend par des exemples (par des situations) qui sont donnés
dans une base (ou table) de données (Dataset) ; afin de développer un modèle qui
effectue une approximation de la réalité. (phase d’apprentissage).
La machine peut également faire des prédictions sur de nouvelles données qui
ne sont pas fournies dans la phase d’apprentissage. Ceci se fait par un modèle qui
effectue une approximation de la réalité, en se basant sur les informations
données par la base de données. (phase de prédiction ou d’inférence).
2
La différence entre l’algorithme classique et l’algorithme d’apprentissage :
Exemple :
Exemple Tarte :
Ingrédients Recette
Apprentissage
Des Tartes
Algorithme d’apprentissage
Recette
Autres Ingrédients Nouvelle Tarte
3
L’apprentissage automatique –Machine Learning ML- sert à :
*) Résoudre des problèmes qu’on sait faire, mais on n’arrive pas à formuler par un
algorithme, exemple reconnaissance des chats dans des images, reconnaissance des panneaux
(code de la route), des chiffres mal écrits… ;
*) Résoudre facilement des problèmes mieux que la méthode classique (méthode numérique
non gourmande en mémoire et en temps d’exécution).
2) Modes d’apprentissage :
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.
Parmi ces méthodes, on a les 3 modes d’apprentissage suivants :
4
2-1) L’apprentissage supervisé (Supervised Learning) :
La variable yi porte le nom de target (la cible ou sortie). C’est la valeur que l’on
cherche à prédire.
La variable xi porte le nom de features (caractéristiques) que l’on regroupe dans
une matrice.
Si la sortie contient des réels, on parle de régression, si la sortie est un ensemble de
groupement, on parle de classification.
5
L'apprentissage supervisé avec la classification permet de labelliser des objets comme des images
et la régression permet de réaliser des prévisions sur des valeurs numériques. L'apprentissage est
supervisé car il exploite des bases de données d'entraînement qui contiennent des labels ou des
données contenant les réponses aux questions que l'on se pose. En gros, le système exploite des
exemples et acquiert la capacité à les généraliser ensuite sur de nouvelles données de production.
6
2.1.1 Régression
Les valeurs des sorties appartiennent à l’ensemble IR (réel).
Surface Prix
x y
1
2
3
4
5
m:
étiquettes
m:
etiquettes
Prédire :
7
2.1.2 Classification :
Les valeurs des sorties appartiennent à des classes, valeurs discrètes (ne sont pas continues).
Bénigne
Maligne
Taille tumeur
Figure : Une seule Variable : la taille de la tumeur ; la sortie est la tumeur Bénigne en rouge ou Maligne en
bleu.
8
Apprentissage supervisé avec 2 attributs ( 2 variables)
Age
Taille tumeur
Figure : Deux variables qui sont : la taille de la tumeur et l’âge ; la sortie est la tumeur Bénigne en rouge
ou Maligne en bleu
9
NB :
*) Cas général, les entrées sont quelconques, le nombre de classes de sortie est quelconque.
*) Si les entrées sont binaires et la sortie possède 2 classes, le problème devient un cas
particulier du cas particulier (Logique combinatoire).
Algorithme Modèle
Observations
étiquetées d’apprentissage prédictif
Formalisation :
Données :
*) n observations (Cas) donc peut donc être considéré comme un vecteur de dimension n:
;
Régression :
Classification :
Sortie : Modèle
10
2-2) L’apprentissage non supervisé (Unsupervised Learning) :
Clustering (Regroupement)
Dans la base de donnée, on ne possède que les variables d’entrées, On ne connait pas les
sorties, on dit la base de donnée n’est pas étiquetée.
L’algorithme doit faire des regroupements sur des critères pour obtenir des similarités entre les
données, créer des clusters (partitions ou regroupement).
Exemple 1 :
Exemple 2 :
Classification des photos dans les téléphones, selon les paysages, les fêtes, juste des visages…
Exemple 3 :
X2
X1
2 variables X1 et X2, pas de sortie (Situation initiale d’un apprentissage non supervisé)
Les classes ne sont pas définies.
11
X2
X1
2 variables X1 et X2, les sorties sont regroupées en 2 classes, par l’algorithme
Exemple : Les tâches d’un robot ; Le déplacement d’une voiture dans un parcours…
Remarque :
12
3) Résumé :
ML
Clustering
Régression Classification
(Regroupement)
A-Algorithme de régression
1-Base de donnée (Dataset) :
Exemple :
Exemple 1
Surface*100 Prix*10^(6)
m2 DH 12
Variable y: Prix * 10^(6) DH
x y 10
8
1 2
6
2 5
4
2.99 7,5
2
4 8
0
5.01 9 0 2 4 6 8
6 10 Variable x: Surface * 100 en m2
13
2- Modèle de représentation ( Juste le modèle linéaire, au programme des CPGE)
On modélise ce graphique (ou la base de donnée) par une fonction qui décrit le plus précisément
possible la relation entre y et x, avec un minimum d’erreur entre le modèle et le réel qui est donné
dans la base de données (le modèle choisi est une régression linéaire).
La précision du modèle sera évaluée par le calcul de l’erreur, exprimée par : RMS, RMSE, le
coefficient R2 … (L’évaluation du modèle sera développée dans le paragraphe ….)
*) Modèle linéaire
Exemple 1
12
Variable y: Prix * 10^(6) DH
10
0
0 1 2 3 4 5 6 7
Variable x: Surface * 100 en m2
Exemple 1
12
Variable y: Prix * 10^(6) DH
y = 1,5x + 1,6667
10
0
0 1 2 3 4 5 6 7
Variable x: Surface * 100 en m2
14
Exemple 1
12
y = 1,5x + 1,6667
Variable y: Prix * 10^(6) DH
10
R² = 0,9113
8
0
0 1 2 3 4 5 6 7
Variable x: Surface * 100 en m2
3- Fonction coût
Le coût d’un modèle est une fonction qui détermine l’erreur entre le réel (tableau des données) et le modèle
choisi (dans notre cas modèle linéaire), donc la fonction coût est liée à l’erreur.
Minimiser la fonction coût revient à minimser l’erreur entre le modèle et le réel. Elle permet de déterminer
les paramètres a et b qui minimisent cette erreur, la fonction coût évalue donc le modèle choisi.
f(x) = a.x+b
15
La fonction coût est liée à l’erreur globale de tous les points, définie soit par :
*)
Rappel : yi : le réel (vrai valeur de xi), f(xi) = a.xi+b :le modèle (qui sera utilisé pour la prédiction)
La fonction coût :
Tel que :
16
R2= 1- RSE ; le modèle idéal donne R2=1
Le coût est:
on aura :
Application :
Surface*100 Prix*10^(6)
m2 DH Application
x y 12
Variable y: Prix * 10^(6) DH
1 2 10
8
2 5
6
2.99 7,5 4
4 8 2
5.01 9 0
0 1 2 3 4 5 6 7
6 10
Variable x: Surface * 100 en m2
====================
17
Réponse : Par la méthode des moindres carrés, on cherche a et b.
D’oû :
Application
12
y = 1,5x + 1,6667
Variable y: Prix * 10^(6) DH
10
?
8
0
0 1 2 3 4 4,5 5 6 7
Variable x: Surface * 100 en m2
NB : Méthode simple mais elle est appliquée pour une seule variable x et 2 paramètres (a,b).
Méthode 2 : Descente du gradient (Gradient descent) pour minimiser le coût (minimiser l’erreur)
a rech
On cherche numériquement la valeur de « a » , à partir d’une valeur aléatoire initiale notée ao, qui
minimise la fonction coût et qui est le point de la tangente horizontale de la fonction convexe J(a,b), c’est la
descente du gradient :
pour
si
si
…….
19
J(a,b)
ao a rech
J(a,b)
ao a1 a rech
J(a,b)
a1 a rech
20
5- Cas général sous forme matricielle
*) Base de Données (Dataset) : n variables d’entrées dans ce cas, 1 variable d’entrée X (n=1) et m
exemples.
n variables d’entrées
(n=1)
Surface*100 Prix*10^(6)
m2 DH
X y
1 2
2 5
2.99 7,5
m exemples 4 8
5.01 9
6 10
*) Modèle :
de dimensions m*1
*) Fonction coût
21
Sous forme matricielle :
*) Gradients : On avait
De dimensions (n+1)*1
Avec
*)Descente du gradient
On avait :
Cas général :
Résumé :
Données (Dataset) : avec m :exemples (cas) et n :sorties.
m*(n+1) m*1 (n+1)*1 dans ce cas n=1 (une seule sortie y avec m : cas)
22
6- Régression linéaire multiple (multivariable)
n variables d’entrées
(n=4)
de dimensions m*1
23
Sous forme matricielle le modèle s’écrit:
*) Fonction coût
*) Gradients
On avait
De dimensions (n+1)*1
*) Descente du gradient
24
On avait :
Cas général :
Exemple 2 :
m: étiquettes
25
Question : Prédire la catégorie d’une personne : M, 36 ans, 1.65m et 45kg
X1(0…255), X2(0…255) ….X64(0..255) ===> Y ( 0..9) : Prédire le chiffre contenu dans l’image
X1(0…255), X2(0…255) ….X64(0..255) ===> Y ( a,b,c…z) : Prédire la lettre contenue dans l’image
X1(0…255), X2(0…255) ….X64(0..255) ===> Y ( Chat, chien, autres) : Prédire le contenu de l’image
parmi les 3 catégories, qui peut être appliqué pour la prédiction des panneaux routiers de signalisation.
Si les entrées sont binaires et la sortie binaire, rencontrés dans les problèmes de logique combinatoire.
X1 (0 ou 1), X2 (0 ou 1) ===> Y ( 0 ou 1)
2- Principe
On cherche les distances entre le point considéré et tous les autres points, puis on déduit les K
points les plus proches, après on identifie les catégories des K voisins, finalement on attribut à notre point
la catégorie du maximum des points les plus proches (K en général impair).
Exemple : Pour K=5 (On cherhche les 5 plus proches à notre point), si on a retrouvé parmi les 5 plus
proches, 3 qui ont la catégorie foot et 2 qui ont la catégorie Basket, notre point prend la catégorie foot.
X1 X1
Avant K-NN Après K-NN
26
Ecriture mathématique
Données :
*) n observations (Cas) en p dimensions :
*) n étiquettes :
Modèle : Associer à l’étiquette de D dont est le plus proche selon la distance
Euclidienne.
Prédiction (Vote de la majorité) : On donne à , l’étiquette majoritaire parmi ses k les plus
proches voisins.
27
3- Calcul des distances
Distance Euclidienne
Exemple pour une base de données qui contient : age, taille, poids et genre comme variables
Distance de Manhattan
Pour les combinaisons des données dans le test (25% de la table), puisque on connait déjà les vraies
valeurs des sorties (réels), on peut comparer ces vraies valeurs avec les prédictions données par
l’algorithme. Ce qui permet l’évaluation de cet algorithme.
28
Catégorie/Classe réelle
0 1
Vrais Négatifs Faux Négatifs
0 TN+FN
Catégorie/Classe (TN) (FN)
Prédite Faux Positifs Vrais Positifs
1 TP+FP
(FP) (TP)
TN+FP TP+FN Total
Précision (précision)
NB : Pour une bonne évaluation du modèle, la base de données doit être équilibrée (ne doit pas contenir
une majorité d’une certaine catégorie).
On donne un Dataset (X1,X2,Y), Prédire pour une nouvelle combinaison (X1N, X2N, ?)
Introduire le nombre K de voisins (facultatif peut être défini déjà dans le programme)
Introduire l’entrée à prédire
Obtenir le résultat de la prédiction
NB :
o Une valeur très faible pour K, telle que K=1 ou K=2, peut être bruitée et entraîner des effets de
valeurs aberrantes dans le modèle.
o Les grandes valeurs pour K sont bonnes, mais cela peut rencontrer des difficultés du temps
d’exécution du programme.
Remarques :
*) Epsilon- voisins : au lieu de considérer les k voisins les plus proches, on considère le nombre de voisins
situés dans une sphère de rayon epsilon autour du point concerné.
*) Pondération des voisins : pour le calcul des distances, la contribution de chaque voisin est pondérée par
un coefficient inversement proportionnel à la distance entre le point de considéré et le voisin.
*) Autres distances :
Distance Minkowski :
C) RESEAUX de NEURONES :
1) Réseau de neurone naturel
30
La figure ci-dessous représente les principaux constituants d’un neurone naturel
*) Plusieurs neurones
La figure 2, représente les connexions entre plusieurs neurons naturels, le neurone 1 envoie les
informations, par ces dendrites qui représentent les sorties du neurone, aux synapses qui correspondent
aux entrées des autres neurones.
2) Neurone artificiel
2-1) Modèle
Un neurone artificiel, nommé : un perceptron, est inspiré du neurone naturel, la figure 3 représente un
modèle de représentation, le 1er perceptron apparait en 1956.
31
Le modèle représente un neurone, d’entrées A et B, et de sortie y ; un poids W1 pour l’entrée X1, et W2
pour X2, en plus d’un poids (biais) C du noyau du neurone.
y
A
y
A
C
A
A
B
A
Exemple : Le modèle représente un neurone, d’entrées X1 et X2, et de sortie Z ; en plus d’un poids W1
pour l’entrée X1, un poids W2 pour X2 et un poids b du noyau.
X1
W1
Z= X1*W1+X2*W2+b
Z
b
X2
W2
2-2-1) Introduction
Le signal envoyé par le neurone actuel de sortie Z, vers le neurone suivant doit être 1 ou 0, donc la valeur
de Z qui est quelconque, doit être converti en 0 ou 1, ce qui nécessite de rajouter une fonction appelée :
Fonction d’activation qui spécifie un seuil pour obtenir la sortie correspondante.
La figure 4, présente un modèle de neurone avec une fonction d’activation (Act.) de type Heaviside, le
résultat attendu est binaire (2 catégories).
Si z 0 ==> Y=1
32
Si z 0 ==> Y=0
Act.
b
A
Exemple 1 :
Z= X1*W1+X2*W2+b
X1
W1
z Y =1 si z >0
b Act..
Y=0 si z 0
X2
W2
Exemple 2 : Calculer Y pour les 4 cas de X1 et X2 avec W1= 0,4 , W2= 0,5, b= -0,3
Dans le réseau artificiel quelques sorties nécessitent d’autres valeurs différentes de 0 et 1, par suite on
peut placer d’autres fonctions d’activation.
33
Figure 5: Principales fonctions d’activation du réseau de neurone artificiel
34
2-2-3) Fonction d’activation SIGMOIDE (probabilité)
Elle est appliquée au résultat Z du neurone, pour donner toujours un résultat binaire (0 ou 1) avec une
certaine probabilité, plus que la probabilité est grande plus le résultat est proche de la valeur 1.
Z= X1*W1+X2*W2+b
X1
W1
NB : Le résultat n’est pas loin de la limite de décision, On aura aussi P(Y=0) = 1- P(Y=1)= 48%
X1
W1
b z σ(z)
X2
W2
Z= X1*W1+X2*W2+b
y=1
σ(Z) ε
y=0
On a : (z) donné par la probabilité par rapport à P(Y=1) donc la probabilité générale est donnée par la
formule de Bernouilli pour y=1 et y=0:
Rappel : ; y souhaité : y = 0 ou 1
2-4) Descente du gradient
On utilise la descente du gradient pour déterminer les meilleurs paramètres W1, W2 et b qui minimisent
la fonction coût.
37
Calcul de
Avec :
*)
*)
*) On a :
Dans le programme on choisit aléatoirement les hyper-paramètres W1, W2 et b puis on fait une mise à
jour (des boucles) par la descente du gradient jusqu’à la détermination des meilleurs paramètres qui
38
minimisent le coût.
Les données :
Le modèle :
Fonction coût :
Vérification:
39
Descente du gradient:
On avait :
on aura :
Consiste à retrouver la méthode de descente du gradient, les meilleurs paramètres W et b pour minimiser
la fonction coût.
Dans le programme on choisit aléatoirement les hyper-paramètres W1, W2 et b puis on fait une mise à
jour (des boucles) par la descente du gradient jusqu’à la détermination des meilleurs paramètres qui
minimisent le coût.
W11 Z1 Z1=X1*W11+X2*W12+b1
Z3 = Z1*W31+Z2*W41+b3
X1 b1
W31 =(X1*W11+X2*W21+b1)*W31+(X1
Z3 *W12+X2*W22+b2)*W32+b3
W21 b3
W12
W32
X2 b2 =
W22
Z2 Z2=X1*W21+X2*W22+b2
40
3-2) Réseau à plusieurs neurones
Plus que le nombre de neurones augmente et le nombre des couches intermédiaires (cachées)
augmentent, plus on peut classifier des systèmes complexes.
41
Figure 10: exemple d’application de réseau de neurones.
W11
X1 b1 W’’11 b1 Y1
W’11
W21 b1
…
W12 W’12 b2
X2 b2
W22 bn2
Yns
X3 bn3
bn1
Xno
42
Données :
( Dans les programmes : Initialisation des matrices [W] et [B] par des valeurs aléatoires)
Modèle : et
Pour la matrice Z1 : :
Pour la matrice Z2 : :
…..
LogLoss :
Descente du gradient:
Couche c:
43
Mise à jour de :
44
Exercice :
Après entraînement du modèle prédictif, on affiché la matrice de confusion associée aux
prédictions sur la base de données de validation.
0-
1-
2-
3-
4-
5-
6-
True label
7-
8-
9-
45
Predicted label
Q1.Quel type de problème d'apprentissage est adressé ici ?
Q2. Proposer une métrique permettant de mesurer la performance de ce système.
Q3) Calculer la justesse ?
Q4) Dresser la matrice de confusion normalisée. Conclure.
Réponses :
Q1) Les sorties sont des éléments discrets (9 catégories), il s'agit d'un problème de classi_cation
multiclasse (instance de problème d'apprentissage supervisé)
Q2) Dans le cadre d'un problème de classification multiclasse, une métrique standard est la
justesse (proportion de prédictions correctes).
Q3)
Q4)
Matrice de confusion normalisée :
0-
1-
2-
3-
4-
5-
True label
6-
7-
8-
9-
Predicted label
46
Matrices de confusion non normalisée et normalisée pour la tâche
de reconnaissance d'un chiffre manuscrit. La matrice de confusion normalisée permet de voir que
les erreurs de prédiction sont concentrées sur les classes 3; 8 et 9 et que les confusions les plus
fréquentes de la fonction de prédictions sont sur les couples 3 � 8; 3 � 9 et 8 � 9 (certainement
dues à la présence de boucles dans le tracé des chiffres aux même endroits dans l'image).
47