• Aucun résultat trouvé

Apprentissage supervisé

N/A
N/A
Protected

Academic year: 2022

Partager "Apprentissage supervisé"

Copied!
139
0
0

Texte intégral

(1)

Apprentissage supervisé

Etienne Birmelé

Automne 2020

(2)

2

(3)

Table des matières

1 Introduction 5

1.1 Apprentissage supervisé . . . . 5

1.2 Critères de qualité d’une règle de prédiction . . . . 7

1.3 Sur-apprentissage et ensemble test . . . . 8

1.4 Validation croisée . . . . 9

1.5 Cas particulier d’une prédiction binaire : critères de qualité et courbes ROC . . . . 12

1.6 Selection vs Prediction et cas de la grande dimension . . . . 17

2 Méthodes d’arbres 19 2.1 Arbres de décision/classification/régression . . . . 19

2.2 Forêts aléatoires . . . . 21

3 Modèles linéaires pénalisés 25 3.1 Contexte . . . . 25

3.2 Regression pénalisée . . . . 26

3.3 Approches pénalisées pour la classification . . . . 31

4 Modèles basées sur les distances 35 4.1 Méthode des 𝑘 plus proches voisins . . . . 35

4.2 Méthodes SVM . . . . 37

5 Réseaux de neurones feed-forward et apprentissage profond 45 5.1 Réseaux de neurones : modélisation . . . . 45

5.2 Optimisation du réseau . . . . 50

5.3 Régularisation . . . . 55

6 SuperLearner : un exemple d’Ensembl Learning 59 6.1 Le package Superlearner . . . . 59

6.2 Un exemple d’utilisation . . . . 60

7 TP 1 : Manipulation de données et validation croisée 67 7.1 Manipulation de données . . . . 67

7.2 Apprentissage pour prédire le taux d’ozone . . . . 68

3

(4)

4 TABLE DES MATIÈRES

8 TP2 - Méthodes d’arbres 69

8.1 CART . . . . 69 8.2 Forêts aléatoires . . . . 69

9 TP3 - Modèles linéaires pénalisés 71

9.1 Avec glmnet . . . . 71 9.2 Avec caret . . . . 72

10 TP4 - SVM 73

10.1 Avec le package e1071 . . . . 73 10.2 Avec caret . . . . 74

11 TP5 - Réseaux de neurones 75

11.1 Exercice 1 . . . . 75 11.2 Exercice 2 - Symétries du réseau . . . . 76 11.3 Exercice 3 . . . . 76 12 TP 1 : Manipulation de données et validation croisée - Corrigé 79 12.1 Manipulation de données . . . . 79 12.2 Apprentissage pour prédire le taux d’ozone . . . . 81

13 TP2 - Méthodes d’arbres - Corrigé 85

13.1 CART . . . . 86 13.2 Forêts aléatoires . . . . 89 14 TP3 - Modèles linéaires pénalisés - Corrigé 93 14.1 Avec glmnet . . . . 93 14.2 Avec caret . . . 100

15 TP4 - SVM - Corrigé 105

15.1 Avec le package e1071 . . . 105 15.2 Avec caret . . . 113

16 TP5 - Réseaux de neurones - Corrigé 119

16.1 Exercice 1 . . . 119

16.2 Exercice 2 - Symétries du réseau . . . 120

16.3 Exercice 3 . . . 121

17 TP6 - Réseaux de neurones - Classification et Keras 133

17.1 Exercice 1- Classification à 2 classes . . . 133

17.2 Classification à 3 classes . . . 137

(5)

Chapitre 1

Introduction

Le but de se chapitre est d’introduire le vocabulaire et les notions de bases de l’apprentissage supervisé. Les différents algorithmes étant introduits plus tard, les règles appliquées ici sont souvent simplistes. Les notions introduites resteront cependant les mêmes avec les algorithmes plus complexes.

1.1 Apprentissage supervisé

On parle d’apprentissage statistique (statistical learning) dans deux cadres dif- férents :

Apprentissage supervisé : Dans ce type de problème, on cherche à définir une règle de prédiction 𝑅 ∶ 𝒳 → 𝒴 d’un variable à prédire 𝑌 en fonction de variables prédictives 𝑋.

On dispose pour cela de données pour lesquelles à la fois 𝑋 et 𝑌 sont observés et on cherche, parmi une famille de règles possibles, celle qui optimise un critère de qualité à définir. Le but est ensuite de pouvoir appliquer ℛ à de nouvelles données pour lesquelles seules 𝑋 est connu afin d’en déduire une prédiction 𝑌

𝑝𝑟𝑒𝑑

= 𝑅(𝑋) de 𝑌 .

Apprentissage non supervisé : Dans ce second type de problème, on dispose de variables observées 𝑋 dont on souhaite apprendre une caractéristique structurelle. Le but n’est alors pas de prédire une autre variable 𝑌 mais une caractéristique inconnue de la matrice 𝑋. La famille la plus couramment utilisée d’algorithmes d’apprentissage supervisé est celle des algorithmes de classification (clustering) dont le but est de créer des groupes d’individus rassemblés sur la base de la proximité de leurs valeurs de 𝑋.

5

(6)

6 CHAPITRE 1. INTRODUCTION Exemples : - un diagnostic médical est une règle d’apprentissage supervisé (𝑋 sont les symptômes, 𝑌 le diagnostic)

— la publicité ciblée relève de l’apprentissage supervisé (𝑋 est l’ensemble des pages visitées, 𝑌 la pertinence d’une proposition de publicité).

— l’estimation d’un modèle linéaire peut être vu comme un problème d’ap- prentissage supervisé.

— créer des sous-ensembles de patients souffant d’un cancer donné en fonc- tion de leurs expressions génomiques est un problème d’apprentissage supervisé.

— l’algorithme EM peut être vu comme un algorithme d’apprentissage non supervisé où la structure à apprendre est la variable cachée.

Dans la suite de ce cours, nous nous restreignons au problème de l’apprentissage supervisé (supervised learning).

Si nécessaire, la variable 𝑌 sera complétée par un indice indiquant son type : 𝑌

𝑝𝑟𝑒𝑑

pour une prédiction, 𝑌

𝑜𝑏𝑠

pour sa vraie valeur quand elle est observable, 𝑌

𝑣𝑟𝑎𝑖

pour sa vraie valeur en général.

1.1.1 Exemple jouet

On considère un jeu de données (simulées) de patients souffrant de douleurs rénales et dont on sait s’ils sont ou non atteints de pyelonéphrite. On recueille pour chacun d’eux leur sexe, leur IMC, leur température corporelle et leur taux de CRP (indicateur sanguin). Le but est de déterminer si on peut, à partir de ces quatre variables, établir une règle de diagnostic fiable d’une infection rénale.

## # A tibble: 200 x 5

## sex BMI temperature CRP infected

## <chr> <dbl> <dbl> <int> <dbl>

## 1 M 26.6 37.2 11 0

## 2 M 19.5 37.9 9 0

## 3 F 27.4 37.3 5 0

## 4 M 19.1 36.4 8 0

## 5 F 21.3 36.5 13 0

## 6 F 24.3 37.0 8 0

## 7 M 23.2 37.5 13 0

## 8 M 31.7 37.0 11 0

## 9 F 19.8 37.4 11 0

## 10 F 25.8 38.0 10 0

## # ... with 190 more rows

Remarque : Le jeu ayant été simulé pour les besoins de l’exemple, la règle

finalement générée ne sera pas forcément pertinente. En réalité, la règle utilisée

est Température > 38.5 et CRP>12

(7)

1.2. CRITÈRES DE QUALITÉ D’UNE RÈGLE DE PRÉDICTION 7

1.2 Critères de qualité d’une règle de prédiction

Une procédure d’apprentissage supervisé nécessite de spécifier a. Un ensemble ℛ de règles candidates

b. Un critère de qualité 𝑓 qu’on cherche à optimiser

Pour un critère de qualité qu’on cherche à minimiser, on définit alors 𝑅 = argmin

𝑅∈ℛ

𝑓(𝑅(𝑋), 𝑌 )

L’ensemble des observations (𝑋, 𝑌 ) prises en compte pour réaliser cette minimi- sation est l’ensemble d’apprentissage.

Exemple : Un critère utilisé très fréquemment et quelle que soit le type de la variable à prédire 𝑌 est l’erreur quadratique moyenne. Pour un ensemble d’apprentissage de taille

𝑓(𝑌

𝑝𝑟𝑒𝑑

, 𝑌

𝑜𝑏𝑠

) = 1 𝑛

