MAPSI cours 10 : Introduction au machine learning...
Transcript of MAPSI cours 10 : Introduction au machine learning...
MAPSI — cours 10 :Introduction au machine learning
Focus sur la Regression logistique
Vincent [email protected]
LIP6 – Universite Paris 6, France
Differents cadres de machine learning
Supervise Non-supervise Semi-supervise Renforcement
Jason Brownlee
Differents algorithmes... ... et differentes evaluations
Differentes donnees, differents couts...Et une nouvelle donne avec Amazon Mechanical Turk
Introduction au ML 2/26
Grande familles de problematiques
RegressionInterpolation
Prév
ision
Classification Ordonnancement
Introduction au ML 3/26
Les familles d’algorithmes (1/3)
Modeles generatifsapprentissage Bayesien
1 Choix d’un modele parametriquee.g. mixture de 3 Gaussiennes
2 Apprentissage des parametresmaximum de vraisemblance
3 Exploitation = inference
e.g. Mixtures, Naive Bayes, MM, HMM...Usages : extraction thematique,classification de spam
Modelisation discriminante(classification)
1 Apprentissage d’une frontierei.e. chercher les differences dans les
caracteristiques
2 Classification de nouveauxpoints
e.g. Perceptron, SVM, Regressionlogistique,...Usages : classification de signaux, detextes, ...
Introduction au ML 4/26
Les familles d’algorithmes (2/3)
Arbre de decision
1 Selectionner un caracteristique2 Couper3 Decider
e.g. C4.5Usages : besoin d’une decision expliquee
Approches ensemblistes
1 Multiplier les classifieurs2 Fusionner les decisions
e.g. Random Forest, Boosting, BaggingUsages : classification robuste,parallelisable
Introduction au ML 5/26
Les familles d’algorithmes (3/3)
Les reseaux de neurones
1 Au depart, un operateur parametrique complexe...Et un algorithme d’apprentissage efficace.
2 une chaine de traitements capabled’extraire des caracteristiques pertinentes automatiquement
Sebastian Raschka
Introduction au ML 6/26
Les familles d’algorithmes (3/3)
Les reseaux de neurones
1 Au depart, un operateur parametrique complexe...Et un algorithme d’apprentissage efficace.
2 une chaine de traitements capabled’extraire des caracteristiques pertinentes automatiquement
Sebastian Raschka
Introduction au ML 6/26
Evaluation & sur-apprentissage
Apprendre un modele est aussi important que del’evaluerApprendre et evaluer sur les memes donnees estaberrant
Tom Robertshaw
Introduction au ML 7/26
Evaluation & sur-apprentissage
Apprendre un modele est aussi important que del’evaluerApprendre et evaluer sur les memes donnees estaberrant
Dilemme de repartitiondes donnees :
Matrice de données X Y
Cibles
Apprentissage
Evaluation
Introduction au ML 7/26
Evaluation & sur-apprentissage
Apprendre un modele est aussi important que del’evaluerApprendre et evaluer sur les memes donnees estaberrant
Dilemme de repartitiondes donnees :
Matrice de données X Y
Cibles
Apprentissage
Evaluation
Solution = validation croisee
Golden Helix
Introduction au ML 7/26
Historique
f (xi) =∑
j
xijwj , C =N∑
i=1
(−yixiw)+
Perceptron 9/26
Formulation discriminante
Liberte de la fonction de cout, comparaison des approches :
Moindres carres :pas bien adapte a la classification
Hinge (= charniere)Limite au cas binaire, mais mieux adapte a la classification
Descente de gradient
1 Initialiser w02 Bouclage jusqu’a cvg
Calcul de∇wC =
∑i|yi f (xi )≤0−yixT
i
MAJ : wt+1 = wt − ε∇wC
Algorithme stochastique
1 Initialiser w02 Bouclage jusqu’a cvg
Tirage aleatoire d’unechantillon iSi yixiw ≤ 0
Calcul de∇wCi = −yixT
iMAJ :wt+1 = wt − ε∇wCi
Perceptron 10/26
Logique de marge
Renforcer la classification des points limites :
f (xi) =∑
j
xijwj , C =N∑
i=1
(1−yixiw)+
⇒ aucun impact... xiw n’est pas normalise, la fonction de scoreest definie a un facteur pres.⇒ imposer la marge + contraindre la norme de fonction descore :
f (xi) =∑
j
xijwj , C =N∑
i=1
(1−yixiw)+ + λ‖w‖2
Perceptron 11/26
Logique de marge
Renforcer la classification des points limites :
f (xi) =∑
j
xijwj , C =N∑
i=1
(1−yixiw)+
⇒ aucun impact... xiw n’est pas normalise, la fonction de scoreest definie a un facteur pres.
⇒ imposer la marge + contraindre la norme de fonction descore :
f (xi) =∑
j
xijwj , C =N∑
i=1
(1−yixiw)+ + λ‖w‖2
Perceptron 11/26
Logique de marge
Renforcer la classification des points limites :
f (xi) =∑
j
xijwj , C =N∑
i=1
(1−yixiw)+
⇒ aucun impact... xiw n’est pas normalise, la fonction de scoreest definie a un facteur pres.⇒ imposer la marge + contraindre la norme de fonction descore :
f (xi) =∑
j
xijwj , C =N∑
i=1
(1−yixiw)+ + λ‖w‖2
Perceptron 11/26
Rappel sur les modeles generatifs
1 Choix d’une modelisation des donnees : p(x|θ)
2 Apprentissage = trouver θ3 Application possible : decision bayesienne
r(x) = arg maxk
p(θk |x) =p(x|θk )p(θk )
p(x)
4 Application bis : generation de x ∼ D(θk )
Apprentissage d’un modele generatif⇔ Estimation de densite
Estimer θk = estimer une densite de probabilite d’uneclasse kHypothese (forte) : les θk sont supposes independantsTechniques d’estimation des θk
Regression Logistique 13/26
Maximum de vraisemblance
Dk = {x1, . . . ,xN} exemples supposes generes par p(x|θk )Seulement pour la classe k
Faire coller le modele au donnees
L(Dk , θk ) = p(Dk |θk ) =N∏
i=1
p(xi |θk )
Optimisation : θ?k = arg maxθk
(logL(Dk , θk ))
Resolution :
Analytique :∂L(D, θ)
∂θ= 0 ou Approchee : EM, gradient...
Inference sur une nouvelle donnee x :
decision = k? = arg maxk
p(x|θk )
Regression Logistique 14/26
Limite du modele generatif pour la classification
Approche generative : travail classe par classe
Quel modele colle le mieux a mon observation?
Approche discriminante : travail classe i VS classe j
Qu’est ce qui distingue la classe i de la classe j ?
Idee : travailler sur les p(Y |X )Modele (le plus connu) : Regression logistique
Regression Logistique 15/26
Formulation du probleme
Echantillons {xi}i=1,...,n,x ∼ XDeux classes : Y = 0 ou Y = 1. Realisation des yi ∼ YEn fait : D = (x1, y1), . . . , (xN , yN)
Comment modeliser p(Y |X ) ?
1 On repere une variable de Bernoullip(Y = 1|X = x) = 1− p(Y = 0|X = x)
2 On choisit de modeliser arbitrairement :
p(Y = 1|X = x) =
f (x) =1
1 + exp(−(xw + b))
Regression Logistique 16/26
Formulation du probleme
Echantillons {xi}i=1,...,n,x ∼ XDeux classes : Y = 0 ou Y = 1. Realisation des yi ∼ YEn fait : D = (x1, y1), . . . , (xN , yN)
Comment modeliser p(Y |X ) ?
1 On repere une variable de Bernoullip(Y = 1|X = x) = 1− p(Y = 0|X = x)
2 On choisit de modeliser arbitrairement :
p(Y = 1|X = x) =
f (x) =1
1 + exp(−(xw + b))
Regression Logistique 16/26
Formulation du probleme
Echantillons {xi}i=1,...,n,x ∼ XDeux classes : Y = 0 ou Y = 1. Realisation des yi ∼ YEn fait : D = (x1, y1), . . . , (xN , yN)
Comment modeliser p(Y |X ) ?
1 On repere une variable de Bernoullip(Y = 1|X = x) = 1− p(Y = 0|X = x)
2 On choisit de modeliser arbitrairement :
p(Y = 1|X = x) =
f (x) =1
1 + exp(−(xw + b))
20 15 10 5 0 5 10 15 20
0.0
0.2
0.4
0.6
0.8
1.0
Regression Logistique 16/26
Dimension des elements en presence
Donnees : X ,Y
Modele :p(Y = 1|X = x) = f (x) = 1
1+exp(−(xw+b))
Bornes du modele :
limxw+b→−∞
f (x) = 0
limxw+b→∞
f (x) = 1
Si : xw + b = 0⇒ f (x) = 0.5
d
N
xiji
j
X Y
yi
N
dxi
d
w
+b
Regression Logistique 17/26
Dimension des elements en presence
Donnees : X ,Y
Modele :p(Y = 1|X = x) = f (x) = 1
1+exp(−(xw+b))
Bornes du modele :
limxw+b→−∞
f (x) = 0
limxw+b→∞
f (x) = 1
Si : xw + b = 0⇒ f (x) = 0.5
d
N
xiji
j
X Y
yi
N
dxi
d
w
+b
Regression Logistique 17/26
Comment trouver les w? ?
⇒ Par maximum de vraisemblance (conditionnelle) !Vraisemblance (conditionnelle) -independance entreechantillons-
L = ΠNi=1p(Y = yi |X = xi)
Truc de bernoulli :
p(Y = yi |X = xi ) = p(Y = 1|X = xi )yi (1− p(Y = 1|X = xi ))1−yi
Passage au logRemplacement des p(Y = 1|X = x) par des f (x)
Nouvelle formulation :
w?,b? = arg maxw,b
N∑i=1
[yi log(f (xi)) + (1− yi) log(1− f (xi))]
Regression Logistique 18/26
Comment trouver les w? ?
⇒ Par maximum de vraisemblance (conditionnelle) !Vraisemblance (conditionnelle) -independance entreechantillons-
L = ΠNi=1p(Y = yi |X = xi)
Truc de bernoulli :
p(Y = yi |X = xi ) = p(Y = 1|X = xi )yi (1− p(Y = 1|X = xi ))1−yi
Passage au logRemplacement des p(Y = 1|X = x) par des f (x)
Nouvelle formulation :
w?,b? = arg maxw,b
N∑i=1
[yi log(f (xi)) + (1− yi) log(1− f (xi))]
Regression Logistique 18/26
Resolution
Donnees : D = (x1, y1), . . . , (xN , yN)
w?,b? = arg maxw,b
N∑i=1
[yi log(f (xi)) + (1− yi) log(1− f (xi))]
On remplace f (x) par sa valeur et on developpe le cout...
... [quelques lignes de calcul] ...
∂
∂wjLlog =
N∑i=1
xij
(yi −
11 + exp(−(w · xi + b))
)∂
∂bLlog =
N∑i=1
(yi −
11 + exp(−(w · xi + b))
)
Regression Logistique 19/26
Resolution
Donnees : D = (x1, y1), . . . , (xN , yN)
w?,b? = arg maxw,b
N∑i=1
[yi log(f (xi)) + (1− yi) log(1− f (xi))]
On remplace f (x) par sa valeur et on developpe le cout...
... [quelques lignes de calcul] ...
∂
∂wjLlog =
N∑i=1
xij
(yi −
11 + exp(−(w · xi + b))
)∂
∂bLlog =
N∑i=1
(yi −
11 + exp(−(w · xi + b))
)Regression Logistique 19/26
Resolution
Annulation directe du gradient impossible⇒ Algorithme iteratif :
Init des parametres w0,b0Tant que convergence non atteinte
Calcul des : ∂Llog∂b ,
∂Llog∂wj
Mise a jour (montee de gradient) : θt = θt−1 + ε∂Llog∂θ
Cas convexe :Vr
aise
mbl
ance
Paramètres (λ =Pi,A,B)
λ0
λ1
λ2
λ3
λ4 ...
Regression Logistique 20/26
USPS : generatif VS discriminant
Regression Logistique 21/26
USPS : generatif VS discriminant
Modele generatif gaussien : classe 0
Visualisation de la moyenne dela classe :
µ+ reshape
Visualisation de la variance dela classe :
σ+ reshape
Regression Logistique 21/26
USPS : generatif VS discriminant
Possibilite de generer un echantillon :Tirage d’une valeur gaussienne pour chaque pixel...
Mais hypothese d’independance des pixels⇒ qualite BOF
Regression Logistique 21/26
USPS : generatif VS discriminant
En regression logistique : classe 0 VS toutes les autres
Mise en evidence des zones qui ne sont utilisees que par les 0
Regression Logistique 21/26
USPS : generatif VS discriminant
Apprentissage : 7291 imagesTest : 2007 images
Naive Bayes (modele de pixel gaussien)
Taux bonne classif. en apprentissage : 0.785Taux bonne classif. en test : 0.739
Regression logistique
Taux bonne classif. en apprentissage : 0.943Taux bonne classif. en test : 0.903
Regression Logistique 21/26
Comment passer au multi-classes?
un contre tous (one againstall) : K classes⇒ Kclassifieurs appris separementsur toutes les donnees
d
w
b1
Classe 0contre
toutes les autres
K
f (x)⇒ fk (x) et critere de decision :
k? = arg maxk
fk (x)
Quelle classe veut le plus l’echantillon x ?
Criteres de rejet :pas de fk (x) > 0.5plusieurs fk (x) > 0.5
Regression Logistique 22/26
Annale 2014
On considere un examen, pour lequel un etudiant s peutrepondre a la question q correctement, ce qui est note xqs = 1ou incorrectement, xqs = 0. On suppose que la chance desucces depend de la capacite de l’etudiant αs et de la difficultede la question δq. On postule le modele de reponse suivant :
p(xqs = 1|αs, δq) = σ(αs − δq), avec : σ(x) =1
1 + exp(−x)
Systeme de recommandation 24/26
Question
p(xqs = 1|αs, δq) = σ(αs − δq), avec : σ(x) =1
1 + exp(−x)
1 Etudier rapidement la fonction σ et conclure qu’elle permeteffectivement de modeliser une probabilite.
2 A quelle condition un etudiant s a-t-il autant de chancerepondre correctement que de se tromper a une questionq ?
3 Quelle loi permet de modeliser la variable xqs ? Montrerque :
p(xqs|αs, δq) = σ(αs − δq)xqs (1− σ(αs − δq))(1−xqs)
ou xqs peut prendre les valeurs 0 ou 1.
Systeme de recommandation 25/26
Les donnees binaires xqs sont dans une matrice X de tailleQ × N pour Q questions et N etudiants.
1 Donner la vraisemblance p(X |α, δ) et la log vraisemblanceL = log p(X |α, δ)? Rappeler les hypotheses que vous faitespour avancer dans le calcul.Indice : L est de la forme :L =
∑q∑
s β(αs − δq) + γ log σ(αs − δq)
2 Montrer que σ′(x) = σ(x)(1− σ(x)), en deduire (log σ(x))
′
puis exprimer ∂L∂αs
et ∂L∂δq
.
3 Proposer un algorithme de gradient pour optimiser cettevraisemblance.
Systeme de recommandation 26/26
Passage a un systeme de recommandation
Systeme de recommandation 27/26