Vous êtes sur la page 1sur 102

Supervised Machine

Learning (2)
FATIMA ZAHRA LAHLOU, PHD
03 MAI 2020

1
Révision

2
Machine Learning

Slide credit: Pedro Domingos & Alhussein Fawzi 3


Types of Learning
Machine Learning

Supervised Unsupervised Semi-supervised Reinforcement


Learning Learning Learning Learning

4
Supervised vs Unsupervised ML
Supervised Unsupervised

x2 x2
X O
X O
X O

O X O O
O O
O O O O

O O

x1 x1

5
Semi Supervised ML

x2 x2
X O X X
X O X X
O O
X X
O X
O X O O X X
OO OO
O O O
O O O
O O O X
O O

x1 x1

6
Reinforcement Learning

https://www.youtube.com/watch?v=JzD8h4vtiuM https://www.youtube.com/watch?v=TmPfTpjtdgg

7
Supervised Learning – Goal

Objectif: Construire un Modèle


1. à partir des examples d’apprentissage
2. capable de prédire la valeur pour un nouvel exemple (Généralisable )

8
Supervised learning:
Regression Vs Classification
Regression Classification
On cherche à prédire une valeur continue On cherche à prédire une classe
Exp: Prédiction des prix des maisons
Exp: cat / not cat , spam / not spam

9
Supervised Learning Pipeline

Model Training &


Data Preparation &
Data Collection Hyperparameters Model Deployment
Feature Engineering
Tuning

10
Linear Regression
Régression Linéaire Simple Régression Linéaire Multiple

ෝ (𝒙) = 𝒘𝟎 + 𝒘𝟏 𝒙
𝒚 ෝ(𝒙) = 𝒘𝟎 + 𝒘𝟏 𝒙𝟏 + … + 𝒘𝒏 𝒙𝒏
𝒚

x 11
Régression Linéaire Multiple - Résumé
Hypothèse (Le modèle à apprendre): 𝒚ෝ 𝒙 = 𝒘𝟎 + 𝒘𝟏 𝒙𝟏 + … + 𝒘𝒏 𝒙𝒏 = 𝒘𝑻 𝒙

Paramètres à apprendre: 𝒘 = (w0 , w1 , … , wn)


𝟏 𝐦
Fonction coût: J(w) = σ𝐢=𝟏 ෝ (𝒙(𝐢) ) − 𝒚(𝐢) ²
𝒚
𝐦

Comment trouver les parametres w ????


𝐦𝐢𝐧 𝑪𝒐𝒔𝒕(w)
w

Problème d’optimization
Gradient Descendant
Polynomial Regression
Régression Polynomiale Simple de degrès 2 ෝ 𝒙 = 𝒘𝟎 + 𝒘𝟏 𝒙 + 𝒘𝟐 𝒙²
𝒚

Régression Polynomiale Simple de degrès d ෝ 𝒙 = 𝒘𝟎 + 𝒘𝟏 𝒙 + ⋯ + 𝒘𝒅 𝒙𝒅


𝒚

Régression Polynomiale Multiple de degrès 2 𝒏 𝒏 𝒏

𝒚 𝒙 = 𝒘𝟎 + ෍ 𝒘𝒊 𝒙𝒊 + ෍ ෍ 𝒘𝒊,𝒋 𝒙𝒊 𝒙𝒋
𝒊=𝟏 𝒊=𝟏 𝒋≥𝒊

13
Phase d’apprentissage d’un modèle = Trouver les
meilleurs paramètres

Une fois les paramètres


trouvé: C’est bon on
obtient notre modèle !!

14
K- Nearest Neighbors (K-NN)
K-NN: Prédire la classe majoritaire chez les k plus proches voisins.

“‫”مع من شفتك مع من شبهتك‬

”Dis moi qui sont tes amis et je te


dirais qui tu es.” 15
Mesure de Performance - Résumé
CAS RÉGRESSION CAS CLASSIFICATION