𝑛

𝑖=1

(𝑌

𝑖𝑝𝑟𝑒𝑑

− 𝑌

𝑖𝑜𝑏𝑠

)

2

∝ ‖𝑌

𝑖𝑝𝑟𝑒𝑑

− 𝑌

𝑖𝑜𝑏𝑠

2

1.2.1 Exemple jouet

1. On peut choisir par exemple de prendre pour ℛ l’ensemble des règles de régression logistique incluant tout ou partie des quatre observations.

𝑌

𝑝𝑟𝑒𝑑

∈ [0, 1] est alors un prédiction de la probabilité qu’il y ait une infec- tion et le critère à minimiser peut être choisi comme ‖𝑌

𝑖𝑝𝑟𝑒𝑑

− 𝑌

𝑖𝑜𝑏𝑠

2

. On retrouve alors la problématique de l’estimation d’un régression logistique et du choix de modèle (quelles variables choisir).

2. On peut également choisir de prendre pour ℛ un ensemble de règles binaires organisées en un arbre de décision, ce qui correspond plus à la pratique médicale.

𝑌 = 1 𝑌 = 0 𝑌 = 1

𝑌 = 0 𝑌 = 1

𝑇 ≤ 𝑠1 𝑇 > 𝑠1

𝐶𝑅𝑃 > 𝑠2 𝐶𝑅𝑃 ≤ 𝑠2 𝐼𝑀 𝐶 ≤ 𝑠3𝐼𝑀 𝐶 > 𝑠3

𝐶𝑅𝑃 ≤ 𝑠4𝐶𝑅𝑃 > 𝑠4

(8)

8 CHAPITRE 1. INTRODUCTION Dans ce cas, (𝑌

𝑝𝑟𝑒𝑑

− 𝑌

𝑜𝑏𝑠

)

2

vaut 0 quand on prend la bonne décision, 1 sinon, et l’écart quadratique moyen est simplement le taux de mal classés. La question qui se pose ici est comment parcourir intelligemment tout ou partie de l’espace des règles possibles pour déterminer la meilleure.

1.3 Sur-apprentissage et ensemble test

Considérons l’exemple jouet avec comme règles possibles les régressions linéaires.

Tout modèle à une, deux ou trois variables peut s’écrire comme un modèle à quatre variables en imposant certains coefficients nuls. Par conséquent, si on note ℛ

4

l’ensemble des modèles prenant en compte les 4 variables, on a forcément

𝑅 = argmin

𝑅∈ℛ

‖𝑅(𝑋) − 𝑌 ‖

2

= argmin

𝑅∈ℛ4

‖𝑅(𝑋) − 𝑌 ‖

2

L’estimation d’un modèle logistique ne donnant jamais de coefficient exactement nul, le modèle choisi impliquera donc toutes les variables considérées, même si elles ne sont pas pertinentes.

De manière générale, si on fixe comme but d’obtenir la meilleure prédiction possible sur l’ensemble d’apprentissage, avec un nombre croissant de variables disponibles, des variables vont finir par être recrutées car elles améliorent le critère sur cet ensemble, mais sans aucune pertinence en termes de généralisation.

On parla alors de sur-apprentissage.

Afin d’avoir une estimation plus fiable du pouvour de prédiction de la règle choisie, le jeu de données observé doit toujours être séparés en deux parties :

— l’ensemble d’apprentissage (learning set) sur lequel la règle est apprise en minimisant le critère choisi

— l’ensemble test (test set) sur lequel la qualité de la règle est évalué. Il est primordial de faire cette évaluation sur des individus qui n’ont pas servis à établir la règle.

Exemple : On considère l’ensemble jouet et l’apprentissage d’une règle basée sur la régression logistique pour des modèles de taille croissante prenant en compte dans l’ordre la température, la variable CRP, le sexe et l’IMC.

#Separation en jeu d'apprentissage + jeu test learningset <- rbinom(dim(toydata)[1],1,.667) learningdata <- toydata %>% filter(learningset==1) testdata <- toydata %>% filter(learningset==0)

#Apprentissage des cinq modèles (de 0 à 4 variables prises en compte) et calcul des erreurs moyennes sur les jeux d'apprentissage et de test. Seul le modèle pour k=2 est affiché

model2 <- glm(infected~temperature+CRP,family=binomial(link="logit"),data=learningdata)

(9)

1.4. VALIDATION CROISÉE 9 learningpredict <- predict(model2,type="response")

testpredict <- predict(model2,newdata=testdata,type="response") learningerror <- mean((learningpredict-learningdata$infected)^2) testerror <- mean((testpredict-testdata$infected)^2)

On détermine les erreurs moyennes pour chacun des modèles et chacun des jeux de données (apprentissage et test). Leurs évolutions quand on augmente la dimension du modèles illustrent le phénomène de sur-apprentissage. Ici, à partir de la troisième variable, on s’améliore sur le jeu d’apprentissage mais on perd en potentiel de prédiction en général : il faut donc s’arrêter au modèle à deux variables.

learning test

0 1 2 3 4 0 1 2 3 4

0.14 0.16 0.18 0.20 0.22 0.24

k

error

1.4 Validation croisée

Suuposons que plusieurs règles apprises aient besoin d’être comparées. Cela peut par exemple être le cas lorsque la famille de règle considérée dépend d’un paramètre qu’on ne peut pas (ou ne veut pas) règler via un maximum de vrai- semblance.

Exemple : Reprenons l’exemple jouet et supposons qu’on cherche à établir une

règle à base d’un arbre de décision de type

(10)

10 CHAPITRE 1. INTRODUCTION

𝑌 = 1 𝑌 = 0 𝑌 = 1

𝑌 = 0 𝑌 = 1

𝑇 ≤ 𝑠1 𝑇 > 𝑠1

𝐼𝑀 𝐶 ≤ 𝑠2 𝐼𝑀 𝐶 > 𝑠2 𝐶𝑅𝑃 ≤ 𝑠3𝐶𝑅𝑃 > 𝑠3

𝐶𝑅𝑃 ≤ 𝑠4𝐶𝑅𝑃 > 𝑠4

Il faut alors décider des valeurs des différentes constantes. On peut de plus vouloir comparer d’autres modèles issus d’architectures d’arbres différentes, ou de stratégies de modélisation différentes (régression logistique par exemple).

La stratégie consistant à comparer tous les modèles candidats sur le jeu test n’est pas valide car le jeu test sert alors à déterminer la règle, et ne peut plus servir d’étalon pour estimer le pouvoir de généralisation.

Il faudrait donc reséparer le jeu d’apprentissage en jeu d’apprentissage + jeu de comparaison. Cela oblige cependant à rediminuer le jeu d’apprentissage, ce qui n’est pas forcément souhaitable si celui-ci n’est pas très grand.

Une manière communénemt utilisé pour éviter de réduire l’ensemble d’apprentis- sage est appelée validation croisée. Son but est, pour toutes les règles à comparer, de déterminer une prédiction pour tout individu de l’ensemble d’apprentissage, tout en respectant la règle disant qu’il ne faut pas prédire sur les individus qui ont servis à apprendre.

Pour ce faire, on sépare aléatoirement l’ensemble d’apprentissage en 𝐾 en- sembles, appelés plis (folds) et on réalise la boucle suivante :

— pour chaque fold 𝐹

𝑖

, on apprend la règle sur tous les individus ne faisant pas partie de 𝐹

𝑖

, et on réalise une prédiction pour les individus de 𝐹

𝑖

On obtient ainsi une prédiction pour chaque individu de l’ensemble d’appren- tissage et on peut alors déterminer le critère de qualité pour chaque règle et sélectionner ainsi la meilleure.

Exemple : Dans le cas de l’exemple jouet et des modèles logistiques emboîtés du paragraphe précédent, le choix du nombre de variables à garder peut typique- ment se faire par validation croisée sur le jeu d’apprentissage, le jeu test servant uniquement à évaluer la capacité de généralisation de la méthode finalement sélectionnée.

Etape 1 : segmentation du jeu de données

(11)

1.4. VALIDATION CROISÉE 11

#Separation en jeu d'apprentissage + jeu test learningset <- rbinom(dim(toydata)[1],1,.667) learningdata <- toydata %>% filter(learningset==1) testdata <- toydata %>% filter(learningset==0)

#Separation du jeu d'apprentissage en 10 folds

#crétion d'un vecteur qui contient les chiffres de 1 à 10 à parts égales (plus ou moins 1) nfold <- 10

