Digital Data Processing – Traitement Numérique des Données 1 © Y. Bennani
Digital Data Processing
Traitement Numérique des Données
Younès BENNANI Full Professor
Master of Science in Informatics
Specialities
Data Mining, Analytics, and Knowledge Discovery (EID
2) Programming Tools and Safety (PLS)
Digital Data Processing – Traitement Numérique des Données 2 © Y. Bennani
2 • Classificateurs discriminants
• Approches à base de distance
• Minimum-Distance Classifier
• Fisher classifier
• Logistic classifier
• Nearest neighbor rule
• Approches minimisant l’erreur
Digital Data Processing – Traitement Numérique des Données 3 © Y. Bennani
Classement/Discrimination Approches discriminantes
Digital Data Processing – Traitement Numérique des Données 4 © Y. Bennani
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.
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
o o
o o
o o o
o o
o o
+ x
Digital Data Processing – Traitement Numérique des Données 5 © Y. Bennani
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) ∈ E
2, x≠y ⇒ d(x,y) > 0, (séparabilité)
2. ∀ x ∈ E, d(x,x) = 0, (réflexivité)
3. ∀ (x,y) ∈ E
2, d(x,y)=d(y,x), (symétrie)
4. ∀ (x,y,z) ∈ E
3, d(x,z) ≤ d(x,y) + d(y,z). (inégalité triangulaire)
Digital Data Processing – Traitement Numérique des Données 6 © Y. Bennani
Exemples de distances
Distance de Hamming
€
x = { } x
i i=1Kn= x
1x
2M x
n"
#
$ $
$ $
%
&
' ' ' '
€
y = { } y
i i=1Kn€
d
1(x, y) = x
i− y
i i=1n
∑
€
d
2(x,y) = ( x
i− y
i)
2i=1 n
∑
€
d
k(x,y) = x
i− y
ii=1 n
∑
$
k%
&
&
' ( ) )
1 k
€
d
∞(x, y) = max
i=1Knx
i− y
iDistance Euclidienne
Distance d
kDistance du maximum
E : ensemble de points, (x,y) ∈ E
2Digital Data Processing – Traitement Numérique des Données 7 © Y. Bennani
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 + ω
iω
j d (ωi, ωj)€
d
2(x,y) = ( x
i− y
i)
2i=1 n
∑
• La distance d entre deux classes ω
iet ω
jest définie par :
€
d ( ω
i, ω
j) = inƒ { d x, ( y ) ; x ∈ ω
iet y ∈ ω
j}
d (x, ωj)
d (x, ωi)
Digital Data Processing – Traitement Numérique des Données 8 © Y. Bennani
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 = x
i.y
ii=1 n
∑
b = ( 1 − x
i)
i=1 n
∑ ( 1 − y
i)
h = ( 1 − x
i)
i=1 n
∑ .y
ig = x
i. 1 ( − y
i)
i=1 n
∑
Digital Data Processing – Traitement Numérique des Données 9 © Y. Bennani
Quelques distances binaires
• Russel et Rao
• Joccard et Needham
• Dice
• Sokal et Sneath
€
S
1(x, y) = a a + b + g + h
€
S
2(x, y) = a n −b
€
S
3(x, y) = a 2a + g + h
€
S
4(x, y) = a a + 2(g + h)
€
S
5(x, y) = a + b n
€
S
6(x,y) = a g + h
• Sokal et Michenon
• Kulzinsky
Digital Data Processing – Traitement Numérique des Données 10 © Y. Bennani
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
Digital Data Processing – Traitement Numérique des Données 11 © Y. Bennani
MDC: Minimum-Distance Classifier
M classes { ω
1, ω
2,..., ω
M}, M prototypes Y = { Y
1,Y
2,..., Y
M} dans ℜ
non cherche à identifier la forme x.
• Attribuer un élément x à une classe ω
k :€
x ∈ ω k ⇔ ω k = Argmin
ω
id x, ( ω i )
€
D i = d x, ( ω i ) = d( x,Y
i) = [ ( x −Y
i) t ( x − Y
i) ]
1
2 ,1 ≤ i ≤ M
€
D k = min
1≤i≤M ( d( x,Y i ) )
Digital Data Processing – Traitement Numérique des Données 12 © Y. Bennani
MDC: Minimum-Distance Classifier
• Fonction de décision pour ω
i :€
D
i2 = [ ( x − Y i ) T ( x −Y i ) ]
= x T x − 2x T Y i + Y i T Y i
Constante
minimiser D
i2
€
−2x T Y i + Y i T Y i , 1 ≤ i ≤ M
⇔ minimiser
maximiser c
€
2x T Y i − Y i T Y i , 1 ≤ i ≤ M S i (x) = x T Y i − 1
2 Y i
T Y i , 1 ≤ i ≤ M
x ∈ ω i ssi S i (x) > S j ( x), j ≠ i
Digital Data Processing – Traitement Numérique des Données 13 © Y. Bennani
MDC: Minimum-Distance Classifier
• Fonction de décision linéaire :
€
S i ( x) = x T Y i − 1
2 Y i T Y i , 1 ≤ i ≤ M
€
S i ( x) = w i T x , 1 ≤ i ≤ M
€
x = x 1 x 2 M x n
1
"
#
$
$
$
$
$
%
&
' ' ' ' '
w i = w i,1 w i,2
M w i,n w i,n+1
"
#
$
$
$
$
$
%
&
' ' ' ' '
= y i,1 y i,2 M y i,n
− 1 2 Y i t Y i
"
#
$
$
$
$
$ $
%
&
' ' ' ' ' '
Digital Data Processing – Traitement Numérique des Données 14 © Y. Bennani
MDC: Minimum-Distance Classifier
• Cas Multi-prototypes :
€
ω i ⇒ Y i (1) , Y i (2) , K , Y i (n
i)
€
D i = min
1≤ j≤n
i( d(x,Y
i( j) ) )
€
S i (x) = x T Y
i( j) − 1 2 Y i
( j)
( ) T Y
i( j) , 1 ≤ j ≤ n i
x ∈ ω i ssi S i ( x) > S j ( x), j ≠ i
• Fonction de décision pour ω
i :Digital Data Processing – Traitement Numérique des Données 15 © Y. Bennani
MDC: Minimum-Distance Classifier Exemple
€
ω 1 ⇒ (1,0),(1,1) ω 2 ⇒ (0,1),(3,1) ω 3 ⇒ (1,2),(0,0),(−1,1)
x = (1,−1) ∈ ?
Consider a three-class problem in R
2where each class is represented by its prototypes as follows:
Given the incoming pattern :
Digital Data Processing – Traitement Numérique des Données 16 © Y. Bennani
MDC: Minimum-Distance Classifier Exemple
€
S
1(x) = ( x
1,x
2) ( ) 1,0
T− 1
2 ( ) 1,0 ( ) 1,0
T= x
1− 1 2 S
2(x) = ( x
1, x
2) ( ) 0,1
T− 1
2 ( ) 0,1 ( ) 0,1
T= x
2− 1 2 S
3(x) = ( x
1, x
2) ( ) 0,0
T− 1
2 ( ) 0,0 ( ) 0,0
T= 0
€
D
1= min [ d x, 1,0 ( ( ) ) ,d x, 1,1 ( ( ) ) ] → ( ) 1,0
D
2= min [ d x, 0,1 ( ( ) ) ,d x, 3,1 ( ( ) ) ] → ( ) 0,1
D
3= min [ d x, 1,2 ( ( ) ) ,d x, ( ( −1,1 ) ) ,d x, ( ( −1,1 ) ) ] → ( ) 0,0
€
S
12( X) = S
1( X) − S
2(X) = x
1− x
2= 0 S
23(X) = S
2(X ) − S
3( X)= x
2− 1
2 = 0 S
31(X) = S
3(X) − S
1( X)= 1
2 − x
1= 0 Les fonctions de décision :
Les frontières entre les 3 classes : entre ω
1et ω
2entre ω
2et ω
3entre ω
3et ω
1Digital Data Processing – Traitement Numérique des Données 17 © Y. Bennani
Cas de 2 classes : A et B
On cherche une fonction linéaire de décision :
€
S( x) = w
Tx + w
0€
J
F= σ
inter−classe 2σ
intra−classe2
= µ
A− µ
B2
σ
A 2+ σ
B2
Fisher Linear Discriminant
Maximisant la séparation entre les classes dans la direction de w.
Critère de Fisher :
Digital Data Processing – Traitement Numérique des Données 18 © Y. Bennani
€
J
F= w
Tµ
A− w
Tµ
B 2w
TP(A)Σ
Aw + w
TP(B)Σ
Bw = w
T( µ
A− µ
B) ( µ
A− µ
B)
Tw
w
T( P(A)Σ
A+ P(B)Σ
B) w =
w
TΣ
interw w
TΣ
intraw
Fisher Linear Discriminant
Maximisant la séparation entre les classes dans la direction de w.
Critère de Fisher :
€
w = Σ
intra−1
( µ
A− µ
B)
Solution :
€
S(x) = ( µ
A− µ
B)
TΣ
intra−1
x + const
Digital Data Processing – Traitement Numérique des Données 19 © Y. Bennani
Logistic Classifier
Règle de Bayes :
€
S( x) = P(x / A)P(A) − P( x / B)P(B) = 0
€
log P(x / A)P( A) P(x /B)P(B)
"
# $ %
&
' = 0
€
log P(x / A)P( A) P(x /B)P(B)
"
# $ %
&
' = log P( A / x)
P(B / x)
"
# $ %
&
' = log P(A / x)
1− P(A / x)
"
# $ %
&
' = w
Tx + w
0€
P(A / x) = P(x / A)P(A)
P(x / A)P( A) + P( x / B)P(B) = e
wTx+w01+ e
wTx+w0= 1 1+ e
−wTx−w0€
P(B / x) = 1− P(A / x) = 1 1+ e
wTx+w0Discrimination linéaire :
Fonction logistic
Digital Data Processing – Traitement Numérique des Données 20 © Y. Bennani
Nearest Neighbor Classifier
plus proches voisins : PPV
N observations D = { x
1, x
2,..., x
N} dans ℜ
nréparties en M classes {ω
1, ω
2, ..., ω
M}, d(x
i, x
j) est une distance entre les observations x
iet x
j.
Règle du plus proche voisin :
x
iest affecté à la classe ω
jsi ω
jest la classe de l'objet x
j, tel que : d(x
i, x
j) = min
k≠i, K=1…Nd(x
i, x
k), pour x
kappartenant à D.
ω
jω
ix
ix
jDigital Data Processing – Traitement Numérique des Données 21 © Y. Bennani
plus proches voisins : PPV
• Avantages :
• Simple
• Efficace quand les classes sont séparables
• Fonctions de décision non linéaires
• Inconvénients :
• Temps de calcul
• Nécessite le stockage des données d ’ apprentissage
Digital Data Processing – Traitement Numérique des Données 22 © Y. Bennani
Surface de séparation générée par PPV
Voronoi Net
Delaunay Net
Frontière entre les 2 classes
Prototypes de la classe 1
Prototypes de la classe 2
Nearest Neighbor Classifier
plus proches voisins : PPV
Digital Data Processing – Traitement Numérique des Données 23 © Y. Bennani
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 ≤ 2Err Bayes
Nearest Neighbor Classifier
plus proches voisins : PPV
Digital Data Processing – Traitement Numérique des Données 24 © Y. Bennani
Règle des k plus proches voisins :
x
iest affecté à la classe ω
isi ω
iest la classe la mieux représentée parmi les k voisins les plus proches de x
i, tel que :
k
i= max { k
1, k
2, …, k
M} ⇒ x
i∈ ω
i.
Avec k
i= le nombre d’éléments de la classe ω
iparmi les k voisins les plus proches de x
i. et k
1+k
2+ …+ k
M= k
K-Nearest Neighbor Classifier
k-plus proches voisins : KPPV
x
iK=11 kB=7 kR=4
Digital Data Processing – Traitement Numérique des Données 25 © Y. Bennani
€
P x ( / ω i ) = K i
N i V
k
R=4 N
R=28 k
B=7 N
B=23 k = 11
€
P x ( ) = K
NV
€
P ( ) ω i = N i
N
€
P ( ω i / x ) = P( x /ω i )P(ω i )
P( x) = K i K
Probabilité a priori d’appartenance à la classe ωi
Densité de probabilité conditionnelle dans la classe ωi
Probabilité a posteriori d’appartenance de x à la classe ωi
Sphèrede volume V autour de x
x
€
k k > k j ∀ j ≠ k
Vote majoritaire :
Digital Data Processing – Traitement Numérique des Données 26 © Y. Bennani
Choix optimal de k
k-Nearest Neighbor
*
€
k = N
heuristique :
Digital Data Processing – Traitement Numérique des Données 27 © Y. Bennani
Décision et Rejet
variante (k,l)-Nearest Neighbor (k,l)-NN
Décisions avec rejet :
consiste à fixer un seuil l de décision : k/2 < l < k
et à décider que X
iest affecté à la classe ω
isi au moins l parmi les k voisins les plus proches de x
iappartiennent à ω
i.
(k,l) = (11,6) ⇒ X
i∈ ω
B(k,l) = (11,8) ⇒ Rejet
k
R=4 N
R=28 k
B=7 N
B=23
k = 11 x
Digital Data Processing – Traitement Numérique des Données 28 © Y. Bennani
Variantes accélérées
k-Nearest Neighbor : 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]
Digital Data Processing – Traitement Numérique des Données 29 © Y. Bennani
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)
Digital Data Processing – Traitement Numérique des Données 30 © Y. Bennani
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 : r
dDigital Data Processing – Traitement Numérique des Données 31 © Y. Bennani
Recherche des KNN
Méthode de projection : 2-dimension
Étape 4 :
déterminer les limites de la recherche - borne #1=projection du test+r
d- borne #2=projection du test -r
dÉ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.
Digital Data Processing – Traitement Numérique des Données 32 © Y. Bennani
Recherche des KNN
Méthode de projection : d-dimension
Comment trouver le meilleur axe de projection ?
Digital Data Processing – Traitement Numérique des Données 33 © Y. Bennani
Metric p n
Manhattan 1
Euclidian 2
Maximum coordinate
distance ∞
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/dN
1−(1/d)€
π kd d
2 −1
$
% & ' ( ) !
$
% & ' ( )
1/d
( 2N )
1−(1/d)€
k
1/dN
1−(1/d)K: le nombre des ppv, d: la dimension, N: le nombre de prototypes
Digital Data Processing – Traitement Numérique des Données 34 © Y. Bennani
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
Digital Data Processing – Traitement Numérique des Données 35 © Y. Bennani
Nettoyage (editing) de l ’ ensemble d ’ apprentissage
Début
diviser aléatoirement l’ensemble d’apprentissage en deux sous-ensembles S
1et S
2tant que la stabilisation de S
1et S
2n’est pas réalisée faire
1-classer tous les points de S
1sur S
2par la règle du 1-ppv 2-éliminer de S
1tous les points dont la classe n’est pas la même que celle de leur plus proche voisin dans S
23-classer tous les points de S
2sur le nouveau S
1par le 1-ppv 4-éliminer de S
2tous les points dont la classe n’est pas la même que celle de leur plus proche voisin dans S
1fin tant que
L’ensemble d’apprentissage nettoyé est composé de S
1∪ S
2fin.
Digital Data Processing – Traitement Numérique des Données 36 © Y. Bennani
Condensation (condensing) de l ’ ensemble d ’ apprentissage
Début
ordonner les m exemples d’apprentissage de x
1à x
minitialiser S par x
1et G par x
2à x
mtant que S et G ne sont pas stabilisés faire
pour
chaque point g
ide G faire
si le 1-ppv de g
idans S n’a pas la même classe que g
ialors enlever g
ide G et le mettre dans S
fin si fin pour fin tant que
L’ensemble d’apprentissage condensé est S
fin.
Digital Data Processing – Traitement Numérique des Données 37 © Y. Bennani
€
ω
1S
1(x) ω
2S
2(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)
€
S
i(x) = x
TY
i− 1
2 Y
iTY
i, 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 => ω
13-NN => ω
11-NN => ω
2x
1x
2ω
1⇒ (0, 3), (0, 2), (0,1), (0, 0), (−1, 0), (−2, 0) ω
2⇒ (1, 3), (1,1), (1, 0), (0,−1)
x = (1, 4) ∈ ? avec 1− NN, 3− NN et 5− NN
Digital Data Processing – Traitement Numérique des Données 38 © Y. Bennani