Vous êtes sur la page 1sur 47

L’intelligence artificielle (IA)

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

 Champs d'application de l'IA :

L'intelligence artificielle est utilisée dans plusieurs domaines tels que :

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

Médecine prédictive : Diabète en fonction analyse sanguin, du chrome et ….

Tumeur en fonction de l’âge, dimensions, genre, analyse sanguin…;

- Domaine de la logistique : résolution de problème de satisfaction de contraintes, assistance


au diagnostic (appareils, voitures…);

- Maintenance prédictive : des pièces susceptibles de se détériorer.

Exemples de problèmes d'intelligence artificielle :

- Le dialogue automatique : se faire comprendre d'un ordinateur en lui parlant ;


- la traduction automatique, si possible en temps réel ou très légèrement différé ;
- le raisonnement automatique (systèmes experts) ;
- l'apprentissage automatique (conduire des voitures, créer (musique, peinture, meubles);
- la reconnaissance de formes, des visages et la vision en général (ex : Imaginer une partie
manquante d'une photographie, Détection du contenu d’une image);
- l'aide aux diagnostics ;
- l'aide à la décision ;
- l'assistance par des machines dans les tâches dangereuses, ou demandant une grande
précision.
1
 IA dans le cadre des sciences de l'ingénieur :
Au programme de SII, on désigne par le terme d'Intelligence Artificielle des méthodes
permettant :
- d'effectuer une prise de décision (aussi appelée prédiction) à partir de la reproduction
d'un comportement
- d’observer sur des données réelles, et non à partir d'un modèle de connaissance choisi
par un humain.
Ces données peuvent être :
- Des mesures temporelles (exemple : mesure de la vitesse de rotation et de la tension
d'alimentation d'un moteur à différents instants).
- Des données statiques décrivant les performances d'un système (exemples : erreur statique
mesurée pour différents réglages de correcteurs, rendement d'un système mesuré avec
différents choix de composants...)
A partir de ces données, on souhaite apprendre un modèle permettant de prévoir des grandeurs qui
seraient longues / difficiles à obtenir par l'intervention d'un humain. Il sera donc nécessaire de
constituer une base de données d'entrainement obtenue en effectuant un suffisamment grand
nombre d'expériences, et l'utiliser pour entraîner une fonction de prédiction répliquant le
comportement observé sur ces exemples d'entraînement et pouvant alors effectuer des prédictions
à partir de nouvelles données.

 Définition du Machine Learning : L'apprentissage machine ou L'apprentissage


automatisé

Le machine Learning correspond à un ensemble d'algorithmes utilisables pour obtenir une


intelligence artificielle. Le ML est un domaine de l’IA qui consiste à implanter un algorithme
(programme) qui donne à une machine la capacité d’apprendre à réaliser des tâches.

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 :

Ingrédients Recette Tarte

Exemple Tarte :

Ingrédients Recette
Apprentissage
Des Tartes

Algorithme d’apprentissage

Recette
Autres Ingrédients Nouvelle Tarte

 Pour le Machine Learning ML on a besoin de :

*) Données (Base de données) ;


*) Algorithme d’apprentissage (Entrainement) ;
*) Nouvelles entrées (pour la prédiction).

3
L’apprentissage automatique –Machine Learning ML- sert à :

*) Résoudre des problèmes qu’on n’arrive pas à résoudre classiquement ;

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

 Apprentissage supervisé (Supervised Learning SL)


 Apprentissage non supervisé (Unsupervised Learning UL)
 Apprentissage par renforcement (Reinforcement Learning RL : Hors
programme)

4
2-1) L’apprentissage supervisé (Supervised Learning) :

C’est un apprentissage à partir d’une base de données (informations) d’entraînement (Dataset)


qui est constituée d’un nombre de « n » exemples qui sont des paires d’entrées et de leurs sorties
(xi , yi ) . La machine reçoit des données caractérisées par des variables xi et annotées d’une
variable i , on parle de données avec étiquettes.

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

2.1.1.1 Apprentissage supervisé : Régression Monovariable

Surface Prix
x y
1
2
3
4
5

m:
étiquettes

2.1.1.2 Apprentissage supervisé : Régression Multivariable


Features: variables d’un appartement Target(Sortie)
Surface Age chambres étage Prix
x1 x2 x3 X4 y
1
2
3
4
5

