k-NN e
Funções de Dissimilaridade
Tiago Buarque
<[email protected]>
Roteiro
•
•
•
•
Motivação
Definições
k-NN
Funções de Dissimilaridade
– Entre atributos numéricos
– Entre atributos categóricos
– Funções de disssililaridade heterogênias
• Testes
• Referências
Motivação
• NCM [Wang 2006]
• Funções de Distância
– Problema não resolvido
– Grande aplicabilidade
• Aprendizagem de Máquina
– Classificadores
– IBL
• k-NN
– Redes Neurais
• RBF
• Kohonen
– Agrupamento
• k-means
Definições
• Base de dados
– Conjunto de elementos
• Elemento ou instância (E)
– E = {v, c}
– v, é um vetor de atributos
– c, classe
• Classificador
– C(v) = c
– C : dom(v)  dom(c)
Definições [2]
• Atributo (vetor de atributos)
–
–
–
–
Nominal ou Categórico
Ordinal
Intervalar
Racional ou Numérico
• Funções de Dissimilaridade
d ( x, y) : V V  
x, y V  {conjuntodos vetores de atributos}
Tipos de Dados
• Domínio da Base de Dados
– Vetor de atributos com n elementos
– Posição a, 1 ≤ a ≤ n, do vetor tem o mesmo tipo para
todos os elementos da base
– Se a é categórico, existe dom(a)
• Todos os possíveis valores no conjunto de treino
– Se a é numérico, existe max(a) e min(a)
• O máximo e o mínimo assumido por esse atributo entres os
elementos da base de treinamento
6
k-NN
• k-Nearest Neighbor
• Regras de classificação
– Sem peso
• Maioria nos votos
– Com peso
• Peso pela distância wi 
– Energia
• Perda de energia
wi 
d ( xk , t )  d ( xi, t )
d ( xk , t )  d ( x1, t )
1
d ( xi, t ) n
kNN – Algoritmo
• classifique(elemento X, int k)
– Calcule a distância de X para cada elemento da base
de treinamento
– Ordene os elementos a partir da menor distância a X
– Selecione os k mais próximos de X
– Use uma regra de classificação X
• Maioria na votação
• Peso pela distância
• Influência por perda de energia*
Funções de Distância
• Distâncias
– entre valores numéricos
• Euclidiana,
– entre valores categóricos
• Hamming, vdm
• Distâncias entre um vetor de atributos
– Cada atributo é um valor
– Distância entre cada atributo
• Atributos categóricos e numéricos (heterogêneos)
• Distâncias Heterogêneas
– HEOM, HVDM, DVDM,IVDM, NCM (e variações)
Distância entre
Vetores de Atributos Numéricos
• Distância Euclidiana
• Manhattan (city-block)
n
D( x, y)   xa  ya
E ( x, y ) 
n
 (x
a
a 1
 ya ) 2
• Chebychev
a 1
n
D( x, y)  max xa  ya
a 1
• Euclidiana Normalizada


xa  ya

En( x, y )   

a 1  max(a )  min(a ) 
n
2
• Camberra
n
D ( x, y )  
a 1
xa  ya
xa  ya
10
Distância entre
Vetores de Atributos Categóricos
• Distância de Hamming
1, se xa  ya
ha( xa, ya)  
0, se xa  ya
n
H ( x, y )   ha( xa, ya)
a 1
• VDM –Value Difference Metric
– Semelhança entre as distribuições das classes
VDM ( x, y ) 
n
 vdm ( x
a
a,
ya )
a 1
C
vdm a ( x, y )  
c 1
Na , x , c Na , y , c

Na , x
Na , y
q
C
  Pa , x , c  Pa , y , c
q
c 1
11
Distâncias Heterogenias
• Combinação de distância entre atributos
• Normalização das distância entre atributos
• HEOM
– Heterogeneous Euclidian-Overlap Metric
• HVDM
– Heterogeneous Value Difference Metric
• DVDM
– Discretized Value Difference Metric
• IVDM
– Interpolated Value Difference Metric
• NCM + variações
– Neighborhood Counting Measure
12
HEOM
• Heterogeneous Euclidian-Overlap Metric
• Atributos Numéricos
– Distância Euclidiana
• Atributos Categóricos
– Overlap – Distâncias de Hamming
HEOM( x, y ) 
n
2
heom
a
(
x
a
,
y
a
)

a 1
1, se xa  ya é desconhecido
0, se xa  ya são desconhecidos

heoma ( xa, ya )  
ha ( xa, ya ), se a é categórico
difa ( xa, ya ), se a é num érico
1, se xa  ya
ha( xa, ya)  
0, se xa  ya
difa( xa, ya) 
xa  ya
max(a)  min(a13
)
HVDM
• Heterogeneous Value Difference Metric
• Atributos Numéricos
– Distância Euclidiana
• Atributos Categóricos
– VDM
HVDM ( x, y ) 
n
2
hvdm
a
(
x
a
,
y
a
)

