Vous êtes sur la page 1sur 24

A.M. apsim.

ma

Algorithmes d’apprentissage

Sommaire :

A- Algorithme de régression
1-Base de donnée (Dataset)
2- Modèle de représentation
3- Fonction coût
4- Algorithme de minimisation du coût
5- Cas général sous la forme matricielle
6-Régression linéaire multiple (multivariable)
7- Régression polynomiale ( !!! n’est pas au programme des CPGE!!! )
8- Evaluation de l’algorithme

B- Algorithme KNN (K Nearest Neighbors)


1-Introduction
2- Principe
3- Calcul des distances
4- Evaluation d’un modèle de classification
5- Fonctionnement de l’algorithme K-NN
6- Applications (voir programmes Python)

Page 1 sur 24
A.M. apsim.ma
A-Algorithme de régression
1-Base de donnée (Dataset)

Exemple
Exemple 1
Surface*100 Prix*10^(6)
12
m2 DH

Variable y: Prix * 10^(6) DH


10
x y
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

====================

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

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

Page 2 sur 24
A.M. apsim.ma

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.

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.

*) Autres modèles (pas au programme des CPGE)

Exemple 1
12
Variable y: Prix * 10^(6) DH

10 y = 4,4144ln(x) + 2,0761
8
6
4
2
0
0 1 2 3 4 5 6 7
Variable x: Surface * 100 en m2

Figure 4 : Modèle choisi du type logarithmique

Page 3 sur 24
A.M. apsim.ma

Exemple 1
12

Variable y: Prix * 10^(6) DH


y = 4,4144ln(x) + 2,0761
10
R² = 0,9902
8
6
4
2
0
0 1 2 3 4 5 6 7
Variable x: Surface * 100 en m2

Figure 5 : Evaluation du modèle logarithmique par le coefficient R2.

Exemple 1
14
Variable y: Prix * 10^(6) DH

y = 2,2901e0,2821x
12 R² = 0,7763
10
8
6
4
2
0
0 1 2 3 4 5 6 7
Variable x: Surface * 100 en m2

Figure 6 : Modèle choisi du type exponentiel

Exemple 1
12
Variable y: Prix * 10^(6) DH

y = -0,2857x2 + 3,5x - 1
10
R² = 0,9818
8

0
0 1 2 3 4 5 6 7
Variable x: Surface * 100 en m2

Figure 7 : Modèle choisi du type polynomial d’ordre 2.

Page 4 sur 24
A.M. apsim.ma

Exemple 1
12
y = 0,0926x3 - 1,2579x2 + 6,4352x - 3,3333
Variable y: Prix * 10^(6) DH 10 R² = 0,9947

0
0 1 2 3 4 5 6 7
Variable x: Surface * 100 en m2

Figure 8 : Modèle choisi du type polynomial d’ordre 3.

Exemple 1
12
y = -0,0583x5 + 1,0417x4 - 6,875x3 + 20,208x2 - 23,317x + 11
Variable y: Prix * 10^(6) DH

10 R² = 1

0
0 1 2 3 4 5 6 7
Variable x: Surface * 100 en m2

Figure 9 : Modèle choisi du type polynomial d’ordre 5.

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.

Page 5 sur 24
A.M. apsim.ma

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 10 : Erreurs entre le modeèle et le réel

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

*) | y − f(x) |

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

Somme des erreurs quadratiques

𝜀 𝑔𝑙𝑜𝑏 = ∑𝑛𝑖=1(𝑓(𝑥𝑖 ) − 𝑦𝑖 )2 : 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 :
𝑛 𝑛
1 1
𝐽(𝑎, 𝑏) = ∑(𝑓(𝑥𝑖 ) − 𝑦𝑖 )2 = ∑(𝑎. 𝑥𝑖 + 𝑏 − 𝑦𝑖 )2
2. 𝑛 2. 𝑛
𝑖=1 𝑖=1

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

𝑛
1
𝑅𝑀𝑆𝐸 = √ ∑(𝑓(𝑥𝑖 ) − 𝑦𝑖 )2
2. 𝑛
𝑖=1

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

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

Page 6 sur 24
A.M. apsim.ma
∑𝑛𝑖=1(𝑓(𝑥𝑖 ) − 𝑦𝑖 )2
𝑅𝑆𝐸 = 2
1 𝑛
∑𝑛𝑖=1 ( 𝑦𝑖 − ∑𝑗=1 𝑦𝑗 )
𝑛

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

Tel que :

