Académique Documents
Professionnel Documents
Culture Documents
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
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
====================
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
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
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
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
Page 3 sur 24
A.M. apsim.ma
Exemple 1
12
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
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
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
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
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.
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
La fonction coût est liée à l’erreur globale de tous les points, définie soit par :
*) | y − f(x) |
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 :
𝑛 𝑛
1 1
𝐽(𝑎, 𝑏) = ∑(𝑓(𝑥𝑖 ) − 𝑦𝑖 )2 = ∑(𝑎. 𝑥𝑖 + 𝑏 − 𝑦𝑖 )2
2. 𝑛 2. 𝑛
𝑖=1 𝑖=1
𝑛
1
𝑅𝑀𝑆𝐸 = √ ∑(𝑓(𝑥𝑖 ) − 𝑦𝑖 )2
2. 𝑛
𝑖=1
Page 6 sur 24
A.M. apsim.ma
∑𝑛𝑖=1(𝑓(𝑥𝑖 ) − 𝑦𝑖 )2
𝑅𝑆𝐸 = 2
1 𝑛
∑𝑛𝑖=1 ( 𝑦𝑖 − ∑𝑗=1 𝑦𝑗 )
𝑛
Tel que :
1 𝑛 1
∑𝑛𝑖=1 ( 𝑦𝑖 − ∑𝑗=1 𝑦𝑗 ) . (𝑓(𝑥𝑖 ) − . ∑𝑛𝑗=1 𝑓(𝑥𝑗 ))
𝑅= 𝑛 𝑛
2 2
√∑𝑛𝑖=1 ( 𝑦𝑖 − 1 ∑𝑛𝑗=1 𝑦𝑗 ) . √∑𝑛𝑖=1 ( 𝑓(𝑥𝑖 ) − 1 ∑𝑛𝑗=1 𝑓(𝑥𝑗 ))
𝑛 𝑛
̅̅̅̅̅̅ )
∑𝑛𝑖=1( 𝑦𝑖 − 𝑦̅). (𝑓(𝑥𝑖 ) − 𝑓(𝑥)
=
̅̅̅̅̅̅ )2
√∑𝑛𝑖=1( 𝑦𝑖 − 𝑦̅)2 . √∑𝑛𝑖=1( 𝑓(𝑥𝑖 ) − 𝑓(𝑥)
Page 7 sur 24
A.M. apsim.ma
4- Algorithme de minimisation du coût
Le coût est:
𝑛 𝑛
1 2 1 2
𝐽(𝑎, 𝑏) = ∑(𝑓(𝑥 (𝑖) ) − 𝑦 (𝑖) ) = ∑(𝑎. 𝑥 (𝑖) + 𝑏 − 𝑦 (𝑖) )
2. 𝑛 2. 𝑛
𝑖=1 𝑖=1
𝑛
𝜕𝐽(𝑎, 𝑏) 1
) = ∑ (𝑎. 𝑥 (𝑖) + 𝑏 − 𝑦 (𝑖) ) = 0
𝜕𝑏 𝑛
𝑖=1
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
====================
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
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
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 = 𝑎𝑖 − 𝛼. )
𝜕𝑎 𝑎=𝑎 𝑖
𝜕𝐽(𝑎,𝑏)
si 𝑎0 < 𝑎 𝑟𝑒𝑐ℎ ∶ (𝑠𝑢𝑟 𝑙𝑎 𝑐𝑜𝑢𝑟𝑏𝑒, 𝑐𝑜𝑡é 𝑔𝑎𝑢𝑐ℎ𝑒 𝑝𝑎𝑟 𝑟𝑎𝑝𝑝𝑜𝑟𝑡 à 𝑎 𝑟𝑒𝑐ℎ) ⇒ ) <0
𝜕𝑎 𝑎=𝑎0
𝜕𝐽(𝑎, 𝑏)
⇒ − 𝛼. ) >0
𝜕𝑎 𝑎=𝑎0
𝜕𝐽(𝑎, 𝑏)
⇒ − 𝛼. ) <0
𝜕𝑎 𝑎=𝑎0
i = 2 ;…….
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
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
*) Modèle : 𝑓(𝑥) = 𝑎. 𝑥 + 𝑏
𝑥 (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)
Page 14 sur 24
A.M. apsim.ma
6- Régression linéaire multiple (multivariable)
n variables d’entrées
(n=4)
𝐿𝑎 𝑓𝑜𝑛𝑐𝑡𝑖𝑜𝑛 𝑑𝑢 𝑚𝑜𝑑è𝑙𝑒
𝑓(𝑥1 , 𝑥2 , 𝑥3 ) = 𝑎. 𝑥1 + 𝑏. 𝑥2 + 𝑐. 𝑥3 + 𝑑
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
*) 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 ;
𝑑
*) Modèle :
𝑓(𝑥) = 𝑎. 𝑥 2 + 𝑏. 𝑥 + 𝑐 ; 𝑎, 𝑏 𝑒𝑡 𝑐: à 𝑑é𝑡𝑒𝑟𝑚𝑖𝑛𝑒𝑟
𝐹(𝑥) = 𝑿. 𝑃
(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
Exemple 1: Les valeurs des sorties appartiennent à des classes, valeurs discrètes (pas continues).
Exemple 2 :
m: étiquettes
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
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
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} ∑ 𝛿(𝑦𝑖 , 𝑐)
⃗⃗⃗𝑖 ∈𝑁𝑘 (𝑥)
𝑖:𝑥
𝐶: 𝐿𝑒 𝑛𝑜𝑚𝑏𝑟𝑒 𝑑𝑒 𝑐𝑙𝑎𝑠𝑠𝑒𝑠
Page 21 sur 24
A.M. apsim.ma
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.
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
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).
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 :
1
Distance Minkowski : 𝑑𝐴𝐵 = ( (𝑋2 − 𝑋1 )𝑝 + (𝑌2 − 𝑌1 )𝑝 )𝑝
𝐴.𝐵
Similarité cosinus : 𝑠𝑖𝑚(𝐴, 𝐵) = ∥𝐴∥.∥𝐵∥ comme cosinus dans un produit scalaire.
Page 24 sur 24