foldsize <- floor(dim(learningdata)[1]/nfold)

folds <- c(rep(c(1:nfold),foldsize)) #remplit avec 1,..,nfold autant de fois que possible remaining <- dim(learningdata)[1]-length(folds)

if (remaining>0){ #remplit si besoin le reste du vecteur en repartant de 1 folds <- c(folds,c(1:remaining))

}

#affectation des individus dans les folds et ajout de l'information à learningdata learningdata <- learningdata %>% add_column(fold = sample(folds))

Etape 2 : Pour tout pli 𝐹

𝑖

, les modèles sont appris sur tous les individus du jeu d’apprentissage n’appartenant pas à 𝐹

𝑖

, puis l’erreur de prédiction est évaluée sur les individus de 𝐹

𝑖

.

learningerrors <- tibble(k0=rep(NA,dim(learningdata)[1]),k1=k0,k2=k0,k3=k0,k4=k0) #contient les erreurs pour chaque individu et chaque modèle for (i in 1:nfold){

ldata <- learningdata %>% filter(fold!=i) #new learningdata: all folds but i tdata <- learningdata %>% filter(fold==i) #new test data: fold i

learningerrors$k0[learningdata$fold==i] <- (mean(ldata$infected)-tdata$infected)^2 model1 <- glm(infected~temperature,family=binomial(link="logit"),data=ldata) tpredict <- predict(model1,newdata=tdata,type="response")

learningerrors$k1[learningdata$fold==i] <- (tpredict-tdata$infected)^2

model2 <- glm(infected~temperature+CRP,family=binomial(link="logit"),data=ldata) tpredict <- predict(model2,newdata=tdata,type="response")

learningerrors$k2[learningdata$fold==i] <- (tpredict-tdata$infected)^2

model3 <- glm(infected~temperature+CRP+sex,family=binomial(link="logit"),data=ldata) tpredict <- predict(model3,newdata=tdata,type="response")

learningerrors$k3[learningdata$fold==i] <- (tpredict-tdata$infected)^2

model4 <- glm(infected~temperature+CRP+sex+BMI,family=binomial(link="logit"),data=ldata) tpredict <- predict(model4,newdata=tdata,type="response")

learningerrors$k4[learningdata$fold==i] <- (tpredict-tdata$infected)^2

(12)

12 CHAPITRE 1. INTRODUCTION }

meanerror <- learningerrors %>% summarise_all(mean)

Les erreurs moyennes en fonction du nombre de variables sont les suivantes

## # A tibble: 1 x 5

## k0 k1 k2 k3 k4

## <dbl> <dbl> <dbl> <dbl> <dbl>

## 1 0.241 0.186 0.159 0.164 0.166

On décide donc de garder le modèle à deux variables

Etape 3 : On apprnde le modèle à deux variables sur l’ensemble de l’ensemble d’apprentissage et on évalue la méthode sur le jeu test

model2 <- glm(infected~temperature+CRP,family=binomial(link="logit"),data=learningdata) testpredict <- predict(model2,newdata=testdata,type="response")

mean((testpredict-testdata$infected)^2)

## [1] 0.1522159

Remarques :

— La version particulière de la validation croisée dans laquelle on crée au- tant de folds que d’individus dans l’échantillon est appelée Leave-one-out (LOO ou LOOV). Cela revient, pour chaque individu, à faire une prédic-

tion suivant la règle apprise sur l’ensemble des autrs individus.

— Dans de nombreuses méthodes d’apprentissage disponibles sous forme de fonctions, en particulier sous R, la validation croisée n’a pas besoin d’être implémentée car déjà intégrée à la fonction (cf aides des fonctions).

1.5 Cas particulier d’une prédiction binaire : cri- tères de qualité et courbes ROC

1.5.1 Critères de qualité

Dans le cas d’une variable 𝑌 ∈ {0, 1}, d’autres critères sont couramment utilisés.

Par analogie avec le problème médical, on parle d’individu positif quand 𝑌 = 1 et d’individu négatif quand 𝑌 = 0.

Plus précisément, pour une règle de décision donnée, chaque individu appartient

à l’une des quatre catégories suivantes

(13)

1.5. CAS PARTICULIER D’UNE PRÉDICTION BINAIRE : CRITÈRES DE QUALITÉ ET COURBES ROC13

𝑌

𝑝𝑟𝑒𝑑

= 0 𝑌

𝑝𝑟𝑒𝑑

= 1 𝑌

𝑣𝑟𝑎𝑖

= 0 Vrai négatif (𝑇 𝑁 ) Faux positif (𝐹 𝑃 ) 𝑌

𝑣𝑟𝑎𝑖

= 1 Faux négatif (𝐹 𝑁 ) Vrai positif (𝑇 𝑃 )

Remarque : Par la suite, 𝑇 𝑁 , 𝐹 𝑃 , 𝐹 𝑁 et 𝑇 𝑃 seront utilisés pour désigner les comptages de chaque catégorie quand la règle est appliquée sur un jeu de données pour lequel 𝑌 est observé (𝑌

𝑣𝑟𝑎𝑖

= 𝑌

𝑜𝑏𝑠

dans ce cas).

Des critères de qualité différents sont alors utilisés, qui sont très populaires car facilement interprétables par les experts métiers (médecins par exemple).

+Accuracy

proportion de bien classés :

𝑇 𝑃 +𝐹 𝑃 +𝑇 𝑁+𝐹 𝑁𝑇 𝑃 +𝑇 𝑁

+Sensitivity ou Rappel (Recall) ou True positive rate proportion de vrais positifs bien classés :

𝑇 𝑃 +𝐹 𝑁𝑇 𝑃

+Specificity ou True negative rate

proportion de vrais négatifs bien classés :

𝑇 𝑁+𝐹 𝑃𝑇 𝑁

+False positive rate

proportion de vrais positifs parmi les négatifs :

𝑇 𝑁+𝐹 𝑃𝐹 𝑃

+Precision.

proportion des vrais positifs parmi les positifs

𝑇 𝑃 +𝐹 𝑃𝑇 𝑃

Exemple : Prenons le jeu jouet et appliquons le critère médical qui consiste à considérer comme souffrant d’une infection tout patient qui a une température d’au moins 38.5°𝐶 et un taux de 𝐶𝑅𝑃 d’au moins 12.

## # A tibble: 4 x 2

## type counts

## <chr> <int>

## 1 TP 31

## 2 FP 2

## 3 TN 118

## 4 FN 49

Sur ce jeu de données, la spécificité de cette règle est faible : TP/(TP+FN)

## [1] 0.3875

Moins de la moitié des vraies infections sont détectées.

Par contre, la sensitivité est bonne :

(14)

14 CHAPITRE 1. INTRODUCTION

TN/(TN+FP)

## [1] 0.9833333

Moins de 5% des gens ne souffrant pas d’une infection seront traités à tort.

Remarques : 1. Il est souvent plus pertinent d’un point de vue mathématique, même lorsque 𝑌

𝑜𝑏𝑠

∈ {0, 1}, de prédire 𝑌

𝑝𝑟𝑒𝑑

∈ [0, 1]. En d’autres termes, éta- blir une règle qui ne prédit pas si un individu est positif ou négatif, mais prédit sa probabilité d’être positif. On peut dans ce cas revenir à un critère de type er- reur quadratique moyenne. Il est à noter cependant que les problèmes pratiques requièrent parfois une réponse dure, c’est-à-dire purement binaire (ex : décider si oui ou non on doit prendre des antibiotiques).

2. le critère Accuracy peut être trompeur dans le cas d’un faible nombre de positifs dans la population. Prenons le cas d’un maladie touchant 1 des individus. Déclarer tout le monde sain donne alors un score de 99 de bien classés, ce qui est excellent mais totalement inutile !

3. les autres critères doivent être pris par paires : si on veut simplement éviter les faux positifs, il suffit de déclarer tout le monde négatif, et inversement. On cherche donc généralement à maximiser conjointement la spécificité et la sensitivité, ou la précision et le rappel (cf courbes ROC et PR plus bas).

1.5.2 Courbes de comparaison de méthodes

Ces indicateurs sont une alternative pour comparer des méthodes différentes sur des jeux de données quand la variable d’intérêt est binaire, et que les différentes méthodes comportent des paramètres qu’il faut régler.

1.5.2.1 Courbe ROC

Considérons une méthode de classification en deux classes, qui dépend d’un para- mètre. La courbe ROC est une courbe obtenu en traçant la courbe paramétrique du True positive rate en fonction du False positive rate.

