173
Introduction aux data-sciences Universit´ e Paris-Sud et CESP-Inserm [email protected] masedki.github.io 25 avril 2019

Introduction aux data-sciences - GitHub Pages · IApprentissage statistique est une branche de la statistique Di erences entre les deux visions IEn Machine learning, on met l’accent

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Introduction aux data-sciences - GitHub Pages · IApprentissage statistique est une branche de la statistique Di erences entre les deux visions IEn Machine learning, on met l’accent

Introduction aux data-sciences

Universite Paris-Sud et [email protected]

masedki.github.io

25 avril 2019

Page 2: Introduction aux data-sciences - GitHub Pages · IApprentissage statistique est une branche de la statistique Di erences entre les deux visions IEn Machine learning, on met l’accent

Introduction

Validation croisee et bootstrap

Selection de variables en regression lineaireMethodes pas a pasCriteres d’informationMethodes de regularisation, contraction de coefficients oushrinkage

ClassificationRegression logistiqueSelection de variables en regression logistiqueAnalyse discriminante lineaire et quadratique

DendrologieArbres de decision uniquesAgregation par baggingForets aleatoiresBoosting

Support Vector Machine (SVM)

Page 3: Introduction aux data-sciences - GitHub Pages · IApprentissage statistique est une branche de la statistique Di erences entre les deux visions IEn Machine learning, on met l’accent

Introduction

Page 4: Introduction aux data-sciences - GitHub Pages · IApprentissage statistique est une branche de la statistique Di erences entre les deux visions IEn Machine learning, on met l’accent

References

I http://wikistat.fr/

I https://github.com/wikistat/

Page 5: Introduction aux data-sciences - GitHub Pages · IApprentissage statistique est une branche de la statistique Di erences entre les deux visions IEn Machine learning, on met l’accent

Problemes d’apprentissage statistique

1. Identifier les facteurs de risque du cancer de la prostate

2. Predire si une personne est sujette au crise cardiaque, a partir demesure clinique, son regime et des donnees demographiques

3. Classification d’echantillons de tissus dans differents types decancer, en fonction de donnees d’expression de genes

4. Classifier des images de tumeurs

Page 6: Introduction aux data-sciences - GitHub Pages · IApprentissage statistique est une branche de la statistique Di erences entre les deux visions IEn Machine learning, on met l’accent

Apprentissage supervise : point de depart

I Une variable de sortie Y (variable reponse, variable cible)

I Un vecteur de p variables X (appele variables explicatives,covariables ou variables d’entree regressors, features, predictors)

I En regression, Y est une variable quantitative (le dosage du PSA,tension arterielle)

I En classification, Y prend un nombre fini de valeurs(vivant/mort, les nombres 0-9, le type de cancer)

I Des donnees dites d’apprentissage training data(x1, y1), . . . , (xN , yN ). Ce sont les observations.

Page 7: Introduction aux data-sciences - GitHub Pages · IApprentissage statistique est une branche de la statistique Di erences entre les deux visions IEn Machine learning, on met l’accent

Objectif

A partir des donnees d’apprentissage

I Predire la reponse non observee d’un cas ”test”

I Comprendre l’influence des variables explicatives sur la variablereponse (comment et de combien)

I Mesurer la qualite de notre ”inference statistique” notamment saprediction

Page 8: Introduction aux data-sciences - GitHub Pages · IApprentissage statistique est une branche de la statistique Di erences entre les deux visions IEn Machine learning, on met l’accent

Pourquoi ce cours ! ! !

I Il est important de comprendre les differentes techniques poursavoir comment et quand les utiliser

I Il faut absolument comprendre les methodes basiques en premier

I Il est indispensable d’evaluer la precision et les limites d’unemethode car souvent les methodes simples fonctionnent mieuxque les methodes sophistiquees ! !

Page 9: Introduction aux data-sciences - GitHub Pages · IApprentissage statistique est une branche de la statistique Di erences entre les deux visions IEn Machine learning, on met l’accent

Un mot sur l’apprentissage non-supervise

I Pas de reponse (Y )

I Buts plus flous : description de donnees, analyse de donnees

I Exemple : Regrouper des observations similaires (marketing,. . . )

I Difficulte de l’evaluation du resultat

I Different de l’apprentissage supervise, mais peut etre une etapepreliminaire a un apprentissage supervise

Page 10: Introduction aux data-sciences - GitHub Pages · IApprentissage statistique est une branche de la statistique Di erences entre les deux visions IEn Machine learning, on met l’accent

Apprentissage statistique versus Machine learning

Deux domaines qui nomment la meme chose ! ! !

I Machine learning est une branche de l’intelligence artificielle

I Apprentissage statistique est une branche de la statistique

Differences entre les deux visions

I En Machine learning, on met l’accent sur l’application a grandeechelle et la precision de la prediction

I L’apprentissage statistique met l’accent sur les modeles et leurinterpretabilite, precision et incertitude.

Page 11: Introduction aux data-sciences - GitHub Pages · IApprentissage statistique est une branche de la statistique Di erences entre les deux visions IEn Machine learning, on met l’accent

Apprentissage statistique : exempletriglycerides vs BMI et cholesterol avec la droite de regression

+

+

+

+

+

+

+

++

+

+

+

+

+

+

+

+

+

+

+

+

+

++

+

+

+ ++

+

+

++

+

+

++

+

++

+

+

+

++

+

+

+

+

+

+

++

+

+

+

+

+

++

+

+

+

++

+

+

+

+

+++

+

+

++

++

+

+

+

++ +

+

+

+

+

+

++ ++

+

+

+++

+ ++

+

+

+

+

+

++

+

+

+

+

+

++

++ +

+

++

+

+

++

+

+

+

++

++

+

+

++

+

+

+ +

++

+

++

+

+

+ +

+

+ +

+

+

+

++

++

+

++

+ +

+

+

+

++

+

+

+

+

++ ++

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

++

++

+

++

+

+

+

++

+ +

+

+

+

++

+ +

+

+

+

++

+

+

+

+

+

++

++

+

+

+

+

+

+ +

+

+

+

+ +

+

+

+

+

+

++

+

++

+

+

+

+

+

++

+ ++

+

+

++

++

+

+

+

+

++

++

+

++

+

+

+

+

+

++

+

+

+

+

+ ++++

+

+

+

+

+

+

+

+

++

+

+

+

+

++

++

+

+

+

+

+

+

+

++

+

+

+

+

++ +

+++ +

+

+

+

+

+

+++

+

+

+

+

++

+

+

+

++

++

+

+

+

+++

+

++

+

+

++

+ +

+

+

+

++

+

+

+

+

++

+

+

+

+

+

+

+

+

+

+

+

++

+

+ +

+

+

+

+

+

+

+

20 25 30 35

10

02

00

30

04

00

50

06

00

bmi

tg

+

+

+

+

+

+

+

+ +

+

+

+

+

+

+

+

+

+

+

+

+

+

++

+

+

+++

+

+

++

+

+

++

+

++

+

+

+

++

+

+

+

+

+

+

+++

+

+

+

+

++

+

+

+

++

+

+

+

+

+++

+

+

++

++

+

+

+

++ +

+

+

+

+

+

++ + +

+

+

++ +++ +

+

+

+

+

+

++

+

+

+

+

+

++

++ +

+

++

+

+

++

+

+

+

++

+++

+

+ +

+

+

+ +

+ +

+

++

+

+

++

+

++

+

+

+

++

++

+

++

++

+

+

+

++

+

+

+

+

++ +

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

++

++

+

++

+

+

+

++

+ +

+

+

+

+ +

++

+

+

+

++

+

+

+

+

+

++

++

+

+

+

+

+

+ +

+

+

+

++

+

+

+

+

+

++

+

++

+

+

+

+

+

++

+ ++

+

+

++

++

+

+

+

+

++

++

+

++

+

+

+

+

+

++

+

+

+

+

+++ ++

+

+

+

+

+

+

+

+

++

+

+

+

+

++

+ +

+

+

+

+

+

+

+

++

+

+

+

+

++ +

++++

+

+

+

+

+

+ ++

+

+

+

+

++

+

+

+

+ +

++

+

+

+

++

+

+

++

+

+

++

++

+

+

+

++

+

+

+

+

++

+

+

+

+

+

+

+

+

+

+

+

++

+

+ +

+

+

+

+

+

+

+

120 140 160 180 200 220 240

10

02

00

30

04

00

50

06

00

chol

tg

Page 12: Introduction aux data-sciences - GitHub Pages · IApprentissage statistique est une branche de la statistique Di erences entre les deux visions IEn Machine learning, on met l’accent

Apprentissage : exemple + notations

I Peut-on predire le taux de tri-glycerides en fonction du BMI etdu taux de cholesterol, c’est a dire un modele

Triglycerides ≈ f(BMI, cholesterol

)I Ici le taux de Tri-glycerides represente la variable reponse Y

qu’on cherche a predire ou a expliquer

I Le BMI est une variable explicative ou covarible qu’on note X1 etle taux cholesterol est aussi une variable explicative qu’on noteX2.

On peut maintenant ecrire notre modele

Y = f(X) + ε ou X =

(X1

X2

)ε capte l’erreur de mesure.

Page 13: Introduction aux data-sciences - GitHub Pages · IApprentissage statistique est une branche de la statistique Di erences entre les deux visions IEn Machine learning, on met l’accent

Apprentissage : quelle est la meilleure fonction f(X) ?

I Avec une ”meilleure” fonction f on peut predire Y pour unenouvelle observation des variables explicatives X = x

I De maniere generale, on peut identifier les composantesimportantes de X =

(X1, X2 . . . , Xp

)pour expliquer Y and les

composantes qui le sont moins. - Selon la complexite de f , onpeut comprendre comment et de combien les composantes Xj deX influent sur la valeur de Y .

Page 14: Introduction aux data-sciences - GitHub Pages · IApprentissage statistique est une branche de la statistique Di erences entre les deux visions IEn Machine learning, on met l’accent

La reponse est oui : la fonction de regression

I C’est f(0.5) = E(Y |X = 0.5

)la valeur moyenne de Y sachant

que X = 0.5.

I C’est la fonction optimale pour l’erreur quadratique, c’est a dire,

minimise E((Y − g(X)

)2|X = x)

pour toute fonction g et toute

valeur de x.

I ε = Y − f(X) est l’erreur incompressible, meme si f est connue,pour chaque valeur de X, nous avons une realisation d’unevariable aleatoire Y

I Pour toute estimateur f(x) de f(x), nous avons

E((

Y − f(X))2

|X = x

)=(f(x)− f(x)

)2

︸ ︷︷ ︸reductible

+ Var(ε|X = x

)︸ ︷︷ ︸

irreductible

Page 15: Introduction aux data-sciences - GitHub Pages · IApprentissage statistique est une branche de la statistique Di erences entre les deux visions IEn Machine learning, on met l’accent

estimation de f ?

I Nous n’avons aucune observation avec x = 0.5

I On ne sait pas calculer E(Y |X = x

)!

I Approximation

f(x) = Moyenne(Y,X ∈ N (x)

)ou N (x) represente un certain voisinage de x.

Page 16: Introduction aux data-sciences - GitHub Pages · IApprentissage statistique est une branche de la statistique Di erences entre les deux visions IEn Machine learning, on met l’accent

0.0 0.2 0.4 0.6 0.8 1.0

−0.1

5−0

.10

−0.0

50.

00

k = 10

x

y

Une fonction ideale f(X) ? pour une certaine valeur de X, disons 0.5 ?

Page 17: Introduction aux data-sciences - GitHub Pages · IApprentissage statistique est une branche de la statistique Di erences entre les deux visions IEn Machine learning, on met l’accent

graphiquement

0.0 0.2 0.4 0.6 0.8 1.0

−0.1

5−0

.10

−0.0

50.

00

k = 10

x

y

Page 18: Introduction aux data-sciences - GitHub Pages · IApprentissage statistique est une branche de la statistique Di erences entre les deux visions IEn Machine learning, on met l’accent

Complexite d’un modele (compromis biais variance)

0.0 0.2 0.4 0.6 0.8 1.0

−0

.15

−0

.10

−0

.05

0.0

0

0.33

x

y

0.0 0.2 0.4 0.6 0.8 1.0

−0

.15

−0

.10

−0

.05

0.0

0

0.03

x

y

0.0 0.2 0.4 0.6 0.8 1.0

−0

.15

−0

.10

−0

.05

0.0

0

0.01

xy

Page 19: Introduction aux data-sciences - GitHub Pages · IApprentissage statistique est une branche de la statistique Di erences entre les deux visions IEn Machine learning, on met l’accent

Evaluation de la precision : phenomene desur-apprentissage

0.0 0.2 0.4 0.6 0.8 1.0

0.00

0.02

0.04

0.06

0.08

Averaged training and test errors

1/k

Erro

r

KNN ave training errorLS ave training errorKNN ave test errorLS ave test error

Page 20: Introduction aux data-sciences - GitHub Pages · IApprentissage statistique est une branche de la statistique Di erences entre les deux visions IEn Machine learning, on met l’accent

Evaluer la precision : premier pas

Supposons que l’on ajuste un modele f(x) sur des donneesd’apprentissage Tr = {(x1, y1), . . . , (xN , yN )}.

Performance de f ?Premiere idee : erreur moyennede prediction sur Tr :

MSETr = Moyennei∈Tr

(yi−f(xi)

)2

OPTIMISTE(sur-apprentissage)

Meilleure idee : sur un jeu dedonnees de test,Te = {(xN+1, yN+1), . . . , },independant de Tr :

MSETe = Moyennei∈Te

(yi−f(xi)

)2