m:
etiquettes

Prédire :

 Prix d’une maison en fonction de la surface, …. ;


 Température en fonction de pression CO2, CFC…. ;
 Le prix des actions dans les bourses ;
 La vitesse d’écoulement de l’air en fonction de la surface, la géométrie, l’inclinaison du
corps…
 La production d’une ferme en fonction de la quantité d’eau, les périodes de pluies, la
température…

7
2.1.2 Classification :
Les valeurs des sorties appartiennent à des classes, valeurs discrètes (ne sont pas continues).

Features: variables d’une personne Target(sortie)


Genre(M/F) Age Taille[ m] Poids [Kg] Classe
x1 x2 x3 X4 y
1 Tennis
2 Foot
3 Volley
4 Basket
5 Foot
Foot
Volley
Tennis
m: étiquettes Basket

Exemples de sorties (target) :

 Triangles, carrés, ronds, étoiles.


 Foot, basket, volley, tennis.
 Rouge, verte, bleu.
 Chiffres: 0, 1, 2,….., 9.
 Lettres: a, b, c,…….., z.
 Cas particuliers:
Message email : spam oui / non ;
Analyse médicale (chrome, zinc, globules rouges, ..): diabète oui / non.
Photos : chat oui / non ;
IRM : Tumeur Benigne/tumeur maline ;
IRM : Covid OUI/ NON ;
Vrai/Faux; Oui/Non; 0 /1.
Quelques représentations :
Apprentissage supervisé

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

Figure : 64 Entrées qui représentent la taille


de l’image (8*8=64 Pixels), la sortie le chiffre
correspondant (0…9)

Figure : Les entrées sont des emails (textes, chiffres,


symboles), la sortie : spam ou pas spam.

9
NB :

*) Cas général, les entrées sont quelconques, le nombre de classes de sortie est quelconque.

*) Si la sortie présente 2 classes (0 , 1) c’est une classification binaire ( c’est un cas


particulier).

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

2.1.3 Définition mathématique de l’apprentissage supervisé :

Algorithme Modèle
Observations
étiquetées d’apprentissage prédictif

But : Apprendre un modèle prédictif.

Formalisation :

Données :

*) p variables d’entrées donc l’ensemble des données est X =

*) n observations (Cas) donc peut donc être considéré comme un vecteur de dimension n:
;

*) n étiquettes (leurs évaluations):

Régression :

Classification :

Cas particulier Classification binaire :

Sortie : Modèle

Inférence étant donné un

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

2-3) L’apprentissage par renforcement (Reinforcement Learning) (hors


programme des CPGE).

L’apprentissage par renforcement permet de créer une base de données en fonction de la


supervision de l’environnement (capteurs).
C'est une forme d'apprentissage supervisé incrémental qui utilise des données arrivant au fil de
temps pour modifier le comportement du système. Il est utilisé par exemple en robotique, dans les
jeux ou dans les chatbots capables de s'améliorer en fonction des réactions des utilisateurs.

Au cours du fonctionnement du système, l’algorithme donne une récompense positive à la


situation recherchée et une récompense négative à des situations non voulues. Ainsi, par
apprentissage et en fonction des récompenses le système peut savoir les bonnes tâches et les
mauvaises, en plus, à partir de la base de données enrichi par le nombre de situations, le système
peut prédire d’autres tâches.

Exemple : Les tâches d’un robot ; Le déplacement d’une voiture dans un parcours…

Remarque :

Dans le programme de CPGE, on s'intéresse à quelques algorithmes de machine Learning :


- Méthode des K- plus proches voisins (Kpp) (K- Nearest Neighbors KNN);
- Régression Linéaire (pas polynomiale) : monovariable (simple), multiple;
- Réseaux de neurones (Neural Network);
-
Cependant, ces trois algorithmes ne sont qu'une partie de l'ensemble des algorithmes possibles
pour réaliser du machine Learning.

12
3) Résumé :

ML

Apprentissage Apprentissage non Apprentissage par


supervisé supervisé renforcement

Clustering
Régression Classification
(Regroupement)

Régression Linéaire KNN


Réseaux de
KNN K_means neurones
Réseaux de neurones Réseaux de neurones

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

Question : Prédire le prix de l’appartement de surface 4,5*100 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

