Université Paris 13/Younès Bennani Traitement Informatique des Données 1
2
Younès BENNANIILOG 3
Traitement
Informatique des
Données
Université Paris 13/Younès Bennani Traitement Informatique des Données 3
Bayes Classifier
Hypothèse de Multi-normalité
x x x
x x
x x x x
x
oo o
o oo o
o o
o o
l l
l l
l
l l
l l l
l l l
l
!1
"1
!2
"2
!3
"3
La fonction de décision est :
g
i( X ) = ! 1
2 ( X ! µ
i)
t"
i!1
(X ! µ
i) ! n
2 ln 2 [ ] # ! 1
2 ln [ ] "
i+ ln [ P(C
i) ]
La frontière entre les classes :
g
ij(X ) = g
i( X) ! g
j( X)
Université Paris 13/Younès Bennani Traitement Informatique des Données 4
Bayes Classifier
Hypothèse de Multi-normalité
Université Paris 13/Younès Bennani Traitement Informatique des Données 5
Notions de distances
Définir une distance entre un objet et une classe à partir de la distance entre objets (formes) :
Approche la plus simple et la plus intuitive en RdF.
Un élément appartient à une classe s'il est plus proche de cette classe que toutes les autres.
La distance dépend de la forme à traiter et des paramètres extraits.
x x x
x x
x x x x
x
oo o
o o o o
o o
o o
+ X
Définition d’une distance
E : ensemble de points,
Espace métrique réel s'il existe une fonction : d : ExE !
!
vérifiant :
1. " (x,y) # E2, x#y $ d(x,y) > 0, (séparabilité)
2. " x # E, d(x,x) = 0, (réflexivité)
3. " (x,y) # E2, d(x,y)=d(y,x), (symétrie)
4. " (x,y,z) # E3, d(x,z) $ d(x,y) + d(y,z). (inégalité triangulaire)
Université Paris 13/Younès Bennani Traitement Informatique des Données 7
Exemples de distances
Distance de Hamming
X =
{ }
xi i=1Kn = x1 x2M xn
!
"
#
# #
$
%
&
&
& Y =
{ }
yi i=1Knd1(X,Y)= xi!yi
i=1 n
"
d2(X,Y)=
(
xi! yi)
2i=1 n
"
dk(X,Y)= xi!yi i=1
n
"
# k
$
% &
' (
1 k
d!(X,Y)=maxi=1Knxi"yi Distance Euclidienne
Distance dk
Distance du maximum E : ensemble de points, (X,Y) # E2
Université Paris 13/Younès Bennani Traitement Informatique des Données 8
Distances entre formes et classes
Plus la distance est petite, plus on admet que la ressemblance est grande.
x x x
x x
x x x x
x
o o o
o o o o
o o
o o
X +
Ci
Cj d (Ci, Cj)
d2(X,Y)=
(
xi !yi)
2i=1 n
"
• La distance d entre deux classes Ci et Cj est définie par :
d (C
i, C
j) = inƒ { d X,Y ( ) ; X !C
iet Y !C
j}
d (X, Cj) d (X, Ci)
Université Paris 13/Younès Bennani Traitement Informatique des Données 9
Distances binaires
• caractéristiques des formes ne sont pas mesurables.
• codage binaire : 1 % présence de l’attribut (caractère) 0 % absence de l’attribut
• Le nombre de fois où X et Y possèdent le même caractère (couples de 11)
• Le nombre de fois où X et Y ne possèdent aucun caractère commun (couples de 00)
• Le nombre de fois où X ne possède pas le caractère possédé par Y (couples de 01)
• Le nombre de fois où X possède un caractère non possédé par Y (couples de 10) a= xi.yi
i=1 n
!
b=
(
1!xi)
i=1 n
" (
1!yi)
h=
(
1!xi)
i=1 n
"
.yig= xi. 1
(
!yi)
i=1 n
"
Quelques distances binaires
• Russel et Rao
• Joccard et Needham
• Dice
• Sokal et Sneath
S1(X,Y)= a a+b+g+h S2(X,Y)= a
n!b S3(X,Y)= a
2a+g+h S4(X,Y)= a
a+2(g+h) S5(X,Y)=a+b
n S6(X,Y)= a g+h
• Sokal et Michenon
• Kulzinsky
Université Paris 13/Younès Bennani Traitement Informatique des Données 11
Exemple
Caractéristiques
Rond Allongé Rouge Vert
1 0 1 0
0 1 0 1
1 0 0 1
S
2( , )=0 et S
2( , )=0.33
et se ressemblent plus que et
Université Paris 13/Younès Bennani Traitement Informatique des Données 12
MDC: Minimum-Distance Classifier
M classes { C1,C2,..., CM }, M prototypes Y = { Y1,Y2,..., YM } dans !n on cherche à identifier la forme X.
• Attribuer un élément X à une classe Ck :
X !C
k" C
k= Arg min
Ci
d X,C (
i)
!
D
i= d X,C (
i) = d( X,Y
i) = [ ( X " Y
i)
t( X " Y
i) ]
12,1 # i # M
D
k= min
1!i!M
( d( X, Y
i) )
x x x
x x
x x x x
!
o o o
o oo o
o o
o o
l l
l l
l
l l
l l l
l l l
l
Y1
Y3
Y2
!
!
Université Paris 13/Younès Bennani Traitement Informatique des Données 13
MDC: Minimum-Distance Classifier
• Fonction de décision pour Ci :
D
i2
= [ ( X ! Y
i)
t( X ! Y
i) ]
= X
tX ! 2 X
tY
i+ Y
itY
iConstante
minimiser
D
i2!
minimiser!2 X
tY
i+ Y
itY
i, 1 " i " M
maximiser
c
2 X
tY
i! Y
itY
i, 1 " i " M g
i( X ) = X
tY
i! 1
2 Y
itY
i, 1 " i " M X #C
issi g
i(X) > g
j( X), j $ i
MDC: Minimum-Distance Classifier
• Fonction de décision linéaire :
g
i( X ) = X
tY
i! 1
2 Y
itY
i, 1 " i " M g
i( X ) = W
itX, 1 ! i ! M
X =
x
1x
2M x
n1
!
"
#
#
# #
$
%
&
&
&
&
W
i= w
i,1w
i, 2M w
i,nw
i,n+1!
"
#
#
# #
$
%
&
&
&
&
=
y
i,1y
i, 2M y
i,n'1 2
Y
itY
i!
"
#
#
# #
$
%
&
&
&
&
Université Paris 13/Younès Bennani Traitement Informatique des Données 15
MDC: Minimum-Distance Classifier
• Cas Multi-prototypes :
C
i! Y
i(1), Y
i( 2), K , Y
i(ni)D
i= min
1!j!ni
d ( X , Y
i(j))
( )
g
i( X ) = X
tY
i(j)! 1
2 ( Y
i(j))
tY
i(j)
, 1 " j " n
iX #C
issi g
i(X) > g
j( X), j $ i
• Fonction de décision pour Ci :
x x x
x x
x x x x
!
o o o
o o o o
o o
o o
l l
l l
l
l l
l l l
l l l
l
!
!
!
!
!
! !
!
!
Y1(1),Y1( 2),Y1(3),Y1( 4 )
!
Y2(1),Y2( 2),Y2(3)
!
Y3(1),Y3( 2)
Université Paris 13/Younès Bennani Traitement Informatique des Données 16
MDC: Minimum-Distance Classifier Exemple
C
1! (1, 0), (1,1) C
2! (0,1), (3,1)
C
3! (1,2), (0, 0), ("1,1) X = (1, "1) #?
Consider a three-class problem in R2 where each class is represented by its prototypes as follows:
Given the incoming pattern :
Université Paris 13/Younès Bennani Traitement Informatique des Données 17
MDC: Minimum-Distance Classifier Exemple
!
g1(X)=
(
x1,x2) ( )
1,0 t"12( )
1,0( )
1,0 t=x1"12g2(X)=
(
x1,x2) ( )
0,1t"12( )
0,1( )
0,1t=x2"1 2 g3(X)=(
x1,x2) ( )
0,0 t"12( )
0,0( )
0,0 t=0!
D1=min
[
d X(
, 1,0( ) )
,d X(
, 1,1( ) ) ]
"( )
1,0D2=min
[
d X, 0,1( ( ) )
,d X, 3,1( ( ) ) ]
"( )
0,1D3=min
[
d X, 1,2( ( ) )
,d X,( (
#1,1) )
,d X(
,(
#1,1) ) ]
"( )
0,0!
g12(X)=g1(X)"g2(X)=x1"x2=0
g23(X)=g2(X)"g3(X)= x2"1
2=0
g31(X)=g3(X)"g1(X)=1
2"x1=0
Les fonctions de décision :
Les frontières entre les 3 classes : entre C1 et C2
entre C2 et C3
entre C3 et C1
! X "C
1g1(X)=1
2, g2(X)=!3
2, g3(X)=0
C1 ! (1, 0), (1,1) C2 ! (0,1), (3,1) C3 ! (1,2), (0, 0), ("1,1) X=(1,"1)#?
La frontière entre les classes :
gij(X)=gi(X)!gj(X)=0
!
X=(1,"1)
x1= 1 2
x1 x2
MDC: Minimum-Distance Classifier Exemple
!
g12(X)=g1(X)"g2(X)=x1"x2=0 g23(X)=g2(X)"g3(X)=x2"1
2=0 g31(X)=g3(X)"g1(X)=1
2"x1=0
entre C1 et C2
entre C2 et C3
entre C3 et C1
! (1,0)
! (1,1)
! (1,2)
! (0,0)
! ("1,1)
! (3,1)
! (0,1)
!
x2=1 2
!
x1=x2
entre C1 et C2
entre C2 et C3
entre C3 et C1
Université Paris 13/Younès Bennani Traitement Informatique des Données 19
Méthodes non paramétriques
k-Nearest Neighbour : KNN k-plus proches voisins : KPPV
N observations D = { X1, X2,...,XN} dans !n réparties en M classes {C1,C2,..., CM}, d(Xi, Xj) est une distance entre les observations Xi et Xj.
Règle du plus proche voisin (k=1) :
Xi est affecté à la classe Cj si Cj est la classe de l'objet Xj, tel que : d(Xi, Xj) = min k#i, K=1…N d(Xi, Xk), pour Xk appartenant à D.
x x x
x x
x x x x
x
oo o
o
o o o
o o
o o
Xi Ci
x
x
x + o
o o
o o
o o
o x
xx x
x x
Cj Xj
Université Paris 13/Younès Bennani Traitement Informatique des Données 20
Méthodes non paramétriques
k-Nearest Neighbour : KNN k-plus proches voisins : KPPV
Règle des k plus proches voisins :
Xi est affecté à la classe Ci si Ci est la classe la mieux représentée parmi les k voisins les plus proches de Xi, tel que :
ki = max { k1, k2, …, kM}$ Xi# Ci.
Avec ki = le nombre d’éléments de la classe Ciparmi les k voisins les plus proches de Xi. et k1+k2+ …+ kM = k
x x x
x x
x x x x
x
oo o
o
o o o
o o
o o
Xi Ci
x
x
x + o
o o
o o
o o
o x
xx x
x x
Cj kj =3 ki =5
k= 8
Université Paris 13/Younès Bennani Traitement Informatique des Données 21
Algorithme des KNN
Err
Bayes! lim
n"#Err
PPV! 2 Err
BayesDébut
on cherche à classer le point y
Pour chaque exemple (x,C(x)) de l’ensemble d’apprentissage faire
Calculer la distance d(x,y) entre x et y Fin pour
Dans les k points proches de y
compter le nombre d’occurrences de chaque classe
Attribuer à y la classe qui apparaît le plus souvent Fin.
Méthodes non paramétriques
k-Nearest Neighbour : KNN k-plus proches voisins : KPPV
Propriétés de convergence en probabilité :
la probabilité d’erreur avec la règle du plus proche voisin (PPV) converge en probabilité vers une quantité inférieure à deux fois l’erreur minimum de la décision bayésienne, mais reste supérieure ou égale à une fois cette erreur.
Err
Bayes! lim
n"#Err
PPV! 2 Err
BayesConsidérations pratiques (heuristique) :
choisir k autour de où est le nombre moyen de points d’apprentissage par classe.
m C m
C
Université Paris 13/Younès Bennani Traitement Informatique des Données 23
Méthodes non paramétriques
k-Nearest Neighbour : KNN k-plus proches voisins : KPPV
Surface de séparation générée par KNN
Voronoi Net Delaunay Net
Frontière entre les 2 classes
Prototypes de la classe 1
Prototypes de la classe 2
Université Paris 13/Younès Bennani Traitement Informatique des Données 24
Méthodes non paramétriques
k-Nearest Neighbour : KNN
k-plus proches voisins : KPPV
Université Paris 13/Younès Bennani Traitement Informatique des Données 25
Décision et Rejet
variante (k,l)-Nearest Neighbour (k,l)-NN
Décisions avec rejet :
consiste à fixer un seuil l de décision : k/2 < l < k
et à décider que Xi est affecté à la classe Ci si au moins l parmi les k voisins les plus proches de Xi appartiennent à Ci.
x x x
x x
x x x x
x
o o o
o
o o o
o o
o o
Xi Ci
x
x
x + o
o o
o o
o o
o x
xx x
x x
Cj kj =3 ki =5
(k,l)= (8,5) $ Xi # Ci
(k,l)= (8,6) $ Rejet
Variantes accélérées
k-Nearest Neighbour : KNN k-plus proches voisins : KPPV
KNN = méthode lente en phase de décision
nécessite le calcul de N distances dans un espace à n dimensions.
Variantes sub-optimales nécessitent moins de calcul :
• La condensation
[P.E. Hart, « The condensed Nearest Neighbor Rule » IEEE Transactions Information Theory, 14, May, 1968.]
• Le pavage
[C. Delannoy, « Un algorithme rapide de recherche de plus proches voisins » RAIRO Informatique, 14(3):275-286, 1980.]
• La hiérarchie
[J. H. Friedman, J. L. Bentley, R. A. Finkel, « An algorithm for finding best matches in logarithmic expected time », ACM Transactions on Software, 3(3), 1977]
• Le tri
[T. P. Yunk, « A technique to identify Nearest Neighbors », IEEE Transactions on Systems, Man and Cybernetics, 6:678-683, 1976]
Université Paris 13/Younès Bennani Traitement Informatique des Données 27
Recherche des KNN
Méthode de projection
J.H. Friedman, F. Baskett, L.J. Shustek
« An algorithm for finding nearest neighbors »
IEE trans. Comput?, Vol. C-24, pp. 1000-1006, Oct. 1975
Méthode non-paramétrique KNN Avantages :
- pas d’hypothèse sur les distributions - simple à mettre en œuvre
- donne une probabilité d’erreur faible Inconvénients :
- temps de calcul important (recherche des knn) - place mémoire
(stockage de l’ensemble des prototypes)
Université Paris 13/Younès Bennani Traitement Informatique des Données 28
Recherche des KNN
Méthode de projection : 2-dimension
Pré-traitement Étape 0 :
projeter l’ensemble des points sur un axe et trier les projections
(projection+trie une seule fois pour l’ensemble des données) O(NlogN)
Recherche des knn Étape 1 :
localiser la projection du point test sur l’axe de projection
(recherche dichotomique O(logN)) Étape 2 :
trouver les 2 plus proches projections
(une de chaque coté)de la projection du point test Étape 3 :
calculer la distance (en dimension complète) entre les 2 prototypes et le point test
choisir le prototype minimisant cette distance : rd
Université Paris 13/Younès Bennani Traitement Informatique des Données 29
Recherche des KNN
Méthode de projection : 2-dimension
Étape 4 :
déterminer les limites de la recherche - borne #1=projection du test+rd - borne #2=projection du test -rd Étape 5 :
calculer et sauvegarder en mémoire les distances entre le test et les prototypes à l’intérieur des deux bornes
Étape 6 :
trouver le prototype minimisant la distance par rapport au test = le plus proche voisin
Pour la recherche des knn (k>1) Étape 7 :
supprimer le ppv (trouvé à l’étape 6) de la liste des prototypes à l’intérieur des bornes
répeter k fois de l’étape 1 à l’étape 7 Si k>1, les bornes sont recalculées à chaque itération.
Recherche des KNN
Méthode de projection : d-dimension
Comment trouver le meilleur axe de projection ?
Université Paris 13/Younès Bennani Traitement Informatique des Données 31
Maximum coordinate ! distance
2 Euclidian
1 Manhattan
n p
Metric
Recherche des KNN
Méthode de projection : d-dimension
Étape 0.1 :
projeter l’ensemble des points sur les d axes et trier les projections
Étape 0.2 :
estimer le nombre n de distances à calculer dans le cas d’une distribution uniforme (worst case)
!
( )
kd!1/dN1"(1/d)!
" kd d 2#1
$
% & ' ( ) !
$
% & '
( )
1/d
(
2N)
1#(1/d)!
k1/dN1"(1/d)
K: le nombre des ppv, d: la dimension, N: le nombre de prototypes
Université Paris 13/Younès Bennani Traitement Informatique des Données 32
Recherche des KNN
Méthode de projection : d-dimension
Étape 1 :
localiser la projection du test sur chaque axe Étape 2 :
trouver la position du (n/2)ème prototype de chaque coté du test
Étape 3 :
calculer la distance S entre ces 2 prototypes Étape 4 :
calculer la projection de la densité locale D au voisinage du point test (local projected density) :
Étape 5 :
sélectionner l’axe minimisant D et l’utiliser pour la recherche des knn (méthode 2-dimension)!
D=n/S
Université Paris 13/Younès Bennani Traitement Informatique des Données 33
Nettoyage (editing) de l’ensemble d’apprentissage
Début
diviser aléatoirement l’ensemble d’apprentissage en deux sous-ensembles S1 et S2
tant que la stabilisation de S1 et S2 n’est pas réalisée faire
1-classer tous les points de S1 sur S2 par la règle du 1-ppv 2-éliminer de S1 tous les points dont la classe n’est pas la même que celle de leur plus proche voisin dans S2
3-classer tous les points de S2 sur le nouveau S1 par la règle du 1-ppv 4-éliminer de S2 tous les points dont la classe n’est pas la même que celle de leur plus proche voisin dans S1
fin tant que
L’ensemble d’apprentissage nettoyé est composé de S1& S2 fin.
Condensation (condensing) de l’ensemble d’apprentissage
Début
ordonner les m exemples d’apprentissage de x1 à xm initialiser S par x1 et G par x2 à xm
tant que S et G ne sont pas stabilisés faire pour
chaque point gi de G faire
si le 1-ppv de gi dans S n’a pas la même classe que gi alors enlever gi de G et le mettre dans S
fin si fin pour
fin tant que
L’ensemble d’apprentissage condensé est S fin.
Université Paris 13/Younès Bennani Traitement Informatique des Données 35
Exercice : K-NN
C
1! (0,3), (0, 2), (0,1), (0, 0), ("1,0), ("2, 0) C
2! (1,3), (1,1),(1,0), (0, "1)
X = (1,4) #? avec 1 " NN, 3 " NN et 5 " NN
Université Paris 13/Younès Bennani Traitement Informatique des Données 36
Exercice (Corrigé)
C1 g1(X) C2 g2(X)
(0, 3) 7.5 (1,3) 8
(0, 2) 6 (1,1) 4
(0,1) 3.5 (1,0) 0.5
(0, 0) 0 (0,!1) !4.5
(!1,0) !1.5 (!2, 0) !4 X=(1,4)
gi(X)= XtYi!1
2YitYi, 1"i"M La fonction de décision est :
1-NN 3-NN 3-NN
3-NN 5-NN
5-NN
5-NN 5-NN 5-NN
5-NN => C1
3-NN => C1
1-NN => C2
x1 x2
Université Paris 13/Younès Bennani Traitement Informatique des Données 37
Exercice (Corrigé)
gi(X)= XtYi!1
2YitYi, 1"i"M
La frontière entre les classes :
gij(X)=gi(X)!gj(X)=0 La fonction de décision est :
g1(X)=
(
x1 x2)
! " # 03$ % &12(
0 3)
! 03"
# $
% =3x2 &9 2 g2(X)=
(
x1 x2)
! " # 13$ % &12(
1 3)
! 13"
# $
% =x1+3x2&5
g1 2(X)=g1(X)!g2(X)=3x2!9
2!x1!3x2+5
=!x1+1 2=0 x1=1
2
X=(1,4)
x1= 1 2
x1 x2