performance des algorithmes de discrimination

publicité
DEA instrumentation et commande
Reconnaissance des formes
Erreurs et coûts des algorithmes
S. Canu
http://psichaud.insa-rouen.fr/~scanu/RdF
Buts de la RdF
Une forme x
(vecteur forme
des caractéristiques)
D : Algorithme
de
Reconnaissance
des Formes
x  Rd
y  1,2,..., L
C’est
la forme
« y=D(x) »
espace des caractéristiques
ensemble des décisions
RdF D : R d  1,..., l ,..., L
x  D( x)
Nous voulons un algorithme de RdF performant
x  R d , D(x)  " la vraie classe"
Cout d' une règle de décision D
min J ( D)
DD
J ( D)  E C S , D( X )     C sk , D( x)  f X  x, k  dx  PS  sk 
K
k 1
RdF et apprentissage
Les problèmes
P X , Y   P
les couts :
J ( D) et C,
J ( D)  E C S , D( X ) 
1
Ensemble d’apprentissage (échantillon)
Sn   xi , yi  i  1, n
2
Une forme x
(vecteur forme
des caractéristiques)
A : Algorithme
d’apprentissage
D : Algorithme
de
Reconnaissance
des Formes
3
A priori
sur la
nature de la
solution
C’est
la forme
« y=D(x) »
Grandes déviations
La moyenne
n’est pas
l’espérance
1 n
 erri  EP
n i 1

précision
1 n


prise en compte

P
 erri  EP     
de l’enchantillonnage  n i 1

Z
Fréquence
d’erreur
E(Z)
Probabilité
d’erreur
confiance
Grandes déviations
Bienaimé Tchebitchev
– pour tout P précision
confiance
2
P X  E(X)       2

– Démonstration
Hypothèse
2 
2
x
P(x)dx 

2 
x
x 
E(X)  0
X v.a. centrée
2 P(x)dx
2
x
P(x)dx 

x 
 2

2
x
P(x)dx

x 
P(x) dx   2 P x   
x 
Grande déviation

0
-6
-4

-2
0
2
4
6
2
P X  E(X)       2

p : probabilité d’erreur
Xi = 1 si on c’est trompé,
= 0 sinon
n
1
p(1  p)
1




P  Xi  p   

2
 n i 1

n
4n 2
confiance 
 = (4n)-1/2 précision
Application :
comparaison d’algorithmes
Algorithme
1 (adaline)
nb err
pˆ 1 
m
pˆ 1  pˆ 2
m exemples
pour le test
Algorithme
2 (perceptron)
nb err
pˆ 2 
m
Donc l’algorithme 1
est meilleur que
l’algorithme 2
Application :
comparaison d’algorithmes
Algorithme
1 (adaline)
nb err
pˆ 1 
m
pˆ 1  pˆ 2
m exemples
pour le test
Algorithme
2 (perceptron)
ssi
1
pˆ1  pˆ 2  2 
n
nb err
pˆ 2 
m
Donc l’algorithme 1
est meilleur que
l’algorithme 2
Application :
Choix de la taille de l’ensemble test
Algorithme
1 (adaline)
m exemples
pour le test
nb err 1 m
pˆ 
  Xi
m
m i 1
Comment choisir m pour que probabilité d’erreur = pˆ   ?
P pˆ  p    
m
1
4m 2
1
4  2
m
0,05
0,1
0,01
500
50.000
Comment améliorer cette borne ?
Comment améliorer cette borne ?
–
–
–
–
–
–
Améliorer l’inégalité des grandes déviations.
Inégalité de markov
Hoeffding
erreur bornée
Chernov
Classification
Bernstein
Bennet
Grandes déviations
généralisation de
Bienaimé Tchebitchev
– pour tout P
2
P X  E(X)       2

– Démonstration
Hypothèse
Fonction
positive  2 
h(x)>0
2 
2
x
P(x)dx 

x
x 
E(X)  0
X v.a. centrée
2 P(x)dx
2
x
P(x)dx 

x 
 2

2
x
P(x)dx

x 
P(x) dx   2 P x   
x 
Lemme de Markov
–
–
–
–
soit (A,,D) un espace probabilisé
soit X une v.a. sur (A,)
soit  > 0
Alors : P X  E(X)     E h(x)
h(  )
x, h(x)  0
– Démonstration
– comme Bienaymé Tchébychev
Eh(X) 

h(x) P(x)dx  h( )

P(x)dx
x 
Comment choisir h(x) ?
h est la fonction génératrice des moments : h(X)  e t( X)
(comment choisir t?)
Hoeffding
 2
x2
P X  E(X)     2e
h(x)  e
sur 0,1
n 2
P pˆ n  p     2e
Bennett
P pˆ n  p     2e n h1 (n )
Bernstein
P pˆ n  p     2e n h2 (n )
(1 + x) log(x) h1 (x) =
x
x
h2 (x) 
1 x/3
Récapitulons
 0 si f ( xi )  yi (ok)
ei  f ( xi )  yi  
(erreur)
1 sinon
Approximation normale
2
1 m

P  ei  p     2
 m i 1
 n
Hoeffding (1963)
1 m

 2 m 2
P  ei  p     2e
 m i 1

Bernstein (1946)
Bennett (1962)
1 m

P  ei  p    
 m i 1

2 m 2

2e 1 / 3
1

P  ei  p     2e
 m i 1

m

m   1 

  1  log 18 1 
2   8 

Taille de l’échantillon pour une précision
n
1