Figure 1 : Choix du modèle linéaire.

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

Figure 2 : Equation du modèle qui minimise l’erreur.

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

Figure 3 : Erreur entre réel et le modèle, évaluée par le coefficient R2.

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.

Meilleurs paramètres ===> Erreur minimale ===> meilleur modèle.

f(x) = a.x+b

Figure 10 : Erreurs entre le modeèle et le réel

15
La fonction coût est liée à l’erreur globale de tous les points, définie soit par :

*)

*) ( y - f(x) )2 : Norme Euclidienne

Somme des erreurs quadratiques

: Error Somme Squared: la somme des erreurs quadratiques

Rappel : yi : le réel (vrai valeur de xi), f(xi) = a.xi+b :le modèle (qui sera utilisé pour la prédiction)

*) Erreur quadratique moyenne MSE (Mean Squared Error)

La fonction coût :

MSE : Mean Squared Error, l’erreur quadratique moyenne

*) Racine de l’erreur quadratique moyenne RMSE :

RMSE : Root Mean Squared Error, racine de l’erreur quadratique moyenne

*) Erreur carrée relative (RSE) et R2

RSE : Relative Squared Error, l’erreur carrée relative

Le complément à 1 de la RSE est le coefficient de détermination noté: R2.

Tel que :

16
R2= 1- RSE ; le modèle idéal donne R2=1

4- Algorithme de minimisation du coût

Méthode 1 : Méthode des moindres carrés

On cherche les paramètres a et b du modèle : ou

Par la méthode des moindres carrés

Le coût est:

On cherche pour quelle valeur de ‘’a’’ la dérivée s’annule, de même pour b :

Syst. 2 équations à 2 inconuues (a,b)

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

Question : Prédire le prix de l’appartement de surface 4,5*100 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

Le prix de l’appartement de surface p=4,5*100 m2 est : f(p)= 1,5*4,5+1,66667= 8,41667*10^6 Dh

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)

L’allure de la fonction J(a,b) est :


18
J(a,b)

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

…….

Ainsi de suite jusqu’à retrouver

19
J(a,b)

ao a rech

J(a,b)

ao a1 a rech

J(a,b)

a1 a rech

La méthode de la descente du gradient est refaite pour le paramètre b

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

Matrice des entrées x et matrice des sorties y qui sont connues.

*) Modèle :

de dimensions m*1

Sous forme matricielle le modèle s’écrit:

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

 Modèle : dimension : m*1


 dimension : 1*1
 dimension : (n+1)*1

22

6- Régression linéaire multiple (multivariable)

*) Base de données Dataset

n variables d’entrées
(n=4)

Features: variables Target:


Surface âge chambres Prix
x1 x2 x3 y
1
2
3
m exemples 4
5

Matrice des entrées x et matrice des sorties Y, connues.

(m*n) = (m*3) (m*1)

*) Modèle Régression linéaire

de dimensions m*1

23
Sous forme matricielle le modèle s’écrit:

*) Fonction coût

Sous forme matricielle

*) Gradients

On avait

De dimensions (n+1)*1

*) Descente du gradient

24
On avait :

Cas général :

B- Algorithme KNN (K Nearest Neighbors)


1- Introduction
L’algorithme KNN, est utilisé principalement dans la classification des données en
machine learning ML, en effet à partir d’une base de données de classification (dont la sortie
correspond à des catégories/classes), on cherche à prédir la catégorie d’une nouvelle entrée en
lui attribuant la catégorie des voisins les plus proches (Neighbors Nearest)
Exemple 1: Les valeurs des sorties appartiennent à des classes, valeurs discrètes (pas continues).

Features: variables Target:


genre age Taille en m poids Classe
x1 x2 x3 X4 y
1 M 15 1.70 60 Tennis
2 M 26 1.68 70 Foot
3 F 32 1.8 75 Volley
4 M 12 1.55 58 Basket
5 F 18 1.75 69 Foot
Foot
Volley
Tennis
m: étiquettes Basket

Question : Prédire la catégorie d’une personne: F, 19 ans, 1.48m et 55Kg

Exemple 2 :

Features: variables Target:


genre age Taille en m poids Classe
x1 x2 x3 X4 y
1 F 19 1.70 60
2 M 34 1.68 70
3 M 25 1.8 75
4 F 57 1.55 58
5 F 13 1.75 69