Accuracy
𝑇𝑃
Precision Precision=
𝑇𝑃+𝐹𝑃
𝑇𝑃
Recall = =
𝑇𝑃+𝐹𝑁
𝑷𝒓𝒆𝒄𝒊𝒔𝒊𝒐𝒏 ∗ 𝑹𝒆𝒄𝒂𝒍𝒍
F1 = 2
𝑷𝒓𝒆𝒄𝒊𝒔𝒊𝒐𝒏+𝑹𝒆𝒄𝒂𝒍𝒍

16
Plan
➢ Revision Supervised Learning (1)
➢ Processus de Validation des Modèles
➢ Overfitting
➢Logistic Regression
➢SVM
➢Multi-Class Classification Performance Mesures
➢Famous Supervised ML Algorithms

17
Processus de Validation
des Modèles

18
Supervised Learning Analogy
Training Data: les
exercices sur lesquels
je vais m’entrainer
(j’apprends des
réponses)

Deployement: je
passe mon bac
Test Data: L’examen blanc,
si je le réussi, je suis prêt
pour le bac
(je cache les réponse,
j’effectue les excercices, puis
je compare les résultats pour
voir mes performances)
19
Paramètres Vs Hyperparamètres
Paramètres:
◦ s’apprennent automatiquement durant le training
◦ Exp: 𝒘 = (w0 , w1 , … , wn) de la regression linéaire
Hyperparamètres:
◦ Paramètres à choisir par le data scientiste

?
◦ Affectent le modèle / l’apprentissage du modèle
▪ Exp:
▪ k du k-NN
▪ Paramètre de régularization
▪ Nombre d’itération du Gradient Descendant
▪ Valeur du learning rate Comment trouver les
▪ … meilleures valeurs des
hyperparamètres ?

20
Comment décider la valeur des
hyperparamètres?
Réponse intuitive:
◦ Tester plusieurs valeurs, (exp k = 5, 7, 9 pour k-NN )
◦ Garder la meilleur valeur de k sur les données de test
Or,
Est-ce que ce choix n’est pas biaisé par les données de test ??
◦ Exp: je trouve k=5 la meilleur valeur k de k-NN en utilisant mes données de test.
Et si k=5 est la meilleure valeur uniquement pour les données de test?
Est-ce que je n’ai pas utilisé de
l’information servant à l’évaluation
pour construire mon modèle? 21
Analogie
Test Data:
Hyperparamètre à décider: L’examen blanc ne contient
Dois je réviser le tableau pas d’exercice sur le tableau
périodique des éléments périodique des éléments.
(chimie) juste avant de Donc je décide de ne pas
commencer? réviser ce tableau avant de
passer le bac!

Est-ce que cette décision n’est pas biaisée par l’examen blanc?
Si l’éxamen blanc comportait un excercice sur le tableau périodique des
éléments, j’aurais décider autrement!
22
Comment décider la valeur des
hyperparamètres?
Solution: Passer par une étape de validation avant de passer au test
Entrainer le modèle: Trouver les meilleurs Tester le modèle
apprendre les hyperparamètres
paramètres

Validation Test Set


Training Set Set (20%) (20%)
Data Set (80%) (60%)

Le test set sert uniquement à tester le modèle


finale, pour l’approuver ou non, non à prendre
des décision concernant ce modèle finale!
23
Procédure de validation
Option 1: Validation set

Training Data (60%) Validation Data (20%) Test Data (20%)

Evaluate the
Train the model
Tune hyperparameters model on
(ie. Learn model parameters)
unseen data
Procédure de validation
Option 1: Validation set
Test Data
Training Data (60%) Validation Data (20%)
(20%)
Evaluate the
Train the model
Tune hyperparameters model on
(ie. Learn model parameters)
unseen data

Limitations:
◦ Reste-t-il assez de données pour entrainer le modèle?
Procédure de validation
Option 2: K-fold cross validation
◦ Le data set est divisé en k partitions
◦ A tour de rôle, une partition est utilisée pour le test, et les autres pour le training
 Le modèle est entrainé et testé k-fois

Exp: k=5 Training Training Training Training Test


Training Training Training Test Training
Training Training Test Training Training
Training Test Training Training Training
Test Training Training Training Training
Procédure de validation
Option 2: K-fold cross validation
Performance du modèle = Moyenne des performance sur tout les test set
Choix hyperparamètres: on choisi ceux qui donne le mieux sur cette moyenne,
 On peut dire maintenant que le choix n’est pas biaisé par des données de test
