método k-medóides algoritmos pam e clara
Post on 15-Jan-2016
59 Views
Preview:
DESCRIPTION
TRANSCRIPT
Método K-medóidesAlgoritmos PAM
e CLARA
AULA 11 – Parte I
DATA MINING
Sandra de Amo
ProblemaDados
Uma base de dados um número k
Objetivo: particionar o conjunto de dados em k clusteres
Algoritmo PAM: (Partinioning Around Medoids) encontra k clusters baseados em protótipos Protótipos são objetos da base de dados, representativos dos
clusteres Agrupamentos particionais (clusteres disjuntos) Método de particionamento.
Idéia do Algoritmo PAM
Determinar os k objetos que melhor representam os clusteres = medóides
Distribuir os objetos nos k clusteres.
Algoritmo1. Seleciona k objetos aleatoriamente:
M1, M2, ..., Mk = medóides iniciais O1, ..., Op = objetos não medóides
2. Para cada objeto Oi (Oi não medóide) e cada medóide Mj, calcula-se O custo de trocar Mj por Oi (Oi seria um novo medóide
no lugar de Mj)
CTij = Σ Cmij
m = 1
p
Cmij = erro local provocado ao se trocar o medóide Mj por Oi
Como calcular o erro Cmij
Caso 1 : Om está no cluster de Mj
e com a substituição de Mj por Oi, Om ficar mais próximo de um outro medóide Mj2
Mj Mj2
Om
Oi
Cmij = d(Om,Mj2) – d(Om,Mj)
Número positivo
Como calcular o erro Cmij
Caso 2 : Om está no cluster de Mj
e com a substituição de Mj por Oi, Om ficar mais próximo de Oi
Mj Mj2
Om
Oi
Cmij = d(Om,Oi) – d(Om,Mj)
Número positivo ou negativo
Como calcular o erro Cmij
Caso 3 : Om não está no cluster de Mj –(está no cluster de Mj2)
e com a substituição de Mj por Oi, Om continua no cluster de Mj2 (não muda de cluster)
Mj Mj2
OmOi
Cmij = d(Om,Mj2) – d(Om,Mj2) = 0
Como calcular o erro Cmij
Caso 4 : Om não está no cluster de Mj –(está no cluster de Mj2)
e com a substituição de Mj por Oi, Om vai para o cluster de Oi
Mj Mj2Om
Oi
Cmij = d(Om,Oi) – d(Om,Mj2)
Número negativo
Algoritmo (continuação...)3. Seleciona-se o par (Mj,Oi) que corresponde ao
minimo CTij. Se este mínimo é negativo então substitui-se Mj
por Oi e volta ao passo 2. Se este mínimo é positivo, vai para o passo 4.
4. Varre o banco de dados e distribui os objetos entre os k clusteres cujos representantes são os k medóides encontrados no passo 3.
ObservaçãoNo passo 3: se o custo mínimo é negativo, significa que
existe uma maneira de se substituir um medóide por outro objeto de modo a diminuir a soma dos erros SSE.
se o custo mínimo é positivo, significa que não há possibilidade de se modificar os medóides atuais de modo a diminuir o SSE. Logo, neste ponto, os medóides convergiram.
Complexidade PAM funciona satisfatoriamente para
pequenos conjuntos de dados (em torno de 100 objetos e 5 clusters)
Ineficiente para grandes volumes de dados. Número de pares MjOi = k(n-k) Para cada par é preciso computar Cmij,
considerando todos os objetos não medóides Om Complexidade de cada iteração = O(k(n-k)2)
Variante de PAM CLARA (Clustering LARge Applications)
Considera uma amostragem do banco de dados Aplica PAM na amostragem e encontra os k
medóides. A idéia é encontrar uma amostragem tal que os k-
medóides da amostragem estão próximos dos k-medóides da base de dados inteira.
Como encontrar a amostragem ideal ? Considera diversas amostragens Para cada amostragem, produz um particionamento da base
original em k clusteres = C1,…, Ck. Considera o melhor particionamento, calculando a
dissimilaridade média de todos os objetos do banco de dados.
Dissimilaridade média = Σ Σ d(x,Mi) x ɛ Ci i = 1
k
k
Quanto menor a dissimilaridade melhor o particionamento.
Observações Número e tamanho das amostragens (obtidos
experimentalmente) Número de amostragens = 5 Tamanho da amostragem = 40 + 2k
Performance satisfatória para bancos de dados em torno de 1000 objetos e 10 clusteres.
Referência R.T. Ng, J. Han:
Efficient and Effective Clustering Methods for Spatial Data Mining
VLDB 1994
top related