Académique Documents
Professionnel Documents
Culture Documents
Supervised Machine Learning - 2
Supervised Machine Learning - 2
Learning (2)
FATIMA ZAHRA LAHLOU, PHD
03 MAI 2020
1
Révision
2
Machine 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
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
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): 𝒚ෝ 𝒙 = 𝒘𝟎 + 𝒘𝟏 𝒙𝟏 + … + 𝒘𝒏 𝒙𝒏 = 𝒘𝑻 𝒙
Problème d’optimization
Gradient Descendant
Polynomial Regression
Régression Polynomiale Simple de degrès 2 ෝ 𝒙 = 𝒘𝟎 + 𝒘𝟏 𝒙 + 𝒘𝟐 𝒙²
𝒚
𝒚 𝒙 = 𝒘𝟎 + 𝒘𝒊 𝒙𝒊 + 𝒘𝒊,𝒋 𝒙𝒊 𝒙𝒋
𝒊=𝟏 𝒊=𝟏 𝒋≥𝒊
13
Phase d’apprentissage d’un modèle = Trouver les
meilleurs paramètres
14
K- Nearest Neighbors (K-NN)
K-NN: Prédire la classe majoritaire chez les k plus proches voisins.
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
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
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)
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)
? 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
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é
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
50
Intuition (2) –
Pourquoi pas une régression linéaire?
+∞
Logit(Probability of x
being malignant)
Transformation de
l’axe Y
0
Tumor Size
51
Intuition (2) –
Pourquoi pas une régression linéaire?
+∞
Logit(Probability of x
being malignant)
Transformation de
l’axe Y
0
Tumor Size
52
Fonction Logistique
On peut chercher une relation linéaire entre x et logit(y) !
𝑙𝑜𝑔𝑖𝑡(𝑝) = 𝑤0 + 𝑤1 𝑥1 + … + 𝑤𝑛 𝑥𝑛
𝑝 = 𝑔 (𝑤0 + 𝑤1 𝑥1 + … + 𝑤𝑛 𝑥𝑛)
𝟎≤𝒈 𝒛 ≤𝟏
53
Logistic Regression – Modèle
𝑤 𝑇 𝑥 = 𝑤0 + 𝑤1 𝑥1 + … + 𝑤𝑛 𝑥𝑛
Non
linearity
𝑇
ℎ𝑤 𝑥 = 𝑔(𝑤 𝑥)
54
Seuil de Classification (thresholding)
Forte probabilité que la tumeur
soit maligne
?
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) = σ𝐦
𝐢=𝟏 𝐞𝐫𝐫𝐞𝐮𝐫(ෝ
𝒚 (𝒙 𝐢
) , 𝒚 (𝐢)
)
𝐦
ෝ (𝒙 𝐢 ) 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
𝑻
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
61
Régression Logistique – Résumé
Problème de classification
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
66
SVM
SUPPORT VECTOR MACHINES
67
Support Vector Machines (SVM)
▪Un des plus performants et des plus populaires algorithms de
Classification
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
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
72
SVM – (4) Astuce du Noyau
?
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 !
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?)
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
90
Linear Regression
x 91
Polynomial Regression
Régression Polynomiale Simple de degrès 2 ෝ 𝒙 = 𝒘𝟎 + 𝒘𝟏 𝒙 + 𝒘𝟐 𝒙²
𝒚
𝒚 𝒙 = 𝒘𝟎 + 𝒘𝒊 𝒙𝒊 + 𝒘𝒊,𝒋 𝒙𝒊 𝒙𝒋
𝒊=𝟏 𝒊=𝟏 𝒋≥𝒊
92
K-NN
“”مع من شفتك مع من شبهتك
94
Logistic Regression
𝒘𝑻 𝒙 = 𝒘𝟎 + 𝒘𝟏 𝒙𝟏 + … + 𝒘𝒏 𝒙𝒏
ෝ 𝒙 = 𝒈(𝒘𝟎 + 𝒘𝟏 𝒙𝟏 + … + 𝒘𝒏 𝒙𝒏)
𝒚
95
Polynomial Logistic Regression
𝒑 𝒑 𝒑
ෝ 𝒙 = 𝒈(𝒘𝟎 + 𝒘𝒊 𝒙𝒊 + 𝒘𝒊,𝒋 𝒙𝒊 𝒙𝒋 )
𝒚
𝒊=𝟏 𝒊=𝟏 𝒋≥𝒊
96
Support Vector Machines (SVM)
▪Un des plus performants et des plus populaires algorithms de
Classification
97
Decision Trees
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