particulières
Exp: k=5 Training Training Training Training Test
Training Training Training Test Training
Training Training Test Training Training
Training Test Training Training Training
Test Training Training Training Training
Plan
➢ Revision Supervised Learning (1)
➢ Processus de Validation des Modèles
➢ Overfitting
➢Logistic Regression
➢SVM
➢Multi-Class Classification Performance Mesures
➢Famous Supervised ML Algorithms

28
LAB 1 – Part(2)
Overfitting

29
Overfitting

30
RAPPEL
Objectif: construire un modèle
• A partir des examples d’apprentissage
• Capable de prédire la valeur pour un nouvel exemple
(Généralisable)

Comment savoir si le modèle est généralisable?


Score sur les données de test !

Si le modèle donne un bon score sur les données training….


mais un mauvais score sur les données de test ????

Training Set Test Set ? 31


Analogie
Un nouvel
J’ai appris par
exercice! Olala!
cœur mes
C’est pas ce que je
exercices, je peux
j’ai appris !
les refaire sans
problème!

L’apprentissage est trop ajusté aux exercices


d’entraînement !
32
Comment reconnaitre l’overfitting?
F1 = 0,9 F1 = 0,7

Training Set Test Set

En general, un modèle
donnera toujours mieux sur
Training Error << Test Error le training que sur le test,
Logique!
Mais ici on parle de bon et
mauvais scores ...
Blue: training set
Green: Test set

34
Surajustement (Overfitting) –
Cas Régression

OK Surajustement (Overfitting)
Sous-ajustement (Underfitting)
Surajustement (Overfitting) –
Cas Classification

( = sigmoid function)
Sous-ajustement (Underfitting) OK Surajustement (Overfitting)

36
Surajustement (Overfitting)

Training Set Test Set


37
38
Que faire en cas de surajustement (overfitting) ?

Training Set Test Set

? 39
Que faire en cas de surajustement
(overfitting) ?
1. Est-ce qu’on a pas considéré trop de variables caractéristiques ?
Réduire le nombre de caractéristiques à travers
➢Sélection manuelle des caractéristiques à garder
➢Utilisant un algorithme de sélection de model
2. Toutes les variables caractéristiques sont significatives, chacune
contribue un peu dans la prédiction de y
Régularisation: « Ne pas trop se fier aux exemples! »
Garder toutes les caractéristiques 𝒙𝒊, et réduire l’ampleur des paramètres 𝒘𝒊

40
Régularisation « Ne pas trop se fier aux exemples! »
Ne pas se fier aux
exemples au point
Comment ? Ajouter un terme à l’objectif à minimiser de render notre
modèle trop
Objectif à minimizer: complexe

𝐌𝐢𝐧 (𝑷𝒆𝒓𝒕𝒆 𝑫𝒐𝒏𝒏é𝒆𝒔 𝑴𝒐𝒅è𝒍𝒆) + 𝒄𝒐𝒎𝒑𝒍𝒆𝒙𝒊𝒕é(𝒎𝒐𝒅è𝒍𝒆))

Régularisation L2 (Ridge):

σ 𝒏 𝟐
Compléxité = 𝒋=𝟏 𝒘𝒋
Régularisation « Ne pas trop se fier aux exemples! »
• Ne dépends pas des
données
• Pénalise les paramètres
Fonction coût régularisée (L2) (à minimiser): les plus élevés
𝐦
𝟏 𝒏
J(w) = ෝ (𝒙 𝒊 ) , 𝒚
෍ 𝑬𝒓𝒓𝒆𝒖𝒓 𝒚 𝐢 + 𝝀෍ 𝒘𝟐𝒋
𝐦 𝒋=𝟏 𝝀 détermine si on veut
𝐢=𝟏 donner plus d’importance
𝝀: Paramètre de régularisation. à avoir des exemples
corrects ou un modèle
simple

Intuition: Lors de la minimization du coût, on


aboutis à des 𝑤𝑖 plus petits, ce qui diminue 𝑥𝑖 ,
on diminue ainsi l’impact de 𝑥𝑖 dans le modèle
Model Trainng & Hyperparameters
Tuning

