Académique Documents
Professionnel Documents
Culture Documents
Fabrice Rossi
TELECOM ParisTech
Mai/Juin 2009
Plan
Introduction et modélisation mathématique
Apprentissage supervisé
Qualité d’un modèle
Régression
Régression linéaire
Régularisation
Non linéaire
Discrimination
Moindres carrés
Analyse discriminante
Maximisation de la marge
Non linéaire
Sélection de modèle
2 / 122 F. Rossi
Plan
Introduction et modélisation mathématique
Apprentissage supervisé
Qualité d’un modèle
Régression
Régression linéaire
Régularisation
Non linéaire
Discrimination
Moindres carrés
Analyse discriminante
Maximisation de la marge
Non linéaire
Sélection de modèle
Modélisation mathématique :
observations d’un phénomène ⇒ des données zi ∈ Z
Modélisation mathématique :
observations d’un phénomène ⇒ des données zi ∈ Z
deux grandes catégories de données :
1. cas non supervisé :
• pas de structure interne à z
• classification, règles d’association, etc.
Modélisation mathématique :
observations d’un phénomène ⇒ des données zi ∈ Z
deux grandes catégories de données :
1. cas non supervisé :
• pas de structure interne à z
• classification, règles d’association, etc.
2. cas supervisé :
• z = (x, y ) ∈ X × Y
• modélisation du lien entre x et y
• pour faire des prévisions : connaissant x, on prédit y
régression :
• Y = R ou Y = Rp
• prévision : associer une valeur numérique à une nouvelle
observation
• applications : certaines formes de scoring (note d’un objet,
d’un consommateur), prévisions de la valeur future d’une
action, etc.
régression :
• Y = R ou Y = Rp
• prévision : associer une valeur numérique à une nouvelle
observation
• applications : certaines formes de scoring (note d’un objet,
d’un consommateur), prévisions de la valeur future d’une
action, etc.
sortie structurée :
• Y est un ensemble structuré complexe : ensemble de
fonctions, chaînes de caractères, arbres, graphes, etc.
• prévision : associer un objet de l’ensemble complexe à une
nouvelle observation
• application : inférence grammaticale (associer un arbre de
syntaxe à un texte), traduction automatique, etc.
buts principaux :
• obtenir un « bon » modèle : la prévision obtenue est proche
de la vraie valeur
• obtenir rapidement un modèle rapide : temps de
construction du modèle et temps nécessaire à l’obtention
d’une prévision
• pouvoir garantir les performances : avec une probabilité de
1 − r , la prévision sera bonne à près
buts annexes :
• obtenir un modèle compréhensible : comment le modèle
prend il une décision ?
• obtenir un modèle modifiable : pouvoir prendre en compte
de nouvelles données, s’adapter à un environnement
changeant, etc.
Vision « naïve » :
• données d’évaluation TM = (xi , yi )M
i=1
• l est le critère d’erreur dans Y
• l’erreur du modèle g est donnée par
M
1 X
L̂(g; TM ) = l(g(xi ), yi )
M
i=1
Vision « naïve » :
• données d’évaluation TM = (xi , yi )M
i=1
• l est le critère d’erreur dans Y
• l’erreur du modèle g est donnée par
M
1 X
L̂(g; TM ) = l(g(xi ), yi )
M
i=1
L(g) = EP {l(g(x), y )}
L(g) = EP {l(g(x), y )}
pourquoi de l’aléatoire ?
• bruit dans les observations
• données incomplètes
• variabilité naturelle
pourquoi une distribution P fixée ?
• stationnarité
• condition nécessaire à l’inférence : si un phénomène
change constamment, on ne peut pas le prédire
• extensions possibles aux variations lentes
pourquoi l’espérance ?
• naturelle dans un cadre statistique
• pour s’affranchir de la variabilité des nouvelles observations
indépendance statistique ?
• (xi , yi ) est choisie sans rien savoir des tirages précédents
• chaque observation (xi , yi ) apporte de nouvelles
informations
Définition informelle
L’erreur en généralisation d’un modèle est celle des prédictions
obtenues sur des nouvelles observations
classement
frontière optimale
linéaire
classement
frontière optimale
linéaire
grille d’évaluation
classement
frontière optimale
linéaire
classement optimal
classement
frontière optimale
linéaire
L(g) ' 0.0968
L̂(g) = 0
1 voisin
classement
frontière optimale
linéaire
L(g) ' 0.0892
L̂(g) = 0.065
3 voisins
classement
frontière optimale
linéaire
L(g) ' 0.0524
L̂(g) = 0.085
5 voisins
classement
frontière optimale
linéaire
L(g) ' 0.0416
L̂(g) = 0.0875
11 voisins
classement
frontière optimale
linéaire
L(g) ' 0.0404
L̂(g) = 0.085
15 voisins
classement
frontière optimale
linéaire
L(g) ' 0.0456
L̂(g) = 0.095
21 voisins
Point à retenir
obtenir une bonne estimation des performances d’un modèle
est la principale difficulté de l’apprentissage automatique
l’apprentissage supervisé
• construit un modèle pour prédire y à partir de x
• en s’appuyant sur un ensemble d’apprentissage constitué
d’exemples d’associations (x, y )
suite du cours :
• quelques modèles et algorithmes associés
• méthodologie :
• comment évaluer les performances d’un modèle ?
• comment choisir un bon modèle ?
14
12
alcool
10
8
−20 −10 0 10 20 30
spectre1
14
12
alcool
10
8
−20 −10 0 10 20 30
spectre1
PN
si E(a, b) = i=1 (axi + b − yi )2 , on a
N N
!
X X
∇a E(a, b) = 2 a xi2 + xi (b − yi )
i=1 i=1
et
N
!
1X
∇b E(a, b) = 2N b+ (axi − yi )
N
i=1
F = f : R → R | ∃(a, b) ∈ R2 , f (x) = ax + b
F = f : R → R | ∃(a, b) ∈ R2 , f (x) = ax + b
F = f : R → R | ∃(a, b) ∈ R2 , f (x) = ax + b
(X T X )β ∗ = X T Y
β ∗ = (X T X )−1 X T Y
• décomposition QR en O Np 2
−20 0 20
12 14
taux d’alcool dans le vin alcool
10
en fonction de deux
8
variables spectrales
20
spectre1
0
−20
30
0 10
spectre2
−20
8 10 12 14 −20 0 10 30
spectre2 spectre1
spectre2
spectre1
Modèle idéal
16
taux d’alcool dans le vin
14
en fonction de deux
variables spectrales
Prédiction
12
prédiction vs réalité
visualisation classique
10
quand p ≥ 2
L̂(g) = 0.54
8 8 10 12 14
Réalité
Modèle idéal
16
taux d’alcool dans le vin
14
en fonction de deux
variables spectrales
Prédiction
12
prédiction vs réalité
visualisation classique
10
quand p ≥ 2
une variable : L̂(g) = 0.92
8 8 10 12 14
Réalité
150
100
Ozone
50
0
60 70 80 90
Temp
150
100
Ozone
50
0
60 70 80 90
Temp
régression linéaire
150
100
Ozone
50
0
60 70 80 90
Temp
14
Modèle idéal
13
taux d’alcool dans le
vin en fonction du
12
spectre complet
Prédiction
256 variables
11
explicatives ( !)
10
91 observations
prédiction vs réalité sur 30
9
nouvelles observations 10 11 12 13 14
Réalité
Modèle linéaire
14
taux d’alcool dans le
13
vin en fonction du
spectre complet
Prédiction
12
256 variables
explicatives ( !)
11
91 observations
10
prédiction vs réalité sur 30
nouvelles observations 10 11 12 13 14
Réalité
approche de base :
• choix d’une classe de modèles
• puis choix du modèle d’erreur empirique minimale
ne fonctionne pas quand la classe est trop complexe :
• exemple : pour la prévision du degré alcoolique en fonction
du spectre, l’erreur empirique est nulle
• phénomène de sur-apprentissage (overfitting)
approche hiérarchique :
• choix de plusieurs classes de modèles, de complexités
différentes
• minimisation de l’erreur empirique dans chaque classe
• puis choix du modèle parmi les candidats
approche de base :
• choix d’une classe de modèles
• puis choix du modèle d’erreur empirique minimale
ne fonctionne pas quand la classe est trop complexe :
• exemple : pour la prévision du degré alcoolique en fonction
du spectre, l’erreur empirique est nulle
• phénomène de sur-apprentissage (overfitting)
approche hiérarchique :
• choix de plusieurs classes de modèles, de complexités
différentes
• minimisation de l’erreur empirique dans chaque classe
• puis choix du modèle parmi les candidats
• comment ?
source du problème :
• le système Y = X β a une infinité de solution quand Y est
dans l’image de X
• quand p est grand devant N, c’est très probable :
• moins d’équations (les N observations)
• que d’inconnues (les p + 1 poids βj )
source du problème :
• le système Y = X β a une infinité de solution quand Y est
dans l’image de X
• quand p est grand devant N, c’est très probable :
• moins d’équations (les N observations)
• que d’inconnues (les p + 1 poids βj )
attaquer la source du problème :
• réduire le nombre de variables
• classes de modèles, pour tout S ⊂ {1, . . . , p} :
( )
X
FS = f : Rp → R | f (x) = β0 + βi xi
i∈S
1 variable
14
taux d’alcool dans le
vin en fonction du
12
Prédiction
spectre
91 observations ⇒
10
aucune erreur
quand p = 90
8
8 10 12 14 16
Réalité
2 variables
14
taux d’alcool dans le
vin en fonction du
12
Prédiction
spectre
91 observations ⇒
10
aucune erreur
quand p = 90
8
8 10 12 14 16
Réalité
3 variables
14
taux d’alcool dans le
vin en fonction du
12
Prédiction
spectre
91 observations ⇒
10
aucune erreur
quand p = 90
8
8 10 12 14 16
Réalité
4 variables
14
taux d’alcool dans le
vin en fonction du
12
Prédiction
spectre
91 observations ⇒
10
aucune erreur
quand p = 90
8
8 10 12 14 16
Réalité
5 variables
14
taux d’alcool dans le
vin en fonction du
12
Prédiction
spectre
91 observations ⇒
10
aucune erreur
quand p = 90
8
8 10 12 14 16
Réalité
10 variables
14
taux d’alcool dans le
vin en fonction du
12
Prédiction
spectre
91 observations ⇒
10
aucune erreur
quand p = 90
8
8 10 12 14 16
Réalité
12 variables
14
taux d’alcool dans le
vin en fonction du
12
Prédiction
spectre
91 observations ⇒
10
aucune erreur
quand p = 90
8
8 10 12 14 16
Réalité
15 variables
14
taux d’alcool dans le
vin en fonction du
12
Prédiction
spectre
91 observations ⇒
10
aucune erreur
quand p = 90
8
8 10 12 14 16
Réalité
20 variables
14
taux d’alcool dans le
vin en fonction du
12
Prédiction
spectre
91 observations ⇒
10
aucune erreur
quand p = 90
8
8 10 12 14 16
Réalité
30 variables
14
taux d’alcool dans le
vin en fonction du
12
Prédiction
spectre
91 observations ⇒
10
aucune erreur
quand p = 90
8
8 10 12 14 16
Réalité
50 variables
14
taux d’alcool dans le
vin en fonction du
12
Prédiction
spectre
91 observations ⇒
10
aucune erreur
quand p = 90
8
8 10 12 14 16
Réalité
60 variables
14
taux d’alcool dans le
vin en fonction du
12
Prédiction
spectre
91 observations ⇒
10
aucune erreur
quand p = 90
8
8 10 12 14 16
Réalité
75 variables
14
taux d’alcool dans le
vin en fonction du
12
Prédiction
spectre
91 observations ⇒
10
aucune erreur
quand p = 90
8
8 10 12 14 16
Réalité
90 variables
14
taux d’alcool dans le
vin en fonction du
12
Prédiction
spectre
91 observations ⇒
10
aucune erreur
quand p = 90
8
8 10 12 14 16
Réalité
5e−01
apprentissage
validation
5e−02
Erreur empirique
5e−03
5e−04
5e−05
0 20 40 60 80
Nombre de variables
12 variables
courbe classique du
5e−01
apprentissage
sur-apprentissage : validation
5e−02
décroissance constante de
Erreur empirique
5e−03
l’erreur empirique sur
5e−04
l’ensemble d’apprentissage
5e−05
décroissance puis
croissance sur l’ensemble 0 20 40 60 80
Nombre de variables
de validation
la bonne évaluation des performances est celle fournie par
l’ensemble de validation
1 variable
14
taux d’alcool dans le
vin en fonction du
12
Prédiction
spectre
variables induites
10
par l’ACP
8
8 10 12 14 16
Réalité
2 variables
14
taux d’alcool dans le
vin en fonction du
12
Prédiction
spectre
variables induites
10
par l’ACP
8
8 10 12 14 16
Réalité
3 variables
14
taux d’alcool dans le
vin en fonction du
12
Prédiction
spectre
variables induites
10
par l’ACP
8
8 10 12 14 16
Réalité
4 variables
14
taux d’alcool dans le
vin en fonction du
12
Prédiction
spectre
variables induites
10
par l’ACP
8
8 10 12 14 16
Réalité
5 variables
14
taux d’alcool dans le
vin en fonction du
12
Prédiction
spectre
variables induites
10
par l’ACP
8
8 10 12 14 16
Réalité
10 variables
14
taux d’alcool dans le
vin en fonction du
12
Prédiction
spectre
variables induites
10
par l’ACP
8
8 10 12 14 16
Réalité
20 variables
14
taux d’alcool dans le
vin en fonction du
12
Prédiction
spectre
variables induites
10
par l’ACP
8
8 10 12 14 16
Réalité
27 variables
14
taux d’alcool dans le
vin en fonction du
12
Prédiction
spectre
variables induites
10
par l’ACP
8
8 10 12 14 16
Réalité
30 variables
14
taux d’alcool dans le
vin en fonction du
12
Prédiction
spectre
variables induites
10
par l’ACP
8
8 10 12 14 16
Réalité
40 variables
14
taux d’alcool dans le
vin en fonction du
12
Prédiction
spectre
variables induites
10
par l’ACP
8
8 10 12 14 16
Réalité
60 variables
14
taux d’alcool dans le
vin en fonction du
12
Prédiction
spectre
variables induites
10
par l’ACP
8
8 10 12 14 16
Réalité
80 variables
14
taux d’alcool dans le
vin en fonction du
12
Prédiction
spectre
variables induites
10
par l’ACP
8
8 10 12 14 16
Réalité
5e−01
apprentissage
validation
5e−02
Erreur empirique
5e−03
1e−03
2e−04
0 20 40 60 80
Nombre de variables
27 variables ACP
résoudre
β ∗ = arg min kY − X βk2
β, kβk≤C
normales modifiées
(X T X + λI)β ∗ = X T Y
λ = 1e+05
14
taux d’alcool dans le
12
Prédiction
vin en fonction du
spectre
10
régression ridge
8 10 12 14 16
Réalité
λ = 7940
14
taux d’alcool dans le
12
Prédiction
vin en fonction du
spectre
10
régression ridge
8 10 12 14 16
Réalité
λ = 2510
14
taux d’alcool dans le
12
Prédiction
vin en fonction du
spectre
10
régression ridge
8 10 12 14 16
Réalité
λ = 794
14
taux d’alcool dans le
12
Prédiction
vin en fonction du
spectre
10
régression ridge
8 10 12 14 16
Réalité
λ = 79.4
14
taux d’alcool dans le
12
Prédiction
vin en fonction du
spectre
10
régression ridge
8 10 12 14 16
Réalité
λ = 7.94
14
taux d’alcool dans le
12
Prédiction
vin en fonction du
spectre
10
régression ridge
8 10 12 14 16
Réalité
λ = 2.51
14
taux d’alcool dans le
12
Prédiction
vin en fonction du
spectre
10
régression ridge
8 10 12 14 16
Réalité
λ = 0.794
14
taux d’alcool dans le
12
Prédiction
vin en fonction du
spectre
10
régression ridge
8 10 12 14 16
Réalité
λ = 0.251
14
taux d’alcool dans le
12
Prédiction
vin en fonction du
spectre
10
régression ridge
8 10 12 14 16
Réalité
λ = 0.0251
14
taux d’alcool dans le
12
Prédiction
vin en fonction du
spectre
10
régression ridge
8 10 12 14 16
Réalité
λ = 0.000794
14
taux d’alcool dans le
12
Prédiction
vin en fonction du
spectre
10
régression ridge
8 10 12 14 16
Réalité
λ = 1e−05
14
taux d’alcool dans le
12
Prédiction
vin en fonction du
spectre
10
régression ridge
8 10 12 14 16
Réalité
1e−01
1e−03
Erreur empirique
1e−05
1e−07
apprentissage
1e−09
validation
λ ' 0.794
0.10
0.05
β
0.00
−0.05
sélection forward/backward :
+ sélection de variables
+ très efficace avec une implémentation adaptée : O Nk 2
- variables transformées
régression ridge :
+ souple
+ efficace : SVD en O Np2 puis O p2 + Np par valeur de λ
p
( N
)
X X
p
FC = f : R → R | f (x) = β0 + βi x i , |βi | ≤ C
i=1 i=1
p
!
X
∗ 2
β = arg min kY − X βk + λ |βi |
β
i=1
0 variable
14
taux d’alcool dans le
12
Prédiction
vin en fonction du
spectre
10
lasso
8 10 12 14 16
Réalité
1 variable
14
taux d’alcool dans le
12
Prédiction
vin en fonction du
spectre
10
lasso
8 10 12 14 16
Réalité
2 variables
14
taux d’alcool dans le
12
Prédiction
vin en fonction du
spectre
10
lasso
8 10 12 14 16
Réalité
3 variables
14
taux d’alcool dans le
12
Prédiction
vin en fonction du
spectre
10
lasso
8 10 12 14 16
Réalité
3 variables
14
taux d’alcool dans le
12
Prédiction
vin en fonction du
spectre
10
lasso
8 10 12 14 16
Réalité
3 variables
14
taux d’alcool dans le
12
Prédiction
vin en fonction du
spectre
10
lasso
8 10 12 14 16
Réalité
4 variables
14
taux d’alcool dans le
12
Prédiction
vin en fonction du
spectre
10
lasso
8 10 12 14 16
Réalité
5 variables
14
taux d’alcool dans le
12
Prédiction
vin en fonction du
spectre
10
lasso
8 10 12 14 16
Réalité
5 variables
14
taux d’alcool dans le
12
Prédiction
vin en fonction du
spectre
10
lasso
8 10 12 14 16
Réalité
5 variables
14
taux d’alcool dans le
12
Prédiction
vin en fonction du
spectre
10
lasso
8 10 12 14 16
Réalité
5 variables
14
taux d’alcool dans le
12
Prédiction
vin en fonction du
spectre
10
lasso
8 10 12 14 16
Réalité
8 variables
14
taux d’alcool dans le
12
Prédiction
vin en fonction du
spectre
10
lasso
8 10 12 14 16
Réalité
9 variables
14
taux d’alcool dans le
12
Prédiction
vin en fonction du
spectre
10
lasso
8 10 12 14 16
Réalité
12 variables
14
taux d’alcool dans le
12
Prédiction
vin en fonction du
spectre
10
lasso
8 10 12 14 16
Réalité
29 variables
14
taux d’alcool dans le
12
Prédiction
vin en fonction du
spectre
10
lasso
8 10 12 14 16
Réalité
68 variables
14
taux d’alcool dans le
12
Prédiction
vin en fonction du
spectre
10
lasso
8 10 12 14 16
Réalité
89 variables
14
taux d’alcool dans le
12
Prédiction
vin en fonction du
spectre
10
lasso
8 10 12 14 16
Réalité
1e−01
1e−03
Erreur empirique
1e−05
1e−07
1e−09
Étape
30
20
10
0
β
−10
−20
−30
−40
Étape
30
20
10
0
β
−10
−20
−30
−40
0 10 20 30 40
Étape
F = f : R → R | f (x) = β0 + β1 x + β2 x 2
• modèles quadratiques
problème d’optimisation
150
100
Ozone
50
0
60 70 80 90
Temp
degré : 1
150
100
Ozone
50
0
60 70 80 90
Temp
degré : 2
150
100
Ozone
50
0
60 70 80 90
Temp
degré : 3
150
100
Ozone
50
0
60 70 80 90
Temp
degré : 4
150
100
Ozone
50
0
60 70 80 90
Temp
degré : 5
150
100
Ozone
50
0
60 70 80 90
Temp
degré : 6
150
100
Ozone
50
0
60 70 80 90
Temp
degré : 7
150
100
Ozone
50
0
60 70 80 90
Temp
degré : 25
150
100
Ozone
50
0
60 70 80 90
Temp
contrôle de la puissance :
• régularisation
• sélection de modèle
et donc
N
X
g(x) = hφ(x), β ∗ i = αi∗ hφ(x), φ(xi )i
i=1
de plus
α∗ = (Φ(X )Φ(X )T )−1 Y
on cherche à contrôler kβ ∗ k2
on a
N X
X N
kβ ∗ k2 = αi∗ αj∗ φ(xi ), φ(xj )
i=1 j=1
on montre que
β ∗ = arg min kY − Φ(X )βk2 + λkβk2
β∈Rq+1
correspond à
−1
∗ T
α = Φ(X )Φ(X ) + λI Y
solution simple :
• faire de la régression
• en cherchant à prédire yi = −1 pour la classe A et yi = 1
pour la classe B
• attention : l’opération signe n’est pas prise en compte pour
le choix de β
on a donc
X X
β ∗ = arg minp (hxi , βi + 1)2 + (hxi , βi − 1)2
β∈R
xi ∈A xi ∈B
coût 0/1
coût quadratique
8
6
approximation convexe
l(g(x),1)
du coût
4
+ facile à optimiser
2
- pénalise un trop bon
classement
0
−3 −2 −1 0 1 2 3
g(x)
Solution acceptable mais limitée
8.0
7.5
7.0
Longueur Sépale
6.5
6.0
5.5
5.0
4.5
Largeur Sépale
8.0
7.5
7.0
Longueur Sépale
6.5
6.0
5.5
5.0
4.5
Largeur Sépale
décomposition de la covariance :
1
PN
• covariance totale T = N i=1 (xi − µ)(xi − µ)T (µ moyenne
des x)
1
− µk )(xi − µk )T
P
• covariances intraclasse Wk = Nk i∈Ck (xi
(µk moyenne des x de la classe Ck )
1
PK T
k =1 Nk (µk − µ)(µk − µ)
• covariance interclasse B = N
K
• T = B + W , avec W = N1
P
k =1 Nk Wk
projection = « multiplication » par β
• intraclasse : β T W β
• interclasse : β T Bβ
−3 −2 −1 0 1 2
0.3
2
0.2
1
0
0.1
−1
0.0
−3 −2 −1 0 1 2 3
−2
−3 −2 −1 0 1 2
0.6
2
0.4
1
0
0.2
−1
0.0
−1 0 1 2 3
−2
−3 −2 −1 0 1 2
0.3
2
1
0.2
0
0.1
−1
0.0
−4 −2 0 2 4
−2
−3 −2 −1 0 1 2
8.0
7.5
7.0
Longueur Sépale
6.5
6.0
5.5
5.0
4.5
Largeur Sépale
8.0
7.5
7.0
Longueur Sépale
6.5
6.0
5.5
5.0
4.5
Largeur Sépale
Données linéairement
séparables : une infinité
de choix possibles
Données linéairement
séparables : une infinité
de choix possibles
Données proches du
séparateur : petite
« marge » ⇒ faible
robustesse
Données linéairement
séparables : une infinité
de choix possibles
Données proches du
séparateur : petite
« marge » ⇒ faible
robustesse
Un critère de choix
possible : maximiser la
marge
Données linéairement
séparables : une infinité
de choix possibles
Données proches du
séparateur : petite
« marge » ⇒ faible
robustesse
Un critère de choix
possible : maximiser la
marge
Machine à vecteurs de
support
(D0 ) maxα N 1 PN PN
P
i=1 αi − 2 i=1 αi αj yi yj hxi , xj i
PN j=1
sous les contraintes i=1 αi yi = 0 et αi ≥ 0
8.0
7.5
7.0
Longueur Sépale
6.5
6.0
5.5
5.0
4.5
Largeur Sépale
8.0
7.5
7.0
Longueur Sépale
6.5
6.0
5.5
5.0
4.5
Largeur Sépale
8.0
7.5
7.0
Longueur Sépale
6.5
6.0
5.5
5.0
4.5
Largeur Sépale
8.0
7.5
7.0
Longueur Sépale
6.5
6.0
5.5
5.0
4.5
Largeur Sépale
8.0
7.5
7.0
Longueur Sépale
6.5
6.0
5.5
5.0
4.5
Largeur Sépale
de façon équivalente :
N
1 X
(PC ) min hβ, βi + C max (1 − yi (hβ, xi i + β0 ), 0)
β,β0 2
i=1
interprétation de C :
• compromis entre erreurs et marge, régularisation
• C grand : erreurs interdites, au détriment de la marge (le
modèle « colle » aux données)
• C petit : marge maximisée, au détriment des erreurs
• choix de C : choix de modèle
le coût
l(g(x), y ) = max (1 − yg(x), 0)
est appelé le hinge loss
on remarque que
l(g(x), y ) ≥ δsigne(g(x))6=y
coût 0/1
coût quadratique
8
6
approximation convexe
l(g(x),1)
du coût
4
+ facile à optimiser
2
- pénalise un trop bon classe-
ment
0
−3 −2 −1 0 1 2 3
g(x)
coût quadratique
coût 0/1
hinge loss
8
6
approximation convexe
l(g(x),1)
du coût
4
+ facile à optimiser
2
+ ne pénalise pas les bons clas-
sements
0
+ n’explose pas −3 −2 −1 0 1 2 3
g(x)
hinge loss
(DC ) maxα N 1 PN PN
P
i=1 αi − 2 i=1 αi αj yi yj hxi , xj i
PN j=1
sous les contraintes i=1 αi yi = 0 et 0 ≤ αi ≤ C
2
1
0
−1
−3 −2 −1 0 1 2
−3 −2 −1 0 1 2
−3 −2 −1 0 1 2
−3 −2 −1 0 1 2
−3 −2 −1 0 1 2
−3 −2 −1 0 1 2
−3 −2 −1 0 1 2
régression :
• fonction lm du package stats
• nombreuses extensions associées
analyse discriminante : fonction lda du package MASS
machines à vecteurs de support :
• fonction svm du package e1071
• fonction ksvm du package kernlab
6 8 10 12 14
15 20 25 30
problèmes « simples » :
• Np 2 : beaucoup de variables pour peu d’observations
• classifieur linéaire :
• généralement une infinité de choix possibles
• critère de choix très important
• régularisation cruciale
problèmes « difficiles » :
• Np 2
• pas de séparateur linéaire
• peu de variables et/ou beaucoup d’observations
• données « contradictoires » (classes partiellement
superposées)
la situation est la même qu’en régression
L(g) = EP {l(g(x), y )}
Avantages :
• facile à mettre en œuvre
• temps de calcul raisonnable
Inconvénients :
• nécessite beaucoup de données :
• au moins deux ensembles
• si on veut évaluer un modèle sélectionné sur l’ensemble de
validation, on doit utiliser un troisième ensemble : l’ensemble
de test
• sensible au découpage
• réduit les données utilisées pour construire le modèle :
résultats moins robustes
idée principale
• échanger les ensembles d’apprentissage et de validation
• apprendre un modèle sur D = (xi , yi )1≤i≤N et l’évaluer sur
D0 = (xi , yi )N+1≤i≤N+M ...
• puis apprendre un modèle sur D 0 et l’évaluer sur D ...
• et enfin combiner les évaluations
solution générale :
1. découpage des données en k sous-ensembles D1 , . . . , Dn
2. pour tout i :
2.1 apprentissage sur l’union des Dj avec j 6= i
2.2 évaluation sur Di
3. combinaison des évaluations
si k = N on parle de leave-one-out.
Test
Apprentissage
Test
Estimation des
performances
Apprentissage
avantages :
• facile à mettre en œuvre
• utilise toutes les données pour évaluer le modèle
inconvénients :
• sensible au découpage et au nombre de blocs
• temps de calcul élevé
• ne donne pas directement un modèle
solution la plus utilisée aujourd’hui
ne dispense pas du découpage apprentissage/test
Tirage Aléatoire
Tirage Aléatoire
Algorithme :
1. pour b allant de 1 à n
1 N
1.1 engendrer un échantillon bootstrap (x∗b , . . . , x∗b )
1 N
1.2 calculer θ∗b = θ(x∗b , . . . , x∗b )
b b
2. l’estimation du biais est
n
1Xb b 1, . . . , x N )
θ∗b − θ(x
n
b=1
Algorithme :
1. pour b allant de 1 à n
1 N
1.1 engendrer un échantillon bootstrap (x∗b , . . . , x∗b )
1 N
1.2 calculer θ∗b = θ(x∗b , . . . , x∗b )
b b
2. calculer
n
1 Xb
θb∗ = θ∗b
b
b=1
Raisonnement :
l’évaluation d’un modèle consiste à estimer ses
performances
l’erreur résiduelle sur l’ensemble d’apprentissage
sous-estime l’erreur réelle
idée, estimer l’ampleur de la sous-estimation par
bootstrap :
• calculer la sous-estimation pour un échantillon bootstrap
• moyenner les sous-estimations pour beaucoup
d’échantillons bootstrap
• corriger l’erreur résiduelle en ajoutant la moyenne
Algorithme :
1. pour b allant de 1 à n
1 N
1.1 engendrer un échantillon bootstrap (x∗b , . . . , x∗b ) (à partir
de l’ensemble d’apprentissage)
1.2 estimer le modèle optimal pour l’échantillon bootstrap
1.3 calculer Bb∗b comme la différence entre l’erreur résiduelle du
modèle sur l’échantillon d’apprentissage et l’erreur
résiduelle du modèle sur l’échantillon bootstrap
2. estimer l’erreur résiduelle Eb du modèle optimal sur
l’ensemble d’apprentissage
3. corriger cette erreur en lui ajoutant 1 n Bb∗b
P
n b=1
Points positifs :
• facile à mettre en œuvre
• utilise toutes les données
• donne des intervalles de confiance
Points négatifs :
• temps de calcul très élevé
• nombreuses variantes
• ne donne pas directement un modèle
ne dispense pas du découpage apprentissage/test