Page 21: Introduction aux data-sciences - GitHub Pages · IApprentissage statistique est une branche de la statistique Di erences entre les deux visions IEn Machine learning, on met l’accent

Apprentissage : probleme de classification

Ici la variable reponse Y est qualitative :le type d’une tumeur C = {maligne, benigne}Les objectifs sont

I Construire une regle de classification C(X) qui permet d’associerun ”label” de C pour une nouvelle obsevation X sans label connua priori.

I Evaluer l’erreur de classification de la regle

I Comprendre le role des chaque variable explicativeX =

(X1, X2, . . . , Xp

)dans la regle de classification

Page 22: Introduction aux data-sciences - GitHub Pages · IApprentissage statistique est une branche de la statistique Di erences entre les deux visions IEn Machine learning, on met l’accent

Un peu de formalisme

Supposons qu’on a le cas general ou C possede K labels numerotes de1 a K, on definit les probabilites conditionnelles

pk(x) = P(Y = k|X = x

), k = 1, 2, . . . ,K.

La regle de classification dite de Bayes en un certain point x0 estdonnee par

C(x0) = j si j = arg maxk∈{1,...,K}

pk(x0)

Une regle de classification basee sur les plus proches voisins

pk(x0

)=

1

|N0|∑i∈N0

I(yi = k

)

Page 23: Introduction aux data-sciences - GitHub Pages · IApprentissage statistique est une branche de la statistique Di erences entre les deux visions IEn Machine learning, on met l’accent

Un peu de formalisme : evaluation

I La mesure de performance d’une regle de classification C(x)estdonnee par l’erreur de classification

ErrTe = Moyennei∈TeI(yi 6= C(xi)

)I La regle de classification de Bayes (avec les vraies pk(x)) realise

la plus petite erreur de classification dans la population.

I Les svm (Support Vector Machines) construisent des modelesstructures pour C(x)

I La regression logistique, les modeles comme la LDA QDAproposent des constructions de modeles structures pour pk(x)

Page 24: Introduction aux data-sciences - GitHub Pages · IApprentissage statistique est une branche de la statistique Di erences entre les deux visions IEn Machine learning, on met l’accent

Jeu de donnees avec la frontiere issue de la regle deBayes

Bayes decision boundary

x1

x2

−2 −1 0 1 2 3 4

−2−1

01

23

Page 25: Introduction aux data-sciences - GitHub Pages · IApprentissage statistique est une branche de la statistique Di erences entre les deux visions IEn Machine learning, on met l’accent

Regle de classification knn k = 15

15−nearest neighbour

x1

x2

−2 −1 0 1 2 3 4

−2−1

01

23

Page 26: Introduction aux data-sciences - GitHub Pages · IApprentissage statistique est une branche de la statistique Di erences entre les deux visions IEn Machine learning, on met l’accent

Regle de classification knn k = 1

1−nearest neighbour

x1

x2

−2 −1 0 1 2 3 4

−2−1

01

23

Page 27: Introduction aux data-sciences - GitHub Pages · IApprentissage statistique est une branche de la statistique Di erences entre les deux visions IEn Machine learning, on met l’accent

Les Knn sont victimes du fleau de la dimension

I Ces methodes, basees sur desmoyennes autour des voisinssont plutot bonnes si− petite dimension p ≤ 4− grand echantillon n� p

I des versions lissees, obtenuespar− methodes a noyaux− lissage par splines,− . . .

Raison. le fleau de la dimension.Les voisins les plus prochespeuvent etre eloignes en grandedimension

I Il faut une quantiteraisonnable de valeurs de yia moyenner pour que f(x)ait une faible variance

I En grande dimension, pourobtenir cette quantited’observation, il fauts’eloigner beaucoup de x.

On perd l’idee de moyennelocale autre de X = x.

Page 28: Introduction aux data-sciences - GitHub Pages · IApprentissage statistique est une branche de la statistique Di erences entre les deux visions IEn Machine learning, on met l’accent

Le fleau de la dimension

Page 29: Introduction aux data-sciences - GitHub Pages · IApprentissage statistique est une branche de la statistique Di erences entre les deux visions IEn Machine learning, on met l’accent

Validation croisee et bootstrap

ButI Dans cette partie, nous allons discuter de deux

methodes de re-echantillonnage : la validation croisee etle bootstrap

I Ces methodes re-ajustent le modele que l’on souhaitesur des echantillons issus de l’echantillond’apprentissage, dans le but d’obtenir des informationssupplementaires sur ce modele

I Par exemples, ces methodes fournissent des estimationsde l’erreur sur des ensembles de test, le biais et lavariance des estimations de parametres. . .

Page 30: Introduction aux data-sciences - GitHub Pages · IApprentissage statistique est une branche de la statistique Di erences entre les deux visions IEn Machine learning, on met l’accent

Erreur d’entrainement et erreur de test

On rappelle la difference entre erreur de test et erreurd’entrainement :

I L’erreur de test est l’erreur moyenne commise par unemethode d’apprentissage statistique pour predire unereponse sur une nouvelle observation, qui n’a pas eteutilisee pour ajuster le modele.

I En revanche, l’erreur d’entrainement peut etrefacilement calculee en appliquant la methoded’apprentissage sur les donnees d’entrainement.

I Mais l’erreur d’entrainement est souvent bien differentede l’erreur de test, et en particulier, l’erreurd’entrainement sous-estime parfois grandement l’erreurde test — on parle d’erreur trop optimiste.

Page 31: Introduction aux data-sciences - GitHub Pages · IApprentissage statistique est une branche de la statistique Di erences entre les deux visions IEn Machine learning, on met l’accent

Erreur d’entrainement et erreur de test

Page 32: Introduction aux data-sciences - GitHub Pages · IApprentissage statistique est une branche de la statistique Di erences entre les deux visions IEn Machine learning, on met l’accent

Estimations de l’erreur de prediction

I La meilleure solution : un grand ensemble de testclairement designe. Bien souvent, ce n’est pasdisponible.

I Certaines methodes permettent de corriger l’erreurd’entrainement pour estimer l’erreur de test, avec desarguments fondes mathematiquement.Cela inclut les Cp de Mallows, les criteres AIC et BIC.Ils seront discutes plus tard.

I Ici, nous nous interessons a une classe de methodes quiestime l’erreur de test en mettant de cote unsous-ensemble des donnees d’entrainement disponiblespour ajuster les modeles, et en appliquant la methodesajustee sur ces donnees mises de cote.

Page 33: Introduction aux data-sciences - GitHub Pages · IApprentissage statistique est une branche de la statistique Di erences entre les deux visions IEn Machine learning, on met l’accent

Approche par ensemble de validation

I Cette methode propose de diviser l’echantillond’apprentissage en deux : un ensemble d’entrainementet un ensemble de validation

I Le modele est ajuste sur l’ensemble d’entrainement, eton l’utilise ensuite pour predire les reponses surl’echantillon de validation.

I L’erreur obtenue en comparant prediction etobservation sur cet echantillon de validation approchel’erreur de test. On utilise typiquement des moindrescarres (MSE) en regression et des taux de mauvaisesclassification si la reponse est qualitative (ou unefonction de cout d’erreur)

Page 34: Introduction aux data-sciences - GitHub Pages · IApprentissage statistique est une branche de la statistique Di erences entre les deux visions IEn Machine learning, on met l’accent

Exemple sur les donnees simulees (degre 2)

I On veut comparer la regression lineaires a des regressionspolynomiales de differents degres

I On divise en deux les 200 observations : 100 pour l’entrainement,100 pour le test.

0 2 4 6 8

12

510

2050

100

200

polynomial degree

mean

squa

red er

ror

0 2 4 6 8

15

1050

100

500

1000

polynomial degree

mean

squa

red er

ror

Sur une partition aleatoire Variabilite d’une partition al’autre

Page 35: Introduction aux data-sciences - GitHub Pages · IApprentissage statistique est une branche de la statistique Di erences entre les deux visions IEn Machine learning, on met l’accent

Inconvenients de l’approche par ensemble de validation

I L’estimation obtenue par cette methode peut etre tresvariable, et depend de la chance ou malchance dans laconstruction du sous-echantillon de validation

I Dans cette approche, seule une moitie des observationsest utilisee pour ajuster les modeles — celles qui sontdans l’ensemble d’entrainement.

I Cela suggere que l’erreur calculee peut surestimerl’erreur de test d’un modele ajuste sur l’ensemble desdonnees (moins de variabilite d’echantillonnage dansl’inference des parametres du modele)

Deja mieux : echanger les roles entrainement-validation etfaire la moyenne des deux erreurs obtenues. On croise lesroles.

Page 36: Introduction aux data-sciences - GitHub Pages · IApprentissage statistique est une branche de la statistique Di erences entre les deux visions IEn Machine learning, on met l’accent

Validation croisee a K groupes

I C’est la methode la plus couramment utilisee pour estimerl’erreur de test

I L’estimation peut etre utilisee pour choisir le meilleur modele (lameilleure methode d’apprentissage), ou approcher l’erreur deprediction du modele finalement choisi.

I L’idee est de diviser les donnees en K groupes de meme taille. Onlaisse le k-eme bloc de cote, on ajuste le modele, et on l’evaluesur le bloc laisse de cote.

I On repete l’operation en laissant de cote le bloc k = 1, puisk = 2,. . . jusqu’a k = K. Et on combine les resultats

Page 37: Introduction aux data-sciences - GitHub Pages · IApprentissage statistique est une branche de la statistique Di erences entre les deux visions IEn Machine learning, on met l’accent

Details

Pour chacune des observations,on obtient une predictionyi = f(xi) ou C(xi) au momentou i est dans le groupe mis decote, et une seule prediction.On compare alors ces predictionsaux observations comme pourl’erreur de test

MSE(K) =1

n

n∑i=1

(yi − yi)2

ou

τ(K) =1

n

n∑i=1

1{yi − C(xi)

}Lorsque K = n, on parle de� leave-one outcross-validation � (LOOCV)

Danger avec le leave-oneout !On dit que LOOCV ne secouepas assez les donnees. En effet,les classifiers C ou les fonctionsde regression inferees f avec(n− 1) donnees sont tres correlesles uns aux autres.On ne voit plus l’erreurd’echantillonnage, autrement ditla variabilite de l’estimation de lafonction. C’etait pourtant toutl’interet de la validation croisee.On choisit generalement K = 5ou K = 10 blocs.

Page 38: Introduction aux data-sciences - GitHub Pages · IApprentissage statistique est une branche de la statistique Di erences entre les deux visions IEn Machine learning, on met l’accent

Retour au jeu de donnees simule

0 2 4 6 8

12

510

20

polynomial degree

mea

n sq

uare

d er

ror

En cas d’egalite, choisir le modele le plus parcimonieux car il auranaturellement moins de variance d’estimation dans les coefficients dumodele.

Page 39: Introduction aux data-sciences - GitHub Pages · IApprentissage statistique est une branche de la statistique Di erences entre les deux visions IEn Machine learning, on met l’accent

Validation croisee : les pieges

Considerons un classifieur simple pour predire une reponseY binaire, mais avec de nombreuses co-variables (p = 5000).On procede comme suit

1. On demarre avec les 5000 predicteurs et un echantillonde taille 50, et on cherche les 100 predicteurs qui ont laplus grande correlation par la reponse

2. On utilise une methode d’apprentissage, par exemple laregression logistique, sur ces 100 meilleures co-variables.

Comment doit-on estimer l’erreur de test ?Peut-on utiliser la validation croisee a l’etape 2 ? ? ?

Page 40: Introduction aux data-sciences - GitHub Pages · IApprentissage statistique est une branche de la statistique Di erences entre les deux visions IEn Machine learning, on met l’accent

Reponse : NON, NON et NON !

1. On demarre avec les 5000 predicteurs et un echantillon de taille50, et on cherche les 100 predicteurs qui ont la plus grandecorrelation par la reponse

2. On utilise une methode d’apprentissage, par exemple laregression logistique, sur ces 100 meilleures co-variables.

I Cela ignore le fait que l’etape 1 a deja utiliser les reponsesobservees. Cette etape est une forme d’entrainement du classifierfinal.

I Il est facile de simuler des donnees realistes, avec Y independantde X (dont l’erreur de test doit etre de 50%) mais dont l’erreurcalculee par CV dans l’etape 2 est proche de 0 !Essayer de le faire vous meme !

I Cette erreur est pourtant comise dans de nombreux articlestraitant de donnees genomiques !

Page 41: Introduction aux data-sciences - GitHub Pages · IApprentissage statistique est une branche de la statistique Di erences entre les deux visions IEn Machine learning, on met l’accent

Bootstrap

I Le bootstrap est un outilstatistique flexible etpuissant qui peut etre utilisepour quantifier l’incertitudeassociee a la valeur d’unestimateur, ou d’unemethode statistique.

I Par exemple, elle fournit uneapproximation de la variancede l’estimateur d’uncoefficient, ou un intervallede confiance pour cecoefficient.

D’ou vient ce nom ?

I De l’expression � to pulloneself up by one’sbootstraps �, dont on penseque l’origine provient dulivre The SurprisingAdventures of BaronMunchausen de RudolphErich Raspe :� The Baronhad fallen to the bottom of adeep lake. Just when itlooked like all was lost, hethought to pick himself upby his own bootstraps. �

I Ne pas confondre avec lasequence d’amorcage desordinateurs, pour laquelle onparle parfois de� bootstrap �.

Page 42: Introduction aux data-sciences - GitHub Pages · IApprentissage statistique est une branche de la statistique Di erences entre les deux visions IEn Machine learning, on met l’accent

Selection de variables en regressionlineaire

