Post on 17-Apr-2015
Análise de Clusters – Introdução Método K-means
AULA 14
DATA MINING
Agrupamento -Análise de Clusters
a F 1 0 1 1
b M 0 0 1 1
c F 1 1 1 0
d F 1 0 0 0
e M 1 1 0 1
a2 a3
a1
a11
a4
a7
a9a10 a5
Número de Clusters = 3 Conceito = Doença
Doença X
Doença Z
Doença Y
a8
a6
a1
.
.
.
a2
Nome Sexo Sintomas
Análise de Clusters: Objetivos Compreensão dos dados
Existe algum conceito inerente a cada grupo. Que conceito é este ?
Utilidade em outras tarefas Cada cluster pode ser representado por um objeto protótipo que caracteriza o cluster
Sumarização : Algoritmos aplicados em grandes volumes de dados podem ser aplicados apenas aos protótipos, reduzindo assim o tempo de execução
Compressão : o objeto protótipo representa cada objeto dentro do seu cluster
Otimização do cálculo dos vizinhos mais próximos: Se dois protótipos estão distantes então os objetos nos respectivos
clusters também estão distantes. Os objetos mais próximos do objeto X devem ser procurados no
cluster correspondente ao protótipo mais próximo de X.
Clusterização versus Classificação Classificação
Aprendizado Supervisionado Amostras de treinamento são classificadas Número de Classes é conhecido
Aprendizado por Exemplo Clusterização
Aprendizado Não Supervisionado Aprendizado por Observação
Tipos de Agrupamentos Particionais versus Hierárquicos
Particionais: clusters são disjuntos Hierárquicos:
Clusters possuem subclusters – organizados em árvore Cada cluster (nó interno da árvore) é a união de seus filhos
Exclusivos versus Não-exclusivos versus Fuzzy Exclusivos: cada objeto pertence a um único cluster Não exclusivos: existem objetos que são associados a diferentes clusters Fuzzy : objetos são associados a um cluster com um certo grau de pertinência
Completos versus Parciais Completos: cada objeto pertence a algum cluster Parciais: existem objetos que não estão associados a nenhum cluster
(outliers, ruidos, sem interesse)
O que é um cluster ?
Baseados em Protótipos
Um cluster é um conjunto de objetos no qual cada objeto está mais próximo (ou é mais similar) a objetos dentro do cluster do que qualquer objeto fora do cluster. Um cluster é um conjunto de objetos no
qual cada objeto está mais próximo ao protótipo que define o cluster do que dos protótipos de quaisquer outros clusters. Em geral: Protótipo = centróide
Bem separados
Como definir a noção de Cluster ?
Os clusters encontrados tendem a ser globulares.
Protótipos
O que é um cluster ?- Os dados podem ser representados por um grafo, onde os vértices são objetos e existe aresta de a para b se a está mais perto de b do que de outros objetos no conjunto. - Estar perto significa estar diretamente conectado. - Um cluster é uma componente conexa do grafo, isto é, um conjunto de objetos que estão conectados um no outro, mas que não estão conectados com nenhum outro objeto de outro cluster.
Baseados em Grafos
Boa definição quando os clusterssão irregulares e entrelaçados.
Problema: quando os dados têm ruidos,Pode haver distorções nos clusters
Exemplo: dois clusters distintos podemse transformar num único cluster (os dois clusters são ligados através de uns poucosOutliers, como mostrado na figura).
a b
a está perto de b d(a,b) < α
O que é um cluster ?
Baseados em Densidade
Um cluster é uma região densa rodeadapor uma região de baixa densidade.
No exemplo, temos 3 clusters = 3 regiões densasA ‘’ponte’’ de outliers ligando as duas esferasfoi ‘’dissolvida’’ nos outros outliers.
Esta definição é utilizada quandoos clusters são irregulares ou entrelaçadose quando ruido e outliers estão presentes.
Uma definição baseada em grafos não seriaadequada neste caso, pois os outlierspoderiam fazer uma ponte entre as regiõestransformando-as em um único cluster.
Os outliers seriam absorvidos nos clusters.
O que é um cluster ?
Clusters Conceituais
Os objetos de um cluster possuem uma propriedade que é derivada do conjuntototal de objetos. No exemplo, podemos distinguir3 clusters: o triângulo, o retângulo e os dois anéis.
Um cluster representa um conceito.Definição utilizada em Reconhecimento de Padrões.
Tipos de Técnicas de Clusterização Particionamento
K-means: K-medóides: PAM, CLARA, CLARANS
Particional e baseada em protótipos.
Encontra um número k de clusters (k é fornecido pelo usuário) que são representados por seus centróides.
Particionamento
BD com n amostras
K = número de clusters
desejado ( parâmetro )
K ≤ n
Tipos de Técnicas de Clusterização Hierárquicas Aglomerativas
Produzem agrupamentos hierárquicos começando com clusters unitários e repetidamente aglutinando clusters próximos dois a dois até chegar no número k de clusters solicitado pelo usuário.
Exemplos: BIRCH, CURE, CHAMELEON, ROCK...)
Hierárquicos Aglomerativos
BD com n amostras
K = número de clusters
desejado ( parâmetro )
K ≤ n
Tipos de Técnicas de Clusterização Hierárquicas DivisóriasProduzem agrupamentos hierárquicos
começando com um cluster único contendo todo o conjunto de objetos e repetidamente dividindo os clusters em duas partes de acordo com algum critério de similaridade até chegar no número k de clusters solicitado pelo usuário.
Exemplo: algoritmo DIANA
Tipos de Técnicas de Clusterização Por densidade
Adequados para identificar clusters de formato arbitrário. Robustos com respeito a ruídos e outliers.
Regiões densas = clusters Regiões de baixa densidade = ruídos e outliers Um ponto pertence a uma região densa se numa
vizinhança de raio α pequeno existem pelo menos M objetos (M dado pelo usuário).
O número k de clusters não precisa ser dado pelo usuário.É determinado pelo algoritmo.
Exemplos: DBSCAN, OPTICS, DENCLUE
Dados de Treinamento
x11 x12 x13 ... x1n
x21 x22 x23 ... x2n
x31 x32 x33 ... x3n
... ... ... ... ...
xp1 xp2 xp3 ... xpn
0 0 ... 0
d(x1,x2) 0 ... 0
d(x1,x3) d(x2,x 3) ... 0
... ... ... 0
d(x1,xp) d(x2,x p) ... 0
Matriz de dados padronizados Matriz de dissimilaridade
Distância Euclidiana d(x,y) = (x1-y1)2 + (x2-y2)2 + .... + (xp – yp)2
Outras distâncias : Manhattan, Minkowski, Ponderada
Outras distâncias Manhattan Minkowski
Distância em geral Qualquer função d(x,y) N que satisfaz as seguintes
propriedades:
d(i,j) ≥ 0 d(i,i) = 0 d(i,j) = d(j,i) d(i,k) ≤ d(i,j) + d(j,k) (desigualdade triangular)
Distância poderada
d(x,y) = |x1-y1|+ |x2-y2| + .... + |xp – yp|
d(x,y) = (x1-y1)m + (x2-y2)m+ .... + (xp – yp)mm
d(x,y) = p1 (x1-y1)2 + p2 (x2-y2)2+ .... +pk (xk – yk)2
Outras medidas de similaridade Para documentos
p1,p2, p3, ... : vocabulário (palavras) Um documento = vetor (n1,n2,...,nk) ni = número de vezes que a palavra i aparece no
documento Medida de similaridade entre documentos d1,d2
= cos(d1,d2) = d1.d2
|d1| |d2|
d1
d2
θ
Exercicio Sejam X1 = (1,2) e X2 = (4,6). Calcula as
distâncias euclidianas, Minkowski com m = 3 e Manhattan entre X1 e X2.
Ilustre no plano xy os segmentos representando tais distâncias.
Algoritmo K-means
1ª Iteração2ª Iteração
+
+
+
Exemplo K = 3
Algoritmo K-Means1. Selecione k pontos como centróides iniciais2. Repeat3. Forme k clusters associando cada objeto a seu
centróide mais próximo4. Recompute o centróide de cada cluster5. Until Centróides não apresentam mudançasCentróide = centro de gravidade do cluster Coordenada i = média aritmética das coordenadas i de
seus objetos constituintes.
Observações Boa parte dos clusters já convergem nos
primeiros passos do algoritmo, ficando somente uma quantidade pequena de clusters que ainda modificam.
Assim, a condição 5 do algoritmo é substituida por : “até que somente 1% dos objetos mudam de clusters”.
Objetivo Erro (x) = d(x,ci) = distância de x até o centróide ci de
seu cluster Ci Objetivo do método K-means
Minimizar a soma dos erros (SSE = sum of square errors) Maximizar a coesão (no caso de documentos)
SSE = Σ Σ d(x,ci)2 Coesão = Σ Σ coseno(x,ci)2 i = 1
K
x ɛ Ci i = 1
K
x ɛ Ci
Observação Nem sempre o K-means consegue minimizar
o SSE Isto depende muito da escolha dos centróides
iniciais.
Técnicas para inicializar os centróides Escolha aleatória – diversas rodadas do k-means até
encontrar a escolha que produz o menor SSE (ou maior coesão). Nem sempre funciona- depende dos dados e do número k
de clusters que se quer encontrar. Utilizar uma amostra, aplicar um método de
clusterização hierárquica sobre a amostra. Centróides iniciais = centróides dos clusters das amostras. Funciona se a amostra é pequena (métodos hierárquicos
são computacionalmente caros !) e K é relativamente pequeno com relação ao tamanho da amostra.
Exercício1
12
3
4 5
6
7
8
9
10
11
1213
14
15
16
17
1 1,9 7,3
2 3,4 7,5
3 2.5 6,8
4 1,5 6,5
5 3,5 6,4
6 2,2 5,8
7 3,4 5,2
8 3,6 4
9 5 3,2
10 4,5 2,4
11 6 2,6
12 1.9 3
13 1 2,7
14 1.9 2,4
15 0,8 2
16 1,6 1,8
17 1 1
Achar 3 clusters utilizando o k-means