Machine Learning
Aziz KHAMJANE
Régression linéaire simple
❑ La régression linéaire simple nous permet de relier une variable 𝑥 et une variable
continue 𝑦.
• On note 𝑦 la variable réelle dépendante à expliquer
• 𝑥 est la variable explicative
• Le modèle revient à supposer, qu’en moyenne, 𝐸(𝑦), est une fonction affine de 𝑥 :
• 𝐸 ( y ) = 𝜃0 + 𝜃1𝑥 ou y = 𝜃0 + 𝜃1𝑥 + 𝜀
• Les hypothèses relatives à ce modèle sont les suivantes :
1. La distribution de l’erreur ne dépend pas de X.
2. L’erreur est centrée et de variance constante.
• ∀𝑖 = 1, . . . , 𝑛 𝐸(𝜀𝑖 ) = 0, 𝑉𝑎𝑟(𝜀𝑖 ) = 𝜎2 .
3. 𝜃0 𝑒𝑡 𝜃1 sont constants
4. 𝜀~𝑁(0, 𝜎 2 )
Régression linéaire simple
Inputs
Prédire
Modèle Un réel
Régression linéaire simple
❑ Apprentissage supervisé
Le prix
❑ Prédiction d’une valeur continue
La surface
Régression linéaire simple
Données d’entrainement
Surface Prix
2000 500
1200 200
3500 842
975 145
Algorithme d’apprentissage 1500 220
ℎ𝜃(𝑥) = 𝜃0 + 𝜃1𝑥
Surface Modèle H Prix estimé
Régression linéaire simple
Surface Prix
2000 500
1200 200
3500 842
975 145
1500 220
ℎ𝜃(𝑥) = 𝜃0 + 𝜃1𝑥
Comment choisir les paramètres 𝜃0 , 𝜃1
La fonction coût
ℎ𝜃(𝑥) = 𝜃0 + 𝜃1𝑥
Minimiser la fonction cout suivante (l’erreur quadratique) :
𝑚
1 2
𝐽 𝜃0 , 𝜃1 = ℎ𝜃 𝑥 (𝑖) − 𝑦 (𝑖)
2
𝑖=1
𝑚
1 2
𝐽 𝜃0 , 𝜃1 = 𝜃0 + 𝜃1 𝑥 (𝑖) − 𝑦 (𝑖)
2
𝑖=1
❑ 𝑥(𝑖) représente l’exemple i de la base d’apprentissage
❑ 𝑦(𝑖) est la sortie qui correspond à l’exemple i
La fonction coût
ℎ𝜃(𝑥) = 𝜃1𝑥
𝑚
1 2 (4,3)
𝐽 𝜃1 = ℎ𝜃 𝑥 (𝑖) − 𝑦 (𝑖)
2
𝑖=1 (6,3)
𝑚
1 2 (2,1)
𝐽 𝜃1 = 𝜃1 𝑥 (𝑖) − 𝑦 (𝑖)
2
𝑖=1
❑ 𝑥(𝑖) représente l’exemple 𝑖 de la base d’apprentissage
❑ 𝑦(𝑖) est la sortie qui correspond à l’exemple 𝑖
La fonction coût
Comment : minimiser 𝐽(𝜃0, 𝜃1)
𝑚
1 2
𝐽 𝜃0 , 𝜃1 = 𝜃0 + 𝜃1 𝑥 (𝑖) − 𝑦 (𝑖)
2
𝑖=1
Étapes :
❑ Initialiser 𝜃0, 𝜃1
❑ Continuer à mettre à jour 𝜃0, 𝜃1 jusqu'à retrouver le minimum de 𝐽(𝜃0, 𝜃1)
La fonction coût
𝑚
1 2
𝐽 𝜃0 , 𝜃1 = ℎ𝜃 𝑥 (𝑖) − 𝑦 (𝑖)
2
𝑖=1
Descente du gradient (batch gradient descent )
Répéter jusqu’à convergence :
{
𝜕
𝑡0 = 𝜃0 − 𝛼 𝐽 𝜃0, 𝜃1 Répéter jusqu’à convergence :
𝜕𝜃 0 {
𝜕 𝜕
𝑡1 = 𝜃1 − 𝛼 𝐽(𝜃0, 𝜃1) 𝜃𝑗 = 𝜃𝑗 − 𝛼 𝐽 𝜃0, 𝜃1 pour (j=0 et j=1)
𝜕𝜃1 𝜕𝜃 𝑗
𝜃0 = 𝑡 0 }
𝜃1 = 𝑡1
} 𝛼 Est le pas d’apprentissage
La fonction coût
𝑚
1 2
𝐽 𝜃0 , 𝜃1 = ℎ𝜃 𝑥 (𝑖) − 𝑦 (𝑖)
2
𝑖=1
Descente du gradient (batch gradient descent )
Répéter jusqu’à convergence :
{ 𝑚
𝑡0 = 𝜃0 − 𝛼 ℎ𝜃 𝑥 (𝑖) − 𝑦 (𝑖)
𝑖=1
𝑚
𝑡1 = 𝜃1 − 𝛼 ℎ𝜃 𝑥 (𝑖) − 𝑦 (𝑖) 𝑥 (𝑖)
𝑖=1
𝜃0 = 𝑡0
𝜃1 = 𝑡1
}
Exemple
(6,3) Surface Prix
(4,3) 2 1
4 3
6 3
(2,1)
H𝑦𝑝𝑜𝑡ℎè𝑠𝑒: ℎ𝜃 𝑥 = 𝜃1 𝑥
é𝑡𝑎𝑝𝑒 1: 𝑖𝑛𝑡𝑖𝑎𝑙𝑖𝑠𝑒𝑟 𝜃1
𝜃1 = 0
Exemple
Surface Prix
2 1
4 3
6 3
ℎ𝜃 (𝑥) = 0 × 𝑥
H𝑦𝑝𝑜𝑡ℎè𝑠𝑒: ℎ𝜃 𝑥 = 𝜃1 𝑥
é𝑡𝑎𝑝𝑒 1: 𝑖𝑛𝑡𝑖𝑎𝑙𝑖𝑠𝑒𝑟 𝜃1
𝜃1 = 0; ℎ𝜃 𝑥 = 0 × 𝑥
La fonction coût
x y
𝐶𝑎𝑙𝑐𝑢𝑙𝑒𝑟 𝐽(𝜃1 ) 2 1
4 3
6 3
(4,3) (6,3)
𝑱 𝜽𝟏
(2,1)
ℎ𝜃 (𝑥) = 0 × 𝑥
𝜽𝟏
𝑚
1 2
𝐽(𝜃1 ) = 𝜃1 𝑥 (𝑖) − 𝑦 (𝑖)
2
𝑖=1
1 2 2 2
𝐽(𝜃1 ) = 0×2−1 + 0×4−3 + 0×6−3 = 9,5
2
La fonction coût
Mettre à jour 𝜃1 x y
2 1
4 3
6 3
(4,3) (6,3)
𝑱 𝜽𝟏
(2,1)
𝜽𝟏
Soit : 𝛼 = 0.005
La règle de mise à jour: 𝑚
𝜃1 = 𝜃1 − 𝛼 𝜃1 𝑥 (𝑖) − 𝑦 (𝑖) 𝑥 (𝑖)
𝑖=1
𝜃1 = 0 − 0,005 × 0 − 1 × 2 + 0 − 3 × 4 + 0 − 3 × 6 = 0,16
La fonction coût
x y
2 1
4 3
6 3
(4,3) (6,3)
𝑱 𝜽𝟏
ℎ𝜃 (𝑥) = 0,16 × 𝑥
(2,1)
𝜃1 = 0,16 𝜽𝟏
La fonction coût
𝐶𝑎𝑙𝑐𝑢𝑙𝑒𝑟 𝐽(𝜃1 ) x y
2 1
4 3
6 3
(4,3) (6,3)
𝑱 𝜽𝟏
(2,1)
𝜽𝟏
𝑚
1 2
𝐽(𝜃1 ) = 𝜃1 𝑥 (𝑖) − 𝑦 (𝑖)
2
𝑖=1
1
𝐽(𝜃1 ) = 0,16 × 2 − 1 2 + 0,16 × 4 − 3 2 + 0,16 × 6 − 3 2 = 5,09
2
La fonction coût
Mettre à jour 𝜃1 x y
2 1
4 3
6 3
(4,3) (6,3)
𝑱 𝜽𝟏
(2,1)
𝜽𝟏
Soit : 𝛼 = 0.005
La règle de mise à jour: 𝑚
𝜃1 = 𝜃1 − 𝛼 𝜃1 𝑥 (𝑖) − 𝑦 (𝑖) 𝑥 (𝑖)
𝑖=1
𝜃1 = 0,16 − 0,005 × 2 × 0,16 − 1 × 2 + 4 × 0,16 − 3 × 4 + 6 × 0,16 − 3 × 6 = 0.2752
La fonction coût
x y
2 1
4 3
6 3
(4,3) (6,3)
𝑱 𝜽𝟏
ℎ𝜃 (𝑥) = 0.2752 × 𝑥
(2,1)
𝜽𝟏
Soit : 𝛼 = 0.005
La règle de mise à jour: 𝑚
𝜃1 = 𝜃1 − 𝛼 𝜃1 𝑥 (𝑖) − 𝑦 (𝑖) 𝑥 (𝑖)
𝑖=1
𝜃1 = 0,16 − 0,005 × 2 × 0,16 − 1 × 2 + 4 × 0,16 − 3 × 4 + 6 × 0,16 − 3 × 6 = 0.2752
La fonction coût
x y
2 1
4 3
6 3
(4,3) (6,3)
𝑱 𝜽𝟏
(2,1)
𝜃1 = 0.2752 𝜽𝟏
𝑚
1 2
𝐽(𝜃1 ) = 𝜃1 𝑥 (𝑖) − 𝑦 (𝑖)
2
𝑖=1
1
𝐽(𝜃1 ) = 0.2752 × 2 − 1 2 + 0.2752 × 4 − 3 2 + 0.2752 × 6 − 3 2 = 2.8141
2
La fonction coût
x y
2 1
4 3
6 3
(4,3) (6,3)
𝑱 𝜽𝟏
(2,1)
𝜽𝟏
Soit : 𝛼 = 0.005
La règle de mise à jour: 𝑚
𝜃1 = 𝜃1 − 𝛼 𝜃1 𝑥 (𝑖) − 𝑦 (𝑖) 𝑥 (𝑖)
𝑖=1
𝜃1 = 0.2752 − 0,005 × 0.2752 × 2 − 1 × 2 + 0.2752 × 4 − 3 × 4 + 0.2752 × 6 − 3 × 6 = 0.3581
La fonction coût
x y
2 1
4 3
6 3
(4,3) (6,3)
ℎ𝜃 (𝑥) = 0.3581 × 𝑥 𝑱 𝜽𝟏
(2,1)
𝜃1 = 0.3581 𝜽𝟏
La fonction coût
x y
2 1
4 3
6 3
(4,3) (6,3)
𝑱 𝜽𝟏
(2,1)
𝜽𝟏
𝑚
1 2
𝐽(𝜃1 ) = 𝜃1 𝑥 (𝑖) − 𝑦 (𝑖)
2
𝑖=1
1
𝐽(𝜃1 ) = 0.3581 × 2 − 1 2 + 0.3581 × 4 − 3 2 + 0.3581 × 6 − 3 2 = 1.6308
2
0.4178
La fonction coût
x y
2 1
4 3
6 3
(4,3) (6,3)
ℎ𝜃 (𝑥) = 0.4178 × 𝑥 𝑱 𝜽𝟏
(2,1)
𝜽𝟏
Soit : 𝛼 = 0.005
La règle de mise à jour: 𝑚
𝜃1 = 𝜃1 − 𝛼 𝜃1 𝑥 (𝑖) − 𝑦 (𝑖) 𝑥 (𝑖)
𝑖=1
𝜃1 = 0.3581 − 0,005 × 0.3581 × 2 − 1 × 2 + 0.3581 × 4 − 3 × 4 + 0.3581 × 6 − 3 × 6 = 0.4178
La fonction coût
x y
2 1
4 3
6 3
(4,3) (6,3)
𝑱 𝜽𝟏
(2,1)
𝜃1 = 0.4178 𝜽𝟏
𝑚
1 2
𝐽(𝜃1 ) = 𝜃1 𝑥 (𝑖) − 𝑦 (𝑖)
2
𝑖=1
1
𝐽(𝜃1 ) = 0.3213 × 2 − 1 2 + 0.3213 × 4 − 3 2 + 0.3213 × 6 − 3 2 = 0.6994
2
La fonction coût
x y
2 1
4 3
6 3
(4,3) (6,3)
ℎ𝜃 (𝑥) = 0.4608 × 𝑥 𝑱 𝜽𝟏
(2,1)
𝜽𝟏
Soit : 𝛼 = 0.005
La règle de mise à jour: 𝑚
𝜃1 = 𝜃1 − 𝛼 𝜃1 𝑥 (𝑖) − 𝑦 (𝑖) 𝑥 (𝑖)
𝑖=1
𝜃1 = 0.4178 − 0,005 × 0.4178 × 2 − 1 × 2 + 0.4178 × 4 − 3 × 4 + 0.4178 × 6 − 3 × 6 = 0.4608
x y
2 1
4 3
6 3
(4,3) (6,3)
𝑱 𝜽𝟏
(2,1)
𝜃1 = 0.4608 𝜽𝟏
𝑚
1 2
𝐽(𝜃1 ) = 𝜃1 𝑥 (𝑖) − 𝑦 (𝑖)
2
𝑖=1
1
𝐽(𝜃1 ) = 0.4608 × 2 − 1 2 + 0.4608 × 4 − 3 2 + 0.4608 × 6 − 3 2 = 0.5345
2
La fonction coût
x y
2 1
4 3
6 3
(4,3) (6,3)
𝑱 𝜽𝟏
(2,1)
𝜃1 = 0.5714 𝜽𝟏
La fonction coût
𝑚
1 2
𝐽(𝜃0 , 𝜃1 ) = ℎ𝜃 (𝑥 𝑖 ) − 𝑦 (𝑖)
2
𝑖=1
La fonction coût
𝑚
1 2
ℎ𝜃 𝑥 = 750 − 0,12𝑥 𝐽(𝜃0 , 𝜃1 ) = ℎ𝜃 (𝑥 𝑖 ) − 𝑦 (𝑖)
2
𝑖=1
La fonction coût
𝑚
1 2
ℎ𝜃 𝑥 = 220 + 0,13𝑥 𝐽(𝜃0 , 𝜃1 ) = ℎ𝜃 (𝑥 𝑖 ) − 𝑦 (𝑖)
2
𝑖=1
La régression linéaire multiple
Régression linéaire simple Régression linéaire multiple
Nb étage Age Surface Prix
Surface Prix chambres (Y)
200 500
5 1 10 200 500
120 200
300 842 3 1 40 120 200
90 145
100 220 7 2 30 300 842
2 2 5 90 145
ℎ𝜃(𝑥) = 𝜃0 + 𝜃1𝑥
3 2 2 100 220
ℎ𝜃(𝑋) = 𝜃0 + 𝜃1𝑥1+ 𝜃2𝑥2 + 𝜃3𝑥3 + 𝜃4𝑥4
La régression linéaire multiple
ℎ𝜃(𝑥) = 𝜃0 + 𝜃1𝑥1+ 𝜃2𝑥2 + 𝜃3𝑥3 + 𝜃4𝑥4………….. 𝜃𝑛𝑥n
ℎ𝜃(𝑥) = 𝜃0𝑥0 + 𝜃1𝑥1+ 𝜃2𝑥2 + 𝜃3𝑥3 + 𝜃4𝑥4………….. 𝜃𝑛𝑥n
𝑥0 = 1
𝑥0 𝜃0 𝑥0
𝑥1 𝜃1 𝑥1
𝑥 = 𝑥2 𝜖𝑅𝑛 +1 𝜃 = 𝜃2 𝜖𝑅𝑛+1 ℎ𝜃(𝑥) = 𝜃0 𝜃1 𝑥2
𝜃2 …
𝜃𝑛
.
𝑥𝑛 .
𝜃𝑛 .
𝑥𝑛
ℎ𝜃 𝑥 (𝑖) = 𝜃 𝑇 𝑥 (𝑖)
La régression linéaire multiple
ℎ𝜃(𝑥) = 𝜃0 + 𝜃1𝑥1+ 𝜃2𝑥2 + 𝜃3𝑥3 + 𝜃4𝑥4………….. 𝜃𝑛𝑥n
LA fonction cout :
𝑚 𝑚
1 𝑖 𝑖 2 1 2
𝐽 𝜃 = ℎ𝜃 𝑥 −𝑦 = 𝜃 𝑇 𝑥 (𝑖) − 𝑦 (𝑖)
2 2
𝑖=1 𝑖=1
La régression linéaire multiple
𝑑𝑒𝑠𝑐𝑒𝑛𝑡𝑒 𝑑𝑢 𝑔𝑟𝑎𝑑𝑖𝑒𝑛𝑡
Répéter jusqu’à convergence :
{
𝜕
𝜃𝑗 = 𝜃𝑗 − 𝛼 𝐽 𝜃 pour (pour j=0 jusqu’à j=n)
𝜕
}
𝜕
Calculer 𝐽 𝜃 ?
𝜕 𝜃𝑗
𝑚
𝜕 𝑖 𝑖 (𝑖)
𝐽 𝜃 = ℎ𝜃 𝑥 −𝑦 𝑥𝑗
𝜕𝜃𝑗
𝑖=1
La régression linéaire multiple
𝑑𝑒𝑠𝑐𝑒𝑛𝑡𝑒 𝑑𝑢 𝑔𝑟𝑎𝑑𝑖𝑒𝑛𝑡
Répéter jusqu’à convergence :
{
𝑚
𝜃𝑗 = 𝜃𝑗 − 𝛼 ℎ𝜃 𝑥 𝑖 −𝑦 𝑖 (𝑖)
𝑥𝑗 pour (pour j=0 jusqu’à j=n)
𝑖=1
}
❑ Si le pas d’apprentissage 𝛼 est suffisamment petit, 𝐽(𝜃)
devrait diminuer après chaque itération.
❑ Si 𝛼 est trop petit, la convergence peut être trop lente
La régression polynomiale
ℎ𝜃 𝑥 = 𝜃0 + 𝜃1𝑥 ℎ𝜃 𝑥 = 𝜃0 + 𝜃1𝑥 + 𝜃2𝑥2
ℎ𝜃 𝑥 = 𝜃0 + 𝜃1𝑥 + 𝜃2𝑥2 + 𝜃3𝑥3
La régression polynomiale
ℎ𝜃 𝑥 = 𝜃0 + 𝜃1𝑥 + 𝜃2𝑥2 + 𝜃3𝑥3
ℎ𝜃 𝑥 = 𝜃0 + 𝜃1(𝑠𝑢𝑟𝑓𝑎𝑐𝑒) + 𝜃2(𝑠𝑢𝑟𝑓𝑎𝑐𝑒)2 + 𝜃3(𝑠𝑢𝑟𝑓𝑎𝑐𝑒)3
𝑥1 = surface
ℎ𝜃 𝑥 = 𝜃0 + 𝜃1𝑥1 + 𝜃2𝑥2 + 𝜃3𝑥3 𝑥2 = (surface)2
𝑥3 = (surface)3
Équation normale
ℎ 𝜃 (𝑥 ) = 𝜃0 + 𝜃1𝑥1 + 𝜃2𝑥2 + 𝜃3𝑥3 … . +𝜃𝑛𝑥𝑛
𝑚
1 2
Minimiser la fonction d’erreur 𝐽(𝜃) = ℎ𝜃 (𝑥 𝑖 ) − 𝑦 (𝑖)
2
𝑖=1
𝜕
𝐽 𝜃 =0
𝜕𝜃0
𝜕
𝐽 𝜃 =0
𝜕𝜃1
𝜕
𝐽 𝜃 =0
𝜕𝜃𝑛
L’équation normale
Nb chambres étage Age Surface Prix
𝒙𝟏 𝒙𝟐 𝒙𝟑 𝒙𝟒 (Y)
5 1 10 200 500
3 1 40 120 200
7 2 30 300 842
2 2 5 90 145
3 2 2 100 220
L’équation normale
𝒙𝟎 Nb chambres étage Age Surface Prix
𝒙𝟏 𝒙𝟐 𝒙𝟑 𝒙𝟒 (Y)
1 5 1 10 200 500
1 3 1 40 120 200
𝑋= 1 7 2 30 300 842
1 2 2 5 90 145
1 3 2 2 100 220
La équation normale
x0 Nb chambres étage Age Surface Prix
x1 x2 x3 x4 (Y)
1 5 1 10 200 500
1 3 1 40 120 200
𝑋= 1 7 2 30 300 842
1 2 2 5 90 145
1 3 2 2 100 220
L’équation normale
1 5 1 10 200 500
1 3 1 40 120 200
𝑋= 1 7 2 30 300 𝑌 = 842
1 2 2 5 90 145
1 3 2 2 100 220
𝜃 = (𝑋 𝑇 𝑋) −1 𝑋 𝑇 𝑌
Descente du gradient Normal Equation
Il faut choisir le pas d’apprentissage Aucun parameter α à choisir
Besoin de plusieurs itérations Pas d’itérations à faire
𝑂 (𝑘𝑛2) 𝑂 (𝑛3), calcul de l’inverse de 𝑋 𝑇 𝑋
Efficace lorsque n est grand Très long si n est grand