Model Training &


Data Preparation &
Data Collection Hyperparameters Model Deployment
Feature Engineering
Tuning

43
LAB 2 – Part(2)
Validation et
Déploiement du modèle

44
Plan
➢ Revision Supervised Learning (1)
➢ Processus de Validation des Modèles
➢ Overfitting
➢Logistic Regression
➢SVM
➢Multi-Class Classification Performance Mesures
➢Famous Supervised ML Algorithms

45
Régression Logistique

46
Classification Binaire
0: “Negative Class” (e.g., benign tumor)
1: “Positive Class” (e.g., malignant tumor)

Malignant ?
(Yes) 1

(No) 0
Tumor Size

47
Intuition (1) –
Estimation de la Probabilité

Objectif: prédiction de la probabilité


d’appartenance à la classe positive

ℎ𝑤 𝑥 = Estimation de la probabilité que x appartienne à la classe positive

48
Intuition (1) –
Estimation de la Probabilité
Probability of x
being malignant
ℎ𝑤 𝑥 = Estimation de la probabilité que x appartienne
à la classe positive
ℎ𝑤 𝑥 proche de 1=> x appartient à la classe positive
ℎ𝑤 𝑥 proche de 0 => x appartient à la classe negative

On cherche une hypothèse telle que Courbe


• 𝟎 ≤ 𝒉𝒘 𝒙 ≤ 𝟏 sous forme
de S
• De forme S
49
Intuition (2) –
Pourquoi pas une régression linéaire?

▪ On cherche à prédire une valeur continue:


𝟎 ≤ 𝒉𝒘 𝒙 ≤ 𝟏
▪ Et si on utilisait une régression linéaire?
𝑤0 + 𝑤1 𝑥
▪ Prob:
▪ "𝑤0 + 𝑤1 𝑥" ∈ [−∞, +∞] , 𝑦 ∈ 0,1
▪ Loin de la distribution de la probabilité

50
Intuition (2) –
Pourquoi pas une régression linéaire?
+∞
Logit(Probability of x
being malignant)

Transformation de
l’axe Y
0
Tumor Size

▪ Ensemble de destination transformé de [0,1] à [−∞, +∞]


▪ La forme en S est transformé en forme linéaire −∞

51
Intuition (2) –
Pourquoi pas une régression linéaire?
+∞
Logit(Probability of x
being malignant)

Transformation de
l’axe Y
0
Tumor Size

On peut chercher une relation linéaire entre x et logit(y) ! −∞

52
Fonction Logistique
On peut chercher une relation linéaire entre x et logit(y) !
𝑙𝑜𝑔𝑖𝑡(𝑝) = 𝑤0 + 𝑤1 𝑥1 + … + 𝑤𝑛 𝑥𝑛
𝑝 = 𝑔 (𝑤0 + 𝑤1 𝑥1 + … + 𝑤𝑛 𝑥𝑛)

La fonction logistique (sigmoid)

𝟎≤𝒈 𝒛 ≤𝟏

53
Logistic Regression – Modèle
𝑤 𝑇 𝑥 = 𝑤0 + 𝑤1 𝑥1 + … + 𝑤𝑛 𝑥𝑛

Non
linearity

𝑇
ℎ𝑤 𝑥 = 𝑔(𝑤 𝑥)

54
Seuil de Classification (thresholding)
Forte probabilité que la tumeur
soit maligne

t = 0,5 50% de chance que la tumeur soit


maligne

Faible probabilité que la


t: degrés de tumeur soit maligne
confiance
𝑡 𝜖 [0,1] un seuil de classification (threshold)
Predict 𝑦 = 1 if ℎ𝑤 𝑥 ≥ 𝑡
Predict 𝑦 = 0 if ℎ𝑤 𝑥 < 𝑡
55
Régression Logistique – Paramètres
ෝ 𝒙 = 𝑔(𝑤 𝑇 𝑥)
Hypothèse (Le modèle à apprendre): 𝒚

Paramètres à apprendre: 𝒘 = (w0 , w1 , … , wn)


𝟏 𝐦
Fonction coût: Cost(w) = σ𝐢=𝟏 𝐞𝐫𝐫𝐞𝐮𝐫(ෝ 𝒚 (𝒙 𝐢 ) , 𝒚(𝐢) )
𝐦

