0% ont trouvé ce document utile (0 vote)
114 vues106 pages

MachineLearning Merged

ML

Transféré par

taha khouzaimaa
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
114 vues106 pages

MachineLearning Merged

ML

Transféré par

taha khouzaimaa
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Machine Learning

Introduction - Linear Regression

Mustapha El Ossmani
Ecole Nationale Supérieure des Arts et Métiers de Meknès
Université Moulay Ismail
Filière GI-IADS

2023-2024

M. El Ossmani (ENSAM) Machine Learning 2023-2024 1 / 36


Sommaire

1 Définition et introduction

2 Régression linéaire
Cost function
Normal equations
Gradient descent

3 Maximisation de la vraisemblance

M. El Ossmani (ENSAM) Machine Learning 2023-2024 2 / 36


Sommaire

1 Définition et introduction

2 Régression linéaire
Cost function
Normal equations
Gradient descent

3 Maximisation de la vraisemblance

M. El Ossmani (ENSAM) Machine Learning 2023-2024 3 / 36


Apprentissage automatique (Machine learning)
What’s Machine Learning ?
Machine learning est un domaine de l’intelligence artificielle qui se concentre sur le développement d’algorithmes et de modèles
statistiques permettant aux ordinateurs d’apprendre à partir de données.
Plutôt que de programmer explicitement un ordinateur pour effectuer une tâche, on lui fournit des données et des algorithmes
qui lui permettent d’apprendre des modèles et de prendre des décisions autonomes.
Cette technologie trouve des applications dans divers domaines, de la reconnaissance d’images et du traitement du langage
naturel à l’analyse prédictive.

Appelé aussi "apprentissage artificiel" ou


"apprentissage statistique" du fait qu’il
est fondé sur des approches mathématique
et statistique, et qu’il est largement utilisé
en intelligence artificiel.

M. El Ossmani (ENSAM) Machine Learning 2023-2024 4 / 36


Apprentissage automatique (Machine learning)

Premier réseau de neurones artificiel : Warren Mc Culloch et Walter Pitts en 1943


décrivent le fonctionnement des neurones à l’aide de circuits électriques.

Années 90, le ML se distinct comme un domaine à part en se basant beaucoup plus sur des
méthodes et modèles empruntés aux statistiques et à la théorie des probabilités.

Développement important des algorithmes de ML en bénéficiant de l’augmentation des


capacités de calcul et de stockage des ordinateurs, et de l’omniprésence d’Internet et l’arrivée
du big data

ML est largement utilisé en IA et en sciences des données : vision par ordinateur, traitement
du langage naturel, reconnaissance vocale, diagnostic médical, tendances de consommation,
auto-conduite, moteurs de recherche, etc.

M. El Ossmani (ENSAM) Machine Learning 2023-2024 5 / 36


Apprentissage automatique (Machine learning)

Steps of Machine Learning:


Data collection and preparation
Choosing a model
Training the model
Evaluation and parameter tuning
Prediction
Deployment

M. El Ossmani (ENSAM) Machine Learning 2023-2024 6 / 36


Data Collection and Preparation

• Raw data: • Real-world data::


Text, Number, Image, Audio, Video unorganized, missing, or noisy.
• Sources of Data • Data cleaning:
Open Data, Simulated Data, Experiment ! Missing values, outliers, incorrect types, ...
• Scaling/Normalizing

M. El Ossmani (ENSAM) Machine Learning 2023-2024 7 / 36