n
2
log( )
2 2
n
1
4 2
n
2 log( )
n
 1  1 / 8  log(1  8 
log( )1   / 3
2 2
Exemples
Grandes dé viations pour  =0.05, p=.5
10000
Bienaymé Tchebychev
approximation normale
Hoeffding
Berstein
Bennett
9000
8000
n taille de l'é chantillon
7000
6000
5000
4000
3000
2000
1000
0
0.02
0.04
0.06
0.08

0.1
0.12
0.14
Exemples
Grandes dé viations pour  =0.05, p=.5
10000
Bienaymé Tchebychev
approximation normale
Hoeffding
Berstein
Bennett
9000
8000
n taille de l'é chantillon
7000
3200
1800
1000
600
500
6000
5000
4000
3000
2000
1000
0
0.02
0.04
0.06
0.08

0.1
0.12
0.14
Estimation de l’erreur
d’un classifieur
Avec un ensemble de test
Avec des exemples
– validation croisée
– bootstrap
Indépendamment des exemples
– il faut une borne
Estimation de l’erreur
facture
– Beaucoup d’exemples : ensemble test
DONNEES
– Peu d’exemples : le rééchantillonnage
TEMPS
– Validation croisée
– Jackknife
– Bootstrap
– Analyse théorique :
PRECISION
Ensemble test
– grandes déviations
Rééchantillonnage
– Validation croisée
– Jackknife
– Bootstrap
Bootstrap
Quelle est la loi de
? (comment estimer le biais et la variance d’un estimateur ?)
Idée : « observer » la distribution de ˆ - 
on tire plusieurs échantillons
on calcule plusieurs réalisations de ˆ
nouvelle idée : créer des échantillons « fictifs »
ˆ
X1
X2
X3
.
Xi
.
Xn
Tirage de n points AVEC REMISE
X*1 X*2 X*3 … X*i … X*n ˆ1*
X*1 X*2 X*3 … X*i … X*n
ˆ2*
X*1 X*2 X*3 … X*i … X*n
ˆb*
X*1 X*2 X*3 … X*i … X*n
ˆB*
Young G.A. (1994) Bootstrap: More than a stab in the Dark, Statistical Science 9 pp 382-415
Bootstrap
ˆ
X1
X2
X3
.
Xi
.
Xn
Tirage de n points AVEC REMISE
X*1 X*2 X*3 … X*i … X*n ˆ1*
Biais :
X*1 X*2 X*3 … X*i … X*n
ˆ2*
X*1 X*2 X*3 … X*i … X*n
ˆb*
X*1 X*2 X*3 … X*i … X*n
ˆB*
1 B ˆ* ˆ
 b  
B b1

1 B ˆ* ˆ
Variance :   b  
B b1

2
Exemple de Bootstrap
n = 20;
xi=rand(n,1);
m = mean(xi);
% 0.528
(Fractiles)
B=200;
for b=1:B
ind = round(n*rand(n,1)+1/2);
mb(b)=mean(xi(ind));
end
40
30
hist(mb);
20
std(mb)
% 0.0676
sqrt(1/12/n)
% 0.0645
ind =
13 17 13
8
9 11
5
8 14 19
10
0
0.3
2 20
4
8
0.4
3
1 19
0.5
0.6
4 16
0.7
6
Validation par Bootstrap
^r(x) estimateur P.M.C. + I. B sur l’échantillon initial (x )
t
Innovation équivalente :  = x ^- r(x )
t
t+1
t
Erreur initiale
(
t
Erreur BS
1
Echantillon BS
2
P.M.C.
(t  (b t   (B  t
(x*1  ...
t
^ 1(x)
r*
...
(x*b 
(x* B 
^
r*b(x)
r*^B(x)
t
...
t
Validation par Bootstrap
– Faire B fois (B 50)
– 1 : Générer un nouvel échantillon : x*b(t) ; t =
1:T
^
x*b(t+1) = r(x*b(t)) + b(t) ^
– 2 : Apprendre
ce nouvel échantillon
: r*b(x)
2
1 T-1
^
t=1•
– Biais b :T-1
(
x(t+1)
r*
b(x(t))) - 2
1
^
T-1 t=1•
(x*b(t+1)
- r*b(x*b(t)))
Exemple de bootstrap
6
5
4
3
2
1
0
-1
-2
-3
-4
-10
-5
0
5
10
15
Théorie des bornes
– Avec une probabilité (1 - ), pour tous les
EP(w)
erreur
<
<
Cemp(w)
+
w : B
(VCdim(B), Cemp(w), n,  )
coût visible + complexité,
nb d’exemples, précision
– mesure de complexité :
– Taille de B ?
– Nombre de paramètres ?
– dimension de Vapnik - Chervonenkis (pire des cas)
–
e.g. Dim VC d'un ensemble de fonctions à seuil = taille du plus grand ensemble S pour
lequel le système peut implémenter les 2|S| dichotomies sur S.
Un exemple
de grande
déviation
– T une v.a.
de bernouilli
P(T  0)  1  
P(t  K )  
p  E(T)  1   0   K   K
1 n
pˆ   Ti
n i 1
Ppˆ  0   1    n
P pˆ  p   K   1    n
' n
P pˆ  p   '   1 
 K 
log 
n
' 

log 1 
 K 
P, f F
Convergence uniforme
PCemp ( f )  EP( f )    (n,  , taille de F )
sup

P
Cemp ( f )  EP( f )   
 f F

cas simple card(F ) = F < 

P Cemp ( f1 )  EP( f1 )   ou ... ou Cemp ( f F )  EP( f F )  



 F P Cemp ( f )  EP( f )    2 F e
cas général card(F ) = F = 
n 2
 2 VCF e n
Borne sur l’erreur
d’apprentissage
Théorème (Vapnik & Chervonenkis, 1974)
 0 si f ( xi )  yi (ok)
ei  f ( xi )  yi  
(erreur)
1 sinon
1 n

P  ei  p     
 n i 1

2
E  p  pbayes  
(d  1) log n  (2d  2) 
n
Téléchargement