1 𝑛 1
∑𝑛𝑖=1 ( 𝑦𝑖 − ∑𝑗=1 𝑦𝑗 ) . (𝑓(𝑥𝑖 ) − . ∑𝑛𝑗=1 𝑓(𝑥𝑗 ))
𝑅= 𝑛 𝑛
2 2
√∑𝑛𝑖=1 ( 𝑦𝑖 − 1 ∑𝑛𝑗=1 𝑦𝑗 ) . √∑𝑛𝑖=1 ( 𝑓(𝑥𝑖 ) − 1 ∑𝑛𝑗=1 𝑓(𝑥𝑗 ))
𝑛 𝑛
̅̅̅̅̅̅ )
∑𝑛𝑖=1( 𝑦𝑖 − 𝑦̅). (𝑓(𝑥𝑖 ) − 𝑓(𝑥)
=
̅̅̅̅̅̅ )2
√∑𝑛𝑖=1( 𝑦𝑖 − 𝑦̅)2 . √∑𝑛𝑖=1( 𝑓(𝑥𝑖 ) − 𝑓(𝑥)

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

Figure 11: Comparaison entre quelques fonctions coût

Page 7 sur 24
A.M. apsim.ma
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:
𝑛 𝑛
1 2 1 2
𝐽(𝑎, 𝑏) = ∑(𝑓(𝑥 (𝑖) ) − 𝑦 (𝑖) ) = ∑(𝑎. 𝑥 (𝑖) + 𝑏 − 𝑦 (𝑖) )
2. 𝑛 2. 𝑛
𝑖=1 𝑖=1

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


𝑛
𝜕𝐽(𝑎, 𝑏) 1
) = ∑ 𝑥 (𝑖) . (𝑎. 𝑥 (𝑖) + 𝑏 − 𝑦 (𝑖) ) = 0
𝜕𝑎 𝑛
𝑖=1

𝑛
𝜕𝐽(𝑎, 𝑏) 1
) = ∑ (𝑎. 𝑥 (𝑖) + 𝑏 − 𝑦 (𝑖) ) = 0
𝜕𝑏 𝑛
𝑖=1

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

Démonstration :

Page 8 sur 24
A.M. apsim.ma

on aura :

∑𝑚
𝑖=1( 𝑥
(𝑖)
− 𝑥̅ ). (𝑦 (𝑖) − 𝑦̅ )
𝑎=
∑𝑚𝑖=1( 𝑥
(𝑖) − 𝑥̅ )2

𝑏 = 𝑦̅ − 𝑎. 𝑥̅

1 𝑚 1 𝑚
𝑎𝑣𝑒𝑐 𝑥̅ = ∑ 𝑥 (𝑖) ; 𝑦̅ = ∑ 𝑦 (𝑖)
𝑚 𝑖=1 𝑚 𝑖=1

Application :

Surface*100 Prix*10^(6)
m2 DH
Application
x y 12
Variable y: Prix * 10^(6) DH

10
1 2
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

====================

Page 9 sur 24
A.M. apsim.ma
Réponse : Par la méthode des moindres carrés, on cherche a et b.

𝑓(𝑥) = 𝑎. 𝑥 + 𝑏
1 1
𝑥̅ = ∑𝑚
𝑖=1 𝑥
(𝑖)
= (1 + 2 + 2.99 + 4 + 5.01 + 6) = 3,5
𝑚 6

1 𝑚 1
𝑦̅ = ∑ 𝑦 (𝑖) = ( 2 + 5 + 7,5 + 8 + 9 + 10) = 6,916667
𝑚 𝑖=1 6

∑𝑚
𝑖=1( 𝑥
(𝑖)
− 𝑥̅ ). (𝑦 (𝑖) 𝑖 − 𝑦̅ )
𝑎=
∑𝑚𝑖=1( 𝑥
(𝑖) − 𝑥̅ )2

𝑎
(1 − 3,5). (2 − 41,5) + (2 − 3,5). (5 − 41,5) + (2.99 − 3,5). (7,5 − 41,5) + (4 − 3,5). (8 − 41,5) + (5.01 − 3,5). (9 − 41,5) + (6 − 3,5). (10 − 41,5)
=
(1 − 3,5)2 + (2 − 3,5)2 + (2.99 − 3,5)2 + (4 − 3,5)2 + (5.01 − 3,5)2 + (6 − 3,5)2
= 1,5

𝑎 = 1,5

𝑏 = 𝑦̅ − 𝑎. 𝑥̅ = 6,916667 − 1,5 ∗ 3,5 = 1,666667

D’oû :
𝑓(𝑥) = 1,5. 𝑥 + 1,666667

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 n’est pas conseillée, 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)
𝑚 𝑚
1 2 1 2
𝐽(𝑎, 𝑏) = ∑(𝑓(𝑥 (𝑖) ) − 𝑦 (𝑖) ) = ∑(𝑎. 𝑥 (𝑖) + 𝑏 − 𝑦 (𝑖) )
2. 𝑚 2. 𝑚
𝑖=1 𝑖=1

Page 10 sur 24
A.M. apsim.ma
L’allure de la fonction J(a,b) est :

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 :

𝜕𝐽(𝑎, 𝑏)
𝑎𝑖+1 = 𝑎𝑖 − 𝛼. )
𝜕𝑎 𝑎=𝑎 𝑖