Par exemple, si on cherche à ne classer les données de l’étude jouet en ne prenant

en compte que la température, c’est-à-dire en déclarant infectés tous les patients

ayant une température supérieure à un certain seuil, on obtient la courbe sui-

vante :

(15)

1.5. CAS PARTICULIER D’UNE PRÉDICTION BINAIRE : CRITÈRES DE QUALITÉ ET COURBES ROC15

Inf 39.7

39.3 38.8

38.4

38.2 37.8

37.4

37

35.9

0.00 0.25 0.50 0.75 1.00

0.00 0.25 0.50 0.75 1.00

false_positive_fraction

true_positive_fraction

On y voit que si on choisit une telle règle avec une limite de 38.5, on aura plus de 60% des infections qui seront détectées mais près de 30% des patients non-infectés qui seront déclarés positifs.

L’idéal serait évidemment d’avoir une valeur du paramètre qui ne fasse aucune erreur, ce qui correspondrait à une courbe passant par le coin supérieur gauche du cadran.

En pratique, les courbes ROC sont en fait surtout utilisées pour comparer des méthodes entre elles.

Considérons le jeu de données jouet et supposons qu’on cherche à comparer les trois méthodes suivantes :

1. Règle de type 1 : On déclare positif toute personne ayant suffisamment de fièvre. Le paramètre à régler est alors la température seuil.

2. Règle de type 2 : On déclare positif toute personne ayant plus de 38.5 de fièvre et un taux minimum de CRP, à régler.

3. Règle de type 3 : On réalise une régression logistique et on déclare positif

tout individu tel que P(𝑌 = 1|𝑋) est supérieure à un seuil, à régler.

(16)

16 CHAPITRE 1. INTRODUCTION

0.00 0.25 0.50 0.75 1.00

0.00 0.25 0.50 0.75 1.00

x

y

type crp logistic temp

Dans ce cas, on voit que la fonction logistique a une courbe ROC plus haute que les autres, et s’approchant plus du point optimal. La conclusion est que le modèle logistique est sans doute préférable ici, avec un seuil à fixer de façon à choisir un des points de la courbe proche du point optimal.

Interprétation : L’aire sous la courbe ROC, appelée AUC (Area Under the Curve) est parfois utilisée comme critère de qualité d’une méthode de classifica- tion. Considérons le vecteur des individus classés suivant 𝑌

𝑝𝑟𝑒𝑑

. L’AUC corres- pond alors à la probabilité, quand on tire un vrai positif et un vrai négatif au hasard, que le premier soit bien avant le second dans le classement.

1.5.2.2 Courbe Precision-Recall

Une alternative à la courbe ROC est la courbe Precision-Recall. Elle est moins utilisée mais constitue une meilleure solution dans le cas des variables mal équi- librées, c’est-à-dire avec une faible proportion d’individus tels que 𝑌 = 1.

Dans ce cas, les courbes vont toutes du coin en haut à gauche vers celui en bas

à droite, et une courbe est d’autant meilleure qu’elle se rapproche du point en

haut à droite.

(17)

1.6. SELECTION VS PREDICTION ET CAS DE LA GRANDE DIMENSION17

0.00 0.25 0.50 0.75 1.00

0.00 0.25 0.50 0.75 1.00

x

y

type crp logistic temp

1.6 Selection vs Prediction et cas de la grande dimension

Les chapitres suivants de ce cours vont aborder différentes familles d’algorithmes permettant de réaliser de l’apprentissage supervisé à travers les angles suivants :

1. description du principe de leur fonctionnement

2. avantages et inconvénients en termes de prédiction et de sélection, qui sont deux objectifs assez différents dans les problèmes d’apprentissage supervisé. La prédiction consiste à avoir la meilleure prédiction 𝑅(𝑋) possible, la sélection consiste à déterminer les variables importantes pour déterminer 𝑌 .

3. comportement dans le cas de jeux de grande dimension (le nombre de

variables est plus grand que le nombre d’observations). Ce type de jeu

se retrouve dans de nombreuses applications, notamment en génomique,

mais est à différencier des jeux type Big Data où au contraire les obser-

vations sont très nombreuses.

(18)

18 CHAPITRE 1. INTRODUCTION

(19)

Chapitre 2

Méthodes d’arbres

2.1 Arbres de décision/classification/régression

Un arbre de décision (𝑌 binaire), de classification (𝑌 discret) ou de régression (𝑌 continu) est un outil de classification particulièrement aisé à utiliser une fois appris et qui a l’avantage d’être relativement simple à interpréter quand il n’est pas trop grand.

Une observation 𝑋 part de la racinde de l’arbre et suit les embranchements en fonction de la variable concernée à chaque étape jusqu’à aboutir dans une feuille, dont l’étiquette indique la décision prise.

𝑌 = 1 𝑌 = 0 𝑌 = 1

𝑌 = 0 𝑌 = 1

𝑇 ≤ 𝑠1 𝑇 > 𝑠1

𝐶𝑅𝑃 > 𝑠2 𝐶𝑅𝑃 ≤ 𝑠2 𝐼𝑀 𝐶 ≤ 𝑠3𝐼𝑀 𝐶 > 𝑠3

𝐶𝑅𝑃 ≤ 𝑠4𝐶𝑅𝑃 > 𝑠4

La difficulté réside bien entendu dans l’apprentissage de cet arbre. L’algorithme le plus couramment utilisé est l’algorithme CART (Classification and Regres- sion Tree) (Breiman et al., 1984).

19

(20)

20 CHAPITRE 2. MÉTHODES D’ARBRES

2.1.1 Construction d’un premier arbre par séparation ité- rative des noeuds

On considère un ensemble 𝒮

1

de valeurs (𝑋

𝑖

, 𝑌

𝑖

) d’observations issues du jeu d’apprentissage. Le principe de construction de l’arbre est simple, à savoir que chaque feuille est séparée en deux si elle n’est pas assez pure et de façon à obtenir deux filles les plus pures possibles. Une fois l’arbre construit, chaque feuille se voit attibuer l’étiquette de la classe majoritaire dans le cas de la classification, la moyenne des observations dans le cas de la régression.

Pour appliquer ce principe, un indice d’impureté 𝐼(𝑆) pour un noeud de valeurs 𝑆 et un critère de séparation sont définis.

Classification : indice d’impureté de Gini : On note (𝑝

1

, … , 𝑝

𝐾

) la proportion de chaque valeur de 𝑌 dans 𝑆

𝐼

𝐺𝑖𝑛𝑖

(𝑆) = ∑

𝑘

𝑝

𝑘

(1 − 𝑝

𝑘

)

Cet indice est un indice d’impureté, dans la mesure où il d’autant plus petit que l’une des classes est largement majoritaire dans l’ensemble (on montre sans mal qu’il est nul si l’ensemble est pur et maximal si toutes les classes sont équireprésentées).

Classification : indice d’impureté de l’entropie :

𝐼

𝐸𝑛𝑡𝑟𝑜𝑝𝑦

(𝑆) = − ∑

𝑘

𝑝

𝑘

log 𝑝

𝑘

Cet indice s’interprète de la même manière que l’indice de Gini.

Régression : indice d’impureté de la variance :

𝐼(𝑆) = 𝑣𝑎𝑟(𝑌 (𝑆))

où 𝑌 (𝑆) désigne l’échantillon des valeurs de 𝑌 sur l’ensemble 𝑆. Plus ce critère est petit, plus les valeurs de 𝑌 dans ce noeud sont regroupées autour de 𝑌 (𝑆) et donc plus le noeud est pur.

Critère de séparation

L’algorithme parcourt l’ensemble des variables possibles et l’ensemble (discrétisé) de leurs valeurs possibles, et choisit le couple (Variable,Seuil)

qui sépare 𝑆 en (𝑆

1

, 𝑆

2

), de tailles 𝑛

1

et 𝑛

2

de façon à maximiser

(21)

2.2. FORÊTS ALÉATOIRES 21

𝐼(𝑆) − 𝑛

1

𝑛

1

+ 𝑛

2

𝐼(𝑆

1

) − 𝑛

2

𝑛

1

+ 𝑛

2

𝐼(𝑆

2

) dans le cas de la classification 𝑣𝑎𝑟(𝑌 (𝑆)) − 𝑣𝑎𝑟(𝑌 (𝑆

1

)) − 𝑣𝑎𝑟(𝑌 (𝑆

2

)) dans le cas continu

