aula de hoje scc5895 – análise de agrupamento de...
Post on 22-Jul-2020
1 Views
Preview:
TRANSCRIPT
SCC5895 – Análise de Agrupamento de Dados
Algoritmos Particionais: Parte II
Prof. Ricardo J. G. B. Campello
PPG-CCMC / ICMC / USP
Aula de Hoje
� Partições Com Sobreposição
� Soft, Fuzzy e Probabilísticas
Algoritmos Particionais Com Sobreposição
2
� Algoritmos Particionais Com Sobreposição
� Fuzzy C-Means (FCM)
� Gustafson-Kessel (GK)
� Expectation Maximization (EM)
� Algoritmos Baseados em Densidade
� DBSCAN
Algoritmos de Partição Com Sobreposição
• Algoritmos particionais como o k-means, k-medóides e diversos
outros produzem uma partição rígida da base de dados:
– Cada objeto pertence a um único grupo, de forma integral
– Usualmente refere-se a esse tipo de partição como Hard ou Crisp
• No entanto, muitos problemas envolvem grupos mal delineados,
que não podem ser separados adequadamente dessa maneiraque não podem ser separados adequadamente dessa maneira
• Em outras palavras, existem
situações nas quais os dados
compreendem categorias que
se sobrepõem umas às outras
em diferentes níveis
• Por exemplo:
Algoritmos de Partição Com Sobreposição
• Métodos de agrupamento com sobreposição, ou overlapping clustering algorithms, são concebidos para lidar com situações como esta
• Podem gerar partições de 3 tipos:
– Soft: Objetos podem pertencer a mais de um grupo, porém necessariamente de forma integralnecessariamente de forma integral
– Fuzzy: Objetos pertencem a todos os grupos, com diferentes graus ou níveis de pertinência (possivelmente nulo)
– Probabilísticas: Objetos possuem probabilidades de pertinência associadas a cada grupo
• Vamos discutir representantes clássicos dos últimos dois tipos, que são os mais comumente utilizados
Definição de Partição Soft de Dados
� Consideremos um conjunto de N objetos a
serem agrupados: X = {x1, x2, ..., xN}
� Partição Soft: coleção de k grupos, dada por
P = {C1, C2, ..., Ck}, tal que:P = {C1, C2, ..., Ck}, tal que:
C1 ∪ C2 ∪... ∪ Ck = X
Ci ≠ ∅
� Exemplo: P = { (x1, x4), (x3, x4, x5, x6), (x2, x5) }
5
Matriz de Partição Soft� Matriz de Partição (revisão): matriz com k linhas (no. de grupos)
e N colunas (no. de objetos) na qual cada elemento µij indica o
grau de pertinência do j-ésimo objeto (xj) ao i-ésimo grupo (Ci)
( )
N
µµµ
µµµ
L
L 11211
� Matriz de Partição Soft: matriz de partição binária, ou seja, µij
∈ {0,1}, sem qualquer outra restrição, exceto colunas não nulas
( )
=
kNkk
N
µµµ
µµµ
L
MOM
L
21
22221XU
66
Matriz de Partição Soft
� Exemplo:
� P = { (x1, x4), (x3, x4, x5, x6), (x2, x5) }
001001
( )
=
111100
010010
001001
XU
77
Partições Fuzzy e Probabilísticas
� Matriz de Partição Fuzzy: elementos assumem valores
contínuos de pertinência, ao invés de binários, i.e., µij ∈ [0,1]
( )
=N
N
µµµ
µµµ
L
L
22221
11211
XU
� Matriz de Partição Probabilística: matriz de partição fuzzy
particular, tal que pertinências representam probabilidades
� Logo, a seguinte restrição deve ser satisfeita: ∑i(µij) = 1 ∀j
( )
=
kNkk
N
µµµ L
MOM
21
22221XU
88
Partições Fuzzy e Probabilísticas
� Exemplo (Fuzzy):
( )
=
9.05.01.00
1.05.01.01XU
� Exemplo (Fuzzy / Probabilística):
9.05.01.00
99
( )
=
9.05.03.00
1.05.07.01XU
• Modelo de Otimização (Dunn 1973, Bezdek 1981):
10 .
min1 1
2
,
as
J
ij
N
j
c
i
ij
m
ijiij
≤≤
−= ∑ ∑= =
µ
µµ
vxv
Algoritmo Fuzzy c-Means
onde m > 1 (parâmetro) e vi ∈ ℜn (protótipos)
{ }
{ } ,,2 ,1 0
,,2 ,1 1
10 .
1
1
ciN
Nj
as
N
j
ij
c
i
ij
ij
K
K
∈∀<<
∈∀=
≤≤
∑
∑
=
=
µ
µ
µ
1010
NOTAS:
• Qual a interpretação do critério de custo J ... ?
• Qual a interpretação das restrições ... ?
Algoritmo Fuzzy c-Means
• Qual a interpretação das restrições ... ?
• Qual o papel do “fator de fuzzificação” m ... ?
1111
• Algoritmo Básico (m = 2, vi ≠ xj):
Algoritmo Fuzzy c-Means
:Calcular 2
,...,, :iniciais centrosSelecionar1
1
2
2
21
−
=
−
−
∑
−
cij
ij
ij
c
µ
µ
vx
vvv
12122 passo aoou voltar iaconvergênc de caso emParar 4
:centros osAtualizar 3
1
2
1
2
12
−
=
−
−=
∑
∑
∑
=
=
=
N
j
ij
N
j
jij
i
llj
ij
µ
µ
µ
x
v
vx
• Algoritmo Completo:
Algoritmo Fuzzy c-Means
{ } então ,,1 para0se, ,,1 cadaPara:Calcular 2
,...,, :iniciais centros osSelecionar1
1
1
1
2
21
−
−=
=>−∈−
−
∑
−
=
−c
l
m
lj
ij
ij
ijij
c
ciNj
µ
µ
vx
vx
vx
vvv
LL
1313
{ }
{ }
2 passo aoou voltar iaconvergênc de caso emParar 4
:centros osAtualizar 3
,,1 para 0 definir e1 satisfaçaquenegativonãoreal
número como paradefinirentão,,,1 para0Se
1
1
−
=
−
−∈==
∀∈⊆∈=−
∑
∑
∑
=
=
∈
N
j
m
ij
N
j
j
m
ij
i
ij
Ii
ij
ijij
lj
Ici
IicIi
µ
µ
µµ
µ
x
v
vx
L
L
Notas:
- Valor ótimo de m desconhecido. Usualmente m = 2
- Trata-se de uma extensão de k-means para o domínio fuzzy
- Como tal ⇒ apenas garantia de convergência para soluções locais !
- Ou seja, também é susceptível a mínimos locais da função objetivo J
Algoritmo Fuzzy c-Means
- Ou seja, também é susceptível a mínimos locais da função objetivo J
- depende da inicialização dos protótipos
- esquemas de múltiplas execuções podem ser utilizados...
- Existem dezenas de variantes !
- e.g. versão possibilística
- considere a figura ao lado com c = 2
- pertinência dos dois outliers... ?0
5
10
15
20
0 10 20
Figura Prof. Eduardo Hruschka
ExemploExemplo (“Iris”(“Iris” 22D)D)::
FCM
1515
FCM
1616
FCM
1717
� Complexidade de tempo do FCM é, em princípio, O(N n c2)
� assumindo um no. constante de iterações fixado pelo usuário
� Porém...
é possível demonstrar que existe implementação linear !
Complexidade Computacional
� é possível demonstrar que existe implementação linear !
� complexidade O(N n c)
10
7
8
9
Erro Quadrático
Ponderado:
- Múltiplas execuções ordenadas de FCM, com uso da função objetivo J
( )∑∑=N c
ij
mdJ ij
2, vxµ
Determinação do No. de Grupos...
1 2 3 4 5 6 7 8 9 10
1
2
3
4
5
6
Função Objetivo
( )∑∑= =j i
ij
1 1
Exemplo (IRIS 2D)
2020
� Mesmas já vistas para o k-means:
� 1. Casos Ambíguos:
Limitações
� 2. Busca Guiada:
� FCM evolutivo, ... ?
� Solução: vide aulas de validação de agrupamento !2121
ExercícioExercício
• Agrupar os dados em azul na figura abaixo através do método FCM com 2
clusters, m=2 e centros iniciais assinalados em vermelho. Apresentar os
centros dos grupos e a matriz de valores de pertinência para cada iteração.
10
2 8 104 6
5v1 v2
Computacional ⇒ 5 iterações.
Manual ⇒ 1a iteração.
Computacional ⇒ 5 iterações.
Manual ⇒ 1a iteração.
2222
FCM Paralelo / DistribuídoDiscussão no quadro...
23
Principal Variante do FCMAlgoritmo Gustafson-Kessel (GK)
� Variante do FCM equipada com métrica adaptativa capaz de induzir clusters elipsoidais / circulares com diferentes distribuições espaciais
� Possui “a mesma” função objetivo e segue os mesmos passos do FCM, exceto que a distância entre o j-ésimo objeto e o i-ésimo protótipo é
24
exceto que a distância entre o j-ésimo objeto e o i-ésimo protótipo é calculada em função de uma matriz adaptativa independente Ai, i.e.:
� FCM com dist. Euclidiana é obtido com Ai = In×n para todo i = 1, ... , c
( ) ( )iji
T
ijA
ij Ai
vxvxvx −−=−
2
Gustafson-Kessel (GK)Matrizes Ai são obtidas adaptativamente, em função das matrizes de covariância fuzzy dos clusters:
( ) 1 det −ΦΦ= in
iiA
25
onde:
( ) iii
( )( )
∑
∑
=
=
−−
=ΦN
k
m
ij
N
j
T
ijij
m
ij
i
1
1
µ
µ vxvx
Gustafson-Kessel (GK)Nota: A equação abaixo define um hiper-elipsóide
( ) ( ) 11 =−Φ− − vxvx i
T
A matriz de covariância
26� maior dificuldade está no cálculo da inversa, Φ-1: O(n3)
A matriz de covariância
fuzzy concentra informação
sobre a distribuição espacial
do cluster: Autovetores φk e
autovalores λk parametrizam
a distância hiper-elipsoidal
Gustafson-Kessel (GK)Exemplo:
x2
27
x1
Gustafson-Kessel (GK)
x1 x1x2 x2
µij µij
28
x1x2
x2
µij
Expectation Maximization (EM)�O Algoritmo EM (Expectation Maximization) é um procedimento genérico para a modelagem probabilística de um conjunto de dados
� Basicamente, o algoritmo otimiza os parâmetros de uma função de distribuição de probabilidades de uma função de distribuição de probabilidades de forma que esta represente os dados da forma mais verossímil possível
� Maximização da Verossimilhança
�Modelo mais utilizado é aquele cuja função de distribuição de probabilidades é dada por uma Mistura de Gaussianas 2929
EM – Mistura de Gaussianas� O modelo de mistura de Gaussianas é dado pela seguinte função de densidade de probabilidade p:
( ) ( )∑=
=k
i
iijijp1
,Σvxx Nπ
� xj é um padrão (objeto)
� N é uma Gaussiana (da mesma dimensão dos padrões)
� vi é o centro da i-ésima Gaussiana (vetor da mesma dimensão de xj)
� ΣΣΣΣi é a matriz de covariância da i-ésima Gaussiana
� πi é uma probabilidade associada à i-ésima Gaussiana
� k é o número de Gaussianas que compõem a mistura3030
=i 1
EM – Mistura de Gaussianas� Para compreender a distribuição de probabilidade p(xj), seja uma var. aleatória binária k-dimensional zj, tal que:
� zj = [z1j ... zkj]T assume apenas valores em representação 1-de-k:
� zij = 1 para um dado i ∈ {1, ..., k}; todos os demais são nulos
� em outras palavras, zlj ∈ {0, 1} e ∑l zlj = 1
� Define-se πi = p(zij = 1) como a probabilidade a priori que um padrão xj qualquer seja gerado pela i-ésima Gaussiana, N(xj | vi , ΣΣΣΣi)
� logo, 0 ≤ πi ≤ 1 e ∑i πi = 1
� A distribuição de probabilidade p(zj) é tal que:
� p(zj) = πi para a realização de zj tal que zij = 13131
EM – Mistura de Gaussianas� Note que a i-ésima Gaussiana corresponde à distribuição condicional de xj dado um valor particular de zj, i.e.:
� p(xj | zij = 1) = N(xj | vi , ΣΣΣΣi), ou (equivalentemente)
� p(xj | zj) = N(xj | vi , ΣΣΣΣi) para a realização de zj tal que zij = 1
� Das distribuições p(zj) e p(xj | zj) tem-se a distribuição conjunta p(xj & zj), como segue:
� p(xj & zj) = p(zj) p(xj | zj)
� A distribuição p(xj) é obtida então como:
�
3232
( ) ( ) ( )∑∑=
==k
i
iijijjj pp1
,& Σvxzxxz
Nπ
Modelo para 1 Atributo e 2 Grupos:A 51A 43B 62B 64A 45A 42A 46A 45A 45
B 62A 47A 52B 64A 51B 65A 48A 49A 46
B 64A 51A 52B 62A 49A 48B 62A 43A 40
A 48B 64A 51B 63A 43B 65B 66B 65A 46
A 39B 62B 64A 52B 63B 64A 48B 64A 48
A 51A 48B 64A 42A 48A 41
Objetos:
33
Modelo:
µA=50, σA =5, pA=0.6 µB=65, σB =2, pB=0.4
Witten & Frank, Data Mining: Practical Machine Learning Tools and Techniques (Chapter 6)
� Uma grandeza fundamental para definição do algoritmo:
� µij = p(zij = 1 | xj) =
EM – Mistura de Gaussianas
( )
( )∑=
k
l
lljl
iiji
1
,
,
Σvx
Σvx
N
N
π
π
� p(zj | xj) = p(xj & zj) / p(xj) → p(zj | xj) = p(zj) p(xj | zj) / p(xj) →
→ p(zij = 1 | xj) = p(zij = 1) p(xj | zij = 1) / p(xj)
� É a probabilidade a posteriori de zij = 1 dado que se observou xj
� Em contraste com πi, que é a probabilidade a priori
� Em outras palavras, é a probabilidade a posteriori que a observação xj tenha sido produzida pela i-ésima Gaussiana
3434
� Outra grandeza fundamental para definição do algoritmo:
� Dado um conjunto X = {x1, x2, ..., xN} de N observações independentes, tem-se a distribuição conjunta dada por:
�
� Essa distribuição governa o conjunto de observações X dado que
EM – Mistura de Gaussianas
( ) ( ) ( ) ( )∏∑∏= ==
===N
j
k
l
lljl
N
j
jN ppp1 11
21 ,&&& ΣvxxxxxX NπK
� Essa distribuição governa o conjunto de observações X dado que este seja descrito pela mistura de Gaussianas em questão:
� ΣΣΣΣ = {ΣΣΣΣ1, ..., ΣΣΣΣk}, v = {v1, ..., vk} e ππππ = {π1, ..., πk}
� Por esta razão, em geral refere-se a esta distribuição por p(X | ππππ, ΣΣΣΣ, v)
� Por conveniência matemática, aplica-se o logaritmo para eliminar o produtório, obtendo assim a função de log-verossimilhança:
�
3535( )( ) ( )∑ ∑
= =
=
N
j
k
l
lljlp1 1
,ln,,|ln ΣvxvΣπX Nπ
� Maximizar a verossimilhança pode ser visto como maximizar a compatibilidade entre as N observações e o modelo
� EM (Dempster et al., 1977) é um algoritmo de otimização que visa maximizar a f. de (log) verossimilhança em 2 passos:
EM – Mistura de Gaussianas
� Passo E (Expectation)
� Avalia as probabilidades a posteriori µij (i = 1, ..., k; j = 1, ..., N)
� a partir das N observações X = {x1, x2, ..., xN} e do modelo corrente, dado pelos parâmetros ΣΣΣΣ = {ΣΣΣΣ1, ..., ΣΣΣΣk}, v = {v1, ..., vk} e ππππ = {π1, ..., πk}
� Passo M (Maximization)
� Ajusta o modelo visando maximizar a função de log-verossimilhança3636
� Passo E (Expectation):
� Avalia as probabilidades a posteriori µij (i = 1, ..., k; j = 1, ..., N)
EM – Mistura de Gaussianas
( )=
iiji ,ΣvxNπµ
3737
( )
( )∑=
=k
l
lljl
iiji
ij
1
,
,
Σvx
Σvx
N
N
π
πµ
( )( )
−−−= − )()(2
1exp
det)2(
1 , 1
2/12/ iji
T
ij
c
niij vxΣvxΣ
Σvxπ
N
� Passo M (Maximization):
� Ajusta o modelo visando maximizar a verossimilhança
EM – Mistura de Gaussianas
∑=
=N
j
jijiN 1
1µ xv centróide ponderado
3838
( )( )
∑
∑
∑
=
=
=
=
=
−−=
N
j
iji
ii
N
j
T
ijijij
i
i
ji
N
N
N
N
N
1
1
1
1
µ
π
µ vxvxΣ
responsabilidade absoluta do i-ésimo grupo (Gaussiana)
responsabilidade relativa do i-ésimo grupo (Gaussiana)
covariância ponderada
EM – Mistura de Gaussianas� Algoritmo:
1. Inicialização (via k-means)
� protótipos vi = centróides finais do k-means
� covariâncias ∑∑∑∑i = matrizes de covariância finais (dos grupos)
3939
� probabilidades µij (para Ni e πi) = matriz de partição rígida final
2. Passo E
3. Passo M
4. Avaliação do Critério de Parada
� e.g. função de log-verossimilhança
5. Interrupção ou Retorno ao Passo 2
EM × k-Means� EM produz informação muito mais rica sobre os dados
� Probabilidades associadas a cada padrão / cluster
� Probabilidades produzidas por EM podem facilmente ser convertidas em uma partição rígida, caso desejado� Via projeção do maior valor
� Essa partição é capaz de representar clusters alongados, elipsoidais, com atributos correlacionados
� No entanto, todas as vantagens acima vêm com um elevado custo computacional associado...� Cálculo das Normais Multi-Dimensionais N demanda as
inversas das matrizes de covariância ∑i, que é O(n3)
� k-means é um caso particular de EM. Ambos estão sujeitos a mínimos locais 4040
EM (Mistura de Gaussianas – Exemplos)
KeoghKeogh, E. , E. A Gentle Introduction to Machine Learning and Data Mining for the Database Community, SBBD 2003, Manaus.A Gentle Introduction to Machine Learning and Data Mining for the Database Community, SBBD 2003, Manaus.
Exemplo(passo-a-passo)
KeoghKeogh, E. , E. A Gentle Introduction to Machine Learning and Data Mining for the Database Community, SBBD 2003, Manaus.A Gentle Introduction to Machine Learning and Data Mining for the Database Community, SBBD 2003, Manaus.
Iteração 1Iteração 1
KeoghKeogh, E. , E. A Gentle Introduction to Machine Learning and Data Mining for the Database Community, SBBD 2003, Manaus.A Gentle Introduction to Machine Learning and Data Mining for the Database Community, SBBD 2003, Manaus.
Iteração 2Iteração 2
KeoghKeogh, E. , E. A Gentle Introduction to Machine Learning and Data Mining for the Database Community, SBBD 2003, Manaus.A Gentle Introduction to Machine Learning and Data Mining for the Database Community, SBBD 2003, Manaus.
Iteração 5Iteração 5
KeoghKeogh, E. , E. A Gentle Introduction to Machine Learning and Data Mining for the Database Community, SBBD 2003, Manaus.A Gentle Introduction to Machine Learning and Data Mining for the Database Community, SBBD 2003, Manaus.
Iteração 25Iteração 25
KeoghKeogh, E. , E. A Gentle Introduction to Machine Learning and Data Mining for the Database Community, SBBD 2003, Manaus.A Gentle Introduction to Machine Learning and Data Mining for the Database Community, SBBD 2003, Manaus.
Exercício
� Execute manualmente iteraçõesdo EM na base de dados ao lado(n = 1, N = 10), com k = 2. Tomeprotótipos iniciais arbitrários e osdemais parâmetros inicializados apartir destes, de maneira análoga
Objeto x1
1 -1.31
2 -0.43
3 0.34
4 3.57
5 2.76 partir destes, de maneira análogaà inicialização via k-means
� Ilustre o resultado obtido deforma gráfica
4747
5 2.76
6 0.30
7 9.06
8 4.45
9 2.87
10 4.42
Algoritmos Baseados em Densidade
� Paradigma de Agrupamento por Densidade
� Clusters como regiões de alta concentração de objetos
� Regiões essas separadas por regiões de baixa concentração de objetos
� Paradigma alternativo àquele baseado em protótipos
� K-means e variantes, FCM, GK, EM, etc
� Existem vários algoritmos
� Veremos a seguir um dos mais conhecidos, o DBSCAN
4848
DBSCAN
� DBSCAN is a density-based algorithm
– It uses the concept of Center-Based Density
� number of points within a specified radius (Eps)
� Definitions:
© Tan,Steinbach, Kumar Introduction to Data Mining 4/18/2004 49
– A point is a core point if it has at least a specified number of
points (MinPts) within the radius Eps (including the point itself)
� these are points that are in the interior of a cluster
– A border point has fewer than MinPts within Eps, but is in
the neighborhood (within the radius) of at least 1 core point
– A noise point is neither a core point nor a border point
DBSCAN: Core, Border, and Noise Points
© Tan,Steinbach, Kumar Introduction to Data Mining 4/18/2004 50
DBSCAN
� Algoritmo Conceitual:
1. Percorra a BD e rotule os objetos como core, border ou noise
2. Elimine aqueles objetos rotulados como noise
3. Insira uma aresta entre cada par de objetos core vizinhos3. Insira uma aresta entre cada par de objetos core vizinhos
� 2 objetos são vizinhos se um estiver dentro do raio Eps do outro
4. Faça cada componente conexo resultante ser um cluster
5. Atribua cada border ao cluster de um de seus core associados
� Resolva empates se houver objetos core associados de diferentes clusters
5151
DBSCAN: Core, Border and Noise Points
© Tan,Steinbach, Kumar Introduction to Data Mining 4/18/2004 52
Original Points Point types: core, border and noise
Eps = 10, MinPts = 4
When DBSCAN Works Well
© Tan,Steinbach, Kumar Introduction to Data Mining 4/18/2004 53
Original Points Clusters
• Resistant to Noise
• Can handle clusters of different shapes and sizes
When DBSCAN Does NOT Work Well
(MinPts=4, Eps=9.75).
© Tan,Steinbach, Kumar Introduction to Data Mining 4/18/2004 54
Original Points
(MinPts=4, Eps=9.75).
(MinPts=4, Eps=9.92)
• Varying densities
• High-dimensional data
(Attempt at) Determining EPS and MinPts
� Idea is that for points in a cluster, their kth nearest neighbors (NN) are at roughly the same distance
� Noise points have the kth NN at farther distance
� Heuristic:
� plot sorted distance of every point to its kth nearest neighbor
© Tan,Steinbach, Kumar Introduction to Data Mining 4/18/2004 55
DBSCAN
� Complexidade Computacional:
� Na prática, a rotulação dos clusters pode ser realizada simultaneamente à rotulação dos objetos (passagem 1)
� Logo, o tempo é O(N × tempo p/ encontrar os objetos vizinhos)
� Em geral, isso significa O(N2)
� Para bases de dados com poucas dimensões é possível obter tempo O(N log N) usando estruturas de dados apropriadas
� Árvores kd → seminários
� Em termos de memória, só é preciso armazenar as rotulações de cada objeto. Logo, tem-se O(N)
5656
DBSCAN
� Exercício:
� Aplique o algoritmo DBSCAN na BD abaixo, com Eps = 5 e MinPts = 3 (que inclui o objeto em questão), indicando os rótulos de cada objeto (core, border ou noise) e os grupos
01
5757
=
02546151314
01918222021
02121011
011910
021
01
0
7
6
5
4
3
2
1
D
Referências� Höppner, F., Klawonn, F., Kruse, R., Runkler, T., Fuzzy Cluster
Analysis, 1999
� Bezdek, J. C., Pattern Recognition with Fuzzy Objective Function Algorithm, Plenum Press, 1981
58
Function Algorithm, Plenum Press, 1981
� Bishop, C. M., Pattern Recognition and Machine Learning, Springer, 2006
� I. H. Witten and E. Frank, Data Mining: Practical Machine Learning Tools and Techniques, 2nd Edition, Morgan Kaufmann, 2005
� Tan, P.-N., Steinbach, M., and Kumar, V., Introduction to Data Mining, Addison-Wesley, 2006
top related