Data Collection and Preparation
• Data structure: Table of values arranged in rows and columns. Rows are cases (observations)
and columns are variables.
• Features
Features (x ) Label (y ) • Input variables
• Independent variables
z }| { z }| {

• Target/Label
• Output variable
• Dependent variable

• Real estate : area, distance from city centre, floor number, ... + price (continuous)
• Image : pixel=3 features (RGB) + cat or dog (categorical)
An image of 100x100 pixels in color contains 30000 features (too much!)

M. El Ossmani (ENSAM) Machine Learning 2023-2024 8 / 36


Data Collection and Preparation
Feature scaling

Scaling the features to make them comparable on a common scale


Min-Max normalization
x − min x
x̃ = ∈ [0, 1]
max x − min x
Standard normalization
x − x̄
x̃ =
σ
Why used feature scaling
Feature scaling is essential for machine learning algorithms that calculate distances between
data
Gradient descent converges much faster with feature scaling
It’s important if regularization is used

M. El Ossmani (ENSAM) Machine Learning 2023-2024 9 / 36


Choosing a model
Supervised vs unsupervised

Unlabeled data Labeled data

F (x ) = y
categorical continuous

M. El Ossmani (ENSAM) Machine Learning 2023-2024 10 / 36


Choosing a model (hypothesis)
Supervised model

• Features • Target
• Input variables • Output variable
• Independent variables • Dependent variable
F (x ) = y
F : Predictive/Decision model
Choosing a model :
• F (x ) = a0 + a1 x (Linear regression)
• F (x ) = a0 + a1 x + a2 x 2 (polynomial)
• F (x ) = a0 + a1 x1 + a2 x2 + a3 x3 (multivariable)
1
• F (x ) = (classification)
1+e −(a0 +a1 x )
• ANN, SVM, Random Forest, CNN, · · ·

a = (a0 , a1 , · · · , ap )t the model weights

M. El Ossmani (ENSAM) Machine Learning 2023-2024 11 / 36


Training the model
Training set
L’ensemble d’apprentissage est un ensemble de couple entrée-sortie A = {(x (i), y (i)), i = 1 · · · , m}
que nous observons et que nous utilisons pour déterminer les poids du modèle.

Training
L’apprentissage (Training) est le processus permettant de déterminer les poids a tels que les écarts
entre la sortie estimée F (x (i)) et la sortie observée y (i) soient les plus petit possible.

M. El Ossmani (ENSAM) Machine Learning 2023-2024 12 / 36


Evaluating a regression model
Root Mean Square Error (RMSE) required to be small
s m
1 X
RMSE = (F (x (i) ) − y (i) )2
m
i=1
n
obs DVD price = 4$
Example: An error of 10$ in prediction of both DVD and car prices: and
pred DVD price = 14$
n
obs car price = 8000$
pred car price = 8010$
gives the same MSE = (F (x ) − y )2 = 102 = 100
Relative Squared Error (RSE)
m
X 2
(i) (i)
F (x ) − y
m
i=1 1 X
(i)
RSE = m
, y = y
X m
(i) 2 i=1
(y − y )
i=1

2
Coefficient of determination (R ∈ [0, 1]) required to be close to 1
2
R = 1 − RSE

M. El Ossmani (ENSAM) Machine Learning 2023-2024 13 / 36


A good ML Model ?
An effective machine learning model is one that generalizes.

Now, what is generalization?


Generalization is the model’s ability to make predictions not only on the data used to train it but,
more importantly, on new data. That’s precisely why we refer to it as learning!

Data splitting

Training set: pour trouver les poids a


Test set: pour s’assurer que le modèle se généralise

M. El Ossmani (ENSAM) Machine Learning 2023-2024 14 / 36


Generalization : Biais vs variance
En machine learning, les termes "biais" "variance"
et font référence à deux sources d’erreur qui peuvent affecter la
performance d’un modèle. Ces concepts sont liés à la capacité d’un modèle à généraliser à partir des données d’apprentissage vers de
nouvelles données non vues.
Underfitting Balanced Overfitting

M. El Ossmani (ENSAM) Machine Learning 2023-2024 15 / 36


Generalization : Biais vs variance
En machine learning, les termes "biais" "variance"
et font référence à deux sources d’erreur qui peuvent affecter la
performance d’un modèle. Ces concepts sont liés à la capacité d’un modèle à généraliser à partir des données d’apprentissage vers de
nouvelles données non vues.
Underfitting Balanced Overfitting

Biais : Variance :
• Erreur introduite par des approximations simplificatrices
• La sensibilité d’un modèle aux variations dans les données d’entraînement.
ou des hypothèses erronées dans le processus d’apprentissage.
• Une variance élevée est susceptible de surajuster les données d’entraînement,
• Un biais élevé a tendance à sous-ajuster les données d’entraînement,


- il peut être trop sensible aux détails spécifiques aux données d’entraînement,
- il ne capture pas correctement la complexité du problème.
- il ne généralise pas bien sur de nouvelles données.
- mauvaise performance sur les data ( training & tests or others).
• Problème de sur apprentissage "overfitting".
• Problème de sous apprentisage "underfitting"

M. El Ossmani (ENSAM) Machine Learning 2023-2024 15 / 36


Generalization
Biais vs variance

Biais Variance

Le compromis biais-variance "The tradeoff" :

• C’est l’équilibre entre le biais et la variance.


• Un modèle trop simple aura un biais élevé mais une faible variance.
• Tandis qu’un modèle trop complexe aura une faible erreur de biais
mais une variance élevée.
• L’objectif est de trouver un modèle qui minimise l’erreur totale en
trouvant le juste équilibre entre ces deux sources d’erreur.

M. El Ossmani (ENSAM) Machine Learning 2023-2024 16 / 36


Sommaire

1 Définition et introduction

2 Régression linéaire
Cost function
Normal equations
Gradient descent

3 Maximisation de la vraisemblance

M. El Ossmani (ENSAM) Machine Learning 2023-2024 17 / 36


Régression linéaire
Ensemble d’apprentissage (Training set)

Hypothèse
F (x ) = a0 + a1 x ,

m : le nombre d’individus dans l’ensemble d’apprentissage


x : variable d’entrée / variable indépendante / features
y : variable de sortie / variable dépendante / target

S’il y a plusieurs features x1 , x2 , · · · , xp : F (x ) = a0 + a1 x1 + · · · + ap xp

Régression linéaire simple si p = 1, et multiple si p > 1.

M. El Ossmani (ENSAM) Machine Learning 2023-2024 18 / 36


Sommaire

1 Définition et introduction

2 Régression linéaire
Cost function
Normal equations
Gradient descent

3 Maximisation de la vraisemblance

M. El Ossmani (ENSAM) Machine Learning 2023-2024 19 / 36


Cost function - Mean square loss
Méthode des moindres carrées

Modèle linéaire F : Rp → R,
F (x ) = a0 + a1 x1 + · · · + ap xp
Minimiser les écarts entre les sorties estimées F (x (i) ) et les sorties observées y (i) pour
i = 1, · · · , m :
m
1 X 2
J(a) = F (x (i) ) − y (i) Mean square loss
2m i=1
La division par 2m est pour normaliser.
On écrit aussi
m 2
X (F (x (i) )−y (i) )
J(a) = Ji (a) où Ji (a) = 2m .
i=1

M. El Ossmani (ENSAM) Machine Learning 2023-2024 20 / 36


Sommaire

1 Définition et introduction

2 Régression linéaire
Cost function
Normal equations
Gradient descent

3 Maximisation de la vraisemblance

M. El Ossmani (ENSAM) Machine Learning 2023-2024 21 / 36


Normal equations
(1)
xp(1)
   
y (1) 1 x1 ···
. . . . .
Écriture matricielle : Y =  .
.
 et X = .
.
.
.
.
.
.
.

(m) (m) (m)
y 1 x1 ··· xp
La fonction coût s’écrit alors
1
J(a) = (Xa − Y )t (Xa − Y )
2m
1 t
 J est différentiable ∇a J = X (Xa − Y )
m
 J est convexe
3D plot Contour plot

M. El Ossmani (ENSAM) Machine Learning 2023-2024 22 / 36


Normal equations
Le Minimum de J atteint si ∇a J = 0, c’est à dire
1 t
X (Xa − Y ) = 0
m
On obtient alors le système des équations normales

X t Xa = X t Y
où X t X est une matrice de dimension p × p. 
Les poids optimaux exacts 4a0 + 58a1 = 295
58a0 + 910a1 = 4645
−1
a = XtX XtY .

X t X peut être non inversible!


Son inversion devient très couteuse si le nombre de features p est très grand!
Méthode non pratique pour d’autre modèles ... !

M. El Ossmani (ENSAM) Machine Learning 2023-2024 23 / 36


Sommaire

1 Définition et introduction

2 Régression linéaire
Cost function
Normal equations
Gradient descent

3 Maximisation de la vraisemblance

M. El Ossmani (ENSAM) Machine Learning 2023-2024 24 / 36


Gradient descent
• Gradient descent (Batch GD):
• Choisir des valeurs de départ pour a0 et a1
• Répéter jusqu’à convergence :
•a = a − α∇a J m
X
where α : learning rate and ∇a J = ∇a Ji
i=1

• Stochastic Gradient descent: i is randomly chosen from {1, · · · , m}


∇a J ≈ ∇a Ji
• Mini-Batch Gradient
X descent: I ⊂ {1, · · · , m} randomly chosen
∇a J ≈ ∇a Ji
i∈I
• Cas générale d’un algorithme itératif :
a = a + αk d k .
M. El Ossmani (ENSAM) Machine Learning 2023-2024 25 / 36
Gradient descent

Gradient descent algorithm


initialization: a, α, epochs, ε,
n = 0, d = ∇a J et ng = kdk
While ng > ε and n <epochs
a =a−α×d
n = n + 1, d = ∇a J et ng = kdk
return a

M. El Ossmani (ENSAM) Machine Learning 2023-2024 26 / 36


Gradient descent
• Choosing the learning rate:
a = a − α∇a J

Small learning rate (Slow convergence) Big learning rate (May not converge)

M. El Ossmani (ENSAM) Machine Learning 2023-2024 27 / 36


Un petit taux d’apprentissage ?

M. El Ossmani (ENSAM) Machine Learning 2023-2024 28 / 36


Un grand taux d’apprentissage ?

M. El Ossmani (ENSAM) Machine Learning 2023-2024 29 / 36


Un taux plus adapté ?

M. El Ossmani (ENSAM) Machine Learning 2023-2024 30 / 36


Sommaire

1 Définition et introduction

2 Régression linéaire
Cost function
Normal equations
Gradient descent

3 Maximisation de la vraisemblance

M. El Ossmani (ENSAM) Machine Learning 2023-2024 31 / 36


Maximisation de la vraisemblance
La régression linéaire    
1 a0
x1 a1
F (x ) = a0 + a1 x1 + · · · + ap xp = x t a avec x =

 .
.

 et a =

 .
.


. .
xp ap
Chercher les poids a pour lesquels il est plus vraisemblable d’observer les données
A = {(x (i), y (i)), i = 1, · · · , m}
x (i) est une réalisation d’une variable aléatoire x (p−dimension)
y (i) est une réalisation d’une variable aléatoire y
Les hypothèses
Linéarité y (i) = a0 + a1 x1 (i) + · · · + ap xp (i) + εi = x (i)t a + εi
+εi ∼ N (0, σ 2 )
Les couples (x (i), y (i)) sont indépendantes les unes des autres
Il est claire, dans ce cas, que p(y /x ; a) ∼ N (x t a, σ 2 )

M. El Ossmani (ENSAM) Machine Learning 2023-2024 32 / 36


Maximisation de la vraisemblance
Le but est alors de maximiser, par rapport aux poids a, la probabilité
p [(x (1), y (1)), · · · , (x (m), y (m))/a]
qu’on appelle la vraisemblance (likelihood)
D’après les hypothèses, on a
m
Y
p [(x (1), y (1)), · · · , (x (m), y (m))/a] = p((x (i), y (i))/a)
i=1

La relation de Bayes nous permet d’écrire


m
Y m
Y
p((x (i), y (i))/a) = p(y (i)/x (i), a)p(x (i))
i=1 i=1

p(x (i)) peux être assimilé à une constante puisqu’il ne dépend pas de a.

M. El Ossmani (ENSAM) Machine Learning 2023-2024 33 / 36


Maximisation de la vraisemblance
Le but est alors de maximiser, par rapport aux poids a, la probabilité
p [(x (1), y (1)), · · · , (x (m), y (m))/a]
qu’on appelle la vraisemblance (likelihood)
D’après les hypothèses, on a
m
Y
p [(x (1), y (1)), · · · , (x (m), y (m))/a] = p((x (i), y (i))/a)
i=1

La relation de Bayes nous permet d’écrire


m
Y m
Y
p((x (i), y (i))/a) = p(y (i)/x (i), a)p(x (i))
i=1 i=1

p(x (i)) peux être assimilé à une constante puisqu’il ne dépend pas de a.
On trouve alors le problème dit de maximisation de la vraisemblance (likelihood maximization)
m
Y
arg max p(y (i)/x (i), a)
a
M. El Ossmani (ENSAM) i=1Learning
Machine 2023-2024 33 / 36
Maximisation de la vraisemblance

On applique la fonction log, on trouve alors le problème de la Log-vraisemblance


(log-likelihood)
Xm
arg max ln(p(y (i)/x (i), a))
a
i=1
(i)]2
 