Alternative Une alternative à la notion d’impureté, utilisée notamment pour la régressions, est de revenir au critère de qualité de l’apprentissage, typiquement ‖𝑌

𝑝𝑟𝑒𝑑

− 𝑌

𝑜𝑏𝑠

2

. Le couple (𝑉 𝑎𝑟𝑖𝑎𝑏𝑙𝑒, 𝑆𝑒𝑢𝑖𝑙) choisi est alors celui qui permet la plus forte diminution de ce critère.

2.1.2 Elagage

Les opérations précédentes peuvent être répétées si besoin jusqu’à n’obtenir que des noeuds purs, c’est-à-dire tels que 𝐼(𝑆) = 0 sur toutes les feuilles. On risque cependant alors de se retrouver en situation de sur-apprentissage.

Plusieurs manières d’éviter cela ont été développées, divisées en deux familles :

early stopping ou pre-pruning : le but est d’arrêter la construction de l’arbre avant qu’il devienne trop grand. On peut pour cela fixer un seuil non nul pour le critère d’impureté.

Le package rpart propose par exemple cette approche avec un seuil (le paramètre cp) fixé par validation croisée.

post-pruning : on construit l’arbre total puis on ressupprime les branches n’apportant pas d’amélioration du critère visé. L’approche early-stopping est cependant préférée en général.

2.2 Forêts aléatoires

Si l’arbre de décision a un avantage indéniable qui est sa lisibilité, il a l’inconvé- nient d’être difficile à élaguer et d’être sujet à instabilité en cas de nombreuses variables candidates et/ou de variables explicatives corrélées : un jeu très légè- rement différent peut mener à un arbre très dissemblable.

Les forêts aléatoires ont été introduites pour pallier à ce désavantage (Breiman, 2001). Elles font partie de la famille des méthodes de Bagging c’est-à-dire des mé- thodes reposant sur la prise en compte de plusieurs prédicteurs afin de dégager une majorité.

2.2.1 Principe

Le principe est très simple, à savoir qu’une forêt aléatoire est un ensemble

d’arbres de décision/classification/régression donnant chacun une prédiction. La

prédiction finale est obtenue

(22)

22 CHAPITRE 2. MÉTHODES D’ARBRES

— en prenant la classe la plus représentée dans le cadre décision/classification

— en moyennant les prédictions dans le cadre de la régression

Afin que les arbres de la forêt soient différents les uns des autres, de l’aléa est introduit à deux niveaux :

1. bootstrap des individus : chaque arbre est appris non pas sur toutes les données du jeu d’apprentissage mais sur un échantillon bootstrap de celui-ci

2. sous-échantillonnage des variables : A chaque séparation de noeud, toutes les 𝑝 variables ne sont pas prises en compte, mais seulement un sous-échantillon aléatoire de 𝑓(𝑝) d’entre elles. En pratique, 𝑓(𝑝) = √

𝑝 est souvent utilisé, mais 𝑓(𝑝) paut aussi être considéré comme un para- mètre à régler.

Cette approche permet de régler le problème du sur-apprentissage en apprenant un grand nombre d’arbres peu profonds (donc sans doute pas assez précis indi- viduellement), mais dont on espère qu’ils prendront majoritairement la bonne décision.

2.2.2 Erreur out-of-bag

Les différents paramètres (choix du nombre de variables échantillonnées, pro- fondeur des arbres, …) peuvent être réglés par validation croisée. Cependant, il peuvent également l’être sans être obligé de reséparer le jeu d’apprentissage en sous-jeu.

En effet, pour un échantillon de taille 𝑛 assez grand, chaque individu n’est pas dans l’échantillon bootstrap avec probabilité (1 −

𝑛1

)

𝑛

1𝑒

≈ 0.36. Plus d’un tiers des arbres construits n’utilisent donc pas l’observation 𝑥

𝑖

dans leur apprentissage (on dit que 𝑖 est out-of-bag) et peuvent être utilisés pour estimer l’erreur faite sur 𝑥

𝑖

.

On peut donc remplacer l’estimation par cross-validation de l’erreur sur l’indi- vidu 𝑖 par (𝑦

𝑖𝑝𝑟𝑒𝑑

− 𝑦

𝑜𝑏𝑠𝑖

)

2

où (𝑦

𝑖𝑝𝑟𝑒𝑑

) est la prédiction faite par l’ensemble des arbres tels que 𝑖 est out-of-bag (en prenant la classe majoritaire ou la moyenne suivant le type de prédiction).

2.2.3 Importance des variables

Une mesure de l’importance des variables a également été proposée dans le cadre des forêts aléatoires.

Considérons une variable d’intérêt V. Pour chaque arbre de la forêt, on peut

considérer l’ensemble 𝒜 des individus out-of-bag. En permutant les valeurs de

𝑉 parmi les individus de 𝒜, on obtient un jeu de données dans lequel 𝑉 n’a

(23)

2.2. FORÊTS ALÉATOIRES 23 aucun pouvoir prédictif. On peut alors mesurer l’importance de la variable en comparant le pouvoir prédictif avant et après la permutation.

— En considérant la perte du pourcentage de bien classés (accuracy) suite à la permutation.

— En considérant le rapport entre l’erreur quadratique après et avant la permutation.

Plus ces indices sont grands, plus la variables est importante dans cet arbre.

En les moyennant sur l’ensemble de la forêt, on obtient un indice global d’im- portance des variables, qui permet de comparer les pouvoirs prédictifs de ces dernières.

2.2.4 Conclusion

Les forêts aléatoires sont un net gain par rapport à un arbre seul en termes de

stabilité, permettent la sélection de variables grâce à la mesure d’importance et

offrent souvent un meilleur contrôle du sur-apprentissage et donc une meilleure

prédiction. Tout cela se fait cependant au détriment de l’interprétabilité de la

méthode.

(24)

24 CHAPITRE 2. MÉTHODES D’ARBRES

(25)

Chapitre 3

Modèles linéaires pénalisés

3.1 Contexte

Le problème de la régression, équivalent au modèle linéaire gaussien, s’écrit comme

Trouver 𝛽

𝑅

= 𝑎𝑟𝑔𝑚𝑖𝑛

𝛽

‖𝑌 − 𝑋𝛽‖

22

et peut naturellement être utilisé dans le cadre de l’apprentissage pour une variable 𝑌 continue qu’on estime raisonnable de modéliser par une loi normale.

PLusieurs difficultés sont cependant à noter dans ce cas :

1. Dans le cas de variables explicatives corrélées, l’interprétation de leurs coefficients est difficile. En effet, une variable peut ‘attirer’ l’influence d’une autre variable qui lui est fortement corrélée.

Par exemple, sous un vrai modèle gaussien 𝑌 = 𝑋

1

+ 𝑋

2

+ 𝜖 avec 𝑋

1

≈ 𝑋

2

, les modèles de paramètres 𝛽 = (1, 1), 𝛽 = (2, 0) ou 𝛽 = (3, −1) auront des vraisem- blances très proches et le mauvais modèle peut potentiellement être sélectionné.

2. Quel que soit le nombre de variables ayant réellement une influence non nulle sur 𝑌 , tous les coefficients de 𝛽 sont non-nuls. Il y a donc risque de sur-apprentissage. De plus, dans le cas de la grande dimension (plus de variables explicatives potentielles que d’observations), l’estimateur du maximum de vraisemblance 𝛽 = (𝑋

𝑋)

−1

𝑋

𝑌 n’est pas défini.

3. Suite au point précédent, il est important de procéder à de la sélection de variables en choisissant le variables à garder.

4.

25

(26)

26 CHAPITRE 3. MODÈLES LINÉAIRES PÉNALISÉS

3.2 Regression pénalisée

Le principe des régressions pénalisées est de pénaliser le critère à optimiser afin de favoriser les modèles ayant une caractéristique recherchée permettant de gérer soit la corrélation entre variables, soit la sélection de ces dernières.

3.2.1 Régression Ridge

La première possibilité pour effectuer une régression pénalisée est d’utiliser une pénalité de type Ridge. L’idée est de forcer le vecteur de coefficients 𝛽 à être borné en norme 𝐿

2

. Intuitivement, les problèmes de colinéarité sont alors réglés par le fait qu’une variable ne peut ‘attirer’ les coefficients des variables qui lui sont corrélées que dans une certaine mesure.

knitr::include_graphics('fig/ridgefig.png')

(27)

3.2. REGRESSION PÉNALISÉE 27

(28)

