M ´ethodes `a base de voisinage
1• 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
2• 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
3• 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
4• 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,siAest vrai 0,sinon
• Comment choisir k ou h?
• minimiser R(f ! )?
• k = 1, h → 0
M ´ethodes `a base de voisinage
5• 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(x' i)!=y'i}M ´ethodes `a base de voisinage
6• 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
7• 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=1
!
I
%d(xi,x) h <1&y
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
8• Partition de Voronoi
x
1x
2x
1x
3k-plus-proche-voisin
9• 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) = )
r!
i=1(a
i− b
i)
2*
1/2, r ≤ d
• m ´ethodes d’arbre de recherche
k-plus-proche-voisin
10• 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/2+ln n)
M ´etriques
11• 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
12• 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
13• La m ´etrique de Minkowski
1 4 2
∞
0,0,0
1,0,0 0,1,0
1,1,1
M ´etriques
14• 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
15• Capturer l’invariance de certaines transformations:
TV
i= F
i(x
'; a
i) − x
'La distance tangente
160 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
17d
tan(x
', x) = min
a
[ . (x
'+ Ta) − x . ]
x3
x' TV1
TV
2
Ta
x1
Dtan (x',x
2)
x2 x1
x2
espace tangent