Commme p(y /x ; a) ∼ N (F (x ), σ 2 ) donc p(y (i)/x (i), a) = √1
2πσ
exp − [F (x (i))−y
2σ 2

Le problème devient
m
!
X [F (x (i)) − y (i)]2 √ 
arg max − − ln 2πσ
a
i=1
2σ 2
On retrouve la méthode des moindres ! carrés
m
2
X
arg min (F (x (i)) − y (i))
a
i=1

M. El Ossmani (ENSAM) Machine Learning 2023-2024 34 / 36


Objectifs du TP N◦ 1

1 Obtenir les données pour la régression


1 Utiliser la librairie pandas pour lire les données à partir d’un fichier CSV

2 Simulé des données par make_regression du module sklearn.datasets

2 Mettre en œuvre le modèle de régression linéaire par


1 Equations normales

2 Descente de gradient (effet du learning rate)

3 LinearRegression du module sklearn.linear_model

3 Faire des figures dans le cas 1D


4 Evaluer la qualité du modèle de régression par mean_squared_error et r2_score du
module sklearn.metrics
5 Séparer les données en training set et test set par train_test_split du module
sklearn.model_selection

M. El Ossmani (ENSAM) Machine Learning 2023-2024 35 / 36


End Lecture N◦ 1

M. El Ossmani (ENSAM) Machine Learning 2023-2024 36 / 36


Machine Learning
Classification

Mustapha El Ossmani
Ecole Nationale Supérieure des Arts et Métiers de Meknès
Université Moulay Ismaïl
Filière : GI-IADS

2023-2024

M. El Ossmani (ENSAM) Machine Learning 2023-2024 1 / 31


Sommaire

1 Régression logistique

2 Cost function

3 Régularisation

4 Qualité d’une classification

5 Multiclasse

6 K-nearest neighbors

M. El Ossmani (ENSAM) Machine Learning 2023-2024 2 / 31


Sommaire

1 Régression logistique

2 Cost function

3 Régularisation

4 Qualité d’une classification

5 Multiclasse

6 K-nearest neighbors

M. El Ossmani (ENSAM) Machine Learning 2023-2024 3 / 31


Classification binaire
Features (x ) Label (y )
z }| { z }| {

0
1
1
0

• La variable dépendante y prend les deux valeurs {0, 1}:


• Email : Spams ou non spams
• Marketing : Client habituel ou occasionnel
• Banque : Transaction frauduleuse ou régulière
• ...

M. El Ossmani (ENSAM) Machine Learning 2023-2024 4 / 31


Régression logistique
• La régression logistique est une méthode de classification supervisée binaire.

y Régression linéaire ! y Régression logistique


1 1
t 1
F(x) = x a F(x) = t
1+e−x a
∈ [0, 1]
Transformation 0.5 Seuil
sigmoïde
S(z) = 1+e1 −z
0 0
x F (x ) = S(x t a) x

Seuil d’affectation
• Si F(x) ≥ 0.5 alors x est affecté à 1
• Si F(x) < 0.5 alors x est affecté à 0

M. El Ossmani (ENSAM) Machine Learning 2023-2024 5 / 31


Régression logistique
• Schématisation de la régression logistique

1
a0
x1 a1
xta S(x t a) F (x )
x2 a2

1
ap F (x ) = 1+e −x t a
∈ [0, 1]
xp

M. El Ossmani (ENSAM) Machine Learning 2023-2024 6 / 31


Sommaire

1 Régression logistique

2 Cost function

3 Régularisation

4 Qualité d’une classification

5 Multiclasse

6 K-nearest neighbors

M. El Ossmani (ENSAM) Machine Learning 2023-2024 7 / 31


Cost function
Likelihood

Soit A = {(x (i), y (i)), i = 1, · · · , m} l’ensemble d’apprentissage


Le but est d’avoir un modèle telle que F (x (i)) soit le plus proche possible de y (i)
La sortie de modèle de RL est F (x ) = 1+e1−x t a ∈ [0, 1]
F (x ) pourra être vue comme une probabilité d’appartenance à la classe y = 1. On écrit
p(y = 1/x , a) = F (x )
p(y = 0/x , a) = 1 − F (x )
Pour les données d’apprentissage, on a la probabilité
p(y = y (i)/x (i), a) = F (x (i))y (i) (1 − F (x (i)))1−y (i)
qui doit être maximale (proche de 1) pour chaque i = 1, · · · , m.
La fonction vraisemblance qu’on doit alors maximiser par rapport aux poids est
Ym Ym
L(a) = p(y = y (i)/x (i), a) = F (x (i))y (i) (1 − F (x (i)))1−y (i)
i=1 i=1

M. El Ossmani (ENSAM) Machine Learning 2023-2024 8 / 31


Cost function - Cross-Entropy loss
La maximisation de L est équivalent aussi à la maximisation de la fonction log-vraisemblance :
Xm
LL(a) = ln(L(a)) = [y (i) ln(F (x (i))) + (1 − y (i)) ln(1 − F (x (i)))]
i=1
Ce qui est équivalent à minimiser la fonction coût suivante
m m
1 1 X 1 X
J(a) = − LL(a) = − [y (i) ln(F (x (i)) + (1 − y (i)) ln(1 − F (x (i)))] = Ji (a)
m m i=1 m i=1

où Ji (a) = − [y (i) ln(F (x (i)) + (1 − y (i)) ln(1 − F (x (i)))]. Cross-Entropy loss


Si y (i) = 0, alors Ji (a) = − ln(1 − F (x (i))) qui atteint son minimum si F (x (i)) = 0
Si y (i) = 1, alors Ji (a) = − ln(F (x (i))) qui atteint son minimum si F (x (i)) = 1
Le gradient de la fonction J par rapport à a est donné par

∇a J = X t (F (X ) − Y )

M. El Ossmani (ENSAM) Machine Learning 2023-2024 9 / 31


Sommaire

1 Régression logistique

2 Cost function

3 Régularisation

4 Qualité d’une classification

5 Multiclasse

6 K-nearest neighbors

M. El Ossmani (ENSAM) Machine Learning 2023-2024 10 / 31


Régularisation
Generalization
Underfitting Balanced Overfitting

1 1 1
F (x ) = 1+e −(a0 +a1 x1 +a2 x2 )
F (x ) = 1+e −p2 (x )
F (x ) = 1+e −p10 (x )

M. El Ossmani (ENSAM) Machine Learning 2023-2024 11 / 31


Régularisation
La régularisation du modèle permet d’éviter le problème d’overfitting en pénalisant les fortes
valeurs des poids. Il consiste à utiliser une norme du vecteur des poids qu’on rajoute à la
fonction à minimiser.
Les normes les plus utiliser sont ‘`2’ et ‘`1’. Pour la norme ‘`2’, la fonction coût devient
m
1 X
J(a) = − [y (i) ln(F (x (i)) + (1 − y (i)) ln(1 − F (x (i)))] +βkãk22
m i=1
Pp
où β est un paramètre de régularisation, ã = (0, a1 , a2 , · · · , ap ) et kãk22 = at a = 2
i=1 ai
Attention, le biais a0 n’est pas pénalisé.
La minimisation s’effectue par la méthode de "Gradient descent"

a = a − α∇a J

où ∇a J = X t (F (X ) − Y ) + 2βã.

M. El Ossmani (ENSAM) Machine Learning 2023-2024 12 / 31


Régularisation

Le choix du paramètre de régularisation β n’est pas évident. En effet,


β très grand correspond à une pénalisation forte. Ainsi, les poids seront forcés d’être très
petits ce qui conduit à un problème d’underfitting (biais fort).
β très petit est synonyme d’une pénalisation très faible des poids ce qui conduit à un
problème d’overfitting (variance forte).

Il est alors nécessaire de choisir β de façon à assurer un compromis entre l’erreur de biais et
l’erreur de variance.

Dans la pratique, on teste différentes valeurs de β, puis on choisit celle qui réalise un bon score
sur les données de test.

M. El Ossmani (ENSAM) Machine Learning 2023-2024 13 / 31


Sommaire

1 Régression logistique

2 Cost function

3 Régularisation

4 Qualité d’une classification

5 Multiclasse

6 K-nearest neighbors

M. El Ossmani (ENSAM) Machine Learning 2023-2024 14 / 31


Confusion matrix
• La matrice de confusion résume les résultats d’une classification

TP (True Positives) : les vrais positifs


TN (True Negatives) : les vrais négatifs
P FP (False Positive) : les faux positifs
FN (False Negative) : les faux négatifs
N
P=TP+FN : les positifs
PP PN N=TN+FP : les négatifs
PP=TP+FP : les prédits positifs
PN=TN+FP : les prédits négatifs

M. El Ossmani (ENSAM) Machine Learning 2023-2024 15 / 31


Confusion matrix
TP+TN
Accuracy = P+N
Rapport des bonnes prédictions. Une valeur proche de 1 correspond à une bonne accuracy, tandis qu’une valeur proche de 0
est synonyme d’une mauvaise accuracy.
Indicateur très simple à comprendre. Mais le coût d’erreur sur les positifs et les négatifs est souvent différent.
N’est pas fiable si les classes sont déséquilibrées
TP
Precision = PP
Rapport entre le nombre de vrais positifs (TP) et le nombre total des prédits positifs (PP).
Une valeur de la précision proche de 1 implique une bonne précision ce qui indique que les faux positifs sans rare.
TP
Sensibility = P (Recall, true positive rate: Tpr)
Rapport entre le nombre de vrais positifs (TP) et le nombre total des positifs (P).
La valeur 1 correspond à une meilleure sensibilité, ce qui implique que le modèle arrive à détecter tous les positifs.
TN
Specificity = N (true negative rate)
Rapport entre le nombre de vrais négatifs (TN) et le nombre total des négatifs (N).
Une meilleur spécificité est 1, tandis qu’une mauvaise est 0.

Fpr = 1- Specificity (false positive rate)


La valeur 0 correspond à un meilleur Fpr, tandis que la valeur 1 correspond à un mauvais Fpr.

M. El Ossmani (ENSAM) Machine Learning 2023-2024 16 / 31


Qualité d’une classification
Exemple

Accuracy = ? 0.90 0.10 0.55 0.95


Precision = ? 0.90 nan 1.00 0.95
Sensibility = ? 1.00 0.00 0.50 1.00
Specificity = ? 0.00 1.00 1.00 0.50

M. El Ossmani (ENSAM) Machine Learning 2023-2024 17 / 31


Qualité d’une classification
Courbe ROC

La courbe ROC (Receiving Operator Characteristic) est un outil graphique d’évaluation et de


comparaison des modèles de classification binaire

M. El Ossmani (ENSAM) Machine Learning 2023-2024 18 / 31


Qualité d’une classification
Courbe ROC

Classer les données


selon un score décroissant

0.167 0.000

Tpr = 1/6 = 0.167 et Fpr = 0/14 = 0

M. El Ossmani (ENSAM) Machine Learning 2023-2024 19 / 31


Qualité d’une classification
Courbe ROC

Classer les données


selon un score décroissant

0.167 0.000
0.333 0.000
0.500 0.000
Tpr = 3/6 = 0.5 et Fpr = 0/14 = 0

M. El Ossmani (ENSAM) Machine Learning 2023-2024 19 / 31


Qualité d’une classification
Courbe ROC

Classer les données


selon un score décroissant

0.167 0.000
0.333 0.000
0.500 0.000
0.500 0.071
0.667 0.071
0.667 0.143

Tpr
0.667 0.214
0.833 0.214
0.833 0.286
0.833 0.357
0.833 0.429
1.000 0.429
1.000 0.500
1.000 0.572
1.000 0.643
1.000 0.714 Fpr=1-specificity
1.000 0.786
1.000 0.857
1.000 0.929
1.000 1.000
M. El Ossmani (ENSAM) Machine Learning 2023-2024 19 / 31
Sommaire

1 Régression logistique

2 Cost function

3 Régularisation

4 Qualité d’une classification

5 Multiclasse

6 K-nearest neighbors

M. El Ossmani (ENSAM) Machine Learning 2023-2024 20 / 31


One-Vs-All(OVA) ou One-Vs-Rest (OVR)
• Une première approche consiste à créer un classifieur fk pour chacune des classes, qui sépare les points de cette classe de tous les
autres points.

• Chaque droite sépare (parfois avec des erreurs) les points d’une classe de tous les autres.

M. El Ossmani (ENSAM) Machine Learning 2023-2024 21 / 31


One-Vs-One(OVO)
• Une deuxième approche consiste à calculer K (K − 1) classifieurs, chacun séparant une classe d’une autre en ignorant les autres
classes (et les observations qui leur appartiennent).

• On sépare la classe 1 de la classe 2 en ignorant les autres classes.

M. El Ossmani (ENSAM) Machine Learning 2023-2024 22 / 31


One-vs-all (one-vs-rest)
On parle de Multi-class classification lorsqu’on a K catégories avec K > 2
(y ∈ {0, 1, 2, · · · , K − 1}).
On découpe le problème en K problèmes de classification binaires.
L’une des trois classes est considérée la classe positive et le reste comme la classe négative.
Après entrainement, on obtient K fonctions de prédiction F i (x ), i = 1, · · · , K .
La classe de l’observation x est
arg max F i (x )
i∈{1,··· ,K }

M. El Ossmani (ENSAM) Machine Learning 2023-2024 23 / 31


Softmax Regression
Likelihood

La fonction Softmax prend en entrée un vecteur z = (z1 , · · · , zK ) et renvoie un vecteur S(z)


de K nombres réels strictement positifs et de somme 1
 z1 
e
1  ..
S(z) =

X
zk
 . 
e zK
e
k∈{1,··· ,K }

En classification Multi-class, la fonction Softmax renvoie un vecteur des probabilités


d’appartenance à chaque classe.

M. El Ossmani (ENSAM) Machine Learning 2023-2024 24 / 31


Softmax Regression

M. El Ossmani (ENSAM) Machine Learning 2023-2024 25 / 31


Softmax Regression

t 1
 
ex a
1  x t a2 
F (x ) = X t (k)  e
ex a

t 3
ex a
k∈{1,2,3}

M. El Ossmani (ENSAM) Machine Learning 2023-2024 25 / 31


Softmax Regression
 
y1
On note le vecteur des K classes y =  ...  avec un encodage one-hot.
 

yK
Pour une observation, on cherche alors à maximiser la vraisemblance (likelihood)
suivante :
K K
(F (x ))ykk
Y Y
p(y/x ) = p(yk /x )yk =
k=1 k=1
Ceci revient à minimiser la "negative log-likelihood function"
K K
!
yk
Y X
− log (F (x ))k = − yk log(F (x )k )
k=1 k=1
The cross-entropy error function over a training set of size m can be calculated as:
m X
X K
J(a) = − yk (i) log(F (x (i))k )
i=1 k=1

M. El Ossmani (ENSAM) Machine Learning 2023-2024 26 / 31


Sommaire

1 Régression logistique

2 Cost function

3 Régularisation

4 Qualité d’une classification

5 Multiclasse

6 K-nearest neighbors

M. El Ossmani (ENSAM) Machine Learning 2023-2024 27 / 31


K-Nearest Neighbors (KNN)

Principe de K-NN : dis moi qui sont tes voisins, je te dirais qui tu es!
M. El Ossmani (ENSAM) Machine Learning 2023-2024 28 / 31
Algorithme (KNN)

M. El Ossmani (ENSAM) Machine Learning 2023-2024 29 / 31


End Lecture N◦ 2

M. El Ossmani (ENSAM) Machine Learning 2023-2024 30 / 31


Machine Learning
Réseaux de neurones artificiels

Mustapha El Ossmani
Ecole Nationale Supérieure des Arts et Métiers de Meknès
Université Moulay Ismail
Filière GI-IADS

2023-2024

M. El Ossmani (ENSAM) Machine Learning 2023-2024 1 / 28


Sommaire

1 Perceptron

2 Multilayer perceptron MLP

3 Backpropagation

4 Validation croisée

5 Tuning des hyperparamètres

M. El Ossmani (ENSAM) Machine Learning 2023-2024 2 / 28


Sommaire

1 Perceptron

2 Multilayer perceptron MLP

3 Backpropagation

4 Validation croisée

5 Tuning des hyperparamètres

M. El Ossmani (ENSAM) Machine Learning 2023-2024 3 / 28


Perceptron
Le neurone biologique est composé de dendrites, d’un corps cellulaire et d’axone.
Le perceptron est une entité de calcul élémentaire inspirée du neurone biologique
Chaque connexion entre le neurone et ses entrées est dotée d’un poids wi .
Le neurone fait la somme pondérée de ses entrées, puis passe cette somme à
travers une fonction d’activation.

M. El Ossmani (ENSAM) Machine Learning 2023-2024 4 / 28


Perceptron
Fonctions d’activation.

La fonction Softmax:
S : RK −→ ]0, 1[K
1 T
z 7−→ S(z) = e z1 , · · · , e zk , · · · , e zK
K
X
zk
e
k=1

M. El Ossmani (ENSAM) Machine Learning 2023-2024 5 / 28


Sommaire

1 Perceptron

2 Multilayer perceptron MLP

3 Backpropagation

4 Validation croisée

5 Tuning des hyperparamètres

M. El Ossmani (ENSAM) Machine Learning 2023-2024 6 / 28


Multilayer perceptron MLP
input layer
hidden layer 1 hidden layer 2

output layer

MLP architecture (Feed Forward)


• Chacun des neurones d’une couche est connecté à tous les neurones de la couche suivante.
• Chaque connexion a un poids wij .
• L’information se propage alors de couche en couche sans retour en arrière possible.
• Pour chaque couche du réseau, il y a un terme de biais.

M. El Ossmani (ENSAM) Machine Learning 2023-2024 7 / 28


Multilayer perceptron MLP
Exercice 1 :
Sachant que la fonction d’activation de la couche cachée est le tangent hyperbolique et celle de la
couche de sortie est l’identité. Quelle est la sortie de ce réseau de neurones ?

10
X 5 -2
1
3
0.25
1
3
-0.25 -2 0.5

ŷ = −2th(10x + 5) + 3th(x + 0.25) − 2th(3x − 0.25) + 0.5

M. El Ossmani (ENSAM) Machine Learning 2023-2024 8 / 28


Multilayer perceptron MLP
Exercice 2 :
Soit f1 la fonction d’activation de la couche cachée et f2 celle de la couche de sortie. Déterminons
la fonction décrite par le réseau suivant.

FW : RN −→ RK  
7−→ FW (x ) = f2 W (2) f1 W (1) · x + b (1) + b (2)

x

M. El Ossmani (ENSAM) Machine Learning 2023-2024 9 / 28


Soit D = (x j , y j )Jj=1 ⊂ RN × RK la base d’apprentissage et Ψ une solution inconnue du


problème représenté par les données D (Ψ(x j ) = y j ).


L’objectif est de construire un tel réseau MLP Fw , qui approxime mieux la solution Ψ.
Fw : RN −→ RK
T
x 7−→ Fw (x ) = (ŷ1 , ŷ2 , · · · , ŷK )
La fonction objectif (Loss function)
J
1X
E (W ) = L(FW (x j ), y j )
J j=1

Mean Squared Error (MSE)


1 2
L(FW (x ), y ) = FW (x ) − y 2
2

Cross-Entropy Loss
K
X
L(FW (x ), y ) = − yk × log(ŷk )
k=1

M. El Ossmani (ENSAM) Machine Learning 2023-2024 10 / 28


Sommaire

1 Perceptron

2 Multilayer perceptron MLP

3 Backpropagation

4 Validation croisée

5 Tuning des hyperparamètres

M. El Ossmani (ENSAM) Machine Learning 2023-2024 11 / 28


Algorithme de Backpropagation
Exemple

La fonction loss
1 2 1 2
L(ŷ , y ) = (ŷ1 − y1 ) + (ŷ2 − y2 )
2 2

Backward Pass
∂L ∂L
Calculer et
∂z3 ∂z4
∂L ∂L ∂L
Calculer , , et
Forward pass ∂w1 ∂w2 ∂b3
∂L ∂L ∂L
Calculer , , et
La sortie de la couche cachée ∂v1 ∂v2 ∂b4
z1 = u1 x + b1 et a1 = f1 (z1 ) ∂L ∂L ∂z3 ∂L ∂z4 ∂L ∂L ∂z3 ∂L ∂z4
z2 = u2 x + b2 et a2 = f1 (z2 ) = + et = +
∂z1 ∂z3 ∂z1 ∂z4 ∂z1 ∂z2 ∂z3 ∂z2 ∂z4 ∂z2
∂L ∂L ∂L ∂L
La sortie de la couche de sortie Calculer , , , et
∂u1 ∂b1 ∂u2 ∂b2
z3 = w1 a1 + w2 a2 + b3 et a3 = f2 (z3 ) = ŷ1
z4 = v1 a1 + v2 a2 + b4 et a4 = f2 (z4 ) = ŷ2
M. El Ossmani (ENSAM) Machine Learning 2023-2024 12 / 28
Algorithme de Backpropagation
Exemple

∂L
δ3 := = (a3 − y1 )f2′ (z3 )
∂z3
∂L ∂L
δ4 := = (a4 − y2 )f2′ (z4 ) δ1 := = δ3 w1 f1′ (z1 ) + δ4 v1 f1′ (z1 )
∂z4 ∂z1
∂L ∂L
= δ3 a1 δ2 := = δ3 w2 f1′ (z2 ) + δ4 v2 f1′ (z2 )
∂w1 ∂z2
∂L ∂L
= δ3 a2 = δ1 x
∂w2 ∂u1
∂L ∂L
= δ3 = δ1
∂b3 ∂b1
∂L ∂L
= δ4 a1 = δ2 x
∂v1 ∂u2
∂L ∂L
= δ4 a2 = δ2
∂v2 ∂b2
∂L
= δ4
∂b4
M. El Ossmani (ENSAM) Machine Learning 2023-2024 13 / 28
Algorithme de Backpropagation
La fonction objectif (Loss function)
J
1X
E (W ) = L(FW (x j ), y j )
J j=1

Étape 1 : Forward pass


N
X 
(1) (1)
zp(1) = wpn xn + bp et ap(1) = f1 zp(1)
n=1
∀p ∈ {1, · · · , p}
P
f1 : la fonction d’activation de la couche (2)
zk =
X
(2) (1)
wkp ap + bk
(2) (2)
et ak = f2 zk
(2)

cachée. p=1

f2 : la fonction d’activation de la couche de ∀k ∈ {1, · · · , K }

sortie.
M. El Ossmani (ENSAM) Machine Learning 2023-2024 14 / 28
Algorithme de Backpropagation

Étape 2 : Backward Pass


∂L
Calculer (2)
∂zk
(2) J
∂L ∂L ∂zk 1 X
Calculer (2)
=
(2) (2) E (W ) =
j j
L(ŷ , y )
∂wkp ∂zk ∂wkp J
(2) j=1
∂L ∂L ∂zk
(2)
= (2) (2)
∂bk ∂zk ∂bk J J
∂E 1 X ∂L(ŷ j , y j ) ∂E 1 X ∂L(ŷ j , y j )
K (1)
= (1)
et (1)
= (1)
(2) J J
∂L X ∂L ∂zk ∂wpn ∂wpn ∂bp ∂bp
Calculer (1)
= (2) (1)
j=1 j=1
∂zp ∂zk ∂zp J J
k=1
∂E 1 X ∂L(ŷ j , y j ) ∂E 1 X ∂L(ŷ j , y j )
∂L
(1)
∂L ∂zp (2)
= (2)
et (2)
= (2)
Calculer = ∂wkp J wkp ∂bk J bk
(1) (1) (1) j=1 j=1
∂wpn ∂zp ∂wpn
(1)
∂L ∂L ∂zp
(1)
= (1) (1)
∂bp ∂zp ∂bp

M. El Ossmani (ENSAM) Machine Learning 2023-2024 15 / 28


Algorithme de Backpropagation

Étape 3 : Mise à jour des paramètres


(1) (1) ∂E (1) (1) ∂E
wpn = wpn − η (1)
et bp = bp − η (1)
∂wpn ∂bp Où η est le pas d’apprentissage
(2) (2) ∂E (2) (2) ∂E prédéterminé (Learning rate).
wkp = wkp − η (2)
et bk = bk − η (2)
∂wkp ∂bk

M. El Ossmani (ENSAM) Machine Learning 2023-2024 16 / 28


Algorithme de Backpropagation
Exercice 3 :
On considère un réseau de neurones MLP similaire à celui de l’exercice 2, où la fonction
d’activation de la couche cachée est sigmoïde σ et celle de la couche de sortie est softmax S, avec
l’utilisation de cross entropy loss comme fonction objectif.

Soit a(2) = S(z (2) ), vérifier que:

(2) (2) Vérifier que:


if k = k ′
(2)

∂ak ak (1 − ak )
(2)
=
(2) (2) ′
∂zk ′ −ak ak if k ̸= k ′ K
∂L X
(2) (2) ′ (1)
(1)
= (ak − yk )wkp σ (zp )
Vérifier que: ∂zp
k=1
∂L (2)
(2)
= a k − yk
∂zk ∂E ∂E
Déterminer (1)
, et (1)
∂E ∂E ∂wpn ∂bp
Déterminer (2)
et (2)
∂wkp ∂bk

M. El Ossmani (ENSAM) Machine Learning 2023-2024 17 / 28


Multilayer perceptron en sklearn (Classification)

Pour la classification on utilise la classe MLPClassifier du module


sklearn.neural_network
Output activation : softmax (multiclass) or logistic (binary)
Fonction coût : the Cross-Entropy loss function
1

2 from sklearn . neural_network import MLPClassifier


3 network = MLPClassifier ( hidden_layer_sizes =(100 ,) ,
activation = ’ relu ’ , learning_rate_init =0.001 , max_iter =200 ,
random_state = None )
4 network . fit ( x_train , y_train )

M. El Ossmani (ENSAM) Machine Learning 2023-2024 18 / 28


Multilayer perceptron en sklearn (Regression)

Pour la regression on utilise la classe MLPRegressor du module


sklearn.neural_network
Output activation : identity
Fonction coût : the Squared-error loss function
1

2 from sklearn . neural_network import MLPRegressor


3 network = MLPRegressor ( hidden_layer_si zes =(100 ,) ,
activation = ’ relu ’ , learning_rate_init =0.001 , max_iter =200 ,
random_state = None )
4 network . fit ( x_train , y_train )

M. El Ossmani (ENSAM) Machine Learning 2023-2024 19 / 28


Sommaire

1 Perceptron

2 Multilayer perceptron MLP

3 Backpropagation

4 Validation croisée

5 Tuning des hyperparamètres

M. El Ossmani (ENSAM) Machine Learning 2023-2024 20 / 28


Validation croisée
Validation croisée
La validation croisée est une procédure de rééchantillonnage permettant d’évaluer un modèle
d’apprentissage automatique et de tester sa capacité de faire des prédictions sur des données de test
indépendant. Elle permet ainsi de choisir lequel entre deux modèles représente mieux le vrai modèle
de nos données.

La performance dépend du "data splitting"

L’évaluation doit être faite au cours du développement de modèle indépendamment du test.

M. El Ossmani (ENSAM) Machine Learning 2023-2024 21 / 28


Validation croisée
Leave-P-Out Cross Validation
On utilise des échantillons de taille p pour la validation et les n-p échantillons qui restent comme
ensemble d’apprentissage. On considère toutes les combinaisons possibles. Le nombre d’itérations
est alors Cnp .

Leave-One-Out score 1

M. El Ossmani (ENSAM) Machine Learning 2023-2024 22 / 28


Validation croisée
Leave-P-Out Cross Validation
On utilise des échantillons de taille p pour la validation et les n-p échantillons qui restent comme
ensemble d’apprentissage. On considère toutes les combinaisons possibles. Le nombre d’itérations
est alors Cnp .

Leave-One-Out score 1

score 2

M. El Ossmani (ENSAM) Machine Learning 2023-2024 22 / 28


Validation croisée
Leave-P-Out Cross Validation
On utilise des échantillons de taille p pour la validation et les n-p échantillons qui restent comme
ensemble d’apprentissage. On considère toutes les combinaisons possibles. Le nombre d’itérations
est alors Cnp .

Leave-One-Out score 1

score 2

score 10

Cette méthode est couteuse lorsqu’il s’agit d’un nombre très grand d’échatillons.
M. El Ossmani (ENSAM) Machine Learning 2023-2024 22 / 28
Validation croisée

K-Fold Cross Validation


Les données sont divisées en K sous-ensembles. Pour chaque itération, un sous-ensemble est utilisé
pour la validation et les autres pour l’entrainement. Le nombre d’itérations est alors égale à K
(souvent on choisit K=5 à 10).

M. El Ossmani (ENSAM) Machine Learning 2023-2024 23 / 28


Validation croisée

K-Fold Cross Validation


Les données sont divisées en K sous-ensembles. Pour chaque itération, un sous-ensemble est utilisé
pour la validation et les autres pour l’entrainement. Le nombre d’itérations est alors égale à K
(souvent on choisit K=5 à 10).

{score1, }

M. El Ossmani (ENSAM) Machine Learning 2023-2024 23 / 28


Validation croisée

K-Fold Cross Validation


Les données sont divisées en K sous-ensembles. Pour chaque itération, un sous-ensemble est utilisé
pour la validation et les autres pour l’entrainement. Le nombre d’itérations est alors égale à K
(souvent on choisit K=5 à 10).

{score1, score2, }

M. El Ossmani (ENSAM) Machine Learning 2023-2024 23 / 28


Validation croisée

K-Fold Cross Validation


Les données sont divisées en K sous-ensembles. Pour chaque itération, un sous-ensemble est utilisé
pour la validation et les autres pour l’entrainement. Le nombre d’itérations est alors égale à K
(souvent on choisit K=5 à 10).

{score1, score2, score3, }

M. El Ossmani (ENSAM) Machine Learning 2023-2024 23 / 28


Validation croisée

K-Fold Cross Validation


Les données sont divisées en K sous-ensembles. Pour chaque itération, un sous-ensemble est utilisé
pour la validation et les autres pour l’entrainement. Le nombre d’itérations est alors égale à K
(souvent on choisit K=5 à 10).

{score1, score2, score3, score4, }

M. El Ossmani (ENSAM) Machine Learning 2023-2024 23 / 28


Validation croisée

K-Fold Cross Validation


Les données sont divisées en K sous-ensembles. Pour chaque itération, un sous-ensemble est utilisé
pour la validation et les autres pour l’entrainement. Le nombre d’itérations est alors égale à K
(souvent on choisit K=5 à 10).

{score1, score2, score3, score4, score5}

M. El Ossmani (ENSAM) Machine Learning 2023-2024 23 / 28


Validation croisée

K-Fold Cross Validation


Les données sont divisées en K sous-ensembles. Pour chaque itération, un sous-ensemble est utilisé
pour la validation et les autres pour l’entrainement. Le nombre d’itérations est alors égale à K
(souvent on choisit K=5 à 10).

{score1, score2, score3, score4, score5}

Stratified K-Fold Cross Validation


Cette méthode de validation croisée est une légère variation de K-Fold, de sorte que chaque ‘fold’
contient approximativement le même pourcentage d’échantillons de chaque classe cible, ou en cas
de problèmes de prédiction, la valeur de réponse moyenne est approximativement égale dans tous les
‘folds’.

M. El Ossmani (ENSAM) Machine Learning 2023-2024 23 / 28


Sommaire

1 Perceptron

2 Multilayer perceptron MLP

3 Backpropagation

4 Validation croisée

5 Tuning des hyperparamètres

M. El Ossmani (ENSAM) Machine Learning 2023-2024 24 / 28


Tuning des hyperparamètres

Les hyper-paramètres sont des paramètres qui ne sont pas directement appris dans le modèle. Les
exemples typiques incluent le paramètre de régularisation, l’architecture du réseau, ...

De nombreuses hyperparamètres doivent être prises lors de la construction du réseau MLP,


notamment :
Le nombre de couches cachées (la profondeur du réseau).
Le nombre de neurones par couche cachée (la largeur du réseau).
Le choix de la fonction d’activation pour chaque couche.
Le pas d’apprentissage η
La commande suivante permet de récupérer les paramètres d’un modèle (de la librairie sklearn):
model.get_params()

M. El Ossmani (ENSAM) Machine Learning 2023-2024 25 / 28


Tuning des hyperparamètres

La fonction GridSearchCV de sklearn.model_selection considère de manière


exhaustive toutes les combinaisons de paramètres de la grille.

M. El Ossmani (ENSAM) Machine Learning 2023-2024 26 / 28


Tuning des hyperparamètres
Voici des exemples de grilles :
grid={"C":[0.0001, 0.001, 0.01, 0.1, 1.0], "penalty":["l2","l1"]}

grid={
’learning_rate’: ["constant", "invscaling", "adaptive"],
’hidden_layer_sizes’: [(100,1), (100,2), (100,3)],
’alpha’: [10.0 ** -np.arange(1, 7)],
’activation’: ["logistic", "relu", "Tanh"] }

grid={’C’: [0.1,1, 10, 100], ’gamma’: [1,0.1,0.01,0.001],’kernel’: [’rbf’, ’poly’, ’sigmoid’]}

Utilisation :
model_cv=GridSearchCV(model,grid,cv=10)
model_cv.fit(X,y)

print("tuned hpyerparameters :(best parameters) ",model_cv.best_params_)


print("accuracy :",model_cv.best_score_)

M. El Ossmani (ENSAM) Machine Learning 2023-2024 27 / 28

Vous aimerez peut-être aussi