Comment trouver les parametres w ? Problème d’Optimization!


Gradient Descendant
𝐦𝐢𝐧 𝑪𝒐𝒔𝒕(w)
w
Régression Logistique – Fonction Coût
Comment calculer le coût du modèle?

?
Comment calculer l’erreur quand il s’agit d’un algorithme:
• De classification
• Qui retourne une probabilité entre 0 et 1 ?
Régression Logistique – Fonction Coût
𝟏
Fonction coût: Cost(w) = σ𝐦
𝐢=𝟏 𝐞𝐫𝐫𝐞𝐮𝐫(ෝ
𝒚 (𝒙 𝐢
) , 𝒚 (𝐢)
)
𝐦

Entropie croisée (Cross Entropy)


ෝ (𝒙 𝐢 ) , 𝒚
𝐞𝐫𝐫𝐞𝐮𝐫 𝒚 𝐢 ෝ (𝒙 𝐢 )) + 𝟏 − 𝒚 𝒍𝒐𝒈(ෝ
= −(𝒚 𝒍𝒐𝒈(𝟏 − 𝒚 𝒚 (𝒙 𝐢 ))

ෝ (𝒙 𝐢 ) qui est:
si y=1, l’erreur est −𝒍𝒐𝒈(𝟏 − 𝒚 Si y=0, l’erreur est 𝒍𝒐𝒈(ෝ𝒚 (𝒙 𝐢 ) qui est:
• minimum quand 𝐲ො (𝐱 𝐢 )=1 et • minimum quand 𝒚 ෝ (𝒙 𝐢 )=0 et
• maximum quand 𝐲ො (𝐱 𝐢 )=0 • maximum quand 𝒚 ෝ (𝒙 𝐢 )=1 log(𝑥)

Rappel:
𝒍𝒐𝒈(𝟏) = 𝟎
𝐥𝐨𝐠 𝟎 =−⋈
Frontière de Décision (Decision Boundary )
Quelle est la ligne (l’hyperplan) qui sépare les deux classes quand on
applique l’algorithme de Régression Logistique?

1-dimension:
Hyperplan = un point
? 2-dimensions:
Hyperplan = une ligne
3-dimensions:
Hyperplan = un plan

Taille de la
tumeur

59
Frontière de Décision (Decision Boundary )
Supposons que t = 0,5 𝑔(𝑧) ≥ 0,5 ↔ 𝑧 ≥ 0
𝑔(𝑧) < 0,5 ↔ 𝑧 < 0
Predict 𝑦 = 1 si ℎ𝑤 𝑥 ≥ 0,5
↔ Predire 𝑦 = 1 si 𝑔(𝑤 𝑇 𝑥) ≥ 0,5
↔ Predire 𝑦 = 1 si 𝑤 𝑇 𝑥 ≥ 0

Predire 𝑦 = 0 si ℎ𝑤 𝑥 < 0,5


↔ Predire 𝑦 = 0 si 𝑔(𝑤 𝑇 𝑥) < 0,5
↔ Predire 𝑦 = 0 si 𝑤𝑥 < 0
ℎ𝑤 𝑥 = 𝑔(𝑤 𝑇 𝑥)

𝑻
Donc quelle peut être la frontière de decision ?? 𝒘 𝒙
60
Frontière de Décision (Decision Boundary)
Supposons que t = 0,5 Example 1:
ℎ𝑤 𝑥 = 𝑔(𝑤0 + 𝑤1 𝑥1 + 𝑤2 𝑥2 )

La frontière de decision: 𝒘𝟎 + 𝒘𝟏 𝒙𝟏 + 𝒘𝟐 𝒙𝟐 = 0
On trouve 𝑤0 = -3, 𝑤1 = 1, 𝑤2 = 1
Predire y=1 si −𝟑 + 𝒙𝟏 + 𝒙𝟐 >= 0

𝒘𝑻 𝒙 représente la frontière de décision !!!


Frontière de decision linéaire

61
Régression Logistique – Résumé
Problème de classification

On cherche à prédire la probabilité que


l’exemple appartienne à la classe positive

Seuil de Classification Frontière de Décision

62
Avantages
Rapide et efficace
Explicable (probabilités)
La non-linéarité peut s’obtenir en ajoutant de nouvelles caractéristiques obtenues par
croisement des originales.

63
Polynomial Logistic Regression

𝒑 𝒑 𝒑

ෝ 𝒙 = 𝒈(𝒘𝟎 + ෍ 𝒘𝒊 𝒙𝒊 + ෍ ෍ 𝒘𝒊,𝒋 𝒙𝒊 𝒙𝒋 )
𝒚
𝒊=𝟏 𝒊=𝟏 𝒋≥𝒊

64
Frontière de Décision (Decision Boundary )
Supposons que t = 0,5 Example 2:
ℎ𝑤 𝑥 = 𝑔(𝑤0 + 𝑤1 𝑥1 + 𝑤2 𝑥2 + 𝑤3 𝑥1 ² + 𝑤4 𝑥2 ²)
La frontière de decision:
𝒘𝟎 + 𝒘𝟏 𝒙𝟏 + 𝒘𝟐 𝒙𝟐 + 𝒘𝟑 𝒙𝟏 ² + 𝒘𝟒 𝒙𝟐 ²= 0

On trouve 𝑤0 = -1, 𝑤1 = 0, 𝑤2 = 0, 𝑤3 = 1, 𝑤4 = 1

Predire y=1 si −𝟏 + 𝒙𝟏 ² + 𝒙𝟐 ² >= 0

✓ La frontière de décision peut aussi être non linéaire


✓ On peut aboutir à des frontières de décisions complexes
si on utilise de termes polynomiaux de degrés élevé. 65
Plan
➢ Revision Supervised Learning (1)
➢ Processus de Validation des Modèles
➢ Overfitting
➢Logistic Regression
➢SVM
➢Multi-Class Classification Performance Mesures
➢Famous Supervised ML Algorithms

66
SVM
SUPPORT VECTOR MACHINES

67
Support Vector Machines (SVM)
▪Un des plus performants et des plus populaires algorithms de
Classification

Principe de Fonctionnement de SVM:


1. Construit un hyperplan qui sépare les deux classes
2. Maximum de marge entre les deux classes
3. S’appuie sur certain vecteurs (support vectors)
4. Très performant grâce à l’astuce du kernel
5. Paramètre C

68
SVM –
(1) Frontière de Décision en Hyperplan
Comme pour la Régression Logistique, SVM
construit un hyperplan qui sépare la classe
positive de la classe négative

2-dimensions: 3-dimensions:
1-dimension: Hyperplan = un plan
Hyperplan = une ligne
Hyperplan = un point

69
SVM – (2) Maximum de Marge
La frontière de décision de SVM a la particularité d’être la
plus éloignés possible des exemples positifs et négatifs

Small Margin Large Margin


SVM – (3) Support Vectors
Support vectors: les points les plus
proches de l’hyperplan et qui influencent
sa position et son orientation

71
SVM – (3) Support Vectors
La position de ces ‘support vectors’ uniquement affecte la frontière de décision.
Tout les autres points (et qui sont dans le bon côté) n’affectent pas la frontière de décision

Une autre force de SVM: La non-sensitivité aux points distant!

72
SVM – (4) Astuce du Noyau

Données non-linéairement ééparables:


Comment tracer l’hyperplan frontière de décision?

?
73
SVM – (4) Astuce du Noyau
Objectif: Représenter les données dans un nouvel espace de sorte à ce
qu’elles deviennent linéairement séparables !

On rajoute une nouvelle dimension x2= x²

74
SVM – (4) Astuce du Noyau
Problème:
La transformation de données dans de nouvelles dimensions peut être
très couteuse en calculs, surtout quand le nombre de caractéristiques
est élevé.
Solution: Astuce du Kernel (Kernel trick):
Utilisée par SVM pour faire les calculs nécessaires sans faire de
transformation explicite.
Les calculs sont réduits
Séparation non linéaire dans les dimensions d’origine!

75
SVM – (4) Astuce du Noyau

76
SVM – (5) Paramètre C
▪ Permet de considérer ou non la ‘misclassification’
▪ Equivalent à 1/λ (λ est le parameter de regularization)
▪ Choisir un grand C permet de tolérer des erreurs de classifications

77
Conseils pour l’utilisation de SVM
▪SVM est intéressant quand on cherche des performances élevés
▪SVM est intéressant quand le nombre de caractéristiques est élevé
▪SVM est intéressant quand le nombre de caractéristiques est supérieure
aux nombre d’exemples
▪ Attention à l’overfitting!
▪Eviter SVM quand le training dataset est trop important (max = 1 million)
▪ Training SVMs is computationally heavy
▪Prendre le soin de ‘tuner’ les hyperparamètres (type of kernel, C , ...)
▪Il est fortement recommender d’unifier l’échelle de vos données (scaling)

78
SVM vs Régression Logistique
SVM RÉGRÉSSION LOGISTIQUE
▪ SVM: prédit la classe (0 ou 1) ▪ Régression Logistique: prédit une probabilité
(entre 0 et 1) et on decide la classe à partir
▪ Permet de construire une frontière de d’un seuil
Décision
▪ Permet de construire une frontière de
▪ SVM maximise la distance entre la frontière Décision (depend du seuil choisi)
de decision et les classes
▪Bon quand la frontière de decision n’est pas
▪Astuce du noyau trop complexe
▪Résultats non interprétables ▪Resultas interpréables

79
Plan
➢ Revision Supervised Learning (1)
➢ Processus de Validation des Modèles
➢ Overfitting
➢Logistic Regression
➢SVM
➢Multi-Class Classification Performance Mesures
➢Famous Supervised ML Algorithms

80
Multi-Class Classification
Performance Mesures

81
MultiClass Classification
Comment faire si plusieurs classes ?
exemples:
Standing des maison :{Très haut, haut, moyen, économique} => 𝑦 𝜖 {0,1,2,3}
Handwritten digits recognition: 𝑦 𝜖 {0,1,2,3,4,5,6,7,8,9}
Recommender systems -> rating {1 , 2, 3 , 4 , 5} => 𝑦 𝜖 {0,1,2,3,4}

?
82
MultiClass Classification
Stratégie 1: One Vs All (One Vs Rest / OvA / OvR)
▪ On a p classes
▪ Diviser le problème en p problèmes de classification binaires, en
considérant à chaque fois une classe contre le reste
▪ Pour un nouvel exemple, retourner la classe i pour laquelle le
score de classification est maximal.
MultiClass Classification
Exemple: standing des maisons One Vs All (One Vs Rest)
𝒚 𝝐 {haut, moyen, économique} ▪ Diviser le problème en p problèmes de classification binaires
▪ Pour un nouvel exemple, retourner la classe i pour laquelle le score
de classification est maximal.
On construit 3 modèles:
• Classificateur1 (haut ou Non ?)
• Classificateur2 (moyen ou non?)
• Classificateur3 (économique ou non?)

Pour une maison M, on trouve:


• Classificateur1 -> 52%
• Classificateur2 -> 78%
• Classificateur3 -> 49%

 on affect la classe “moyen” 84


MultiClass Classification
Stratégie 2: One Vs One (OvO)
▪ On a p classes
▪ Diviser le problème en p(p-1)/2 problèmes de classification
binaires, en considérant à chaque fois deux classes uniquement
▪ Pour une nouvelle entrée x, on applique tout les modèles, et on
affecte la classe qui a été prédite le plus de fois.
Multi-Class Classification
One Vs One Exemple: standing des maisons
▪ Diviser le problème en p(p-1)/2 problèmes de classification 𝒚 𝝐 {haut, moyen, économique}
binaires, en considérant à chaque fois deux classes uniquement
▪ Pour une nouvelle entrée x, on applique tout les modèles, et on
affecte la classe qui a été prédite le plus de fois.. On construit 3 modèles:
• Classificateur1 (haut ou moyen ?)
• Classificateur2 (haut ou économique?)
• Classificateur3 (moyen ou économique?)

Pour une maison M, on trouve:


• Classificateur1 -> haut
• Classificateur2 -> haut
• Classificateur3 -> moyen

 on affect la classe “haut”


Multi-Class Classification Evaluation

Confusion Matrix for Class Ci


Valeurs Prédites
Ci Not Ci
True Positive False Negative
Ci
Valeur (TPi) (FNi)
Réelles False Positive True Negative
Not Ci
(FPi) (TNi)

87
Multi-Class Confusion Matrix
Valeurs Prédites
Classe Classe Classe Classe
1 2 ... p

Classe 1
Classe 2
Valeur Réelles
Classe ...
Classe p

Multi-Class Confusion Matrix


Correctement classifié
Erreur de classification
88
On calcul Precision,
Recall et F1 par Classe

Pour obtenir les metrics globales:


▪ Macro Average: moyenne des metrics par
classes
▪ Weighed Average: moyenne des metrics
par classe pondérée par le nombre
d’élements par classe
89
Plan
➢ Revision Supervised Learning (1)
➢ Processus de Validation des Modèles
➢ Overfitting
➢Logistic Regression
➢SVM
➢Multi-Class Classification Performance Mesures
➢Famous Supervised ML Algorithms

90
Linear Regression

Régression Linéaire Simple ෝ (𝒙) = 𝒘𝟎 + 𝒘𝟏 𝒙


𝒚

Régression Linéaire Multiple ෝ(𝒙) = 𝒘𝟎 + 𝒘𝟏 𝒙𝟏 + … + 𝒘𝒏 𝒙𝒏


𝒚
y

x 91
Polynomial Regression
Régression Polynomiale Simple de degrès 2 ෝ 𝒙 = 𝒘𝟎 + 𝒘𝟏 𝒙 + 𝒘𝟐 𝒙²
𝒚

Régression Polynomiale Simple de degrès d ෝ 𝒙 = 𝒘𝟎 + 𝒘𝟏 𝒙 + ⋯ + 𝒘𝒅 𝒙𝒅


𝒚

Régression Polynomiale Multiple de degrès 2 𝒏 𝒏 𝒏

𝒚 𝒙 = 𝒘𝟎 + ෍ 𝒘𝒊 𝒙𝒊 + ෍ ෍ 𝒘𝒊,𝒋 𝒙𝒊 𝒙𝒋
𝒊=𝟏 𝒊=𝟏 𝒋≥𝒊

92
K-NN
“‫”مع من شفتك مع من شبهتك‬

”Dis moi qui sont tes amis et je te


dirais qui tu es.” 93
K-NN for Regression
Output: la Moyenne des distances entre l’exemple et les k plus proches voisins

94
Logistic Regression
𝒘𝑻 𝒙 = 𝒘𝟎 + 𝒘𝟏 𝒙𝟏 + … + 𝒘𝒏 𝒙𝒏

ෝ 𝒙 = 𝒈(𝒘𝟎 + 𝒘𝟏 𝒙𝟏 + … + 𝒘𝒏 𝒙𝒏)
𝒚

95
Polynomial Logistic Regression

𝒑 𝒑 𝒑

ෝ 𝒙 = 𝒈(𝒘𝟎 + ෍ 𝒘𝒊 𝒙𝒊 + ෍ ෍ 𝒘𝒊,𝒋 𝒙𝒊 𝒙𝒋 )
𝒚
𝒊=𝟏 𝒊=𝟏 𝒋≥𝒊

96
Support Vector Machines (SVM)
▪Un des plus performants et des plus populaires algorithms de
Classification

Principe de Fonctionnement de SVM:


1. Construit un hyperplan qui sépare les deux classes
2. Maximum de marge entre les deux classes
3. S’appuie sur certain vecteurs (support vectors)
4. Très performant grâce à l’astuce du kernel
5. Paramètre C

97
Decision Trees

▪Construit le modèle sous forme


d’un arbre
▪Classification et Régression

98
Naive Bayes

99
Random Forest

100
Quel Modèle choisir?

101
Références & Approfondissement
• Cours de ‘Machine Learning’ par ‘Andrew Ng’ sur coursera
• https://developers.google.com/machine-learning/crash-course
• https://jakevdp.github.io/PythonDataScienceHandbook/
• StatQuest on Youtube pour toutes les notions statistiques
• https://machinelearningmastery.com
• https://scikit-learn.org/stable/user_guide.html

Vous aimerez peut-être aussi