𝛼 = 𝑐𝑜𝑛𝑠𝑡𝑎𝑛𝑡𝑒 𝑝𝑜𝑠𝑖𝑡𝑖𝑣𝑒 à 𝑐ℎ𝑜𝑖𝑠𝑖𝑟, 𝑞𝑢𝑖 𝑠′𝑎𝑝𝑝𝑒𝑙𝑙𝑒 𝑙𝑎 𝑣𝑖𝑡𝑒𝑠𝑠𝑒 𝑑 ′ 𝑎𝑝𝑝𝑟𝑒𝑛𝑡𝑖𝑠𝑠𝑎𝑔𝑒(𝑅𝑎𝑡𝑒 𝑙𝑒𝑎𝑟𝑛𝑖𝑛𝑔)


𝜕𝐽(𝑎,𝑏)
pour i=0; 𝑎0+1 = 𝑎0 − 𝛼. )
𝜕𝑎 𝑎=𝑎0

𝜕𝐽(𝑎,𝑏)
si 𝑎0 < 𝑎 𝑟𝑒𝑐ℎ ∶ (𝑠𝑢𝑟 𝑙𝑎 𝑐𝑜𝑢𝑟𝑏𝑒, 𝑐𝑜𝑡é 𝑔𝑎𝑢𝑐ℎ𝑒 𝑝𝑎𝑟 𝑟𝑎𝑝𝑝𝑜𝑟𝑡 à 𝑎 𝑟𝑒𝑐ℎ) ⇒ ) <0
𝜕𝑎 𝑎=𝑎0

𝜕𝐽(𝑎, 𝑏)
⇒ − 𝛼. ) >0
𝜕𝑎 𝑎=𝑎0

⇒ 𝑎1 > 𝑎0 𝑎1 𝑠𝑒 𝑟𝑎𝑝𝑝𝑟𝑜𝑐ℎ𝑒 𝑑𝑒 𝑙𝑎 𝑣𝑎𝑙𝑒𝑢𝑟 𝑑𝑒 𝑎 𝑟𝑒𝑐ℎ


𝜕𝐽(𝑎,𝑏)
si 𝑎0 > 𝑎 𝑟𝑒𝑐ℎ ∶ (𝑠𝑢𝑟 𝑙𝑎 𝑐𝑜𝑢𝑟𝑏𝑒, 𝑐𝑜𝑡é 𝑑𝑟𝑜𝑖𝑡 𝑝𝑎𝑟 𝑟𝑎𝑝𝑝𝑜𝑟𝑡 à 𝑎 𝑟𝑒𝑐ℎ) ⇒ ) >0
𝜕𝑎 𝑎=𝑎0

𝜕𝐽(𝑎, 𝑏)
⇒ − 𝛼. ) <0
𝜕𝑎 𝑎=𝑎0

⇒ 𝑎1 < 𝑎0 ; 𝑎1 𝑠𝑒 𝑟𝑎𝑝𝑝𝑟𝑜𝑐ℎ𝑒 𝑑𝑒 𝑙𝑎 𝑣𝑎𝑙𝑒𝑢𝑟 𝑑𝑒 𝑎 𝑟𝑒𝑐ℎ


𝜕𝐽(𝑎,𝑏)
i = 1 ; 𝑎2 = 𝑎1 − 𝛼. )
𝜕𝑎 𝑎=𝑎1

i = 2 ;…….

Ainsi de suite jusqu’à retrouver 𝑎𝑟𝑒𝑐ℎ

Page 11 sur 24
A.M. apsim.ma

J(a,b)

ao a rech

J(a,b)

𝛼 a

ao a1 a rech

J(a,b)

𝛼 a

a1 a rech

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

𝑁𝐵: ∝ 𝑒𝑠𝑡 𝑐ℎ𝑜𝑖𝑠𝑖 𝑎𝑟𝑏𝑖𝑡𝑟𝑎𝑖𝑟𝑒𝑚𝑒𝑛𝑡:

𝑝𝑜𝑢𝑟 𝑣𝑎𝑙𝑒𝑢𝑟 ∝ 𝑝𝑒𝑡𝑖𝑡𝑒 ⇒ 𝑝𝑎𝑠 𝑝𝑒𝑡𝑖𝑡


⇒ 𝑏𝑒𝑎𝑐𝑜𝑢𝑝 𝑑𝑒 𝑐𝑎𝑙𝑐𝑢𝑙 (𝑡𝑒𝑚𝑝𝑠 𝑑 ′ 𝑒𝑥é𝑐𝑢𝑡𝑖𝑜𝑛𝑑𝑢 𝑎𝑙𝑔𝑜𝑟𝑖𝑡ℎ𝑚𝑒 𝑙𝑜𝑛𝑔)

𝑝𝑜𝑢𝑟 𝑣𝑎𝑙𝑒𝑢𝑟 ∝ 𝑔𝑟𝑎𝑛𝑑𝑒 ⇒ 𝑝𝑎𝑠 𝑔𝑟𝑎𝑛𝑑 ⇒ 𝑟𝑖𝑠𝑞𝑢𝑒 𝑑𝑒 𝑑𝑖𝑣𝑒𝑟𝑔𝑒𝑛𝑐𝑒

5- Cas général sous forme matricielle

Page 12 sur 24
A.M. apsim.ma
*) 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.


