M ´ethodes `a base de voisinage
• Id ´ee
• trouver des points d’apprentissage similaires au point de test
• faire “voter” ces “voisins”
• Deux strat ´egies
• nombre de voisins fixe → k-plus proches voisins (k-PPV)
• voisinage fixe → fen ˆetres de Parzen
M ´ethodes `a base de voisinage
• Terminologie/notation
• donn ´ees d’entraˆınement: D
n=
( x
1, y
1),..., ( x
n, y
n)
• observation: x
i∈ R
d• ´etiquette/classe: y
i∈ {− 1 , 1 }
• fonction discriminante: g : R
d→ R , souvent g : R
d→ [− 1 , 1 ]
• fonction de classification/classifieur: f : R
d→ {− 1 , 1 }
• fonction discriminante → classifieur:
f ( x ) =
1 , si g ( x ) ≥ 0
− 1 , si g ( x ) < 0
M ´ethodes `a base de voisinage
• Vote des voisins formellement:
g ( x ) = 1
n ∑
xi∈
V
(x)y
i• k-PPV:
V ( x ) est l’ensemble des k points plus proches `a x dans D
n• Parzen (avec param `etre h):
V ( x ) = { x
i: d ( x
i, x ) < h }
M ´ethodes `a base de voisinage
• Erreur d’entraˆınement (risque empirique) R ( f , D
n) = R ( f ) = 1
n
n i
∑
=1I
{f(xi)=yi}•
fonction indicatrice: I{A}=1, si A est vrai 0, sinon
• Comment choisir k ou h?
• minimiser R ( f ) ?
• k = 1, h → 0
M ´ethodes `a base de voisinage
• But: g ´en ´eralisation!
• k ou h petit: les “ ´electeurs” sont proches (donc fiables) mais pas nom- breux (donc le vote est bruit ´e)
• k ou h grand: les “ ´electeurs” sont nombreux (donc les fluctuations statistiques sont liss ´ees) mais loin (donc moins fiables)
• Comment mesurer la g ´en ´eralisation?
• sur un ensemble de test: D
m=
( x
1, y
1),..., ( x
m, y
m)
• Erreur de test
R ( f , D
m) = R
( f ) = 1 m
m i
∑
=1I
{f(xi)=yi}
M ´ethodes `a base de voisinage
• Courbes d’apprentissage
• erreurs d’entraˆınement et de test en terme du param `etre de com- plexit ´e/capacit ´e
• Fl ´eau de la dimensionnalit ´e
• les espaces de haute dimension sont presque vides: on a besoin de O ( c
d) points pour la m ˆeme densit ´e
• les voisins plus proches sont loin
• les m ´ethodes `a base de voisinage “global” s’ ´ecroulent
Fen ˆetres de Parzen
• Vote des voisins formellement:
g ( x ) = 1
n ∑
d(xi,x)<h
y
i= 1 n
n i
∑
=1I
{d(xi,x)<h}y
i= 1 n
n i
∑
=1I
d(xi,x) h <1y
i• remplacer I
{·}par une fonction “lisse”:
g ( x ) = 1 n
n i
∑
=1φ
d ( x
i, x ) h
y
i• par exemple, gaussien standard N ( 0 , 1 ) : φ( u ) = 1
√ 2 π e
−u2/2k-plus-proche-voisin
• Partition de Voronoi
x
1x
2x
1x
3k-plus-proche-voisin
• Complexit ´e computationnelle
• m ´ethode na¨ıve: T ( n , k , d ) = O ( nkd ) = O ( n
2d )
• m ´ethode de distances partielles:
d
r( a , b ) = ∑
ri=1
( a
i− b
i)
2 1/2, r ≤ d
• m ´ethodes d’arbre de recherche
k-plus-proche-voisin
• Complexit ´e computationnelle
• m ´ethode de suppression/ ´emondage (editing/pruning/condensing) E ´
MONDAGED
EP
LUSP
ROCHEV
OISIN( D
n)
1 construire le diagramme de Voronoi complet de D
n2 pour j ← 1 `a n faire
3 pour tout les voisins de Voronoi x
de x
ifaire 4 si y
i= y
alors
5 marquer x
i6 pour j ← 0 `a n faire
7 si x
in’est pas marqu´e alors 8 supprimer x
i• T ( n , d ) = O ( d
3n
d/2ln n )
M ´etriques
• Propri ´et ´es d’une m ´etrique
• positivit ´e: d ( a , b ) ≥ 0
• r ´eflexivit ´e: d ( a , a ) = 0
• sym ´etrie: d ( a , b ) = d ( b , a )
• in ´egalit ´e de triangle: d ( a , b ) + d ( b , c ) ≥ d ( a , c )
M ´etriques
• Exemples des m ´etriques
euclidienne L
2d ( a , b ) = ∑d
i=1
( a
i− b
i)
2 1/2Manhattan L
1d ( a , b ) = ∑d
i=1
| a
i− b
i| L
∞d ( a , b ) = max
i
| a
i− b
i| Minkowski L
pd ( a , b ) = ∑d
i=1
| a
i− b
i|
p 1/pTanimoto L
Tanimotod ( S
1, S
2) = | S
1| + | S
2| − 2 | S
1∩ S
2|
| S
1| + | S
2| − | S
1∩ S
2|
M ´etriques
• La m ´etrique de Minkowski
1 4 2
∞
0,0,0
1,0,0 0,1,0
1,1,1
M ´etriques
• Les limitations de la m ´etrique euclidienne
1 2 3 4 5
2.58
x8 x' x'(s=3)
d(x,x(s))
d(x',x8)
s
La distance tangente
• Capturer l’invariance de certaines transformations:
TV
i= F
i( x
; a
i) − x
La distance tangente
0 281 0 694
641 660 924 1283
0 973 1535 1856
1628 1767 2122 2373
TV2
TV1 (rotation)
0 0.5 1.5
0 0.5 1.5
prototype a1
a2
(amincir)
La distance tangente
d
tan( x
, x ) = min
a
[( x
+ Ta ) − x ]
x3
x'
TV1 TV
2
Ta
x1
D
tan
(x',x
2)
x2 x1
x2
espace
tangent