Page 43: Introduction aux data-sciences - GitHub Pages · IApprentissage statistique est une branche de la statistique Di erences entre les deux visions IEn Machine learning, on met l’accent

Regression lineaire : rappel

I Une approche simple pourfaire de l’apprentissagesupervise. Elle suppose queY depend lineairement deX1,. . .Xp

I Les vraies fonctions deregression ne sont jamaislineaires

I Meme si cela semble tropsimple, la regression lineaireest extremement utile a lafois conceptuellement et enpratique.

Le cas de regression lineairesimple

I On pose un modele de laforme

Y = β0 + β1X + ε,

ou β0, β1 inconnus sontordonnee a l’origine(intercept) et pente (slope).Ce sont les coefficients dumodele

I Etant estimes ces coefficientspar β0 et β1, on predit ysachant x avec

y = β0 + β1x,

Page 44: Introduction aux data-sciences - GitHub Pages · IApprentissage statistique est une branche de la statistique Di erences entre les deux visions IEn Machine learning, on met l’accent

Regression lineaire multiple

I Notre modele

Y = β0+β1X1+· · ·+βpXp+ε

I On interprete βj commel’effet moyen sur Y d’unaccroissement de Xj d’uneunite lorsque tous les autrespredicteurs sont fixes.

I On ne peut faire aucuneaffirmation en terme decausalite.

Exemple. Y = serumtriglycerides mg/dl,A = age in years et B body-massindex, kg/m2.

Y = −247.25 + 3.5A+ 9.3B.Comment s’interprete 9.3 ?

Interpreter les coefficients deregression

I Le scenario ideal lorsque lespredicteurs sontindependants, et le designequilibreI chaque coeff peut etre

estime et teste separementI interpretation de gauche

est OK

I La correlation entre Xj posedes problemesI la variance des

estimateurs s’accroitI l’interpretation devient

hasardeuse (lorsque Xj

change, tout change !)

Page 45: Introduction aux data-sciences - GitHub Pages · IApprentissage statistique est une branche de la statistique Di erences entre les deux visions IEn Machine learning, on met l’accent

Estimation et prediction pour la regression multiple

I A partir d’estimation des

coef β0, β1, . . . , βp, on peutpredire avec

y = β0 + β1x1 + · · ·+ βpxp

I Comme en dimension 1, onestime les β en minimisant lasomme des carrees residuelle.Formule theorique quidepend d’une inversion dematrice produit. → utiliserun logiciel de statistique

I De meme, SE(βj) pourchaque coefficient, t-test denullite, test de Fisher,. . .

Page 46: Introduction aux data-sciences - GitHub Pages · IApprentissage statistique est une branche de la statistique Di erences entre les deux visions IEn Machine learning, on met l’accent

Resultats pour les donnees triglycerides

Coeff Std.Err t-stat p-valueIntercept -247.25 21.24 -11.64 <2e-16BMI 9.30 0.90 10.32 <2e-16age 3.50 0.19 18.69 <2e-16

CorrelationsTG BMI age

TG 1.00 0.56 0.73BMI 1.00 0.34age 1.00

Page 47: Introduction aux data-sciences - GitHub Pages · IApprentissage statistique est une branche de la statistique Di erences entre les deux visions IEn Machine learning, on met l’accent

Quelques rappels

On note

I La somme des carres totale SST = SYY =n∑i=1

(yi − y)2

I La somme des carres residuelle RSS =n∑i=1

(yi − yi)2, ou

Y = Xβ β =(X′X

)−1X′Y

I La somme des carres expliquee par la regression

SSreg =n∑i=1

(yi − y)2

Page 48: Introduction aux data-sciences - GitHub Pages · IApprentissage statistique est une branche de la statistique Di erences entre les deux visions IEn Machine learning, on met l’accent

Des questions importantes

1. Y a t-il au moins un des Xj

utile pour predire Y ?

2. Sont-ils vraiment tousutiles ?

3. Comment le modele s’ajusteaux donnees ?

4. Avec une nouvelle valeur deX, quelle reponse doit-onpredire ? Precision de laprediction ?

Page 49: Introduction aux data-sciences - GitHub Pages · IApprentissage statistique est une branche de la statistique Di erences entre les deux visions IEn Machine learning, on met l’accent

Des questions importantes

1. Y a t-il au moins un des Xj

utile pour predire Y ?

2. Sont-ils vraiment tousutiles ?

3. Comment le modele s’ajusteaux donnees ?

4. Avec une nouvelle valeur deX, quelle reponse doit-onpredire ? Precision de laprediction ?

Pour la premiere question, onutilise la F -statistique

F =

(SST− RSS

)/p

RSS/(n− p− 1)∼ Fp,n−p−1

Quantite ValeurResidual Std.Err 50.34R2 0.63F -stat 343.7

Page 50: Introduction aux data-sciences - GitHub Pages · IApprentissage statistique est une branche de la statistique Di erences entre les deux visions IEn Machine learning, on met l’accent

Des questions importantes

1. Y a t-il au moins un des Xj

utile pour predire Y ?

2. Sont-ils vraiment tousutiles ?

3. Comment le modele s’ajusteaux donnees ?

4. Avec une nouvelle valeur deX, quelle reponse doit-onpredire ? Precision de laprediction ?

I Choix de co-variables :approche completeComparer les modeleslineaires avec tous lessous-ensembles possibles deco-variables