(1)
𝑥 (1) 𝑦
(2)
𝑥 𝑦 (2)
𝑥 ⋮ ; 𝑦 ⋮
⋮ ⋮
[ 𝑥 (𝑚) ] [𝑦 (𝑚) ]

*) Modèle : 𝑓(𝑥) = 𝑎. 𝑥 + 𝑏

𝐹(𝑥 (1) ) = 𝑎. 𝑥 (1) + 𝑏


𝐹(𝑥 (2) ) = 𝑎. 𝑥 (2) + 𝑏
𝐹(𝑥) ⋮ 𝑙𝑎 𝑓𝑜𝑛𝑐𝑡𝑖𝑜𝑛 𝑑𝑢 𝑚𝑜𝑑è𝑙𝑒 de dimensions m*1

[𝐹(𝑥 (𝑚) ) = 𝑎. 𝑥 (𝑚) + 𝑏]

Sous forme matricielle le modèle s’écrit: 𝐹(𝑥) = 𝑿. 𝑃

𝑥 (1) 1
𝑥 (2) 1
𝑎𝑣𝑒𝑐 𝑋 ⋮ ⋮ de dimensions m ∗ (n + 1)
⋮ ⋮
[ 𝑥 (𝑚) 1]
𝑎
𝑒𝑡 𝑙𝑎 𝑚𝑎𝑡𝑟𝑖𝑐𝑒 𝑑𝑒𝑠 𝑝𝑎𝑟𝑎𝑚è𝑡𝑟𝑒𝑠 𝑃 [ ] de dimensions (n + 1) ∗ 1 ;
𝑏
𝑎 𝑒𝑡 𝑏 𝑙𝑒𝑠 𝑐𝑜𝑛𝑠𝑡𝑎𝑛𝑡𝑒𝑠 𝑑𝑒 𝑙𝑎 𝑟𝑒𝑔𝑟𝑒𝑠𝑠𝑖𝑜𝑛 𝑙𝑖𝑛é𝑎𝑖𝑟𝑒 à 𝒅é𝒕𝒆𝒓𝒎𝒊𝒏𝒆𝒓.

*) Fonction coût
𝑚 𝑚
1 2 1 2
𝐽(𝑎, 𝑏) = ∑(𝑓(𝑥 (𝑖) ) − 𝑦 (𝑖) ) = ∑(𝑎. 𝑥 (𝑖) + 𝑏 − 𝑦 (𝑖) )
2. 𝑚 2. 𝑚
𝑖=1 𝑖=1
Page 13 sur 24
A.M. apsim.ma
Sous forme matricielle :
𝑚
1
𝐽(𝑃) = ∑(𝑋. 𝑃 − 𝑌)2
2. 𝑚
𝑖=1

*) Gradients : On avait
𝑚
𝜕𝐽(𝑎, 𝑏) 1
)= ∑ 𝑥 (𝑖) . (𝑎. 𝑥 (𝑖) + 𝑏 − 𝑦 (𝑖) )
𝜕𝑎 𝑚
𝑖=1
𝑚
𝜕𝐽(𝑎, 𝑏) 1
)= ∑ 1. (𝑎. 𝑥 (𝑖) + 𝑏 − 𝑦 (𝑖) )
{ 𝜕𝑏 𝑚
𝑖=1

𝑆𝑜𝑢𝑠 𝑓𝑜𝑟𝑚𝑒 𝑔é𝑛é𝑟𝑎𝑙𝑒, 𝑜𝑛 𝑜𝑏𝑡𝑖𝑒𝑛𝑡:

𝜕𝐽(𝑃) 1 𝑇
)= 𝑋 . (𝑋. 𝑃 − 𝑌)
𝜕𝑃 𝑚
De dimensions (n+1)*1
(1)
Avec 𝑋 𝑇 = [𝑥 … 𝑥 (𝑚) ]
1 … 1
*)Descente du gradient
𝜕𝐽(𝑎,𝑏)
On avait : 𝑎𝑖+1 = 𝑎𝑖 − 𝛼. )
𝜕𝑎 𝑎=𝑎𝑖

𝜕𝐽(𝑃)
Cas général : 𝑃 = 𝑃 − 𝛼. )
𝜕𝑃
𝑎
𝑎𝑣𝑒𝑐 𝑙𝑎 𝑚𝑎𝑡𝑟𝑖𝑐𝑒 𝑑𝑒𝑠 𝑝𝑎𝑟𝑎𝑚è𝑡𝑟𝑒𝑠 𝑃 [ ] de dimensions (n + 1) ∗ 1 ;
𝑏

Résumé :
 Données (Dataset) : avec m :exemples (cas) et n :sorties.

𝑥 (1) 1 𝑦 (1)
𝑥 (2) 1 𝑦 (2) 𝑎
𝑋 ⋮ ⋮ ; 𝑌 ⋮ ; 𝑃 [𝑏 ]
⋮ ⋮ ⋮
[ 𝑥 (𝑚) 1] (𝑚)
[𝑦 ]

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