m: étiquettes
25
Question : Prédire la catégorie d’une personne : M, 36 ans, 1.65m et 45kg

Exemple 3: Image 64 bits (8*8), le résultat est la prédiction du contenu de l’image

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.

Exemple 4 : Si la sortie ‘’ Y ’’ présente 2 catégories, on parle de classification binaire, c’est un cas


particulier.

X1 (age), X2 (taille), X3(Genre) ===> Y ( 0 ou 1)

Exemple 5 : Cas particulier du cas particulier

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.

Nouveau point Nouveau point


Classe A Classe B Classe A
Classe B
X2 X2

X1 X1
Avant K-NN Après K-NN

Figure : Prédiction de la catégorie d’un nouveau point par KNN.

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

Distance Euclidienne entre A et B est donnée par :

forme générale pour plusieurs entrées :

Exemple pour une base de données qui contient : age, taille, poids et genre comme variables

Distance de Manhattan

Distance de Manhattan entre A et B est donnée par :

4- Evaluation d’un modèle de classification


La matrice de confusion (Confusion Matrix) est utilisée pour l’évaluation d’un modèle de
classification. Dans la table de données (dataset), aléatoirement, 75% de ces données sont utilisées pour
l’apprentissage et 25% sont réservées aux tests.

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

Le cas idéal : pour FN=0 et FP =0 ===> Précision =1

D’autres critères d’évaluation

Sensibilité (Sensitivity) = rappel (recall) = taux de vrais positifs=

Spécificité (specifity) = taux de vrais négatifs (TN rate) =

Précision (précision)

Score F (F-score) = moyenne harmonique (précision, rappel)

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

5- Fonctionnement de l’algorithme K-NN


Le fonctionnement de K-NN peut être expliqué sur la base de l'algorithme ci-dessous :

On donne un Dataset (X1,X2,Y), Prédire pour une nouvelle combinaison (X1N, X2N, ?)

*) Etapes pour le modèle :

 Base de données connue ;


 Consacrer 80% pour l’apprentissage (training) et 20% pour le test (ou 75%, 25%)
 Introduire le nombre K de voisins à utiliser dans le calcul ;
 Apprentissage (75% de la table) ;
29
 Test des 25% de la table ;
o Calculer la distance euclidienne d’un point concerné par rapport à tous les points.
o Prenez les K voisins les plus proches selon la distance euclidienne calculée.
o Parmi ces k voisins, comptez leurs catégories.
o Attribuez aux nouveaux points de données la catégorie pour laquelle le nombre de
voisins est maximal.
 Evaluer l’algorithme : Par matrice de confusion après Apprentissage (Training) et test ;
 Valider le modèle.

*) Etapes pour la Prédiction pour un modèle satisfait

 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 :

Similarité cosinus : comme cosinus dans un produit scalaire.

Distance de Hamming appliqué en binaire, en exploitant le ou exclusif.

C) RESEAUX de NEURONES :
1) Réseau de neurone naturel

*) Représentation d’un neurone

30
La figure ci-dessous représente les principaux constituants d’un neurone naturel

Figure 1 : Constituant 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.

Figure 2: Connexions entre plusieurs 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

Figure 3 : Représentation d’un neurone artificiel.

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

Pour W1=0,3 ; W2= 0,2 et b= -0,4

 Pour X1=1 X2=0 on retrouve : Z = -0,1


 Pour X1=0 X2=1 on retrouve : Z = -0,2
 Pour X1=0 X2=0 on retrouve : Z = -0,4
 Pour X1=1 X2=1 on retrouve : Z = +0,1

2-2) Neurone avec fonction d’activation

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

Figure 4 : Modèle d’un perceptron avec la fonction activation.

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

Calculer Y pour les 4 cas de X1 et X2.

avec W1= 0.3, W2= 0.2 b=-0.4

====> C’est la fonction ‘’ ET’’

Exemple 2 : Calculer Y pour les 4 cas de X1 et X2 avec W1= 0,4 , W2= 0,5, b= -0,3

C’est la fonction ‘’OU’’

2-2-2) Autres fonctions d’activation

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

Figure 6: Autres fonctions d’activation du réseau de neurone artificiel

34
2-2-3) Fonction d’activation SIGMOIDE (probabilité)