28 CHAPITRE 3. MODÈLES LINÉAIRES PÉNALISÉS Considérons, pour 𝑐 > 0 fixé, le problème

Trouver 𝛽

𝑅𝑖𝑑𝑔𝑒

= 𝑎𝑟𝑔𝑚𝑖𝑛

𝛽

‖𝑌 − 𝑋𝛽‖

22

sous la contrainte ‖𝛽‖

22

≤ 𝑐 La méthode des multiplicateurs de Lagrange dit qu’il existe 𝜆 ≥ 0 tel que la solution du problème satisfait les conditions de Karush Kuhn Tucker à savoir que

1. Le gradient de ‖𝑌 − 𝑋𝛽‖

22

+ 𝜆(‖𝛽‖

2

− 𝑐) est nul 2. 𝜆(‖𝛽‖

2

− 𝑐) = 0

Une manière d’approcher le problème ci-dessous est donc de considérer, pour un coefficient 𝜆 > 0 donnée, le problème suivant :

Trouver 𝛽

𝑅𝑖𝑑𝑔𝑒

(𝜆) = 𝑎𝑟𝑔𝑚𝑖𝑛

𝛽

‖𝑌 − 𝑋𝛽‖

22

+ 𝜆‖𝛽‖

22

On notera que pour 𝜆 tendant vers 0, on retrouve la régression classique, alors que pour 𝜆 infini, la solution est 𝛽 = 0. En faisant varier 𝜆, on obtient ainsi une famille de modèles de plus en plus pénalisés.

Proposition 1. La solution du problème est donnée par 𝛽

𝑅𝑖𝑑𝑔𝑒

= (𝑋

𝑋 + 𝜆I

𝑝

)

−1

𝑋

𝑌 Démonstration. Soit 𝑓(𝛽) = ‖𝑌 − 𝑋𝛽‖

22

+ 𝜆‖𝛽‖

22

.

𝜕𝑓

𝜕𝛽 = −2𝑋

(𝑌 − 𝑋𝛽) + 2𝜆𝛽

En annulant cette dérivée, (𝑋

𝑋 + 𝜆I

𝑝

)

−1

𝑋𝑌 est un point stationnaire. De plus,

𝜕

2

𝑓

𝜕𝛽

2

= 2(𝑋

𝑋 + 𝜆I

𝑝

)

qui est définie positive, si bien qu’il s’agit d’un minimum local.

De plus, la fonction 𝑓(𝛽) est strictement convexe comme somme d’une fonc- tion convexe et d’une fonction strictement convexe. Le minimum local est donc unique et global.

Remarques :

1. On constate que la pénalité rend le problème strictement convexe, et

donc résoluble par une descente de gradient quelque soit la dimension.

(29)

3.2. REGRESSION PÉNALISÉE 29 2. Dans les cas de petite dimension, l’estimateur ridge est un estimateur biaisé, contrairement à l’estimateur des moindes carrés. Par contre, il est de moindre variance.

3. En cas de variables corrélées, la répartition entre les variables est meilleure : l’estimateur des moindres carrés risque de mettre tout le poids sur une variable, ce qui n’est pas le cas de l’estimateur ridge.

Une question importante laissé est celle du choix de la valeur de 𝜆 à appliquer.

Une approche visuelle du comportement consiste à faire varier 𝜆 d’une valeur assez grande vers 0. Le moment où les chemins partent de 0 et leur écartement de 0 donnent une idée de l’importance des variables.

Un choix automatique de 𝜆 peut être fait essentiellement suivant deux approches concurrentes :

1. Validation croisée

2. Stability selection : dans le cas de la grande dimension, on effectue un grand nombre d’apprentissage sur des sous-échantillonages (80% des don- nées par exemple) et on garde les variables appraissant dans plus de la moitié des échantillons. On peut ensuite réaliser un apprentissage en pe- tite dimension sur les variables sélectionnées.

3.2.2 LASSO

En grande dimension, la régression Ridge rend le problème bien posé mais le résultat difficile à interpréter. En effet, potentiellement toutes les variables sont explicatives.

Un autre type de pénalisation consiste à favoriser les solutions ayant un grand nombre de coordonnées nulles, en considérant la norme 1 plutôt que la norme 2 du vecteur 𝛽. Cette norme aura en effet pour conséquence de mettre de nom- breux coefficients exactement à 0. On parle alors de régression parcimonieuse.

Trouver 𝛽

𝐿𝑎𝑠𝑠𝑜

= 𝑎𝑟𝑔𝑚𝑖𝑛

𝛽

‖𝑌 − 𝑋𝛽‖

22

sous la contrainte ‖𝛽‖

1

≤ 𝑐

D’un point de vue géométrique, la forme des boules de la norme 1 va faire que de les solutions auront de nombreux coefficients nuls en grande dimension.

knitr::include_graphics('fig/lasso.jpg')

(30)

30 CHAPITRE 3. MODÈLES LINÉAIRES PÉNALISÉS

A nouveau, le lagrangien de la fonction à optimiser permet de définir un nouveau problème d’optimisation, à savoir, pour un coefficient 𝜆 > 0 :

Trouver 𝛽

𝐿𝑎𝑠𝑠𝑜

= 𝑎𝑟𝑔𝑚𝑖𝑛

𝛽

‖𝑌 − 𝑋𝛽‖

22

+ 𝜆‖𝛽‖

1

Il n’est plus possible de déterminer la solution à l’aide d’une formule close.

Cependant, la fonction est convexe et admet donc un unique minimum qu’il est possible de trouver de façon algorithmique (algorithme LARS par exemple).

Le choix de 𝜆 se fait suivant les mêmes critères que dans le cas de la régression Ridge.

3.2.3 Elastic-Net et Group-Lasso

L’inconvénient de la régression parcimonieuse est qu’en cas de variables corré- lées, une variable va être privilégiée par rapport aux autres, contrairement à la régression Ridge.

Il existe plusieurs types de compromis possibles entre les avantages des pénalités ridge et Lasso.

1. Elastic-Net : Cette approche consiste à introduire une pénalité Ridge et une pénalité Lasso afin de profiter des avantages des deux pénalités. Le prix à payer est celui de la détermination d’un nouveau paramètre 𝛼 servant à régler le poids respectifs des deux pénalités

Trouver 𝛽

𝐸−𝑁𝑒𝑡

= 𝑎𝑟𝑔𝑚𝑖𝑛

𝛽

‖𝑌 − 𝑋𝛽‖

22

+ 𝜆(𝛼‖𝛽‖

21

+ (1 − 𝛼)‖𝛽‖

22

)

(31)

3.3. APPROCHES PÉNALISÉES POUR LA CLASSIFICATION 31 2. Group-Lasso : Dans certaines applications, on connaît à l’avance une partition des variables en groupes corrélées 𝐺

1

, … , 𝐺

𝑞

. On note 𝛽

𝑞

le sous- vecteur de 𝛽 correspondant aux variables dans le groupe 𝑞. L’approche Group-Lasso consiste à appliquer une pénalité Ridge à l’intérieur de ces groupes, afin de limiter les effets des corrélations, tout en appliquant une pénalité Lasso entre les groupes, afin que la plupart des groupes se voient attribuer un vecteur 𝛽

𝑞

nul.

Trouver 𝛽

𝐺𝐿

= 𝑎𝑟𝑔𝑚𝑖𝑛

𝛽

‖𝑌 − 𝑋𝛽‖

22

+ 𝜆(

𝑞

𝑖=1

‖𝛽

𝑞

22

)

3.3 Approches pénalisées pour la classification

3.3.1 Principe

Les différentes pénalités précédentes peuvent être adaptées à d’autres fonctions objectifs que ‖𝑌 − 𝑋𝛽‖

22

, notamment à l’opposé d’une vraisemblance. On peut ainsi les appliquer dans le cadre de tout modèle linéaire généralisé

Trouver 𝛽

𝐸−𝑁𝑒𝑡

= 𝑎𝑟𝑔𝑚𝑖𝑛

𝛽

− 𝑙𝑜𝑔(ℓ(𝑋)) + 𝜆(𝛼‖𝛽‖

21

+ (1 − 𝛼)‖𝛽‖

22

)

où ℓ(𝑋) désigne la vraisemblance du modèle.

Par exemple, dans le cas d’une régression logistique, il s’agit de minimiser

− ∑

𝑛𝑖=1

(log(

1+𝑒𝑒𝛽𝑋𝑖𝛽𝑋𝑖

)) + 𝜆(𝛼‖𝛽‖

21

+ (1 − 𝛼)‖𝛽‖

22

)

