MAPSI — cours 10 :Introduction au machine learning
Focus sur la Regression logistique
Vincent [email protected]
LIP6 – Universite Paris 6, France
Historique
f (xi) =∑
j
xijwj , C =N∑
i=1
(−yixiw)+
Perceptron 3/37
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 4/37
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 5/37
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 5/37
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 5/37
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 7/37
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 8/37
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 9/37
Formulation du probleme
Echantillons xii=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 10/37
Formulation du probleme
Echantillons xii=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 10/37
Formulation du probleme
Echantillons xii=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 10/37
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 11/37
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 11/37
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 12/37
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 12/37
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 13/37
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 13/37
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 14/37
USPS : generatif VS discriminant
Regression Logistique 15/37
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 15/37
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 15/37
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 15/37
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 15/37
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 16/37
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 18/37
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 19/37
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
MAPSI et le machine learning 21/37
Grande familles de problematiques
RegressionInterpolation
Prév
ision
Classification Ordonnancement
MAPSI et le machine learning 22/37
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, ...
MAPSI et le machine learning 23/37
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
MAPSI et le machine learning 24/37
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
MAPSI et le machine learning 25/37
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
MAPSI et le machine learning 25/37
Chaine de traitements
Toutes les etapes comptent...Surtout les premieres pour les performances !
Choisir & optimiser un modele n’est qu’une partie du travail...
Raw dataFormated/cleaned
dataScrapping,
reading,data bases
Relevant featureselection/building
Machinelearning
+ perf.evaluation
⇒ Valoriser vos competences d’informaticien !
MAPSI et le machine learning 26/37
[MAPSI] Analyses preliminaires des donnees
Histogramme de repartition des classesCritique pour la definition des a priori
Histogramme de d’analyse des valeurs d’une variableComprendre les donneesChoisir un modele pour coller a cette variable en fonctionde l’HistogrammeFaire marcher les arbres de decision –plus tard :)–
Distribution de differents pixelsdans une base USPS
MAPSI et le machine learning 27/37
[MAPSI] Identifier des classes de problemes
Supervise/non-superviseCompletion de donnees manquanteClassification / regressionCompleter des donnees manquantes
(est-ce une classe de probleme?)
Exemple :Predire les ventes de parfum lors des prochaines soldesReconnaitre qu’une image contient un chat
MAPSI et le machine learning 28/37
[MAPSI] Optimiser un modele bayesien
Choisir une ou plusieurs loi de proba. pour les donneesFormuler la vraisemblanceOptimiser la vraisemblance
Trouver les parametres optimaux des lois usuelles surwikipediaSinon, annuler la derivee de la vraisemblanceSinon, maximiser iterativement la vraisemblance
Traiter de nouvelles donnees en inference (les faire passerdans le modele optimise)
MAPSI et le machine learning 29/37
[MAPSI] Optimiser un modele base sur une fonctionde cout
Choisir une representation des donnees, un modeleChoisir une fonction de coutOptimiser le cout
Annuler la derivee du coutSinon, minimiser iterativement le cout
Traiter de nouvelles donnees en inference (les faire passerdans le modele optimise)
MAPSI et le machine learning 30/37
[MAPSI] Evaluation & sur-apprentissage
Apprendre un modele est aussi important que del’evaluerApprendre et evaluer sur les memes donnees estaberrant
Tom Robertshaw
MAPSI et le machine learning 31/37
[MAPSI] 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
MAPSI et le machine learning 31/37
[MAPSI] 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
MAPSI et le machine learning 31/37
Mais pourquoi aller plus loin???
Une proposition d’analyse avec le dilemme biais-variance
Hreg
h⋆
biaish
Variance
H
h1
h3
h2
Variance = taille de l’espace de recherche du modele
Representation des donnees + complexite du modele(parametres & hyper-parametres)
Biais = distance entre le meilleur modele et le modeleretenu
MAPSI et le machine learning 32/37
Differents paradigmes au fil des epoques (1/4)
Hreg
h⋆
biaish
Variance
H
h1
h3
h2
Exploiter seulement des informationspertinentes proposees/construites par unexpert
Efficace tres vitePeu de bruit = les modeles simples marchent bien
⇒ Approches tres rentables... Que vous etes deja en mesured’implementer !
Raw dataFormated/cleaned
dataScrapping,
reading,data bases
Relevant featureselection/building
Machinelearning
+ perf.evaluation
MAPSI et le machine learning 33/37
Differents paradigmes au fil des epoques (2/4)
Hreg
h⋆
biaish
Variance
H
h1
h3
h2
Generer [automatiquement] plein decaracteristique... Puis selectionner celles quisont utiles
A priori Criteres de selection/transformation de variablesACPSelection de variables sur critere de separabilite desdonnees
On Line Apprendre ce qui est utile ou pas = regularisation Soitdes donnees X ∈ RN×d avec d tres grand et une fonctionde decision/regression lineaire f (x) = x ·w
arg minwC + λΩ(w),Ω(w) =
∑j w2
j regul. L2∑j |wj | regul. L1
⇒ λ devient un hyper-parametre critique !
MAPSI et le machine learning 34/37
Differents paradigmes au fil des epoques (3/4)Hreg
h⋆
biaish
Variance
H
h1
h3
h2
Les methodes a noyaux et les espaces derepresentation universel
Moins travailler sur les descripteurs = moins besoind’expertise externe.Avoir des fonctions a la fois simple a apprendre[formulation convexe, regularisation] mais capable detraiter des cas complexe.
f (x) =∑
i
wik(x,xi),ou k est une fonction de similarite
1 0 . 5
00 . 5
1
0 0 . 5 1 1 . 5 2 2 . 5 3 3 . 5 400 . 10 . 20 . 30 . 40 . 50 . 6
0 2 0 4 0 6 0 8 0 1 0 0
MAPSI et le machine learning 35/37
Differents paradigmes au fil des epoques (4/4)Hreg
h⋆
biaish
Variance
H
h1
h3
h2Creer des operateurs super-complexes... Maisefficaces
Reseaux de neuronesLa promesse d’une extraction de caracteristiquesautomatiquesL’apprentissage de representation et la semantique
XGBoost
Raw dataFormated/cleaned
dataScrapping,
reading,data bases
Relevant featureselection/building
Machinelearning
+ perf.evaluation
MAPSI et le machine learning 36/37
Curse of dimensionality
A classical toy example to illustrate the curse of dimensionality :
Original dataset : Matrix view Distance matrix
3 2 1 0 1 2 3
3
2
1
0
1
2
3
Matrix of raw points
Matrix of distance between points
Easy problem / classes are clearly separated
MAPSI et le machine learning 37/37
Curse of dimensionality
A classical toy example to illustrate the curse of dimensionality :
Original dataset : Matrix view Distance matrix
3 2 1 0 1 2 3
3
2
1
0
1
2
3
Matrix of raw points
Matrix of distance between points
Adding some noisy dimensions in the dataset
MAPSI et le machine learning 37/37
Curse of dimensionality
A classical toy example to illustrate the curse of dimensionality :
Original dataset : Matrix view Distance matrix
3 2 1 0 1 2 3
3
2
1
0
1
2
3
Matrix of raw points
Matrix of distance between points
Adding more noisy dimensions in the dataset⇒ Euclidian distance is very sensitive to the dimensionalityissue
MAPSI et le machine learning 37/37
Curse of dimensionality
A classical toy example to illustrate the curse of dimensionality :
Basic classifier on thosedatasets
Distances between points inthe dataset
0.0 2.5 5.0 7.5 10.0 12.5 15.0 17.5# dimensions
0.88
0.90
0.92
0.94
0.96
0.98
1.00
Reco
g. ra
te
0.0 2.5 5.0 7.5 10.0 12.5 15.0 17.50.2
0.4
0.6
0.8
1.0
1.2
1.4
MeanStandard deviation
⇒ Learn accuracy, test accuracy = overfitting⇒ All points tend to lay on an hypersphere (they becomeequidistant)
MAPSI et le machine learning 37/37
Top Related