15
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 maneira que 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 integral necessariamente 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

Aula de Hoje SCC5895 – Análise de Agrupamento de Dadoswiki.icmc.usp.br/images/2/21/Algoritmos_Particionais_II.pdf · SCC5895 – Análise de Agrupamento de Dados Algoritmos Particionais:

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Aula de Hoje SCC5895 – Análise de Agrupamento de Dadoswiki.icmc.usp.br/images/2/21/Algoritmos_Particionais_II.pdf · SCC5895 – Análise de Agrupamento de Dados Algoritmos Particionais:

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

Page 2: Aula de Hoje SCC5895 – Análise de Agrupamento de Dadoswiki.icmc.usp.br/images/2/21/Algoritmos_Particionais_II.pdf · SCC5895 – Análise de Agrupamento de Dados Algoritmos Particionais:

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

Page 3: Aula de Hoje SCC5895 – Análise de Agrupamento de Dadoswiki.icmc.usp.br/images/2/21/Algoritmos_Particionais_II.pdf · SCC5895 – Análise de Agrupamento de Dados Algoritmos Particionais:

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

Page 4: Aula de Hoje SCC5895 – Análise de Agrupamento de Dadoswiki.icmc.usp.br/images/2/21/Algoritmos_Particionais_II.pdf · SCC5895 – Análise de Agrupamento de Dados Algoritmos Particionais:

• 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

Page 5: Aula de Hoje SCC5895 – Análise de Agrupamento de Dadoswiki.icmc.usp.br/images/2/21/Algoritmos_Particionais_II.pdf · SCC5895 – Análise de Agrupamento de Dados Algoritmos Particionais:

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

Page 6: Aula de Hoje SCC5895 – Análise de Agrupamento de Dadoswiki.icmc.usp.br/images/2/21/Algoritmos_Particionais_II.pdf · SCC5895 – Análise de Agrupamento de Dados Algoritmos Particionais:

� 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

Page 7: Aula de Hoje SCC5895 – Análise de Agrupamento de Dadoswiki.icmc.usp.br/images/2/21/Algoritmos_Particionais_II.pdf · SCC5895 – Análise de Agrupamento de Dados Algoritmos Particionais:

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

Page 8: Aula de Hoje SCC5895 – Análise de Agrupamento de Dadoswiki.icmc.usp.br/images/2/21/Algoritmos_Particionais_II.pdf · SCC5895 – Análise de Agrupamento de Dados Algoritmos Particionais:

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

Page 9: Aula de Hoje SCC5895 – Análise de Agrupamento de Dadoswiki.icmc.usp.br/images/2/21/Algoritmos_Particionais_II.pdf · SCC5895 – Análise de Agrupamento de Dados Algoritmos Particionais:

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

Page 10: Aula de Hoje SCC5895 – Análise de Agrupamento de Dadoswiki.icmc.usp.br/images/2/21/Algoritmos_Particionais_II.pdf · SCC5895 – Análise de Agrupamento de Dados Algoritmos Particionais:

� 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

Page 11: Aula de Hoje SCC5895 – Análise de Agrupamento de Dadoswiki.icmc.usp.br/images/2/21/Algoritmos_Particionais_II.pdf · SCC5895 – Análise de Agrupamento de Dados Algoritmos Particionais:

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.

Page 12: Aula de Hoje SCC5895 – Análise de Agrupamento de Dadoswiki.icmc.usp.br/images/2/21/Algoritmos_Particionais_II.pdf · SCC5895 – Análise de Agrupamento de Dados Algoritmos Particionais:

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

Page 13: Aula de Hoje SCC5895 – Análise de Agrupamento de Dadoswiki.icmc.usp.br/images/2/21/Algoritmos_Particionais_II.pdf · SCC5895 – Análise de Agrupamento de Dados Algoritmos Particionais:

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

Page 14: Aula de Hoje SCC5895 – Análise de Agrupamento de Dadoswiki.icmc.usp.br/images/2/21/Algoritmos_Particionais_II.pdf · SCC5895 – Análise de Agrupamento de Dados Algoritmos Particionais:

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

Page 15: Aula de Hoje SCC5895 – Análise de Agrupamento de Dadoswiki.icmc.usp.br/images/2/21/Algoritmos_Particionais_II.pdf · SCC5895 – Análise de Agrupamento de Dados Algoritmos Particionais:

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