3.3.2 Exemple

On considère le jeu de données Colon du package plsgenomics, qui contient le niveau d’expression de 2000 gènes de 62 tissus dont 40 sont tumoraux et 22 sont sains.

Après avoir séparé les données en jeu d’apprentissage et de test, on peut appli-

quer une pénalité ridge et regarder l’évolution des coefficients pour 𝜆 décrois-

sant. On constate, pour la pénalité ridge, un faisceau qui illustre bien la prise

en compte de la colinéarité (les trajectoires se croisent peu quand 𝜆 évolue)

mais une absence de sélection puisque toutes les variables ont dès le départ des

coeeficients non nuls. Pour Lasso, on voit bien les variables “s’allumer” les unes

après les autres, permettant de faire de la sélection, mais les trajectoires croi-

sées rendent les interprétations difficiles. Elastic-Net offre un compromis entre

les deux.

(32)

32 CHAPITRE 3. MODÈLES LINÉAIRES PÉNALISÉS

colon.ridge <- glmnet(Colon.train$X,Colon.train$Y,family="binomial",alpha=0) colon.lasso <- glmnet(Colon.train$X,Colon.train$Y,family="binomial",alpha=1) colon.enet <- glmnet(Colon.train$X,Colon.train$Y,family="binomial",alpha=.5) mfrow=c(1,3)

plot(colon.ridge)

0.00 0.02 0.04 0.06

−4e−04 0e+00 4e−04

L1 Norm

Coefficients

2000 2000 2000 2000

plot(colon.lasso)

0.00 0.02 0.04 0.06 0.08 0.10 0.12

−0.01 0.00 0.01 0.02

L1 Norm

Coefficients

0 12 17 20 23 22 22

(33)

3.3. APPROCHES PÉNALISÉES POUR LA CLASSIFICATION 33 plot(colon.enet)

0.00 0.02 0.04 0.06 0.08 0.10

−0.0050.0000.0050.010

L1 Norm

Coefficients

0 42 59 77 90 97

Pour choisir 𝜆 dans le but de faire de la prédiction, on procède par validation croisée et on apprend le modèle correspondant.

colon.cv <- cv.glmnet(Colon.train$X,Colon.train$Y,nfolds=5) colon.cv$lambda.min

## [1] 0.1353255

colon.glmnet.model <- glmnet(Colon.train$X,Colon.train$Y,family="binomial",alpha=.5,nlambda=1,lambda=colon.cv$lambda.min) Finalement, le modèle retenu peut être évalué sur le jeu test

colonpredict.glmnet <- predict.glmnet(colon.glmnet.model,Colon.test$X,type="response") predictions_proba <- exp(colonpredict.glmnet)/(1+exp(colonpredict.glmnet))

predictions_hard <- round(predictions_proba)

results <- tibble(proba=predictions_proba,MAP=predictions_hard,truth=Colon.test$Y-1) results

## # A tibble: 18 x 3

## proba[,"s0"] MAP[,"s0"] truth

## <dbl> <dbl> <dbl>

## 1 0.373 0 1

## 2 0.993 1 1

## 3 0.998 1 1

## 4 0.168 0 0

## 5 0.752 1 1

## 6 0.603 1 1

(34)

34 CHAPITRE 3. MODÈLES LINÉAIRES PÉNALISÉS

## 7 0.141 0 0

## 8 0.821 1 1

## 9 0.787 1 1

## 10 0.795 1 1

## 11 0.144 0 0

## 12 0.860 1 1

## 13 0.983 1 1

## 14 0.997 1 1

## 15 0.194 0 1

## 16 0.178 0 1

## 17 0.572 1 1

## 18 0.741 1 1

confusionMatrix(data=as_factor(predictions_hard),as_factor(Colon.test$Y-1))

## Confusion Matrix and Statistics

##

## Reference

## Prediction 0 1

## 0 3 3

## 1 0 12

##

## Accuracy : 0.8333

## 95% CI : (0.5858, 0.9642)

## No Information Rate : 0.8333

## P-Value [Acc > NIR] : 0.6479

##

## Kappa : 0.5714

##

## Mcnemar's Test P-Value : 0.2482

##

## Sensitivity : 1.0000

## Specificity : 0.8000

## Pos Pred Value : 0.5000

## Neg Pred Value : 1.0000

## Prevalence : 0.1667

## Detection Rate : 0.1667

## Detection Prevalence : 0.3333

## Balanced Accuracy : 0.9000

##

## 'Positive' Class : 0

##

(35)

Chapitre 4

Modèles basées sur les distances

Le but de cette section est de d’introduire deux types de classification liées directement à la géométrie du nuage de points dans la mesure où elles reposent directement sur la notion de distance.

4.1 Méthode des 𝑘 plus proches voisins

La méthode des 𝑘 plus proches voisins, désignée le plus souvent par kNN pour 𝑘- Nearest Neighbours est sans doute la méthode d’apprentissage conceptuellement la plus simple.

Le principe est, pour un point pour lequel une décision est à prendre, de sélec- tionner les 𝑘 points les plus proches dans le jeu d’apprentissage et de faire une prédiction

— par vote dans le cas de la classification, la classe majoritaire l’emportant

— par moyenne dans le cas de la régression pl

35

(36)

36 CHAPITRE 4. MODÈLES BASÉES SUR LES DISTANCES

2.0 2.5 3.0 3.5

5 6 7

Sepal.Length

Sepal.Width

Variantes : Il est possible de complexifier cette procédure

— en choisissant une autre distance que la norme euclidienne si elle semble plus adapté au problème

— en assignant des poids aux votes, à priori décroissants avec la distance Avantages :

— Simplicité du concept et de sa mise en oeuvre

— Peu de paramètres à régler (𝑘 et le choix de la distance retenue) Inconvénients :

— Nécessite de garder toutes les données en mémoire pour faire une prédic- tion (on ne peut pas seulement garder la règle, comme dans le cas d’un arbre de décision ou d’un modèle linéaire)

— Très sensible au fléau de la dimension : quand le nombre de variables

explicatives (dimension de 𝑋) devient grand, la distance est un outil dont

il faut se méfier. Par exemple, quelques calculs élémentaires montrent

que quand cette dimension devient très grande, des points tirés de façon

équiprobable dans [0, 1]

𝑑

sont essentiellement équidistants et tous très

proches du bord !.

(37)

4.2. MÉTHODES SVM 37

4.2 Méthodes SVM

On considère un problème de classification à deux classes, avec un ensemble d’apprentissage {(𝑥

𝑖

, 𝑦

𝑖

)

1≤𝑖≤𝑛

} tel que 𝑦

𝑖

∈ {−1, +1}.

Les méthodes SVM (Support Vector Machine ou Séparateur à Vaste Marge) reposent sur la définition d’une surface de séparation, c’est-à-dire une fonction 𝑓 ∶ 𝒳 → R tel que 𝑦 = +1 ⇔ 𝑓(𝑥) > 0.

4.2.1 Séparateurs linéaires

Considérons dans un premier temps les fonctions 𝑓 de type linéaires

𝑓(𝑥) =

𝑑

𝑗=1

𝑤

𝑗

𝑥

𝑗

+ 𝑏 =< 𝑤, 𝑥 > +𝑏

où 𝑑 désigne la dimension des données. Cela correspond à une séparation de l’espace par un hyperplan défini par < 𝑤, 𝑥 > +𝑏 = 0.

4.2.1.1 Données linéairement séparables

Les données d’apprentissage sont linéairement séparables si un tel hyperplan réalisant une classification parfaite existe

0.5 1.0 1.5

2.0 2.5 3.0 3.5 4.0 4.5

Sepal.Width

Petal.Width

(38)

38 CHAPITRE 4. MODÈLES BASÉES SUR LES DISTANCES Dans de tels cas, le nombre de séparateurs possibles est alors infinis et il convient de définir un critère de qualité pour définir le meilleur, qui sera retenu. Le critère retenu est alors la marge du séparateur, définie par

𝑀 𝑎𝑟𝑔𝑒(𝑓) = min

𝑖

𝑑(𝑥

𝑖

, 𝐻) où 𝑑(𝑥

𝑖

, 𝐻) est la distance du 𝑖

𝑒

point à l’hyperplan 𝐻.

Intuitivement, le meilleur choix est celui de l’hyperplan qui passe au milieu de l’espace entre les deux nuages, ce qui correspond à l’hyperplan dont la marge est la plus grande.