I Souvent 2p trop grand(log10(240) ≈ 12.0On utilise une methode quene parcourt que certainssous-ensembles. Deuxapproches standardSelections progressive, ouretrograde

I Necessite de repondre a laquestion suivante poureffectuer la comparaison.

Page 51: Introduction aux data-sciences - GitHub Pages · IApprentissage statistique est une branche de la statistique Di erences entre les deux visions IEn Machine learning, on met l’accent

Choix de co-variables

Methode progressive(forward)

1. Commencer par le modelenul (a zero co-variables)

2. Ajuster les p regressionslineaires simples et ajouterau modele nul la co-variablequi a le plus petit RSS

3. Ajouter a ce modele a uneco-variable la co-variable quifait baisser le plus le RSS

4. Continuer jusqu’a un critered’arret (par exemple sur lap-value du t-test)

Methode retrograde(backward)

1. Commencer par le modeleavec tous les co-variables

2. Supprimer la variable avec laplus grande p-value —i.e., laco-variable la moinssignificative pour le modele

3. Re-ajuster le modele, etenlever de nouveau laco-variable de plus grandep-value

4. Continuer jusqu’a un critered’arret (par exemple portantsur la valeur de la p-value dela co-variable que l’onenleverait)

Page 52: Introduction aux data-sciences - GitHub Pages · IApprentissage statistique est une branche de la statistique Di erences entre les deux visions IEn Machine learning, on met l’accent

Choix de co-variables

I Critere plus systematique pour choisir le modele� optimal � dans ceux que l’on parcourt

I Avec Cp de Mallows, Akaike information criterion (AIC),Bayesian information criterion (BIC), R2 ajuste et validationcroisee (CV)

Page 53: Introduction aux data-sciences - GitHub Pages · IApprentissage statistique est une branche de la statistique Di erences entre les deux visions IEn Machine learning, on met l’accent

Evaluer un sous ensembles de covariables

On supposera dans la suite que nous avons m covariables au total eton entend par modele un sous-ensemble de ces covariables de taille p.

Rappelons que

R2 =SSreg

SST= 1− RSS

SST

et

R2adj == 1− RSS /(n− p− 1)

SST /(n− 1)

ou p est le nombre de variables du modele.

I On selectionne le modele avec le R2adj le plus eleve, cela revient a

choisir le sous-ensemble de variables qui minimise

S2 =RSS

n− p− 1

ou p est le nombre de variables du modele.

Page 54: Introduction aux data-sciences - GitHub Pages · IApprentissage statistique est une branche de la statistique Di erences entre les deux visions IEn Machine learning, on met l’accent

Evaluer un sous ensembles de covariables

On supposera dans la suite que nous avons m covariables au total eton entend par modele un sous-ensemble de ces covariables de taille p.

Rappelons que

R2 =SSreg

SST= 1− RSS

SST

et

R2adj == 1− RSS /(n− p− 1)

SST /(n− 1)

ou p est le nombre de variables du modele.

I On selectionne le modele avec le R2adj le plus eleve, cela revient a

choisir le sous-ensemble de variables qui minimise

S2 =RSS

n− p− 1

ou p est le nombre de variables du modele.

Page 55: Introduction aux data-sciences - GitHub Pages · IApprentissage statistique est une branche de la statistique Di erences entre les deux visions IEn Machine learning, on met l’accent

Choix base sur R2adj

I Souvent le choix base sur R2adj montre un phenomene de

over-fitting.

I Supposons que la valeur maximale de R2adj = 0.692 pour un

sous-ensemble p = 10 de covariables, R2adj = 0.691 pour p = 9 et

R2adj = 0.541 pour un sous-ensemble de p = 8 covariables.

I Il est clairement preferable de choisir le modele a p = 10covariables.

On va faire appel a un critere(s) base(s) sur la vraisemblance.

Page 56: Introduction aux data-sciences - GitHub Pages · IApprentissage statistique est une branche de la statistique Di erences entre les deux visions IEn Machine learning, on met l’accent

Choix base sur R2adj

I Souvent le choix base sur R2adj montre un phenomene de

over-fitting.

I Supposons que la valeur maximale de R2adj = 0.692 pour un

sous-ensemble p = 10 de covariables, R2adj = 0.691 pour p = 9 et

R2adj = 0.541 pour un sous-ensemble de p = 8 covariables.

I Il est clairement preferable de choisir le modele a p = 10covariables.

On va faire appel a un critere(s) base(s) sur la vraisemblance.

Page 57: Introduction aux data-sciences - GitHub Pages · IApprentissage statistique est une branche de la statistique Di erences entre les deux visions IEn Machine learning, on met l’accent

La vraisemblance

Rappelons que d’apres les hypotheses du modele lineaire

Yi | xi1, . . . , xip ∼ N(β0 + β1xi1 + · · ·+ βpxip, σ

2).

Et

f(yi | xi1, . . . , xip

)=

1

σ√

2πexp

−(yi −

{β0 + β1xi1 + · · ·+ βpxip

})2

2σ2

I Ecrire la vraisemblance

L(β0, β1, . . . , βp, σ

2; y1, . . . , yn)

I Ecrire la log-vraisemblance

`(β0, β1, . . . , βp, σ

2; y1, . . . , yn)

Page 58: Introduction aux data-sciences - GitHub Pages · IApprentissage statistique est une branche de la statistique Di erences entre les deux visions IEn Machine learning, on met l’accent

La vraisemblance

Rappelons que d’apres les hypotheses du modele lineaire

Yi | xi1, . . . , xip ∼ N(β0 + β1xi1 + · · ·+ βpxip, σ

2).

Et

f(yi | xi1, . . . , xip

)=

1

σ√

2πexp

−(yi −

{β0 + β1xi1 + · · ·+ βpxip

})2

2σ2

I Ecrire la vraisemblance

L(β0, β1, . . . , βp, σ

2; y1, . . . , yn)

I Ecrire la log-vraisemblance

`(β0, β1, . . . , βp, σ

2; y1, . . . , yn)

Page 59: Introduction aux data-sciences - GitHub Pages · IApprentissage statistique est une branche de la statistique Di erences entre les deux visions IEn Machine learning, on met l’accent

Mesurer l’ajustement ou l’adequation du modele

L’estimateur par maximum de vraisemblance de σ2 est donne par

σ2MLE =

RSS

n.

`(β0, β1, . . . , βp, σ

2MLE; y1, . . . , yn

)= −n

2ln(2π)− n

2ln(RSS

n

)− n

2

Page 60: Introduction aux data-sciences - GitHub Pages · IApprentissage statistique est une branche de la statistique Di erences entre les deux visions IEn Machine learning, on met l’accent

Critere d’information

Un critere d’information est une quantite qui realise un compromisentre l’ajustement aux donnees (la vraisemblance par exemple) et la

complexite du modele.

Donc

I On peut chercher le modele qui maximise

Ajustement - Penalite

I On peut chercher le modele qui minimise

- Ajustement + Penalite

Page 61: Introduction aux data-sciences - GitHub Pages · IApprentissage statistique est une branche de la statistique Di erences entre les deux visions IEn Machine learning, on met l’accent

Critere d’information Cp de Mallows

Le critere d’information note Cp de Mallows associe au modele a pcovariables est donne par

Cp =RSSpS2

+ 2p− n

ou RSSp est la somme des carres des residus du modele en question etS2 est l’estimateur de σ2 dans le modele complet.

Page 62: Introduction aux data-sciences - GitHub Pages · IApprentissage statistique est une branche de la statistique Di erences entre les deux visions IEn Machine learning, on met l’accent

Critere d’information AIC

Le critere d’information note AIC (Akaike’s Information Criterion)associe a un modele a p covariables est donne par

AIC = −2`(β0, β1, . . . , βp, σ

2MLE; y1, . . . , yn

)+ 2K

ou K = p+ 2 est nombre de parametre du modele.On peut montrer que

AIC = n log σ2MLE + 2p+ const.

Ce critere est preferable pour la prediction .

Page 63: Introduction aux data-sciences - GitHub Pages · IApprentissage statistique est une branche de la statistique Di erences entre les deux visions IEn Machine learning, on met l’accent

Critere d’information BIC

Le critere d’information note BIC (Bayesian Information Criterion)associe a un modele a p covariables est donne par

BIC = −2`(β0, β1, . . . , βp, σ

2MLE; y1, . . . , yn

)+K ln(n)

ou K = p+ 2 est nombre de parametre du modele.

I Ce critere possede de bonnes proprietes theoriques.

I Ce critere est preferable pour l’explication .

Page 64: Introduction aux data-sciences - GitHub Pages · IApprentissage statistique est une branche de la statistique Di erences entre les deux visions IEn Machine learning, on met l’accent

Selection de modele

L’idee de chercher le modele (un sous-ensemble de covariables) quiminimise un des trois criteres precedents.

Comment proceder ?

Recherche exhaustive : calculer la valeur du critere pour chaquemodele.

Probleme combinatoire : 2le nombre de covariables modeles encompetition ! !

Page 65: Introduction aux data-sciences - GitHub Pages · IApprentissage statistique est une branche de la statistique Di erences entre les deux visions IEn Machine learning, on met l’accent

Selection de modele

L’idee de chercher le modele (un sous-ensemble de covariables) quiminimise un des trois criteres precedents.

Comment proceder ?

Recherche exhaustive : calculer la valeur du critere pour chaquemodele.

Probleme combinatoire : 2le nombre de covariables modeles encompetition ! !

Page 66: Introduction aux data-sciences - GitHub Pages · IApprentissage statistique est une branche de la statistique Di erences entre les deux visions IEn Machine learning, on met l’accent

Selection de modele

L’idee de chercher le modele (un sous-ensemble de covariables) quiminimise un des trois criteres precedents.

Comment proceder ?

Recherche exhaustive : calculer la valeur du critere pour chaquemodele.

Probleme combinatoire : 2le nombre de covariables modeles encompetition ! !

Page 67: Introduction aux data-sciences - GitHub Pages · IApprentissage statistique est une branche de la statistique Di erences entre les deux visions IEn Machine learning, on met l’accent

Selection de modele en forward

Le modele de depart de la procedure de selection forward est lemodele avec la constante seulement. La procedure consiste a

1. Ajouter separement chaque variable au modele actuel et calculerle critere d’interet (BIC, AIC, ou Cp).

2. Si aucun des nouveaux modeles n’ameliore le critere, alors : stop.

3. Mettre a jour le modele en incluant la covariable qui apporte lameilleure amelioration au sens du critere. Aller a 1.

Page 68: Introduction aux data-sciences - GitHub Pages · IApprentissage statistique est une branche de la statistique Di erences entre les deux visions IEn Machine learning, on met l’accent

Selection de modele backward

Le point de depart de la procedure d’elimination backward est lemodele complet incluant toutes les covariables. La procedure consistea

1. Si aucune elimination d’une covariable n’ameliore le critere alors :stop.

2. Mettre a jour le modele en eliminant la covariable qui realise lameilleure amelioration du critere. Aller a 1.

Page 69: Introduction aux data-sciences - GitHub Pages · IApprentissage statistique est une branche de la statistique Di erences entre les deux visions IEn Machine learning, on met l’accent

Donnees cancer de la prostate

lcavol log(cancer volume)lweight log(prostate weight)age agelbph log(benign prostatic hyperplasia amount)svi seminal vesicle invasionlcp log(capsular penetration)gleason Gleason scorepgg45 percentage Gleason scores 4 or 5lpsa log(prostate specific antigen)

Stamey, T.A., Kabalin, J.N., McNeal, J.E., Johnstone, I.M., Freiha, F., Redwine,E.A.

and Yang, N. (1989). Prostate specific antigen in the diagnosis and treatment of

adenocarcinoma of the prostate : II. radical prostatectomy treated patients, Journal of

Urology 141(5), 1076–1083.

Page 70: Introduction aux data-sciences - GitHub Pages · IApprentissage statistique est une branche de la statistique Di erences entre les deux visions IEn Machine learning, on met l’accent

Comparaison de ces criteres

I Je deconseille le R2 ajuste.

I Cp et AIC sont des criteres qui realisent un comprisbiais-variance. Ils sont donc indiques pour choisir un modele quel’on souhaite utiliser pour predire.

I BIC penalise plus les modeles de grandes dimensions. C’est leseul critere a etre consistent (i.e., a fournir un estimateur quiconverge lorsque n→∞)

I BIC etant plus selectif, on doit le preferer si l’on souhaite unmodele explicatif.

I Lorsque la taille de la base d’apprentissage est grande, prefererBIC (AIC fournit des modeles de trop grandes dimensions)

Page 71: Introduction aux data-sciences - GitHub Pages · IApprentissage statistique est une branche de la statistique Di erences entre les deux visions IEn Machine learning, on met l’accent

Selection de variables : quelques remarques

Interpretabilite

I Si le vrai modele ne contient que quelques variables liees a laresponse les algorithmes de selection peuvent retrouver lespredicteurs pertinents.

I Si le vrai modele contient beaucoup de variables trescorrelees les variables selectionnees seront difficiles ainterpreter.

Limites liees a la stabiliteEn presence de predicteurs tres correles ou lorsque n < p, de petitesperturbations des donnees peuvent provoquer de grandesdifferences entre les ensembles de variables selectionnees.

Page 72: Introduction aux data-sciences - GitHub Pages · IApprentissage statistique est une branche de la statistique Di erences entre les deux visions IEn Machine learning, on met l’accent

Methode de shrinkage

Regression ridge et Lasso

I Les methodes precedentes de choix de sous-ensembles utilisent lesmoindres carres pour ajuster chacun des modeles en competition.

I Alternativement, on peut ajuster un modele contenant toutes lesp covariables en utilisant une technique que contraint ouregularise les estimations des coefficients, ou de facon equivalente,pousse les coefficients vers 0.

I Il n’est pas evidant de comprendre pourquoi de telles contraintesvont ameliorer l’ajustement, mais il se trouve qu’elles reduisent lavariance de l’estimation des coefficients.

Page 73: Introduction aux data-sciences - GitHub Pages · IApprentissage statistique est une branche de la statistique Di erences entre les deux visions IEn Machine learning, on met l’accent

Regression ridge

I Rappelons que la procedure d’ajustement par moindres carresestime les coefficients β0, β1,. . . , βp en minimisant

RSS(β)

=

n∑i=1

(yi − β0 −

p∑j=1

βjxij

)2

.

I En revanche, la regression ridge estime les coefficients enminimisant

n∑i=1

(yi − β0 −

p∑j=1

βjxij

)2

+ λ

p∑j=1

β2j = RSS

(β)

+ λ

p∑j=1

β2j ,

ou λ est un parametre de reglage, a determiner par ailleurs.

Page 74: Introduction aux data-sciences - GitHub Pages · IApprentissage statistique est une branche de la statistique Di erences entre les deux visions IEn Machine learning, on met l’accent

Regression ridge (suite)

I Comme les moindres carres, la regression ridge cherche desestimations des coefficients qui s’ajustent sur les donnees, donc arendre RSS

(β)

petit.

I Cependant, le second terme λ∑pj=1 β

2j , appele penalite ridge est

petit lorsque les βj sont proches de 0, et tire donc les estimationsvers ce point.

I Le parametre de reglage λ sert a controler l’impact de cettepenalite sur l’estimation.

I Choisir une bonne valeur de λ est critique pour construire unmodele acceptable. On utilise la validation croisee.

Page 75: Introduction aux data-sciences - GitHub Pages · IApprentissage statistique est une branche de la statistique Di erences entre les deux visions IEn Machine learning, on met l’accent

Exemple jeu de donnees n = 1000 et p = 5000

3 4 5 6 7

−0.

050.

000.

050.

10

Log Lambda

Coe

ffici

ents

5000 5000 5000 5000 5000

Page 76: Introduction aux data-sciences - GitHub Pages · IApprentissage statistique est une branche de la statistique Di erences entre les deux visions IEn Machine learning, on met l’accent

Regression ridge : normaliser les predicteurs

I La methode des moindres carres standard est insensible a lanormalisation des predicteurs : si l’on multiplie Xj par c, le

coefficient sera remplace par βj/c.

I En revanche, la regression ridge peut changer substantiellementlorsque l’on multiplie un predicteur par une constante, a cause dela norme quadratique dans le terme de penalite.

I C’est pourquoi il est vivement recommander de toujoursstandardiser les predicteurs (marginalement) avant d’utiliser laregression ridge.

Page 77: Introduction aux data-sciences - GitHub Pages · IApprentissage statistique est une branche de la statistique Di erences entre les deux visions IEn Machine learning, on met l’accent

Pour la regression ridge ?

Compromis biais-variance

Donnees simulees : n = 50, p = 45, tous de coefficients non nuls. Biaisau carre (en noir), variance (en vert) et erreur de test quadratique (enviolet) pour la regression ridge.Droite horizontale : erreur minimale.

Page 78: Introduction aux data-sciences - GitHub Pages · IApprentissage statistique est une branche de la statistique Di erences entre les deux visions IEn Machine learning, on met l’accent

Le Lasso : Least Absolute Shrinkage and Selection Operator

I La regression ridge a un inconvenient evident : contrairement a laselection de variable, la regression ridge inclut tous lespredicteurs dans le modele final.

I Le Lasso est une alternative relativement recente qui repond acette critique. On minimise en fait

n∑i=1

(yi − β0 −

p∑j=1

βjxij

)2

+ λ

p∑j=1

∣∣βj∣∣ = RSS(β)

+ λ

p∑j=1

∣∣βj∣∣,I On parle de penalite `1 au lieu de penalite `2 (ou quadratique)

Page 79: Introduction aux data-sciences - GitHub Pages · IApprentissage statistique est une branche de la statistique Di erences entre les deux visions IEn Machine learning, on met l’accent

Le Lasso (suite)

I Comme pour la regression ridge, le Lasso tire les estimations descoefficients vers 0.

I Cependant, dans le cas du Lasso, la penalite `1 a pour effet deforcer certains coefficients a s’annuler lorsque λ est suffisammentgrand.

I Donc, le Lasso permet de faire de la selection de variable.

I On parle de modele creux (sparse), c’est-a-dire de modeles quin’impliquent qu’un sous ensemble des variables.

I Comme pour la regression ridge, choisir une bonne valeur de λest critique. Proceder par validation ou validation croisee.

Page 80: Introduction aux data-sciences - GitHub Pages · IApprentissage statistique est une branche de la statistique Di erences entre les deux visions IEn Machine learning, on met l’accent

Exemple : n = 1000 et p = 5000

−4 −3 −2 −1 0

0.0

0.2

0.4

0.6

0.8

1.0

Log Lambda

Coe

ffici

ents

528 303 27 15 11

Page 81: Introduction aux data-sciences - GitHub Pages · IApprentissage statistique est une branche de la statistique Di erences entre les deux visions IEn Machine learning, on met l’accent

Qu’est qui fait marcher le Lasso ?

Avec les multiplicateurs de Lagrange, on peut voir

I La regression ridge comme

minimise

n∑i=1

(yi−β0−

p∑j=1

βjxij

)2

sous la contrainte

p∑j=1

β2j ≤ s

I Le Lasso comme

minimise

n∑i=1

(yi−β0−

p∑j=1

βjxij

)2

sous la contrainte

p∑j=1

∣∣βj∣∣ ≤ s

Page 82: Introduction aux data-sciences - GitHub Pages · IApprentissage statistique est une branche de la statistique Di erences entre les deux visions IEn Machine learning, on met l’accent

Le Lasso en image

Page 83: Introduction aux data-sciences - GitHub Pages · IApprentissage statistique est une branche de la statistique Di erences entre les deux visions IEn Machine learning, on met l’accent

Comparaison du Lasso et de la regression ridge

A gauche, biais au carre (noir), variance (en vert) et erreurquadratique de test (violet) pour le Lasso sur donnees simulees.

A droite, comparaison du biais au carre, de la variance et de l’erreurde test quadratique pour le Lasso (traits plains) et la regression ridge(pointilles)

Page 84: Introduction aux data-sciences - GitHub Pages · IApprentissage statistique est une branche de la statistique Di erences entre les deux visions IEn Machine learning, on met l’accent

Comparaison du Lasso et de la regression ridge (suite)

A gauche, biais au carre (noir), variance (en vert) et erreurquadratique de test (violet) pour le Lasso sur donnees simulees (ouseulement deux predicteurs sont influents).

A droite, comparaison du biais au carre, de la variance et de l’erreurde test quadratique pour le Lasso (traits plains) et la regression ridge(pointilles)

Page 85: Introduction aux data-sciences - GitHub Pages · IApprentissage statistique est une branche de la statistique Di erences entre les deux visions IEn Machine learning, on met l’accent

Conclusions

I Ces deux exemples montrent qu’il n’y a pas de meilleur choixuniversel entre la regression ridge et le Lasso.

I En general, on s’attend a ce que le Lasso se comporte mieuxlorsque la reponse est une fonction d’un nombre relativementfaible de predicteurs.

I Cependant, le nombre de predicteurs relies a la reponse n’estjamais connu a priori dans des cas concrets.

I Une technique comme la validation croisee permet de determinerquelle est la meilleure approche.

Page 86: Introduction aux data-sciences - GitHub Pages · IApprentissage statistique est une branche de la statistique Di erences entre les deux visions IEn Machine learning, on met l’accent

Choisir le parametre de reglage λ

I Comme pour les methodes du debut, la regression ridge et leLasso doivent etre calibre pour determiner le meilleur modele.

I C’est-a-dire qu’il faut une methode qui choisisse une valeur duparametre de reglage λ, ou de la contrainte s.

I La validation croisee fournit une facon simple d’attaquer ceprobleme. On fixe une grille de valeurs de λ possible et sur cettegrille, on estime l’erreur de test par validation croisee.

I On choisit alors la valeurs de λ pour laquelle cette estimation del’erreur de test est la plus faible.

I Enfin, le modele est re-ajuste pour utiliser toutes les observationsde la base d’entrainement avec la valeur de λ precedemmentobtenue.

Page 87: Introduction aux data-sciences - GitHub Pages · IApprentissage statistique est une branche de la statistique Di erences entre les deux visions IEn Machine learning, on met l’accent

Le zoo des methodes lasso I

I The eslaticnet Zou et Hastie 2005 vise a activer les variablescorrelees simultanement

βe-net

= arg minβ∈Rp

{1

2RSS

(β)

+ λ(α‖β‖1 + (1− α)‖β‖2

)}I Adaptive/Weighted-Lasso pondere chaque composante du

vecteur de coefficients

βlasso

= arg minβ∈Rp

{1

2RSS

(β)

+ λ‖w ◦ β‖1}.

Page 88: Introduction aux data-sciences - GitHub Pages · IApprentissage statistique est une branche de la statistique Di erences entre les deux visions IEn Machine learning, on met l’accent

Le zoo des methodes lasso II

I Group-Lasso Yuan and Lin 2006 vise a activer les variables pargroupes

βgroup

= arg minβ∈Rp

{1

2RSS

(β)

+ λ

K∑k=1

wk‖βGk‖1

}

I Cooperative-Lasso Chiquet et al. 2010 vise a activer les variables pargroupes de meme signe

βcoop

= arg minβ∈Rp

{1

2RSS

(β)

+ λ

K∑k=1

wk

(‖β+Gk‖1 + ‖β−Gk‖1

)}

Page 89: Introduction aux data-sciences - GitHub Pages · IApprentissage statistique est une branche de la statistique Di erences entre les deux visions IEn Machine learning, on met l’accent

Bilan

I Les methodes de selection de modeles sont essentielles pourl’analyse de donnees, et l’apprentissage statistique, en particulieravec de gros jeu de donnees contenant de nombreux predicteurs.

I Les questions de recherches qui donnent des solutions creuses(parcimonieuses, ou sparses), comme le Lasso, sont d’actualite.

Page 90: Introduction aux data-sciences - GitHub Pages · IApprentissage statistique est une branche de la statistique Di erences entre les deux visions IEn Machine learning, on met l’accent

Classification

Page 91: Introduction aux data-sciences - GitHub Pages · IApprentissage statistique est une branche de la statistique Di erences entre les deux visions IEn Machine learning, on met l’accent

Regression logistique

Notons p(X) = P(Y = 1|X) etconsiderons un seul predicteur X.La regression logistique pose

p(X) =exp(β0 + β1X)

1 + exp(β0 + β1X)

qui est toujours entre 0 et 1 ! Ona alors

log

(p(X)

1− p(X)

)= β0 + β1X

(transformation logit)

Estimation par maximum devraisemblance Lavraisemblance

L(β0, β1

)=∏i:yi=1

p(xi)∏i:yi=0

[1−p(xi)

]que l’on maximise pour obtenirβ0 et β1 (Ordinateur)La plupart des logiciels destatistique le font (glm de R parexemple)

Page 92: Introduction aux data-sciences - GitHub Pages · IApprentissage statistique est une branche de la statistique Di erences entre les deux visions IEn Machine learning, on met l’accent

Regression logisitque a plusieurs co-variables

log

(p(X)

1− p(X)

)= β0 + β1X1 + · · ·+ βpXp

Exemple : maladie cardiaque en Afrique du Sud

I 160 cas d’infarctus du myocarde (MI) et 302 cas de controle(homme entre 15-64 ans), de la province de Cap-Occidental enAfrique du Sud, au debut des annees 80

I Prevalence tres elevee dans cette region : 5.1 %

I Mesure de 7 predicteurs (facteurs de risque), montres dans lapage suivante

I Le but est d’identifier l’influence et la force relative des facteursde risque

I Cette etude fait partie d’un programme de sante publique dont lebut etait de sensibiliser la population sur une regime plusequilibre

Page 93: Introduction aux data-sciences - GitHub Pages · IApprentissage statistique est une branche de la statistique Di erences entre les deux visions IEn Machine learning, on met l’accent

sbp

0 10 25 1.0 1.6 0 50 150

100

160

220

010

25

tobacco

ldl

26

12

1.0

1.6

famhist

obesity

1530

45

050

150

alcohol

100 160 220 2 6 12 15 30 45 20 40 60

2040

60

age

orange : MIbleu :controlefamhist : 1 siantecedentsfamiliaux

Page 94: Introduction aux data-sciences - GitHub Pages · IApprentissage statistique est une branche de la statistique Di erences entre les deux visions IEn Machine learning, on met l’accent

Exemple (suite)> heartfit <- glm(chd ~ .,data=heart ,family=binomial)

> summary(heartfit)

Call:

glm(formula = chd ~ ., family = binomial, data = heart)

Coefficients:

Estimate Std. Error z value Pr(>|z|)

(Intercept) -4.1295997 0.9641558 -4.283 1.84e-05 ***

sbp 0.0057607 0.0056326 1.023 0.30643

tobacco 0.0795256 0.0262150 3.034 0.00242 **

ldl 0.1847793 0.0574115 3.219 0.00129 **

famhistPresent 0.9391855 0.2248691 4.177 2.96e-05 ***

obesity -0.0345434 0.0291053 -1.187 0.23529

alcohol 0.0006065 0.0044550 0.136 0.89171

age 0.0425412 0.0101749 4.181 2.90e-05 ***

---

Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

(Dispersion parameter for binomial family taken to be 1)

Null deviance: 596.11 on 461 degrees of freedom

Residual deviance: 483.17 on 454 degrees of freedom

AIC: 499.17

Page 95: Introduction aux data-sciences - GitHub Pages · IApprentissage statistique est une branche de la statistique Di erences entre les deux visions IEn Machine learning, on met l’accent

Echantillonnage du controle et regression logistique

I Dans les donnees d’Afrique du Sud, il y a 160 MI et 302controle — π = 0.35 des cas. Cependant, la prevalencedes MI dans la region est de π = 0.05.

I Ce biais d’echantillonnage permet d’estimer les βj,j 6= 0, avec plus de precision (si modele correct). Maisl’estimation de β0 doit etre corrigee.

I Une simple transformation permet de le faire :

β0∗

= β0 + log

1− π

)− log

