Upload
others
View
3
Download
0
Embed Size (px)
Citation preview
Classification par Régression Logistique
Reconnaissance des Formes (Semaine VII)
Université de Lille, France
6 mars 2013
Azadeh Khaleghi, Université de Lille I Régression Logistique 6 mars 2013 1
Rappel
ClassificationL’ensemble des données est partagé en quelques classes différentes,On a quelques exemplaires pour qui on sait les classes correctes.On veut classifier correctement les données pour qui les classescorrectes sont inconnus.
Azadeh Khaleghi, Université de Lille I Régression Logistique 6 mars 2013 2
Exemple : Classification des caractères manuscrits
Données d’entrainement Ça corresponds à quel chiffre ?
Azadeh Khaleghi, Université de Lille I Régression Logistique 6 mars 2013 3
Le problème de classification
le cas le plus simpleLes données à classifier sont représenter en une dimension i.e. x ∈ RNous avons deux classes seulement, i.e. y ∈ {0, 1}.
Azadeh Khaleghi, Université de Lille I Régression Logistique 6 mars 2013 4
Le Problème de classification
On cherche une fonction h : R→ {0, 1} telle que pour chaque x on ah(x) = 0 si x est dans classe 0 eth(x) = 1 si x est dans classe 1
Si cette fonction existe, le problèmede classification est déjà résolu.Nous allons utiliser les donnéesd’entrainement pour trouver h.
Azadeh Khaleghi, Université de Lille I Régression Logistique 6 mars 2013 5
Le Problème de classification
On cherche une fonction h : R→ {0, 1} telle que pour chaque x on ah(x) = 0 si x est dans classe 0 eth(x) = 1 si x est dans classe 1
Si cette fonction existe, le problèmede classification est déjà résolu.Nous allons utiliser les donnéesd’entrainement pour trouver h.
Azadeh Khaleghi, Université de Lille I Régression Logistique 6 mars 2013 5
Une Fonction Linéaire ?
On défini un séparateur linéaire θ0 + θ1xOn utilise les exemplaires disponible pour chercher les valeursconvenables pour θ0 et θ1. On prédit la classe y de la manière suivante
y = 1 si θ0 + θ1x ≥ 0.5y = 0 si θ0 + θ1x < 0.5
QuestionEst-ce que cette approche va marcher ?
Azadeh Khaleghi, Université de Lille I Régression Logistique 6 mars 2013 6
Le Modèle
La fonction Sigmoid où Logistique
g(z) :=1
1+ e−z
Remarque
0 ≤ g(z) ≤ 1g(z) ≥ 0.5 si z ≥ 0g(z) < 0.5 si z < 0
Le Modèle
hθ(x) := g(θ0 + θ1x) =1
1+ e−(θ0+θ1x)
Azadeh Khaleghi, Université de Lille I Régression Logistique 6 mars 2013 7
Le Modèle
La fonction Sigmoid où Logistique
g(z) :=1
1+ e−z
Remarque
0 ≤ g(z) ≤ 1g(z) ≥ 0.5 si z ≥ 0g(z) < 0.5 si z < 0
Le Modèle
hθ(x) := g(θ0 + θ1x) =1
1+ e−(θ0+θ1x)
Azadeh Khaleghi, Université de Lille I Régression Logistique 6 mars 2013 7
Le Modèle
hθ(x) :=1
1+ e−(θ0+θ1x)
Prédiction
y = 1 si hθ(x) ≥ 0.5y = 0 si hθ(x) < 0.5
L’intuitionhθ(x) est l’estimation de la probabilité de y = 1 sachant x , i.e. P(y = 1|x).Comme on a y = 0 où y = 1, on peut dériver P(y = 0|x) i.e.
P(y = 0|x) = 1− P(y = 1|x) = 1− hθ(x).
Azadeh Khaleghi, Université de Lille I Régression Logistique 6 mars 2013 8
Le Modèle
hθ(x) :=1
1+ e−(θ0+θ1x)
Prédiction
y = 1 si hθ(x) ≥ 0.5y = 0 si hθ(x) < 0.5
L’intuitionhθ(x) est l’estimation de la probabilité de y = 1 sachant x , i.e. P(y = 1|x).Comme on a y = 0 où y = 1, on peut dériver P(y = 0|x) i.e.
P(y = 0|x) = 1− P(y = 1|x) = 1− hθ(x).
Azadeh Khaleghi, Université de Lille I Régression Logistique 6 mars 2013 8
Le Modèle
En général les données n’ont pas qu’une seule dimension !Chaque point x est un vecteur de dimension k i.e.x := (x1, x2, . . . , xk) ∈ Rk .
Exemple
Pour k = 2 on a x := (x1, x2) où x1 ∈ R est x2 ∈ R, donc x ∈ R2.
Azadeh Khaleghi, Université de Lille I Régression Logistique 6 mars 2013 9
Le Modèle Général
Chaque point (x1, x2, . . . , xk) ∈ Rk est un vecteur de dimension k ,.
hθ(x) :=1
1+ e−(θ0+θ1x1+θ2x2+···+θkxk)=
1
1+ e−∑k
i=0 θixi
=1
1+ e−(θT x)où
θ :=
θ0θ1...θk
et x :=
1x1...
xk
donc θTx =k∑
i=0
θixi .
Azadeh Khaleghi, Université de Lille I Régression Logistique 6 mars 2013 10
Le Modèle Général
Chaque point (x1, x2, . . . , xk) ∈ Rk est un vecteur de dimension k ,.
hθ(x) :=1
1+ e−(θ0+θ1x1+θ2x2+···+θkxk)=
1
1+ e−∑k
i=0 θixi
=1
1+ e−(θT x)où
θ :=
θ0θ1...θk
et x :=
1x1...
xk
donc θTx =k∑
i=0
θixi .
Azadeh Khaleghi, Université de Lille I Régression Logistique 6 mars 2013 10
Le Modèle Général
Prédictiony = 1 si hθ(x) ≥ 0.5y = 0 si hθ(x) < 0.5 où
hθ(x) :=1
1+ e−(θT x)
g(z) :=1
1+ e−z
g(z) ≥ 0.5 si z ≥ 0 et g(z) < 0.5 si z < 0
Azadeh Khaleghi, Université de Lille I Régression Logistique 6 mars 2013 11
Le Modèle Général
Prédictiony = 1 si hθ(x) ≥ 0.5y = 0 si hθ(x) < 0.5 où
hθ(x) :=1
1+ e−(θT x)
g(z) :=1
1+ e−z
g(z) ≥ 0.5 si z ≥ 0 et g(z) < 0.5 si z < 0
Azadeh Khaleghi, Université de Lille I Régression Logistique 6 mars 2013 11
Le Modèle Général
Prédiction
y = 1 si hθ(x) ≥ 0.5 i.e. si θTx ≥ 0y = 0 si hθ(x) < 0.5 i.e. si θTx
hθ(x) :=1
1+ e−(θT x)
g(z) :=1
1+ e−z
g(z) ≥ 0.5 si z ≥ 0 et g(z) < 0.5 si z < 0
Azadeh Khaleghi, Université de Lille I Régression Logistique 6 mars 2013 12
Exemple
Prédictiony = 1 si θ0 + θ1x1 + θ2x2 ≥ 0y = 0 si θ0 + θ1x1 + θ2x2 < 0
Remarquez que θ0, θ1 et θ2 sont inconnus. On doit les chercher !
Azadeh Khaleghi, Université de Lille I Régression Logistique 6 mars 2013 13
Exemple
Supposons que θ :=
−311
est donné donc,
θ0 = −3, θ1 = 1, θ2 = 1
Prédictiony = 1 si x1 + x2 ≥ 3y = 0 si x1 + x2 < 3
x1 + x2 = 3 est le frontière dedécision.
Azadeh Khaleghi, Université de Lille I Régression Logistique 6 mars 2013 14
Comment trouver θ ?
Coût d’une prédiction
coût(hθ(x), y) :={− log(hθ(x)) si y = 1− log(1− hθ(x)) si y = 0
L’intuitionImaginons que y = 1
Si hθ(x) = 1 on a coût = 0 maiscoût →∞ lorsque hθ(x)→ 0
Ç’est une façon de pénaliser l’algorithme pour la mauvaise prédiction !
Il faut chercher les θ qui donnent le coût le plus petit possible.
Azadeh Khaleghi, Université de Lille I Régression Logistique 6 mars 2013 15
Régression Logistique : Comment trouver θ ?
Coût d’une prédiction
coût(hθ(x), y) :={− log(hθ(x)) si y = 1− log(1− hθ(x)) si y = 0
= −y log(hθ(x))− (1− y) log(1− hθ(x)) pourquoi ?
La fonction de coût J(θ)
On a m exemplaires d’entrainement {x(1), x(2), . . . , x(m)}. Soit y (i) laclasse de x(i), i = 1..m.On défini la fonction de coût par
J(θ) := − 1m
m∑i=1
y (i) log(hθ(x(i)))− (1− y (i)) log(1− hθ(x(i)))
Azadeh Khaleghi, Université de Lille I Régression Logistique 6 mars 2013 16
Régression Logistique : Comment trouver θ ?
Coût d’une prédiction
coût(hθ(x), y) :={− log(hθ(x)) si y = 1− log(1− hθ(x)) si y = 0
= −y log(hθ(x))− (1− y) log(1− hθ(x)) pourquoi ?
La fonction de coût J(θ)
On a m exemplaires d’entrainement {x(1), x(2), . . . , x(m)}. Soit y (i) laclasse de x(i), i = 1..m.On défini la fonction de coût par
J(θ) := − 1m
m∑i=1
y (i) log(hθ(x(i)))− (1− y (i)) log(1− hθ(x(i)))
Azadeh Khaleghi, Université de Lille I Régression Logistique 6 mars 2013 16
Comment trouver θ ?
On cherche les paramètres qui donnent le coût le plus petit possible
θ∗ := minθ
J(θ) où
J(θ) := − 1m
m∑i=1
y (i) log(hθ(x(i)))− (1− y (i)) log(1− hθ(x(i)))
→ minimiser la fonction de coût J(θ) etutiliser le θ qui correspond à J(θ) minimum
La minimisation de J(θ) est possible pas les méthodes de la théoried’optimisation, mais cela dépasse le cadre de ce cours
→ Nous allons utiliser les fonctions d’optimisations existantes en scilab.
Azadeh Khaleghi, Université de Lille I Régression Logistique 6 mars 2013 17
Comment trouver θ ?
On cherche les paramètres qui donnent le coût le plus petit possible
θ∗ := minθ
J(θ) où
J(θ) := − 1m
m∑i=1
y (i) log(hθ(x(i)))− (1− y (i)) log(1− hθ(x(i)))
→ minimiser la fonction de coût J(θ) etutiliser le θ qui correspond à J(θ) de minimum
Azadeh Khaleghi, Université de Lille I Régression Logistique 6 mars 2013 18
L’algorithme
EntrainementUtiliser les données d’entrainement, i.e. les exemplaires{x(1), x(2), . . . , x(m)} et leur lables {y (1), y (2), . . . , y (m)} pour trouver levecteur θ. Donc,
θ∗ := minθ
J(θ) où
J(θ) := − 1m
m∑i=1
y (i) log(hθ(x(i)))− (1− y (i)) log(1− hθ(x(i)))
Prédiction de la classe d’un nouvel exemple
Pour chaque nouveau x hθ(x) := 11+eθT x classifier le de la manière suivante,
y = 1 si hθ(x) ≥ 0.5y = 0 si hθ(x) < 0.5
Rappel hθ(x) estime P(y = 1|x)Azadeh Khaleghi, Université de Lille I Régression Logistique 6 mars 2013 19
L’algorithme Multi-Classes
Pour l’instant cette approche marche que pour le cas de deux classey ∈ {0, 1} seulement.
QuestionComment peut on le généraliser pour le cas de plusieurs classes ?
Azadeh Khaleghi, Université de Lille I Régression Logistique 6 mars 2013 20
L’algorithme Multi-Classes
Supposons que l’on a l > 2 classes, i.e. y ∈ {1, 2, . . . , l}. On peut créer unclassifier de la manière suivante.
1 Entrainer un classifier de régression logistique h(i)θ (x) pour chaqueclasse i = 1, 2, . . . , l .
Rappel : h(i)θ (x) estime P(y = i |x), i = 1, 2, . . . , l
2 Pour prédire la classe d’un nouveau x, choisir y ∈ {1, 2, . . . , l} tel que
y = maxi=1..l
h(i)θ (x)
Ça veut dire que l’on suit la décision du classifier plus confiants.
Azadeh Khaleghi, Université de Lille I Régression Logistique 6 mars 2013 21
L’algorithme Multi-Classes : Exemple
Azadeh Khaleghi, Université de Lille I Régression Logistique 6 mars 2013 22