1
 𝐹𝑜𝑛𝑐𝑡𝑖𝑜𝑛 𝑐𝑜û𝑡: 𝐽(𝑃) = 2.𝑚 ∑𝑚
𝑖=1(𝑋. 𝑃 − 𝑌)
2
dimension : 1*1
𝜕𝐽(𝑃) 1
 𝐺𝑟𝑎𝑑𝑖𝑒𝑛𝑡: )= 𝑋 𝑇 . (𝑋. 𝑃 − 𝑌) dimension : (n+1)*1
𝜕𝑃 𝑚
𝜕𝐽(𝑃)
 𝐷𝑒𝑠𝑐𝑒𝑛𝑡𝑒 𝑑𝑢 𝑔𝑟𝑎𝑑𝑖𝑒𝑛𝑡 ∶∶ 𝑃 = 𝑃 − 𝛼. ) 𝑑𝑖𝑚𝑒𝑛𝑠𝑖𝑜𝑛: (𝑛 + 1) ∗ 1
𝜕𝑃

Page 14 sur 24
A.M. apsim.ma
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.

𝑥1 (1) 𝑥2 (1) 𝑥3 (1) 𝑦 (1)


𝑥1 (2) 𝑥2 (2) 𝑥3 (2) 𝑦 (2)
𝑥 ⋮ ⋮ ⋮ ; 𝑌 ⋮
⋮ ⋮ ⋮ ⋮
(𝑚) (𝑚) (𝑚) (𝑚)
[ 𝑥1 𝑥2 𝑥3 ] [𝑦 ]

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

*) Modèle Régression linéaire

𝐿𝑎 𝑓𝑜𝑛𝑐𝑡𝑖𝑜𝑛 𝑑𝑢 𝑚𝑜𝑑è𝑙𝑒

𝑓(𝑥1 , 𝑥2 , 𝑥3 ) = 𝑎. 𝑥1 + 𝑏. 𝑥2 + 𝑐. 𝑥3 + 𝑑

𝑎. 𝑥1 (1) + 𝑏. 𝑥2 (1) + 𝑐. 𝑥3 (1) + 𝑑


𝑎. 𝑥1 (2) + 𝑏. 𝑥2 (2) + 𝑐. 𝑥3 (2) + 𝑑
𝐹(𝑥1 , 𝑥2 , 𝑥3 ) ⋮ de dimensions m*1

(𝑚) (𝑚)
𝑎.
[ 1 𝑥 + 𝑏. 𝑥2 + 𝑐. 𝑥3 (𝑚) + 𝑑]

Sous forme matricielle le modèle s’écrit: 𝐹(𝑥) = 𝑿. 𝑃

Page 15 sur 24
A.M. apsim.ma
𝑥1 (1)
𝑥2 (1) 𝑥3 (1) 1
𝑥1 (2) 𝑥2 (2) 𝑥3 (2) 1
𝑎𝑣𝑒𝑐 𝑋 ⋮ ⋮ ⋮ ⋮ de dimensions m ∗ (n + 1)
⋮ ⋮ ⋮ ⋮
[ 𝑥1 (𝑚) 𝑥2 (𝑚) 𝑥3 (𝑚) 1]
𝑎
𝑒𝑡 𝑙𝑎 𝑚𝑎𝑡𝑟𝑖𝑐𝑒 𝑑𝑒𝑠 𝑝𝑎𝑟𝑎𝑚è𝑡𝑟𝑒𝑠 𝑃 [𝑏𝑐 ] de dimensions (n + 1) ∗ 1 ;
𝑑
𝑎, 𝑏, 𝑐 𝑒𝑡 𝑑: 𝑙𝑒𝑠 𝑐𝑜𝑛𝑠𝑡𝑎𝑛𝑡𝑒𝑠 𝑑𝑒 𝑙𝑎 𝑟𝑒𝑔𝑟𝑒𝑠𝑠𝑖𝑜𝑛 𝑙𝑖𝑛é𝑎𝑖𝑟𝑒 à 𝒅é𝒕𝒆𝒓𝒎𝒊𝒏𝒆𝒓.

*) Fonction coût
𝑚
1 2
𝐽(𝑎, 𝑏, 𝑐, 𝑑) = ∑(𝑓(𝑥1 (𝑖) , 𝑥2 (𝑖) , 𝑥3 (𝑖) ) − 𝑦 (𝑖) )
2. 𝑚
𝑖=1
𝑚
1 2
= ∑(𝑎. 𝑥1 (𝑖) + 𝑏. 𝑥2 (𝑖) + 𝑐. 𝑥3 (𝑖) + 𝑑 − 𝑦 (𝑖) )
2. 𝑚
𝑖=1

Sous forme matricielle


𝑚
1
𝐽(𝑃) = ∑(𝑋. 𝑃 − 𝑌)2
2. 𝑚
𝑖=1

*) Gradients