1− π

)I Souvent, les cas pathologiques sont rares et on les prend

tous. On peut sur-echantillonner jusqu’a 5 fois plus queles cas temoins. Au dela, peu de gain dans la varianced’erreur d’echantillonnage.

Page 96: Introduction aux data-sciences - GitHub Pages · IApprentissage statistique est une branche de la statistique Di erences entre les deux visions IEn Machine learning, on met l’accent

Gain de variance par biais d’echantillonnage de donneesbinaires

Au dela d’unfacteur 5 desur-representationdes cas pa-thologiques,le gain n’estplusinteressant.

Page 97: Introduction aux data-sciences - GitHub Pages · IApprentissage statistique est une branche de la statistique Di erences entre les deux visions IEn Machine learning, on met l’accent

Regression logistique a plus de deux modalites

Jusqu’a maintenant, nous avons discute de regressionlogistique pour expliquer un Y a deux modalites. Il estfacile de generaliser a plus de deux classes. Une possibilite(utilisee dans la bibliotheque glmnet de R) est la formesymetrique

P(Y = k|X) =exp(β0k + β1kX1 + · · ·+ βpkXp∑K`=1 exp(β0` + β1`X1 + · · ·+ βp`Xp

Il y a donc une fonction lineaire par classe ou modalite.En fait, ce modele est sur-parametre, et comme dans le casde 2 classes, on peut supprimer l’une des fonctions lineaireset seules (K − 1) sont utiles. Le verifier !La regression logistique multi-classe porte plusieurs noms.On parle parfois de regression multinomiale.

Page 98: Introduction aux data-sciences - GitHub Pages · IApprentissage statistique est une branche de la statistique Di erences entre les deux visions IEn Machine learning, on met l’accent

Selection de modeles

Revenons a l’expression

minimiser(β0,β)∈Rp+1

{− 1

N`(β0,β

)+ λPα

(β)}

I `(β0,β

)= 1

2σ2 ‖y − β01−Xβ‖22 + c pour une regression lineairemultiple.

I Dans le cas d’une regression logistique

`(β0,β

)=

N∑i=1

{yi(β0 + β′xi

)− log

(1 + eβ0+β′xi

)}I La terme de regularisation (de penalite)

Pα(β)

= α‖β‖1 + (1− α)‖β‖2

Lasso si (α = 1) ridge si α = 1.

Page 99: Introduction aux data-sciences - GitHub Pages · IApprentissage statistique est une branche de la statistique Di erences entre les deux visions IEn Machine learning, on met l’accent

Deux exemples en grande dimension

Allons faire des testes sous R

I Jeu de donnees leukemia du package spikeslab : les genes exprimesdifferentiellement exprimes pour les deux types de leucemie AcuteMyeloblastic Leukemia et Acute Lymphoblastic Leukemia. n = 72et p = 3571.

I Jeu de donnees nki du package BreastCancerNKI debioconductor : determiner les genes exprimes sous la conditionestrogen receptor status actif. n = 337 et p = 24481

Page 100: Introduction aux data-sciences - GitHub Pages · IApprentissage statistique est une branche de la statistique Di erences entre les deux visions IEn Machine learning, on met l’accent

Analyse discriminante

L’idee est modeliser la loi de Xdans chaque classe separement,et d’utiliser le theoreme de Bayespour obtenir P(Y = k|X).Lorsque l’on utilise des loisgaussiennes pour chaque classes,cela donne l’analysediscriminante lineaire ouquadratique.Cette approche est plus generale,et l’on pourrait utiliser d’autresdistributions. Concentrons nousd’abord sur le cas gaussien.

Notons

I fk(x) la densite de Xsachant que l’on est dans laclasse k ;

I πk la probabilite (marginale)de la classe k

On a alors

P(Y = k|X = x) =πkfk(x)∑K`=1 π`f`(x)

.

Page 101: Introduction aux data-sciences - GitHub Pages · IApprentissage statistique est une branche de la statistique Di erences entre les deux visions IEn Machine learning, on met l’accent

Classifier dans la classe de densite la plus elevee

On classifie une nouvelle observation dans la classe de densite la pluselevee.Lorsque les frequences (marginales) des classes sont differentes, il fautprendre en compte cette difference, et l’on compare les πkfk(x).Sur l’exemple ci-dessus, la classe des roses a une probabilite marginaleplus elevee. La frontiere entre les deux decisions s’est deplacee sur lagauche.

Page 102: Introduction aux data-sciences - GitHub Pages · IApprentissage statistique est une branche de la statistique Di erences entre les deux visions IEn Machine learning, on met l’accent

Pourquoi utiliser l’analysediscriminante lineaire ?

I Lorsque les classes sont bienseparees, l’estimation desparametres de la regressionlogistique devient instable.L’analyse discriminantelineaire (LDA) ne souffre pasde ce probleme.

I Lorsque n est petit et ladistribution de X est a peupres gaussienne dans chaqueclasse, LDA est plus stableque la regression logistique.

I LDA est aussi populairelorsqu’il y a plus de deuxmodalites pour Y car ellepermet de projeter lesdonnees dans des plansseparent les groupes.

En dimension 1On cherchepk(x) = P(Y = k|X = x) avec

fk(x) =1√

2πσkexp

(−1

2

(x− µkσk

)2)

LDA suppose queσ1 = · · · = σK = σ.Ce qui donne

pk(x) =πke− 1

2

(x−µkσ

)2

∑K`=1 π`e

− 12

(x−µ`σ

)2

apres avoir simplifier par1/√

2πσ en facteur partout.

Page 103: Introduction aux data-sciences - GitHub Pages · IApprentissage statistique est une branche de la statistique Di erences entre les deux visions IEn Machine learning, on met l’accent

En dimension 1On cherchepk(x) = P(Y = k|X = x) avec

fk(x) =1√

2πσkexp

(−1

2

(x− µkσk

)2)

LDA suppose queσ1 = · · · = σK = σ.Ce qui donne

pk(x) =πke− 1

2

(x−µkσ

)2

∑K`=1 π`e

− 12

(x−µ`σ

)2

apres avoir simplifier par1/√

2πσ en facteur partout.

Pour construire un classificateuren X = x, il faut maintenantchercher quel pk(x) est le plusgrand.Noter que les denominateurs dedependent pas de k.En passant au log, il suffit decomparer les

δk(x) = x · µkσ2− µ2

k

2σ2+ log(πk).

Ces fonctions lineaires de xs’appellent les scores de Fisher.Si K = 2, et π1 = π2 = 0.5,verifier que la frontiere dedecision est en

x =µ1 + µ2

2.

Page 104: Introduction aux data-sciences - GitHub Pages · IApprentissage statistique est une branche de la statistique Di erences entre les deux visions IEn Machine learning, on met l’accent

Analyse discriminante : estimation

Exemple simule avec µ1 = −1.5, µ2 = 1.5, π1 = π2 = 0.5, et σ2 = 1.Typiquement, on ne connait pas ces parametres et on doit lesapprendre sur des donnees. Dans ce cas, on estime simplement lesparametres et on � plug � les estimations dans les formules theoriques.

Page 105: Introduction aux data-sciences - GitHub Pages · IApprentissage statistique est une branche de la statistique Di erences entre les deux visions IEn Machine learning, on met l’accent

Analyse discriminante lineaire (suite)

πk = nk/n

µk =∑i:yi=k

xi

/nk

σ2k =

∑i:yi=k

(xi − µk

)2/(nk − 1)

σ2 =

K∑k=1

nk − 1

n−K· σ2

k

En dimension p > 1, les formulesse generalisent.Rappelons

f(x) =1

(2π)p/2|Σ|1/2e

12 (x−µ)TΣ−1(x−µ)

Les scores deviennent

δk(x) = xTΣ−1µk−1

2µTk Σ−1µk+log(πk)

qui est toujours une fonctionlineaire en x.

Page 106: Introduction aux data-sciences - GitHub Pages · IApprentissage statistique est une branche de la statistique Di erences entre les deux visions IEn Machine learning, on met l’accent

Exemple simule en dimension 2

Exemple simule π1 = π2 = π3 = 1/3.Les lignes pointillees : frontieres theoriquesLes lignes pleines : frontieres estimees par LDA

Page 107: Introduction aux data-sciences - GitHub Pages · IApprentissage statistique est une branche de la statistique Di erences entre les deux visions IEn Machine learning, on met l’accent

Autre exemple : les Iris de Fisher

Sepal.Length

2.0 3.0 4.0 0.5 1.5 2.5

4.5

5.5

6.5

7.5

2.0

3.0

4.0

Sepal.Width

Petal.Length

12

34

56

7

4.5 5.5 6.5 7.5

0.5

1.5

2.5

1 2 3 4 5 6 7

Petal.Width

4 variablesexplicatives3 especes50observations/classesbleu : � setosa �

orange :� versicolor �

vert : � virginica �

Page 108: Introduction aux data-sciences - GitHub Pages · IApprentissage statistique est une branche de la statistique Di erences entre les deux visions IEn Machine learning, on met l’accent

Plan discriminant des Iris

Lorsqu’il y a K groupes, LDA fournit une projection de dimension(K − 1) qui separe au mieux les nuages de points.(K − 1) ? Essentiellement parce les centres des classes µ1, µ2 et µ3 (ouplutot leurs estimations) definissent un plan dans l’espace.

Page 109: Introduction aux data-sciences - GitHub Pages · IApprentissage statistique est une branche de la statistique Di erences entre les deux visions IEn Machine learning, on met l’accent

Autres formes d’analyse discriminante

P(Y = k|X = x) =πkfk(x)∑K`=1 π`f`(x)

Lorsque les fk(x) sont des gaussiennes de meme variance,LDA.En changeant la forme des fk(x), on obtient d’autresclassifieurs.

I Avec des gaussiennes, mais de variances distinctes, onobtient l’analyse discriminante quadratique

I Avec des fk(x) =∏p

j=1 fjk(xj) qui se factorisent parco-variables, on obtient naive Bayes

I Beaucoup d’autres cas, y compris non-parametriques.

Page 110: Introduction aux data-sciences - GitHub Pages · IApprentissage statistique est une branche de la statistique Di erences entre les deux visions IEn Machine learning, on met l’accent

Analyse discrimante quadratique

δk = −1

2(x− µk)TΣ−1

k (x− µk) + log(πk)

Comme les Σk sont differents, des termes quadratiquesapparaissent.

Page 111: Introduction aux data-sciences - GitHub Pages · IApprentissage statistique est une branche de la statistique Di erences entre les deux visions IEn Machine learning, on met l’accent

Naive Bayes

Suppose que les co-variables sont independantesconditionnellement a chaque classe.Utile quand p grand et que des methodes comme QDA ouLDA tombent.

I Le cas gaussien revient a supposer que les Σk sontdiagonales

δk(x) ∝ log

(πk

p∏j=1

fkj(xj)

)= −1

2

p∑j=1

(xj − µjk)2

σ2kj

+log(πk)

I peut servir dans le cas mixte ou certaines co-variablessont qualitatives. Dans ce cas, on replace les densitesintra-classes correspondantes par des frequencesintra-classes.

Meme si l’hypothese de depart semble tres forte, merited’etre teste car donne souvent de bons resultats.

Page 112: Introduction aux data-sciences - GitHub Pages · IApprentissage statistique est une branche de la statistique Di erences entre les deux visions IEn Machine learning, on met l’accent

Regression logistique ou LDA ?

Pour un probleme a deux classes, LDA verifie

log

(p1(x)

1− p1(x)

)= log

(p1(x)

p2(x)

)= c0 + c1x1 + · · ·+ cPxp

Meme forme que pour la regression logistique.La difference est dans la facon dont sont estimes lesparametres.

I La regression logistique utilise des vraisemblancesconditionnelles et ne modelise que P(Y = k|X) — onparle d’apprentissage discriminant

I LDA utilise une vraisemblance complete basee sur la loijointe de (X, Y ) — on parle d’apprentissage generatif

I Malgre ces differences, en pratique, les resultats sontsouvent similaires.

Page 113: Introduction aux data-sciences - GitHub Pages · IApprentissage statistique est une branche de la statistique Di erences entre les deux visions IEn Machine learning, on met l’accent

Conclusion et. . .

I La regression logistique est tres populaire pour laclassification, surtout lorsqu’il n’y a que K = 2 classes

I LDA est utile, meme lorsque n est petit, ou lorsque lesclasses sont bien separees et que l’hypothese gaussienneest raisonnable. Et K > 2

I Naive Bayes est utile lorsque p est grand

I En petite dimension (p < 4), et avec beaucoupd’observations, on peut faire de l’analyse discriminantenon-parametrique, en remplacant les gaussiennes pardes densites intra-classes estimees (par une methode anoyau)

I Autres methodes (modeles additifs generalises, SVM,random forest, etc.) dans les cours suivants.

Page 114: Introduction aux data-sciences - GitHub Pages · IApprentissage statistique est une branche de la statistique Di erences entre les deux visions IEn Machine learning, on met l’accent

Dendrologie

Page 115: Introduction aux data-sciences - GitHub Pages · IApprentissage statistique est une branche de la statistique Di erences entre les deux visions IEn Machine learning, on met l’accent

Methodes basees sur des arbres

I Nous decrivons ici des methodes basees sur des arbres pour laclassification et la regression.

I Cela implique de stratifier ou segmenter l’espace des predicteursen un certain nombre de regions simples

I Comme l’ensemble des regles des partitionnement peuvent etreresumees par un arbre, ce type d’approches sont connues commedes methodes a arbres de decision

Page 116: Introduction aux data-sciences - GitHub Pages · IApprentissage statistique est une branche de la statistique Di erences entre les deux visions IEn Machine learning, on met l’accent

Pours et contres

I Les methodes basees sur des arbres sont simples et utiles pourl’interpretation.

I Cependant, elles ne sont pas capables de rivaliser avec lesmeilleures approches d’apprentissage supervise en terme dequalite de prediction

I Nous discuterons donc aussi de bagging, forets aleatoires (randomforests), et boosting. Ces methodes developpent de nombreuxarbres de decision qui sont ensuite combines pour produire unereponse consensus.

Page 117: Introduction aux data-sciences - GitHub Pages · IApprentissage statistique est une branche de la statistique Di erences entre les deux visions IEn Machine learning, on met l’accent

Les bases des arbres de decision

I Les arbres de decision sont utiles aussi bien pour des problemesde regression que de classification.

I Nous commencons par presenter des problemes de regression etnous viendrons ensuite a la classification.

Page 118: Introduction aux data-sciences - GitHub Pages · IApprentissage statistique est une branche de la statistique Di erences entre les deux visions IEn Machine learning, on met l’accent

Donnees de salaire au baseball : comment les stratifier ?Le salaire est code par des couleurs : les faibles valeurs sont en bleu,puis vert, les plus fortes valeurs en orange puis rouge.

Page 119: Introduction aux data-sciences - GitHub Pages · IApprentissage statistique est une branche de la statistique Di erences entre les deux visions IEn Machine learning, on met l’accent

L’arbre de decision sur ces donnees

Page 120: Introduction aux data-sciences - GitHub Pages · IApprentissage statistique est une branche de la statistique Di erences entre les deux visions IEn Machine learning, on met l’accent

Details sur la precedente figure

I C’est un arbre de regression pour predire le log des salaires desjoueurs, base surI l’experience (Years)I le nombre de succees (Hits)

I Pour chaque nœud interne, l’etiquette (de la forme Xj < tk)indique la branche de gauche emanant du nœud, et la branchedroite correspond a Xj ≥ tk.

I Cet arbre a deux nœuds internes et trois nœuds terminaux oufeuilles. Le nœud le plus haut dans la hierarchie est la racine.

I L’etiquette des feuilles est la reponse moyenne des observationsqui satisfont aux criteres pour la rejoindre.

Page 121: Introduction aux data-sciences - GitHub Pages · IApprentissage statistique est une branche de la statistique Di erences entre les deux visions IEn Machine learning, on met l’accent

Resultats

I En tout, l’arbre distingue trois classes de joueurs en partitionnantl’espace des predicteurs en trois regions :R1 = {X : Years < 4.5}, R2 = {X : Years ≥ 4.5, Hits < 117.5}et R3 = {X : Years ≥ 4.5, Hits ≥ 117.5}.

Page 122: Introduction aux data-sciences - GitHub Pages · IApprentissage statistique est une branche de la statistique Di erences entre les deux visions IEn Machine learning, on met l’accent

Interpretation des resultats

I Years est le facteur le plus important pour expliquer Salary : lesjoueurs de moindre experience gagnent moins que les joueursexperimentes

I Sachant qu’un joueur a peu d’experience, le nombre de Hits

l’annee passee n’influence pas son salaire

I Mais, parmis les joueurs experimentes, le nombre de Hits del’annee passee affecte son salaire (positivement)

I C’est surement une simplification de la realite, mais compare aun modele de regression (lineaire par exemple), la fonction deregression est simple a decrire, interpreter et expliquer.

Page 123: Introduction aux data-sciences - GitHub Pages · IApprentissage statistique est une branche de la statistique Di erences entre les deux visions IEn Machine learning, on met l’accent

Details sur la construction de l’arbre

Algorithme CART (Classification and Regression Trees)

1. Division de l’espace des predicteurs en J regions distinctes, nonrecouvrantes : R1, R2, . . . RJ .

2. Pour toute nouvelle observation des predicteurs X = x0, onregarde dans quelle region on tombe, disons R`. La prediction estla moyenne des valeurs observees dans la partie de l’ensembled’entrainement qui tombent dans R`.

Page 124: Introduction aux data-sciences - GitHub Pages · IApprentissage statistique est une branche de la statistique Di erences entre les deux visions IEn Machine learning, on met l’accent

Details sur la construction de l’arbre (suite)

I Pour limiter l’espace des partitions possibles, les arbres dedecision divisent l’espace en rectangles ou boıtes paralleles auxaxes.

I Le but est de trouver les boıtes R1, . . . , RJ qui minimisent uncritere des moindres carres, ici

SSE =

J∑j=1

∑i:xi∈Rj

(yj − yRj

)2

,

ou yRj est la reponse moyenne sur les observationsd’entrainement qui tombent dans Rj .

Page 125: Introduction aux data-sciences - GitHub Pages · IApprentissage statistique est une branche de la statistique Di erences entre les deux visions IEn Machine learning, on met l’accent

Details sur la construction de l’arbre (suite)

I Malheureusement, il est impossible de traverser l’ensemble despartitionnements de l’espace des predicteurs en J boıtes.

I Pour cette raison, on met en place un algorithme glouton,top-down qui construit l’arbre binaire de facon recursive.

I L’algorithme demarre a la racine de l’arbre et separe ensuitel’espace des predicteurs en ajoutant progressivement des nœuds.

I On parle d’algorithme glouton car a chaque etape de laconstruction de l’arbre, on construit la meilleur division possibledu nœud en deux sous-nœuds.

Page 126: Introduction aux data-sciences - GitHub Pages · IApprentissage statistique est une branche de la statistique Di erences entre les deux visions IEn Machine learning, on met l’accent

L’algorithme de construction de l’arbre T0 (phase 1)

InitialisationNœud racine : on place l’ensemble de l’echantillon d’estimation a laracine de l’arbre

Recurrence sur chaque nœudOn partionne chaque nœud en deux classes :

R1(j, s) = {X : Xj ≤ s}, R2(j, s) = {X : Xj > s}

en cherchant j et s qui minimisent

∑xi∈R1(j,s)

(yi − c1

)2

+∑

xi∈R2(j,s)

(yi − c2

)2

ou cm = ave(yi

∣∣∣xi ∈ Rm(j, s))

.

Page 127: Introduction aux data-sciences - GitHub Pages · IApprentissage statistique est une branche de la statistique Di erences entre les deux visions IEn Machine learning, on met l’accent

Algorithme (suite...)

Phase 1 : Construction de T0

Initialisation[. . . ]

Recurrence sur chaque nœud[. . . ]

TerminaisonOn arrete de diviser un nœud de T0 lorsqu’il y a peu d’observations(disons 5).

Probleme de sur-apprentissage• un arbre trop profond sur-apprend• un arbre trop peu profond n’est pas assez precisD’ou � Elagage de T0 �

Page 128: Introduction aux data-sciences - GitHub Pages · IApprentissage statistique est une branche de la statistique Di erences entre les deux visions IEn Machine learning, on met l’accent

Algorithme (suite...)

Phase 1 : Construction de T0

Initialisation[. . . ]

Recurrence sur chaque nœud[. . . ]

TerminaisonOn arrete de diviser un nœud de T0 lorsqu’il y a peu d’observations(disons 5).

Probleme de sur-apprentissage• un arbre trop profond sur-apprend• un arbre trop peu profond n’est pas assez precisD’ou � Elagage de T0 �

Page 129: Introduction aux data-sciences - GitHub Pages · IApprentissage statistique est une branche de la statistique Di erences entre les deux visions IEn Machine learning, on met l’accent

Sur-apprentissage

L’arbre T0 obtenu est trop profond. Faire un compromis entre

I sur-apprentissage (trop profond)

I erreur de prediction trop grande (trop court)

Introduire un parametre α qui regle le compromis, et minimiser lecritere penalise defini pour T ⊂ T0 par

Cα(T ) :=

|T |∑m=1

Nm(T )Qm(T ) + α|T |,

ou |T | = nombre de feuilles de T ; Nm(T ) = Card {xi ∈ Rm(T )} ;

Qm(T ) =1

Nm(T )

∑xi∈Rm(T )

(yi − cm(T ))2 ;

cm(T ) = ave(yi

∣∣∣xi ∈ Rm(T ))

Page 130: Introduction aux data-sciences - GitHub Pages · IApprentissage statistique est une branche de la statistique Di erences entre les deux visions IEn Machine learning, on met l’accent

Algorithme (suite. . . )

Phase 2 : Elagage

Calcul des minima Tα du critere penaliseOn part de T0 et on construit une suite d’arbres iterativement. Achaque etape, on supprime le nœud interne de tel sorte a produire laplus petite augmentation de∑

m

Nm(T )Qm(T )

et l’on s’arrete lorsque l’arbre est reduit a un seul nœud (racine).Tous les minima T = Tα des fonctions T 7→ Cα(T ) sont dans cettesuite

Calibration de αPar validation croisee a 5 ou 10 blocs

Page 131: Introduction aux data-sciences - GitHub Pages · IApprentissage statistique est une branche de la statistique Di erences entre les deux visions IEn Machine learning, on met l’accent

Algorithme (suite. . . )

Phase 2 : Elagage

Calcul des minima Tα du critere penaliseOn part de T0 et on construit une suite d’arbres iterativement. Achaque etape, on supprime le nœud interne de tel sorte a produire laplus petite augmentation de∑

m

Nm(T )Qm(T )

et l’on s’arrete lorsque l’arbre est reduit a un seul nœud (racine).Tous les minima T = Tα des fonctions T 7→ Cα(T ) sont dans cettesuite

Calibration de αPar validation croisee a 5 ou 10 blocs

Page 132: Introduction aux data-sciences - GitHub Pages · IApprentissage statistique est une branche de la statistique Di erences entre les deux visions IEn Machine learning, on met l’accent

Algorithme (suite. . . et fin !)

Phase 2 : Elagage

Calcul des minima Tα du critere penaliseOn part de T0 et on construit une suite d’arbres iterativement. Achaque etape, on supprime le nœud interne de tel sorte a produire laplus petite augmentation de∑

m

Nm(T )Qm(T )

et l’on s’arrete lorsque l’arbre est reduit a un seul nœud (racine).Tous les minima T = Tα des fonctions T 7→ Cα(T ) sont dans cettesuite

Calibration de αPar validation croisee a 5 ou 10 blocs

FIN

Page 133: Introduction aux data-sciences - GitHub Pages · IApprentissage statistique est une branche de la statistique Di erences entre les deux visions IEn Machine learning, on met l’accent

Arbres de classification

I Similaires aux arbres de regression, sauf qu’ils sont utilises pourpredire une reponse discretes

I Pour un arbre de classification, on predit a l’aide la classe la plusfrequente dans cette feuille parmi les donnees d’entrainement.

Page 134: Introduction aux data-sciences - GitHub Pages · IApprentissage statistique est une branche de la statistique Di erences entre les deux visions IEn Machine learning, on met l’accent

Difference avec la regression

Y ∈ {1, 2, . . . ,K},donc f(x) ∈ {1, 2, . . . ,K}

Il faut changer le critere des moindres carres en un critere plusadapte, lie a la mesure des erreurs de classification.

Si la feuille m represente la region Rm avec Nm observations, ondefinit

pmk =1

Nm

∑xi∈Rm

1{yi = k},

la proportion d’observation du nœud m appartenant a la ke classe.

Alors la valeurs de f sur Rm est cm = argmaxk pmk (vote a lamajorite simple).

Page 135: Introduction aux data-sciences - GitHub Pages · IApprentissage statistique est une branche de la statistique Di erences entre les deux visions IEn Machine learning, on met l’accent

Mesure d’erreur

Les differentes mesures d’impurete Qm(T ) d’une feuille m sont

I erreur de classification :1

Nm

∑xi∈Rm

1{yi 6= cm} = 1− pmcm

I Index de Gini :∑k 6=k′

pmkpmk′ =∑k

pmk(1− pmk)

I Entropie : −∑k pmk log pmk.

Le critere que l’on minimise pour construire T0 est

|T |∑m=1

Nm(T )Qm(T )

On penalise ensuite comme pour la regression.

Page 136: Introduction aux data-sciences - GitHub Pages · IApprentissage statistique est une branche de la statistique Di erences entre les deux visions IEn Machine learning, on met l’accent

Mesure d’erreur

Les differentes mesures d’impurete Qm(T ) d’une feuille m sont

I erreur de classification :1

Nm

∑xi∈Rm

1{yi 6= cm} = 1− pmcm

I Index de Gini :∑k 6=k′

pmkpmk′ =∑k

pmk(1− pmk)

I Entropie : −∑k pmk log pmk.

Le critere que l’on minimise pour construire T0 est

|T |∑m=1

Nm(T )Qm(T )

On penalise ensuite comme pour la regression.

Page 137: Introduction aux data-sciences - GitHub Pages · IApprentissage statistique est une branche de la statistique Di erences entre les deux visions IEn Machine learning, on met l’accent

Mesure d’erreur

Les differentes mesures d’impurete Qm(T ) d’une feuille m sont

I erreur de classification :1

Nm

∑xi∈Rm

1{yi 6= cm} = 1− pmcm

I Index de Gini :∑k 6=k′

pmkpmk′ =∑k

pmk(1− pmk)

I Entropie : −∑k pmk log pmk.

Le critere que l’on minimise pour construire T0 est

|T |∑m=1

Nm(T )Qm(T )

On penalise ensuite comme pour la regression.

Page 138: Introduction aux data-sciences - GitHub Pages · IApprentissage statistique est une branche de la statistique Di erences entre les deux visions IEn Machine learning, on met l’accent

Bibliotheque rpart de R

Lire la � vignette � de la bibliotheque

vignette("longintro", package="rpart")

La commande rpart fait presque tout.

Page 139: Introduction aux data-sciences - GitHub Pages · IApprentissage statistique est une branche de la statistique Di erences entre les deux visions IEn Machine learning, on met l’accent

Avantages et inconvenients des arbres

N Les arbres sont faciles a expliquer a n’importe qui. Ils sont plusfaciles a expliquer que les modeles lineaires

N Les arbres peuvent etre representes graphiquement, et sontinterpretables meme mais des non-experts

N Ils peuvent gerer des predicteurs discrets sans introduire desvariables binaires

H Malheureusement, ils n’ont pas la meme qualite predictives queles autres approches de ce cours.

Cependant, en agregeant plusieurs arbres de decision, lesperformances predictives s’ameliorent substantiellement.

Page 140: Introduction aux data-sciences - GitHub Pages · IApprentissage statistique est une branche de la statistique Di erences entre les deux visions IEn Machine learning, on met l’accent

Bagging

I L’agregation bootstrap ou bagging est methode de reduction dela variance en apprentissage statistique. Elle est particulierementutile sur les arbres de decision.

I Rappelons que, sur un ensemble de n observations independantesZ1, . . . , Zn, chacune de variance σ2, la variance de la moyenne Zest σ2/n.

I En pratique, il n’est pas possible de moyenner des arbres dedecision construits sur de multiples ensembles d’entrainement(pas assez de donnees observees)

Page 141: Introduction aux data-sciences - GitHub Pages · IApprentissage statistique est une branche de la statistique Di erences entre les deux visions IEn Machine learning, on met l’accent

Bagging (suite)

I Au lieu de cela, on peut bootstrapper en re-echantillonnantplusieurs fois les donnees d’entrainement.

I Alors, a partir de B echantillons bootstrap, on entraine unemethode d’apprentissage pour ajuster B fonctions de regressions,notees f∗b(x), b = 1, . . . , B

I La fonction de regression � bagguee � est alors

fbag(x) =1

B

B∑b=1

f∗b(x)

Page 142: Introduction aux data-sciences - GitHub Pages · IApprentissage statistique est une branche de la statistique Di erences entre les deux visions IEn Machine learning, on met l’accent

Bagging (suite)

I Sur un probleme de classification, f∗b(x) renvoie une classepossible pour chaque echantillon bootstrap b.

I La decision finale fbag(x) se prend par un vote a la majoritesimple parmi les B predictions des classifieurs bootstrap.

I Sur des gros jeux de donnees d’entrainement, faire parfois dusous-echantillonnage bootstrap.

Page 143: Introduction aux data-sciences - GitHub Pages · IApprentissage statistique est une branche de la statistique Di erences entre les deux visions IEn Machine learning, on met l’accent

Erreur out-of-bag

I Il y a une facon simple d’estimer l’erreur de test quand on fait dubagging.

I La cle du bagging est l’entrainement de nombreux f(x) sur desechantillons bootstraps. On peut donc utiliser les observationshors du be bootstrap pour evaluer chaque f∗b(x)

I Ce qui donne l’algorithme ci-dessous.

1. Pour chaque observation (xi, yi), calculer yoobi la prediction en

n’utilisant que les estimateurs f∗b(x) qui n’ont pas vu cetteobservation dans leur entrainement

2. Evaluer l’erreur entre yoobi et les yi (erreur quadratique moyenne

ou taux de mauvaise classification)

Page 144: Introduction aux data-sciences - GitHub Pages · IApprentissage statistique est une branche de la statistique Di erences entre les deux visions IEn Machine learning, on met l’accent

Forets aleatoires (random forests)

I Les forets aleatoires ameliorent le bagging des arbres CART ende-correlant ces arbres. Ce qui permet de mieux reduire lavariance

I Comme precedemment, on construit une suite d’arbres dedecisions sur des echantillons bootstraps

I Au lieu d’utiliser l’algorithme CART, on utilise un algorithmerandomise.

I Au moment de diviser un nœud, cet algorithme ne regarde que mpredicteurs parmi les p > m predicteurs, tires au hasard.

I Une nouvelle selection de predicteurs est faite a chaque divisionde nœud.

I Il est inutile d’elaguer les arbres de decision, le bagging se charged’eviter les erreurs de sur-apprentissage.

Page 145: Introduction aux data-sciences - GitHub Pages · IApprentissage statistique est une branche de la statistique Di erences entre les deux visions IEn Machine learning, on met l’accent

Parametres de reglage

I Il faut choisirI le nombre de predicteurs m (par defaut

√p en regression) tires a

chaque division de nœudI le nombre total d’arbresI la taille des sous-echantillons bootstraps si gros jeu de donnees

I On peut s’appuyer sur l’erreur out-of-bag

Page 146: Introduction aux data-sciences - GitHub Pages · IApprentissage statistique est une branche de la statistique Di erences entre les deux visions IEn Machine learning, on met l’accent

Exemple sur donnees d’expression de 500 genes

Page 147: Introduction aux data-sciences - GitHub Pages · IApprentissage statistique est une branche de la statistique Di erences entre les deux visions IEn Machine learning, on met l’accent

I Resultats de forets aleatoires pour predire les 15 classes a partirdu niveau d’expression de 500 genes

I L’erreur de test (evaluee par OOB) depend du nombre d’arbres.Les differentes couleurs correspondent a differentes valeurs de m.

I Les forets aleatoires ameliorent significativement le taux d’erreurde CART (environ 45.7%)

Page 148: Introduction aux data-sciences - GitHub Pages · IApprentissage statistique est une branche de la statistique Di erences entre les deux visions IEn Machine learning, on met l’accent

Boosting

I Comme le bagging, boosting est une approche generale qui peuts’appliquer a de nombreuses methodes de regression etclassification. Nous presenterons ici uniquement le boosting surdes arbres de decision.

I Rappelons que le bagging cree de multiples copies du jeu dedonnees par bootstrap, ajuste des arbres de decision sur chacunedes copies, et les combinent pour creer un seul modele deprediction.

I Ainsi, chaque arbre est construit sur un echantillon bootstrapindependamment des autres arbres

I Le boosting fonctionne un peu de la meme facon, sauf que lesarbres sont construits iterativement : chaque nouvel arbre utilisel’information des arbres precedemment entraines.

Page 149: Introduction aux data-sciences - GitHub Pages · IApprentissage statistique est une branche de la statistique Di erences entre les deux visions IEn Machine learning, on met l’accent

Algorithme de boosting pour les arbres de regression

1. Fixer f(x) = 0 et ri = yi pour tout i de l’ensembled’entrainement.

2. Pour b = 1, . . . , B faireI Ajuster un arbre fb a d nœuds internes (d+ 1 feuilles) pour

predire les ri avec xiI Mettre a jour f en ajoutant ce nouvel arbre (a un coefficient λ de

reduction pres)f(x)← f(x) + λfb(x)

I Mettre a jour les residus

ri ← ri − λfb(xi)

3. Retourner le modele

f(x) =

B∑b=1

λf b(x).

Page 150: Introduction aux data-sciences - GitHub Pages · IApprentissage statistique est une branche de la statistique Di erences entre les deux visions IEn Machine learning, on met l’accent

Quelle est l’idee sous-jacente ?

I Contrairement a l’ajustement d’un grand arbre de decision auxdonnees (d’entrainement), ce qui revient a s’ajuster fortementaux donnees (avec potentiellement du sur-apprentissage), leboosting apprend lentement.

I Etant donne le modele courant, on ajuste un arbre de decisionaux residus de ce modele. Nous ajoutons ce nouvel arbre dedecision a la fonction de regression estimee et corrigeons lesresidus en consequence.

I Chacun de ces arbres est relativement petit, avec peu de nœudsterminaux, determines par un parametre de reglage d del’algorithme

I En ajoutant progressivement ces arbres, on ameliore fprogressivement, dans les zones ou les performances de la versioncourante ne sont pas bonnes. Le parametres λ est une sorte deparametres de � shrinkage � qui regle la vitesse a laquelle onapprend.

Page 151: Introduction aux data-sciences - GitHub Pages · IApprentissage statistique est une branche de la statistique Di erences entre les deux visions IEn Machine learning, on met l’accent

Boosting pour la classification

I Le boosting pour la classification fonctionne dans le meme esprit,mais est un peu plus complique. Nous ne donnerons pas dedetails ici.

I Voir, par exemple, le chapitre de 10 de ESL

I Le package R gbm (gradient boosted models) permet d’utiliser leboosting dans de nombreux problemes de classification etregression.

Page 152: Introduction aux data-sciences - GitHub Pages · IApprentissage statistique est une branche de la statistique Di erences entre les deux visions IEn Machine learning, on met l’accent

Donnees d’expression de genes

Page 153: Introduction aux data-sciences - GitHub Pages · IApprentissage statistique est une branche de la statistique Di erences entre les deux visions IEn Machine learning, on met l’accent

I La figure precedente presente les resultats du boosting et derandom forest sur le jeu de donnees d’expression de genes

I L’erreur de test est representee en fonction du nombres d’arbres.Pour les deux modeles ajustes par boosting, λ = 0.01. Les arbresde profondeur 1 battent legerement ceux de profondeur 2, maistous deux sont meilleurs que les forets aleatoires. (L’erreurstandard sur ce taux de mauvaise classification estime est de0.02, de telle sorte que la difference n’est pas tres significative).

I La meilleure erreur de test avec un seul arbre est de 24%

Page 154: Introduction aux data-sciences - GitHub Pages · IApprentissage statistique est une branche de la statistique Di erences entre les deux visions IEn Machine learning, on met l’accent

Reglage des parametres du boosting

1. Le nombre d’arbres B. Contrairement au bagging et auxforets aleatoires, le boosting peut conduire a un sur-apprentissagesi B est trop grand, meme si il faut des grandes valeurs de Bpour le constater.

2. Le parametre de shrinkage λ. Il controle la vitesse a laquellele boosting apprend. Les valeurs typiques sont 0.01 ou 0.001,mais le meilleur choix depend du probleme. De tres petitesvaleurs de λ peuvent necessiter l’ajustement de nombreux arbres.

3. Le nombre de nœuds internes d. Il controle la complexite deselements ajoutes. Souvent, d = 1 est une bonne valeur, auquel casl’arbre est en forme de queue de cerise.

Page 155: Introduction aux data-sciences - GitHub Pages · IApprentissage statistique est une branche de la statistique Di erences entre les deux visions IEn Machine learning, on met l’accent

Mesure de l’importance des variables

I Pour les arbres de regression baggues ou pour random forest, oncollecte le nombre moyen (moyenne sur les arbres agreges) de foisqu’un predicteur intervient dans l’arbre. Une grande valeur

I Pour les arbres de classification, on ajoute la quantite completede l’indice de Gini qui a baisse par separation suivant un certainpredicteur, et on moyenne sur la foret.

Page 156: Introduction aux data-sciences - GitHub Pages · IApprentissage statistique est une branche de la statistique Di erences entre les deux visions IEn Machine learning, on met l’accent

Resume

I Les arbres de decision sont des modeles simples et interpretables.

I Cependant, ils fournissent souvent de mauvais resultats comparesa d’autres methodes.

I Bagging, random forest ou boosting sont de bonne methodes pourameliorer la qualite de la prediction des arbres de decision. Cesmethodes agregent de nombreux arbres entraines sur les donneeset ensuite combinent ces arbres pour construire la decision finale.

I Ces deux dernieres methodes (les forets aleatoires et le boosting)font parmi de l’etat de l’art actuel des methodes d’apprentissagesupervise. Cependant, le classifieur ou la fonction de regressionproduite peut etre difficile a interpreter.

Page 157: Introduction aux data-sciences - GitHub Pages · IApprentissage statistique est une branche de la statistique Di erences entre les deux visions IEn Machine learning, on met l’accent

Support Vector Machines (SVM)

SVM attaque le probleme de classification entre deux classes de facondirecte

On essaie de trouver un (hyper)plan qui separe les classes dansl’espace des predicteurs

Faute d’y arriver directement,

I on adoucit la definition de � separer � et

I on enrichit l’espace des covariables de sorte a rendre la separationpossible

Page 158: Introduction aux data-sciences - GitHub Pages · IApprentissage statistique est une branche de la statistique Di erences entre les deux visions IEn Machine learning, on met l’accent

Qu’est-ce qu’un hyperplan ?

I Un hyperplan d’un espace de dimension p est un sous-espaceaffine de dimension p− 1.

I En general, l’equation d’un hyperplan est de la forme

β0 + β1X1 + · · ·+ βpXp = 0

I En dimension p = 2, un hyperplan est une droite.

I Si β0, il passe par l’origine.

I Le vecteur (β1, β2, . . . , βp) est un vecteur normal. Il pointe dansune direction orthogonale a l’hyperplan

Page 159: Introduction aux data-sciences - GitHub Pages · IApprentissage statistique est une branche de la statistique Di erences entre les deux visions IEn Machine learning, on met l’accent

Hyperplan en dimension 2

Page 160: Introduction aux data-sciences - GitHub Pages · IApprentissage statistique est une branche de la statistique Di erences entre les deux visions IEn Machine learning, on met l’accent

Hyperplan de separation

I Si f(X) = β0 + β1X1 + · · ·+ βpXp, alors f(X) > 0 pour lespoints d’un cote de l’hyperplan et f(X) < 0 de l’autres cote.

I Si l’on suppose que les points Yi = +1 sont en bleu et Yi = −1 enmauve, alors Yi · f(Xi) > 0 pour tout i. De plus f(X) = 0 definitun hyperplan separateur.

Page 161: Introduction aux data-sciences - GitHub Pages · IApprentissage statistique est une branche de la statistique Di erences entre les deux visions IEn Machine learning, on met l’accent

Classifier de marge maximale

Parmi tout les hyperplans separateurs, on cherche celui qui cree leplus grand ecart (ou la plus grande marge) entre les deux classes

Probleme d’optimisation souscontraintes qui maximise M ,fonction de β0, . . . , βp, sous lescontraintes

∑j β

2j = 1, et

yi(β0 + β1xi1 + · · ·+ βpxip) ≥Mpour tout i

Ce probleme peut se voir comme une question de programmationconvexe quadratique et resolue efficacement. La fonction svm() dupackage e1071 resout ce probleme efficacement.

Page 162: Introduction aux data-sciences - GitHub Pages · IApprentissage statistique est une branche de la statistique Di erences entre les deux visions IEn Machine learning, on met l’accent

Donnees non separables et donnees bruitees

I Parfois, les donnees ne sont pas separables par un hyperplan.C’est souvent le cas, sauf si n < p.

I Souvent, les donnees sont separables, mais bruitees. Un classifieurconstruit en maximisant la marge de l’hyperplan separateur peutavoir une mauvaise erreur de test.

Pour toutes ces raisons, le classifieur SVM maximise une marge� douce �.

Page 163: Introduction aux data-sciences - GitHub Pages · IApprentissage statistique est une branche de la statistique Di erences entre les deux visions IEn Machine learning, on met l’accent

SVM classifieur

maximiserβ0,...βpM sous les contraintes∑j

β2j = 1,

yi(β0 + β1xi1 + · · ·+ βpxip) ≥M(1− εi)

εi ≥ 0,

n∑i=1

εi ≤ C.

Le parametre C est un parametre de regularisation.

Page 164: Introduction aux data-sciences - GitHub Pages · IApprentissage statistique est une branche de la statistique Di erences entre les deux visions IEn Machine learning, on met l’accent

Une frontiere lineaire n’est pas toujours une bonne idee

Parfois, il est simplement absconsd’utiliser une frontiere lineaire,quelle que soit la valeur de C quel’on utilise.

Page 165: Introduction aux data-sciences - GitHub Pages · IApprentissage statistique est une branche de la statistique Di erences entre les deux visions IEn Machine learning, on met l’accent

Extension de l’espace des covariables

I Agrandir les espaces des covariables en ajoutant destransformations non lineaires des Xj (polynomiales, etc.) Onpasse alors d’un espace de dimension p a un espace de dimensionM .

I Ajuster un classifieur SVM dans l’espace agrandi

I Cela fournit une frontiere de decision non-lineaire dans l’espaceoriginal.

Exemple. Si on utilise (X1, X2, X21 , X

22 , X1X2) au lieu de (X1, X2),

alors la frontiere entre les deux decisions est de la forme

β0 + β1X1 + β2X2 + β3X21 + β4X

22 + β5X1X2 = 0

c’est-a-dire une conique.

Page 166: Introduction aux data-sciences - GitHub Pages · IApprentissage statistique est une branche de la statistique Di erences entre les deux visions IEn Machine learning, on met l’accent

Non-linearites et noyaux

I Les polynomes (en particulier en grande dimension) devientrapidement incontrolables.

I Il y a une facon plus elegante et mesuree d’introduire desnon-linearites dans les classifiers SVM, via l’utilisation de noyaux

I Avant de presenter ce point, nous devons comprendre le role duproduit scalaire dans les SVM.

Page 167: Introduction aux data-sciences - GitHub Pages · IApprentissage statistique est une branche de la statistique Di erences entre les deux visions IEn Machine learning, on met l’accent

Produit scalaire et SVM〈xi, xi′〉 =

∑pj=1 xijxi′j est le produit scalaire entre les vecteurs xi et

xi′

I Le classifieur construit par SVM peut s’ecrire

f(x) = β0 +

n∑i=1

αi〈x, xi〉

avec n parametres

I Pour estimer ces parametres αi et β0, tout ce dont on a besoinest l’ensemble des n(n− 1)/2 produits scalaires 〈xi, xi′〉 entrepaires d’observations de l’ensemble d’entrainement

Il s’avere que la plupart des αi peuvent etre nuls :

f(x) = β0 +∑i∈S

αi〈x, xi〉

S est l’ensemble support des indices i tels que αi 6= 0.

Page 168: Introduction aux data-sciences - GitHub Pages · IApprentissage statistique est une branche de la statistique Di erences entre les deux visions IEn Machine learning, on met l’accent

Noyaux et SVM

I Si l’on peut calculer les produits scalaires entre observations, onpeut ajuster un classifier SVM. Celui ci peut etre tres abstrait.

I Quelques fonctions noyaux tres particulieres le font pour nous.Par exemple

K(xi, xi′) =

1 +

p∑j=1

xijxi′j

d

calcule les produits scalaires necessaires pour des polynomes dedegre d.(Essayez avec p = 2 et d = 2. . .

I La solution est de la forme

f(x) = β0 +∑i∈S

αiK(x, xi)

Page 169: Introduction aux data-sciences - GitHub Pages · IApprentissage statistique est une branche de la statistique Di erences entre les deux visions IEn Machine learning, on met l’accent

Noyaux radiaux

K(xi, xi′) = exp

−γ p∑j=1

(xij − xi′j)2

f(x) = β0 +

∑i∈S αiK(x, xi)

L’espace des covariablescompletees est implicite, mais detres grande dimension.

Controle la variance en annulant laplupart des dimensionsseverement.

Page 170: Introduction aux data-sciences - GitHub Pages · IApprentissage statistique est une branche de la statistique Di erences entre les deux visions IEn Machine learning, on met l’accent

Exemple : donnees cardiaques

Courbes ROC sur l’ensemble d’entrainement

Page 171: Introduction aux data-sciences - GitHub Pages · IApprentissage statistique est une branche de la statistique Di erences entre les deux visions IEn Machine learning, on met l’accent

SVM sur plus de deux classes ?

Tel que defini precedemment, SVM fonctionne sur des problemes adeux classes. Que fait-on si le nombre de classes K > 2 ?

OVA One Versus All. On ajuste K classifiers SVM differents a 2 classesfk(x), k = 1, . . . ,K chaque classe contre le reste des autres

classes. On prend la decision finale avec la valeurs de fk(x) laplus grande.

OVO One Versus One. On ajuste K(K − 1)/2 classifiers SVM par

paires de reponses fk`(x). Decision finale avec la classe qui gagnele plus souvent.

Lequel choisir ? En pratique, si K est trop grand, utiliser OVO.

Page 172: Introduction aux data-sciences - GitHub Pages · IApprentissage statistique est une branche de la statistique Di erences entre les deux visions IEn Machine learning, on met l’accent

SVM et regression logistique

Avec f(X) = β0 +∑j βjXj , on peut re-ecrire l’optimisation au cœur

de SVM comme

minimize(βj ,j=1...p)

n∑i:1

max[0, 1− yi f(xi)

]+ λ

∑j

β2j .

I Classes bien separees : SVM souvent meilleur que la regression

logistique.

I Lorsque ce n’est pas le cas, la regression logistique (avec penaliteridge) et SVM sont similaires.

I Pour des frontieres de decision non lineaires, les SVM a noyauxsont populaires. On peut utiliser des noyaux dans le calcul deregression logistique et la LDA aussi. Mais les calculs sontbeaucoup plus long.

Page 173: Introduction aux data-sciences - GitHub Pages · IApprentissage statistique est une branche de la statistique Di erences entre les deux visions IEn Machine learning, on met l’accent

Interpretability vs Flexibility