Fonction d’activation Sigmoide est :

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

b z Y =1 si >0,5 ou P(Y=1) >50%

X2 Y=0 si < 0,5 ou P(Y=1) < 50%


W2

 X1=1 X2=1 W1=0,3 W2= 0,2 b=-0,4


On retrouve Z= +0,1
===> =0,52= 52%
===> P(Y=1) =52% >50% donc Y=1 avec une probabilité de 52%

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=1 X2=0 W1=0,3 W2= 0,2 b= -0,4


On retrouve Z= -0,1
===> =0,47
===> P(Y=1) = 47% pour être à 1 Ou P(Y=0) =1- P(Y=1) = 53%
donc y= 0 puisque la probabilité P(Y=0) > 50%

 X1=0 X2=1 W1=0,3 W2= 0,2 b=-0,4


On retrouve Z= -0,2
===> = 0,45 = 47%
===> P(Y=1)= 45% pour être à 1
ou P(Y=0) = 1- P(Y=1) = 55% donc y= 0

 X1=0 X2=0 W1=0,3 W2= 0,2 b=-0,4


On retrouve Z= -0,4
===> = 0,40 = 40%
===> P(Y=1) = 40% pour être à 1
35
ou P(Y=0) = 1- P(Y=1) = 60% donc y= 0

2-3) Fonction coût –LogLoss-

Dans le cas d’un seul neurone :

X1
W1

b z σ(z)
X2
W2

Propagation vers l’avant (Forward propagation)

Z= X1*W1+X2*W2+b

L’erreur est : (z) pour y =1 et (z) pour y=0

y=1

σ(Z) ε

y=0

Figure 7 : Erreur par rapport à la probabilité P(Y=0) et P(Y=1)

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:

Minimiser l’erreur revient à maximiser la probabilité de toutes les entrées


36
, donc il existe plusieurs minimums locaux (dû à l’exponentielle de la
fonction d’activation), on conclut qu’on ne peut pas déterminer les paramètres qui minimisent la fonction
coût.

Figure 8: Courbe avec un minimum local et un minimum global.

Solution : c’est la fonction Log_Loss notée L

Le signe moins pour minimiser la fonction Σ et 1/m pour la normaliser.

Idéalement LogLoss L, tend vers 1.

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.

2-5) Descente du gradient sous forme matricielle

Les données :

Le modèle :

Qui donne sous forme matricielle : de dimensions [1*m]

Fonction coût :

Le résultat est un scalaire.

Vérification:

Donc c’est un scalaire

39
Descente du gradient:

On avait :

Sous forme matricielle et

on aura :

Retropropagation (Backpropagation): Propagation vers l’arrière

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.

3) Réseau à plusieurs neurones

3-1) Réseau à 3 neurones

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.

Figure 9: réseau de neurones à plusieurs couches cachées (Hidden layer).

41
Figure 10: exemple d’application de réseau de neurones.

4) Généralisation matricielle pour un réseau de neurones quelconque

c : nombre de couche du réseau (Hidden Layer), m: étiquettes (cas)

Matrices: X W1, B1 Z1 W2, B2 Z2 W3, B3 Y

Dimensions:[no] [n1*no], n1 n1 [n2*n1], n2 n2 [ n3*n2], n3=ns ns

W11
X1 b1 W’’11 b1 Y1
W’11
W21 b1

W12 W’12 b2
X2 b2
W22 bn2
Yns
X3 bn3
bn1

Xno

Entrée 1ère couche 2ème couche Couche de sortie

Le nombre de couches cachées est : ‘’c’’ (dans cette exemple c=2)

42
Données :

( Dans les programmes : Initialisation des matrices [W] et [B] par des valeurs aléatoires)

On possède ‘’c’’ couches cachées, en plus de la matrice d’entrée et la matrice de sortie.

De dim : [n1*no] De dim : [n2*n1]

Wc=[……………………………..] De dim: [nc*nc-1]

Modèle : et

Pour la matrice Z1 : :

Pour la matrice Z2 : :

…..

En général pour une couche C:

LogLoss :

Descente du gradient:

Couche c:

Optimisation : Retropropagation (Backpropagation) :

43
Mise à jour de :

1) Mesures de performances des modèles prédictifs :

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.

Matrice de confusion sans normalisation :

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

Vous aimerez peut-être aussi