On avait
𝑚
𝜕𝐽(𝑎, 𝑏, 𝑐, 𝑑) 1
)= ∑ 𝑥1 (𝑖) . (𝑎. 𝑥1 (𝑖) + 𝑏. 𝑥2 (𝑖) + 𝑐. 𝑥3 (𝑖) + 𝑑 − 𝑦 (𝑖) )
𝜕𝑎 𝑚
𝑖=1
𝑚
𝜕𝐽(𝑎, 𝑏, 𝑐, 𝑑) 1
)= ∑ 𝑥2 (𝑖) . (𝑎. 𝑥1 (𝑖) + 𝑏. 𝑥2 (𝑖) + 𝑐. 𝑥3 (𝑖) + 𝑑 − 𝑦 (𝑖) )
𝜕𝑏 𝑚
𝑖=1
𝑚
𝜕𝐽(𝑎, 𝑏, 𝑐, 𝑑) 1
)= ∑ 𝑥3 (𝑖) . (𝑎. 𝑥1 (𝑖) + 𝑏. 𝑥2 (𝑖) + 𝑐. 𝑥3 (𝑖) + 𝑑 − 𝑦 (𝑖) )
𝜕𝑐 𝑚
𝑖=1
𝑚
𝜕𝐽(𝑎, 𝑏, 𝑐, 𝑑) 1
)= ∑ 1. (𝑎. 𝑥1 (𝑖) + 𝑏. 𝑥2 (𝑖) + 𝑐. 𝑥3 (𝑖) + 𝑑 − 𝑦 (𝑖) )
{ 𝜕𝑑 𝑚
𝑖=1

𝑆𝑜𝑢𝑠 𝑓𝑜𝑟𝑚𝑒 𝑔é𝑛é𝑟𝑎𝑙𝑒 𝑜𝑛 𝑜𝑏𝑡𝑖𝑒𝑛𝑡:

𝜕𝐽(𝑃) 1 𝑇
)= 𝑋 . (𝑋. 𝑃 − 𝑌)
𝜕𝑃 𝑚

Page 16 sur 24
A.M. apsim.ma
De dimensions (n+1)*1

*) Descente du gradient
𝜕𝐽(𝑎,𝑏)
On avait : 𝑎𝑖+1 = 𝑎𝑖 − 𝛼. )
𝜕𝑎 𝑎=𝑎𝑖

𝜕𝐽(𝑃)
Cas général : 𝑃 = 𝑃 − 𝛼. )
𝜕𝑃
𝑎
𝑎𝑣𝑒𝑐 𝑙𝑎 𝑚𝑎𝑡𝑟𝑖𝑐𝑒 𝑑𝑒𝑠 𝑝𝑎𝑟𝑎𝑚è𝑡𝑟𝑒𝑠 𝑃 [𝑏𝑐 ] de dimensions (n + 1) ∗ 1 ;
𝑑

7- Régression polynomiale ( !!! n’est pas au programme !!! )

*) Modèle :

£) Régression polynomiale monovariable x de degrés d=2:

𝑓(𝑥) = 𝑎. 𝑥 2 + 𝑏. 𝑥 + 𝑐 ; 𝑎, 𝑏 𝑒𝑡 𝑐: à 𝑑é𝑡𝑒𝑟𝑚𝑖𝑛𝑒𝑟

£) Régression polynomiale multivariable (x1, x2 et x3) de degrés d=2:

𝑓(𝑥1 , 𝑥2 , 𝑥3 ) = 𝑎. 𝑥1 2 +𝑏. 𝑥1 + 𝑐. 𝑥2 2 + 𝑑. 𝑥2 + 𝑒. 𝑥3 2 + 𝑓. 𝑥3 + 𝑔 ; 𝑎, 𝑏, 𝑐, 𝑑, 𝑒, 𝑓 𝑒𝑡 𝑔: à 𝑑é𝑡𝑒𝑟𝑚𝑖𝑛𝑒𝑟

𝐹(𝑥) = 𝑿. 𝑃
(1) (1) (1)
𝑥1 2 𝑥1 (1) 𝑥2 2 𝑥2 (1) 𝑥3 2 𝑥3 (1) 1
2 (2) 𝑥1 (2) 𝑥2 2 (2) 𝑥2 (2) 𝑥3 2 (2) 𝑥3 (2) 1
𝑥1
𝑎𝑣𝑒𝑐 𝑋 ⋮ ⋮ ⋮ ⋮ ⋮ ⋮ ⋮ de dimensions m ∗ (d ∗ n + 1)
⋮ ⋮ ⋮ ⋮ ⋮ ⋮ ⋮
[ 𝑥1 2
(𝑚) 𝑥1 (𝑚)
𝑥2 2 (𝑚) 𝑥2 (𝑚)
𝑥3 2 (𝑚) 𝑥3 (𝑚) 1]

𝑎
𝑏
𝑐
𝑒𝑡 𝑙𝑎 𝑚𝑎𝑡𝑟𝑖𝑐𝑒 𝑑𝑒𝑠 𝑝𝑎𝑟𝑎𝑚è𝑡𝑟𝑒𝑠 𝑃 𝑑 de dimensions (d ∗ n + 1) ∗ 1 ;
𝑒
𝑓
[𝑔]