a 1
1, se xa  ya é desconhecido
0, se xa  ya são desconhecidos

hvdma ( xa, ya )  
vdma ( xa, ya ), se a é categórico
difa ( xa, ya ), se a é num érico
C
vdma( x, y)   Pa , x , c  Pa , y , c
q
c 1
difa( xa, ya) 
xa  ya
max(a)  min(a14
)
DVDM
• Discretized Value Difference Metric
• Atributos Numéricos ou Categóricos
– VDM
 xa, se a é categórico

discretizea ( xa )  
xa  min(a) 
 s  max(a)  min(a)   1, se a é num érico


DVDM ( x, y ) 
n
2
dvdm
a
(
x
a
,
y
a
)

a 1
C
vdma( x, y)   Pa , x , c  Pa , y , c
q
1, se xa  ya é desconhecido
c 1

dvdma ( xa, ya )  0, se xa  ya são desconhecidos
vdma (discretize( xa ), discrestize( ya )), para os outros casos

15
IVDM
• Interpolated Value Difference Metric
• Atributos Numéricos
x  m eioa , u


Pa , c ( xa )  Pa , u , c  
  Pa , u  1, c  Pa , u , c 
 m eioa , u  1  m eioa , u 
– VDM – interpolado
• Atributos Categóricos
u  discretize( xa )
– VDM
m eioa , u  min(a )  max(a )  min(a )   u  0.5
IVDM ( x, y ) 
n
2
ivdm
a
(
x
a
,
y
a
)

a 1
C
1, se xa  ya é desconhecido
q
vdma( x, y)   Pa , x , c  Pa , y , c
0, se xa  ya são desconhecidos
c 1

ivdma ( xa, ya )  vdma ( xa, ya ), se a é categórico
C
 Pa , c ( xa )  Pa , c ( ya ) 2 , se a é num érico
 c 1
16
NCM
• Neighborhood Counting Measure
• Medida de similaridade
• Mais vizinhanças  mais semelhantes
17
NCM
• Contando vizinhanças
n
NCM ' ( x, y)   viza( xa, ya)
a 1
n
NCM ( x, y )  
a 1
viza ( xa, ya )
viza ( xa )
2 ma 1 , se a é categóricoe xa  ya
 ma 2
viza( xa, ya)  2 , se a é categóricoe xa  ya
max(a)  max({xa , ya})  1  min({xa , ya})  min(a)  1, se a é num érico

2 ma 1 , se a é categórico
viza ( xa)  
max(a)  xa  1  xa ,  min(a)  1, se a é num érico
18
NCM
• Medidas de distância
NCM 1( x, y)  1  NCM ( x, y)
n
NCM 1( x, y)  1  
a 1
n
NCM 2( x, y)  1  
a 1
viza( xa, ya)
viza( xa)  viza( ya) 2
n
NCMm( x, y)  1  
a 1
n
NCM 3( x, y)  1  
a 1
viza( xa, ya)
viza( xa)
viza( xa, ya)
min(viza( xa), viza( ya))
viza( xa, ya)
viza( xa)viza( ya)
n
NCMM ( x, y)  1  
a 1
viza( xa, ya)
max(viza( xa), viza( ya))
19
Testes[1/2]
• 10-fold cross validation [3]
– 10 vezes
• Bases
– UCI Repository
• kNN
–k
– Função de distância
– Regra de classificação
• RBF
– Função de disttância
Testes
Resultados
• k-NN (média nas 14 bases)
– Três regras: sem peso[sp], com peso[cp], energia[en]
– k = 1, 6, 11, 16, 21, 31, max
22
Resultados
• VDM
– Categóricos
• NCM2
– Numéricos
Conclusão
• Comportamento das funções de distância
– Base de dados
– Algoritmo
• parâmetros
• Um classificador que utilize funções de distância
pode melhorar usando uma função de distância
diferente
• As funções de distância apresentadas podem
ser combinadas para se adaptar mais ainda à
base de dados
Referências
• Tiago Buarque, Um estudo sobre Funções de Distância Aplicadas a
Algoritmos de Aprendizagem de Máquina,Trabalho de Graduação
CIn 2007.1
• Hui Wang, “Nearest Neighbor by Neighborhood Counting”, IEEE
Transactions on Pattern Analysis and Machine Intelligence, vol.28,
no.6, pp. 942-953, june 2006
• D. R. Wilson and T. R. Martinez, “Improved Heterogeneous
Distance Functions”, J. Artificial Intelligence Research, vol.6, pp.134,1997.
• UCI Machine Learning Repository,
http://www.ics.uci.edu/~mlearn/MLRepository.html, acesso em 2007
Download

Distância Euclidiana