• Aucun résultat trouvé

Traitement Numérique des Données

N/A
N/A
Protected

Academic year: 2022

Partager "Traitement Numérique des Données"

Copied!
19
0
0

Texte intégral

(1)

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

(2)

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

(3)

Digital Data Processing – Traitement Numérique des Données 5 © Y. Bennani

Définition dune 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

1

x

2

M x

n

"

#

$ $

$ $

%

&

' ' ' '

y = { } y

i i=1Kn

d

1

(x, y) = x

i

y

i i=1

n

d

2

(x,y) = ( x

i

y

i

)

2

i=1 n

d

k

(x,y) = x

i

y

i

i=1 n

$

k

%

&

&

' ( ) )

1 k

d

(x, y) = max

i=1Kn

x

i

y

i

Distance Euclidienne

Distance d

k

Distance du maximum

E : ensemble de points, (x,y) ∈ E

2

(4)

Digital 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

)

2

i=1 n

•  La distance d entre deux classes ω

i

et ω

j

est définie par :

d ( ω

i

, ω

j

) = inƒ { d x, ( y ) ; x ω

i

et 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 lattribut (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

i

i=1 n

b = ( 1 − x

i

)

i=1 n

( 1 y

i

)

h = ( 1 − x

i

)

i=1 n

.y

i

g = x

i

. 1 ( − y

i

)

i=1 n

(5)

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

(6)

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 ℜ

n

on cherche à identifier la forme x.

•  Attribuer un élément x à une classe ω

k :

x ∈ ω k ⇔ ω k = Argmin

ω

i

d x, ( ω i )

D i = d x, ( ω i ) = d( x,Y

i

) = [ ( x −Y

i

) t ( x Y

i

) ]

1

2 ,1 ≤ iM

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

i

2 = [ ( xY i ) T ( x −Y i ) ]

= x T x − 2x T Y i + Y i T Y i

Constante

minimiser D

i

2

−2x T Y i + Y i T Y i , 1 ≤ iM

minimiser

maximiser c

2x T Y iY i T Y i , 1 ≤ iM S i (x) = x T Y i − 1

2 Y i

T Y i , 1 ≤ iM

x ∈ ω i ssi S i (x) > S j ( x), ji

(7)

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 ≤ iM

S i ( x) = w i T x , 1 ≤ iM

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 :

ω iY 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), ji

•  Fonction de décision pour ω

i :

(8)

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

2

where 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 ω

1

et ω

2

entre ω

2

et ω

3

entre ω

3

et ω

1

(9)

Digital 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

T

x + w

0

J

F

= σ

inter−classe 2

σ

intra−classe

2

= µ

A

− µ

B

2

σ

A 2

+ σ

B

2

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 2

w

T

P(A)Σ

A

w + w

T

P(B)Σ

B

w = w

T

( µ

A

− µ

B

) ( µ

A

− µ

B

)

T

w

w

T

( P(A)Σ

A

+ P(B)Σ

B

) w =

w

T

Σ

inter

w w

T

Σ

intra

w

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

(10)

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

T

x + w

0

P(A / x) = P(x / A)P(A)

P(x / A)P( A) + P( x / B)P(B) = e

wTx+w0

1+ e

wTx+w0

= 1 1+ e

−wTx−w0

P(B / x) = 1− P(A / x) = 1 1+ e

wTx+w0

Discrimination 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 ℜ

n

réparties en M classes {ω

1

, ω

2

, ..., ω

M

}, d(x

i

, x

j

) est une distance entre les observations x

i

et x

j

.

Règle du plus proche voisin :

x

i

est affecté à la classe ω

j

si ω

j

est la classe de l'objet x

j

, tel que : d(x

i

, x

j

) = min

k≠i, K=1…N

d(x

i

, x

k

), pour x

k

appartenant à D.

ω

j

ω

i

x

i

x

j

(11)

Digital 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 dapprentissage

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

(12)

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 lerreur 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

i

est affecté à la classe ω

i

si ω

i

est 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 ω

i

parmi 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

i

K=11 kB=7 kR=4

(13)

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 jjk

Vote majoritaire :

Digital Data Processing – Traitement Numérique des Données 26 © Y. Bennani

Choix optimal de k

k-Nearest Neighbor

*

k = N

heuristique :

(14)

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

i

est affecté à la classe ω

i

si au moins l parmi les k voisins les plus proches de x

i

appartiennent à ω

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]