*) Fonction coût
𝑚
1 2
𝐽(𝑎, 𝑏, 𝑐, 𝑑, 𝑒, 𝑓, 𝑔) = ∑(𝑓(𝑥1 (𝑖) , 𝑥2 (𝑖) , 𝑥3 (𝑖) ) − 𝑦 (𝑖) )
2. 𝑚
𝑖=1
𝑚
1 2
= ∑(𝑎. 𝑥1 2 +𝑏. 𝑥1 + 𝑐. 𝑥2 2 + 𝑑. 𝑥2 + 𝑒. 𝑥3 2 + 𝑓. 𝑥3 + 𝑔 − 𝑦 (𝑖) )
2. 𝑚
𝑖=1

Page 17 sur 24
A.M. apsim.ma
Sous forme matricielle
𝑚
1
𝐽(𝑃) = ∑(𝑋. 𝑃 − 𝑌)2
2. 𝑚
𝑖=1

*) Gradients

𝑚
𝜕𝐽(𝑎, 𝑏, . . , 𝑔) 1
)= ∑ 𝑥1 (𝑖)2 . (𝑎. 𝑥1 (𝑖) 2 + 𝑏. 𝑥1 (𝑖) + 𝑐. 𝑥2 (𝑖) 2 + 𝑑. 𝑥2 (𝑖) + 𝑒. 𝑥3 (𝑖) 2 + 𝑓. 𝑥3 (𝑖) + 𝑔 − 𝑦 (𝑖) )
𝜕𝑎 𝑚
𝑖=1
𝑚
𝜕𝐽(𝑎, 𝑏, . . , 𝑔) 1
)= ∑ 𝑥1 (𝑖) . (𝑎. 𝑥1 (𝑖) 2 + 𝑏. 𝑥1 (𝑖) + 𝑐. 𝑥2 (𝑖) 2 + 𝑑. 𝑥2 (𝑖) + 𝑒. 𝑥3 (𝑖) 2 + 𝑓. 𝑥3 (𝑖) + 𝑔 − 𝑦 (𝑖) )
𝜕𝑏 𝑚
𝑖=1
𝑚
𝜕𝐽(𝑎, 𝑏, . . , 𝑔) 1
)= ∑ 𝑥2 (𝑖) 2 . (𝑎. 𝑥1 (𝑖) 2 + 𝑏. 𝑥1 (𝑖) + 𝑐. 𝑥2 (𝑖) 2 + 𝑑. 𝑥2 (𝑖) + 𝑒. 𝑥3 (𝑖) 2 + 𝑓. 𝑥3 (𝑖) + 𝑔 − 𝑦 (𝑖) )
𝜕𝑐 𝑚
𝑖=1


𝑚
𝜕𝐽(𝑎, 𝑏, . . , 𝑔) 1
)= ∑ 1. (𝑎. 𝑥1 (𝑖) 2 + 𝑏. 𝑥1 (𝑖) + 𝑐. 𝑥2 (𝑖) 2 + 𝑑. 𝑥2 (𝑖) + 𝑒. 𝑥3 (𝑖) 2 + 𝑓. 𝑥3 (𝑖) + 𝑔 − 𝑦 (𝑖) )
{ 𝜕𝑔 𝑚
𝑖=1

𝑆𝑜𝑢𝑠 𝑓𝑜𝑟𝑚𝑒 𝑔é𝑛é𝑟𝑎𝑙𝑒 𝑜𝑛 𝑜𝑏𝑡𝑖𝑒𝑛𝑡:

𝜕𝐽(𝑃) 1 𝑇
)= 𝑋 . (𝑋. 𝑃 − 𝑌)
𝜕𝑃 𝑚
De dimensions (d*n+1)*1

*) Descente du gradient
𝜕𝐽(𝑎,𝑏)
On avait : 𝑎𝑖+1 = 𝑎𝑖 − 𝛼. ) pour déterminer le coefficient 𝑎 puis 𝑏
𝜕𝑎 𝑎=𝑎𝑖

𝜕𝐽(𝑃)
Cas général : 𝑃 = 𝑃 − 𝛼. )
𝜕𝑃
𝑎
𝑏
𝑐
𝑎𝑣𝑒𝑐 𝑙𝑎 𝑚𝑎𝑡𝑟𝑖𝑐𝑒 𝑑𝑒𝑠 𝑝𝑎𝑟𝑎𝑚è𝑡𝑟𝑒𝑠 𝑃 𝑑 de dimensions (d ∗ n + 1) ∗ 1 ;
𝑒
𝑓
[𝑔]

𝑃𝑜𝑢𝑟 𝑑é𝑡𝑒𝑟𝑚𝑖𝑛𝑒𝑟 𝑎, 𝑏, … 𝑔

8- Evaluation de l’algorithme

L’algorithme est évalué par le calcul de l’une des fonctions de coût données au paragraphe 3 ( MSE,
RMSE, RSE ou R2 )

Page 18 sur 24
A.M. apsim.ma

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

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

Page 19 sur 24
A.M. apsim.ma
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.

Page 20 sur 24
A.M. apsim.ma