Le problème de définition du séparateur devient donc de déterminer 𝑤

et 𝑏

tels que

𝑓

= argmax 𝑀 𝑎𝑟𝑔𝑒(𝑓) Vecteurs support :

Il est à noter que les éléments les plus proches de l’hyperplan 𝐻

dans chacune des deux classes sont à même distance de 𝐻

(sinon, l’hyperplan pourrait être légèrement décalé de façon à augmenter sa marge, ce qui contredirait la définition de 𝑓

). Les vecteurs les plus proches de 𝐻

sont appelés vecteurs supports.

0.5 1.0 1.5

2.0 2.5 3.0 3.5 4.0 4.5

Sepal.Width

Petal.Width

Dans cet exemple, en admettant que l’hyperplan indiqué est optimal, il y a trois

vecteurs supports (un point bleu et deux points rouges).

(39)

4.2. MÉTHODES SVM 39 Il est à noter :

1. ce sont les vecteurs supports qui définissent 𝑓

au sens où l’ajout de points supplémentaires dans le jeu de donnée à l’extérieur de la bande définie pour les points supports ne modifieront pas 𝑓

.

2. pour tout 𝑥, si on note 𝑝(𝑥) son projeté sur 𝐻

, 𝑑(𝑥, 𝐻) = | < 𝑥 − 𝑝(𝑥), 𝑤

‖𝑤‖ > | = 1

‖𝑤‖ | < 𝑥, 𝑤 > − < 𝑝(𝑥), 𝑤 > | Or, comme 𝑝(𝑥) ∈ 𝐻, < 𝑝(𝑥), 𝑤 > +𝑏 = 0 donc

𝑑(𝑥, 𝐻) = | < 𝑤, 𝑥 > +𝑏|

‖𝑤‖

En particulier, si 𝑥

𝑠

est un vecteur support, la marge du séparateur vaut 𝑀 𝑎𝑟𝑔𝑒(𝑓) =

|<𝑤,𝑥‖𝑤‖𝑠>+𝑏|

.

3. Multiplier 𝑤 et 𝑏 par une même constante donne exactement la même séparation et la même marge. On peut donc imposer | < 𝑤, 𝑥

𝑠

> +𝑏| = 1 et obtenir une marge de

‖𝑤‖1

Optimisation :

Le problème s’écrit alors

Trouver 𝑤

= argmin 1

2 ‖𝑤‖

2

tel que ∀𝑦

𝑖

= 1, < 𝑤, 𝑥

𝑖

> +𝑏 ≥ 1

∀𝑦

𝑖

= −1, < 𝑤, 𝑥

𝑖

> +𝑏 ≤ −1

En introduisant les multiplicateurs de Lagrange (un 𝛼

𝑖

par condition, c’est-à- dire par vecteur de données), la nouvelle fonction à considérer est

𝐿(𝑤, 𝑏, 𝛼) = 1 2 ‖𝑤‖

2

𝑛

𝑖=1

𝛼

𝑖

[𝑦

𝑖

(< 𝑤, 𝑥

𝑖

> +𝑏) − 1]

Le problème dual associé est alors

Trouver 𝛼

= argmax 𝑄(𝛼) tel que ∀𝑖, 𝛼

𝑖

≥ 0

(40)

40 CHAPITRE 4. MODÈLES BASÉES SUR LES DISTANCES

𝑄(𝛼) = inf

𝑤,𝑏

𝐿(𝑤, 𝑏, 𝛼)

On rappelle (cf cours d’optimisation sous contraintes ou (Nocedal and Wright, 2006)) que lorsque la fonction à optimiser initialement (ici

12

‖𝑤‖

2

) et les contraintes sont convexes, il est équivalent de résoudre les problèmes primal et dual.

En annulant les dérivées partielles suivant 𝑤 et 𝑏 (à faire en exercice), on obtient que

𝜕𝐿

𝜕𝑤 (𝑤, 𝑏, 𝛼) = 0 ⇒ 𝑤 =

𝑛

𝑖=1

𝛼

𝑖

𝑦

𝑖

𝑥

𝑖

𝜕𝐿

𝜕𝑏 (𝑤, 𝑏, 𝛼) = 0 ⇒

𝑛

𝑖=1

𝛼

𝑖

𝑦

𝑖

= 0

En injectant ces résultats dans 𝐿, on obtient

𝑄(𝛼) = 1

2 ‖𝑤‖

2

− < 𝑤, 𝑤 > − ∑

𝑖

𝛼

𝑖

𝑦

𝑖

𝑏 + ∑

𝑖

𝛼

𝑖

=

𝑛

𝑖=1

𝛼

𝑖

− 1

2 ∑

1≤𝑖,𝑗≤𝑛

𝛼

𝑖

𝛼

𝑗

𝑦

𝑖

𝑦

𝑗

< 𝑥

𝑖

, 𝑥

𝑗

>

Le problème d’optimisation dual à résoudre pour obtenir 𝛼

est alors

Trouver 𝛼

= argmax

𝛼

(

𝑛

𝑖=1

𝛼

𝑖

− 1

2 ∑

1≤𝑖,𝑗≤𝑛

𝛼

𝑖

𝛼

𝑗

𝑦

𝑖

𝑦

𝑗

< 𝑥

𝑖

, 𝑥

𝑗

>)

sous la contrainte 𝛼

𝑖

≥ 0 et

𝑛

𝑖=1

𝛼

𝑖

𝑦

𝑖

= 0

Ce problème peut être résolu à l’aide d’algorithmes d’optimisation quadratique à contraintes linéaires, et on obtient

1. La valeur de 𝛼

. Les valeurs non nulle de ce vecteur donnent l’identité

des vecteurs supports

(41)

4.2. MÉTHODES SVM 41 2. 𝑤

par la formule 𝑤

=

12

𝑛𝑖=1

𝛼

𝑖

𝑦

𝑖

𝑥

𝑖

3. 𝑏

par la formule 𝑦

𝑠

(< 𝑤

, 𝑥

𝑠

> +𝑏

) = 1 valable pour tout vecteur support.

Une nouvelle donnée 𝑥 peut dorénavant être classée en déterminant le signe de 𝑓(𝑥) =< 𝑤

, 𝑥 > +𝑏

.

4.2.2 Données non linéairement séparables

1.0 1.5 2.0 2.5

3 4 5 6 7

Petal.Length

Petal.Width

Dans la plupart des cas, les données ne sont pas linéairement séparables, c’est- à-dire qu’aucun hyperplan ne permet de séparer parfaitement l’ensemble d’apprentissage.

Dans ce cas, on introduit, pour des valeurs de 𝑤 et de 𝑏 données, une pénalité pour chaque sommet

𝜉

𝑖

= max(0, 1 − 𝑦

𝑖

(< 𝑤, 𝑥

𝑖

> +𝑏))

Cette pénalité est nulle, pour les points qui sont bien classés, avec une distance l’hyperplan supérieure à 𝑓𝑟𝑎𝑐1‖𝑤‖ : dans le cas séparable, elle est nulle pour tout le monde.

Par contre, elle est non nulle pour les points situés dans la bande centrale (dis- tance à l’hyperplan inférieure à la marge) et les points mal classés.

Le problème considéré est alors

Références

Documents relatifs

D’après l’étude précédente, nous voyons bien que plus (respectivement moins) la capacité d’une classe de fonctions est grande, plus (respectivement moins) on a de

Conclusion et perspectives Dans ce travail de thèse, nous avons examiné deux approches existantes de la littérature de l’apprentissage statistique pour rendre les modèles et

Ayant choisi un modèle discriminatif unique pour toutes nos expérimentations, nous avons pu comparer notre approche hybride utilisant Snorkel avec celle du modèle classique sur

I En conséquence, l’aire sous la courbe ROC, appellée critère AUC, peut être vu comme une mesure de la qualité du score. Ce critère AUC varie entre 0 (cas le pire) et 1 (cas

- car elle est simple, rapide et fonctionne pour une variable de sortie non binaire, et des variables d’entrées de type quelconque.. - elle permet de traiter des données de

L’étiquette d’une feuille est la classe la plus fréquente (dans le cas d’une matrice de coût 0-1) ou la classe la moins risquée à posteriori dans la feuille (pour une matrice

I En 1996 Breiman introduit le Bagging, une des premières méthodes d’ensemble qui consiste à agréger une collection de classifieurs pour en obtenir un meilleur. I En classification,

The present research program proposes to investigate the possibility of explicitly discovering and learning unknown invariant transformations, as a way to go beyond the limits