(15)

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 dhypothèse sur les distributions - simple à mettre en œuvre

- donne une probabilité derreur 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

d

(16)

Digital 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 ?

(17)

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/d

N

1−(1/d)

π kd d

2 −1

$

% & ' ( ) !

$

% & ' ( )

1/d

( 2N )

1−(1/d)

k

1/d

N

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

(18)

Digital Data Processing – Traitement Numérique des Données 35 © Y. Bennani

Nettoyage (editing) de lensemble dapprentissage

Début

diviser aléatoirement l’ensemble d’apprentissage en deux sous-ensembles S

1

et S

2

tant que la stabilisation de S

1

et S

2

n’est pas réalisée faire

1-classer tous les points de S

1

sur S

2

par la règle du 1-ppv 2-éliminer de S

1

tous les points dont la classe n’est pas la même que celle de leur plus proche voisin dans S

2

3-classer tous les points de S

2

sur le nouveau S

1

par le 1-ppv 4-éliminer de S

2

tous les points dont la classe n’est pas la même que celle de leur plus proche voisin dans S

1

fin tant que

L’ensemble d’apprentissage nettoyé est composé de S

1

∪ S

2

fin.

Digital Data Processing – Traitement Numérique des Données 36 © Y. Bennani

Condensation (condensing) de lensemble dapprentissage

Début

ordonner les m exemples d’apprentissage de x

1

à x

m

initialiser S par x

1

et G par x

2

à x

m

tant que S et G ne sont pas stabilisés faire

pour

chaque point g

i

de G faire

si le 1-ppv de g

i

dans S n’a pas la même classe que g

i

alors enlever g

i

de G et le mettre dans S

fin si fin pour fin tant que

L’ensemble d’apprentissage condensé est S

fin.

(19)

Digital Data Processing – Traitement Numérique des Données 37 © Y. Bennani

ω

1

S

1

(x) ω

2

S

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

T

Y

i

− 1

2 Y

iT

Y

i

, 1 ≤ iM 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 => ω

1

3-NN => ω

1

1-NN => ω

2

x

1

x

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

g

i

(X ) = X

t

Y

i

− 1

2 Y

it

Y

i

, 1≤ iM

La frontière entre les classes : g

ij

(X ) = g

i

(X) − g

j

(X) = 0 La fonction de décision est :

g

1

(X) = ( x

1

x

2

) ! " # 0 3 $ % 1

2 ( 0 3 ) 0

3

!

"

# $

% = 3x

2

− 9 2 g

2

(X) = ( x

1

x

2

) ! 1 3

"

# $

% − 1 2 ( 1 3 ) ! 1 3

"

# $

% = x

1

+ 3x

2

− 5

g

1 2

(X) = g

1

(X) − g

2

(X )= 3x

2

− 9

2 − x

1

− 3x

2

+ 5

= −x

1

+ 1 2 = 0 x

1

= 1

2

X = (1,4)

x

1

= 1 2

x

1

x

2

Références

Documents relatifs

•  Méthodes Stochastiques comparent un échantillon avec un modèle, prenant en compte plus de variabilité. •  La distance est remplacée par des probabilités calculées

Le nombre de paires de données correctement classées dans le même cluster.

Les lymphocytes B (LB) portent sur la membrane plasmique des molécules appelées anticorps qui leur permettent de reconnaître les antigènes produits par les

à Le projet de la classe est de réaliser un album de monstre imitant la structure de « va-t’en grand monstre

• Combien de routeur rencontre-t-on pour communiquer avec les noms de domaines cités plus haut. • Où sont-ils

Et pour pouvoir repérer les points situés « de l’autre côté » de l’origine, on gradue l’axe à l’aide de nouveaux nombres, appelés nombres négatifs.. Ce sont tous des

When the number n of data points increases the nearest neighbor of X gets closer to X (this.. has to be made rigorous since X is a random variable).. This result was first proved

Représenter, sur la figure en perspective, la section des faces du cube avec un plan parallèle à (KIL) passant par H (on notera O et P les intersections de ce plan avec les arêtes