Ecriture mathématique

 Données : 𝐷 = {( ⃗⃗⃗ 𝑥1 , 𝑦1 ), (𝑥
⃗⃗⃗⃗2 , 𝑦2 ), … , (𝑥
⃗⃗⃗⃗𝑛 , 𝑦𝑛 )}
*) n observations (Cas) en p dimensions : ⃗⃗⃗ 𝑥𝑖 ∈ ℝ𝑝
*) n étiquettes : 𝑦𝑖 ∈ 𝑌
 Modèle : Associer à 𝑥 ∈ ℝ𝑝 l’étiquette de D dont 𝑥 est le plus proche selon la distance
Euclidienne.
𝑓(𝑥) = 𝑦arg min 𝑖=1..𝑛 ‖𝑥 − 𝑥
⃗⃗⃗𝑖 ‖ 2

 Prédiction (Vote de la majorité) : On donne à 𝑥, l’étiquette majoritaire parmi ses k les plus
proches voisins.
𝑓(𝑥) = arg 𝑚𝑎𝑥𝑐∈{0,1,…𝐶−1} ∑ 𝛿(𝑦𝑖 , 𝑐)
⃗⃗⃗𝑖 ∈𝑁𝑘 (𝑥)
𝑖:𝑥

𝑁𝑘 (𝑥): 𝐿′ 𝑒𝑛𝑠𝑒𝑚𝑏𝑙𝑒𝑑𝑒𝑠 𝑘 𝑙𝑒𝑠 𝑝𝑙𝑢𝑠 𝑝𝑟𝑜𝑐ℎ𝑒𝑠 𝑣𝑜𝑖𝑠𝑖𝑛𝑠 à 𝑥 𝑑𝑎𝑛𝑠 𝐷.

𝑠𝑖 𝑦𝑖 = 𝑐 ∶ 𝛿(𝑦𝑖 , 𝑐) = 1 𝑠𝑖𝑛𝑜𝑛 𝛿(𝑦𝑖 , 𝑐) = 0

𝐶: 𝐿𝑒 𝑛𝑜𝑚𝑏𝑟𝑒 𝑑𝑒 𝑐𝑙𝑎𝑠𝑠𝑒𝑠

3- Calcul des distances


Distance Euclidienne

Page 21 sur 24
A.M. apsim.ma

Distance Euclidienne entre A et B est donnée par : 𝑑𝐴𝐵 = √(𝑋2 − 𝑋1 )2 + (𝑌2 − 𝑌1 )2

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

𝑑𝐴𝐵 = √(𝑋2 − 𝑋1 )2 + (𝑌2 − 𝑌1 )2 + (𝑍2 − 𝑍1 )2 + (𝑈2 − 𝑈1 )2 + (𝑊2 − 𝑊1 )2 + ⋯

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

𝑑𝐴𝐵 = √(𝑎𝑔𝑒2 − 𝑎𝑔𝑒1 )2 + (𝑡𝑎𝑖𝑙𝑙𝑒2 − 𝑡𝑎𝑖𝑙𝑙𝑒1 )2 + (𝑝𝑜𝑖𝑑𝑠2 − 𝑝𝑜𝑖𝑑𝑠1 )2 + (𝑔𝑒𝑛𝑟𝑒2 − 𝑔𝑒𝑛𝑟𝑒1 )2

Distance de Manhattan

Distance de Manhattan entre A et B est donnée par : 𝑑𝐴𝐵= ∥ 𝑋2 − 𝑋1 ∥ +∥ 𝑌2 − 𝑌1 ∥

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.

Page 22 sur 24
A.M. apsim.ma
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

TP + TN TP + TN
Précision (accuracy) = =
TP + FP + TN + FN Total
Le cas idéal : pour FN=0 et FP =0 ===> Précision =1

D’autres critères d’évaluation


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

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

TP
Précision (précision) = FP+TP

2.TP
Score F (F-score) = moyenne harmonique (précision, rappel) = TP+FP+TP+FN

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) ;
 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.
Page 23 sur 24
A.M. apsim.ma
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 :
1
Distance Minkowski : 𝑑𝐴𝐵 = ( (𝑋2 − 𝑋1 )𝑝 + (𝑌2 − 𝑌1 )𝑝 )𝑝

𝑝𝑜𝑢𝑟 𝑝 = 0 ∶ 𝑑𝑖𝑠𝑡𝑎𝑛𝑐𝑒 𝑑𝑒 𝑀𝑎𝑛ℎ𝑎𝑡𝑡𝑎𝑛;

𝑝𝑜𝑢𝑟 𝑝 = 1: 𝑑𝑖𝑠𝑡𝑎𝑛𝑐𝑒 𝐸𝑢𝑐𝑙𝑖𝑑𝑖𝑒𝑛𝑛𝑒.

𝐴.𝐵
Similarité cosinus : 𝑠𝑖𝑚(𝐴, 𝐵) = ∥𝐴∥.∥𝐵∥ comme cosinus dans un produit scalaire.

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

6- Applications (voir programmes Python)

Page 24 sur 24

Vous aimerez peut-être aussi