• Nenhum resultado encontrado

Créditos. SCC0173 Mineração de Dados Biológicos. Conteúdo. Métodos Particionais (Sem Sobreposição)

N/A
N/A
Protected

Academic year: 2021

Share "Créditos. SCC0173 Mineração de Dados Biológicos. Conteúdo. Métodos Particionais (Sem Sobreposição)"

Copied!
12
0
0

Texto

(1)

SCC0173 – Mineração

de Dados Biológicos

1

Agrupamento de Dados – Partes III & IV:

Métodos Particionais e Validação

Prof. Ricardo J. G. B. Campello SCC / ICMC / USP

Créditos

 O material a seguir consiste de adaptações e

extensões dos originais:

 gentilmente cedidos pelo Prof. Eduardo R. Hruschka

2

 gentilmente cedidos pelo Prof. Eduardo R. Hruschka  de (Tan et al., 2006)  de E. Keogh (SBBD 2003)  de G. Piatetsky-Shapiro (KDNuggets)

Conteúdo

 Algoritmos Particionais  k-means Variantes do k-means 3  Variantes do k-means

 Estimativa do número de grupos k

 Critérios relativos de validade de agrupamento  Critérios externos de validade de agrupamento

Métodos Particionais (

Sem Sobreposição

)

Métodos particionais sem sobreposição referem-se a algoritmos de agrupamento que buscam (explícita ou implicitamente) por uma partição rígida de um conjunto de objetos X = {x1, x2, ..., xN}

 Partição Rígida: coleção P = {C1, C2, ..., Ck}

de k grupos não sobrepostos tal que:

4 4

de k grupos não sobrepostos tal que:

C

1

∪ C

2

∪... ∪ C

k

= X

C

i

≠ ∅

C

i

∩ C

j

= ∅ para i ≠ j

 Exemplo: P = { (x1), (x3, x4, x6), (x2, x5) }

(2)

Métodos

Métodos Particionais

Particionais ((

Sem Sobreposição

Sem Sobreposição

))

• Cada exemplo pertence a um cluster dentre k clusters possíveis • Usuário normalmente deve fornecer o número de clusters (k) • Normalmente envolvem a otimização de algum índice (critério

numérico) que reflete a qualidade de determinada partição

Keogh, E. A Gentle Introduction to Machine Learning and Data Mining for the Database Community, SBBD 2003, Manaus. Keogh, E. A Gentle Introduction to Machine Learning and Data Mining for the Database Community, SBBD 2003, Manaus.

5 5

Particionamento como Problema Combinatório

 Problema: Assumindo que k seja conhecido, o no. de possíveis formas de agruparNobjetos emk clustersé dado por (Liu, 1968):

 Por exemplo, NM(100, 5) ≈ 56.6x1067.

(

)

= −       − = k i N i i k i k k k N NM 0 ) 1 ( ! 1 ) , (  Por exemplo, NM(100, 5) ≈ 56.6x1067.

 Em um computador com capacidade de avaliar 109 partições/s,

precisaríamos ≈ 1.8x1050séculos para processar todas as avaliações...

 Como k em geral é desconhecido, problema é ainda maior...

 Avaliação computacional exaustiva é impraticável (problema NP-Hard)...  Solução: formulações alternativas...

6 6

Baseado no original do Prof. Eduardo R. Hruschka

Algoritmo k-Means



Começaremos nosso estudo com um dos algoritmos mais

clássicos da área de mineração de dados em geral

 algoritmo das k-médias ou k-means

 listado entre os Top 10 Most Influential Algorithms in DM

7 7

• Wu, X. and Kumar, V. (Editors),

The Top Ten Algorithms in Data Mining, CRC Press, 2009

• X. Wu et al., “Top 10 Algorithms in Data Mining”, Knowledge and Info. Systems, vol. 14, pp. 1-37, 2008

k-means

1) Escolher aleatoriamente um número kde protótipos (centros) para os clusters

2) Atribuir cada objeto para o cluster de centro mais próximo(segundo alguma distância, e.g. Euclidiana) 3) Mover cada centro para a média (centróide) dos

objetos do cluster correspondente

4) Repetir os passos 2 e 3 até que algum critério de convergência seja obtido:

- número máximo de iterações

- limiar mínimo de mudanças nos centróides

Prof. Eduardo R. Hruschka

8 8

(3)

k-means - passo 1:

k1 a2 k2 k3 a1 Escolher 3 centros iniciais

Slide baseado no curso de Gregory Piatetsky-Shapiro, disponível em http://www.kdnuggets.com 99

k-means - passo 2:

a2 k1 k3 a1 Atribuir cada objeto ao cluster de centro + próximo

Slide baseado no curso de Gregory Piatetsky-Shapiro, disponível em http://www.kdnuggets.com 1010

k2

k-means - passo 3:

a2 k1 k1 a1 Mover cada centro para o vetor médio do cluster (centróide) k2

Slide baseado no curso de Gregory Piatetsky-Shapiro, disponível em http://www.kdnuggets.com 1111

k3 k3 k2

k-means:

a2 Re-atribuir objetos aos clusters de centróides k1 a1 centróides mais próximos Quais objetos mudarão de cluster? k2 k3

(4)

k-means:

a2 k1 a1 Resp: 2 objetos k2

Slide baseado no curso de Gregory Piatetsky-Shapiro, disponível em http://www.kdnuggets.com 1313

k3

k-means:

a2 re-calcular k1 a1 re-calcular vetores médios k2

Slide baseado no curso de Gregory Piatetsky-Shapiro, disponível em http://www.kdnuggets.com 1414

k3

k-means:

a2 k1 a1 mover centros dos clusters… k2 k3

Slide baseado no curso de Gregory Piatetsky-Shapiro, disponível em http://www.kdnuggets.com 1515

Critério de Qualidade das Partições

 Pode-se demonstrar que o algoritmo minimiza a seguinte função objetivo (variâncias intra-cluster):

(

)

∑ ∑

= ∈

=

k i i j i j

d

J

1 2

,

C x

x

x

onde xié o centróide do i-ésimo cluster:

 Exemplo de cálculo de J: no quadro...

16 16

=

i i i i i C x

x

C

x

1

(5)

Discussão

 Resultado pode variar significativamente dependendo da escolha das sementes (protótipos) iniciais

 k-means pode “ficar preso” em ótimos locais

 Exemplo:  Exemplo:  Como evitar ... ? objetos Centros iniciais

Slide baseado no curso de Gregory Piatetsky-Shapiro, disponível em http://www.kdnuggets.com 1717

Exemplo: Duas Inicializações Diferentes

-2 -1.5 -1 -0.5 0 0.5 1 1.5 2 0 0.5 1 1.5 2 2.5 3 x y Objetos Originais

© Tan,Steinbach, Kumar Introduction to Data Mining 4/18/2004 18

-2 -1.5 -1 -0.5 0 0.5 1 1.5 2 0 0.5 1 1.5 2 2.5 3 x y Agrupamento Sub-Ótimo -2 -1.5 -1 -0.5 0 0.5 1 1.5 2 0 0.5 1 1.5 2 2.5 3 x y Agrupamento Ótimo

Exemplo: Execução com a 1ª Inicialização

1.5 2 2.5 3 y Iteration 1 1.5 2 2.5 3 y Iteration 2 1.5 2 2.5 3 y Iteration 3 1.5 2 2.5 3 y Iteration 4 1.5 2 2.5 3 y Iteration 5 1.5 2 2.5 3 y Iteration 6

© Tan,Steinbach, Kumar Introduction to Data Mining 4/18/2004 19

-2 -1.5 -1 -0.5 0 0.5 1 1.5 2 0 0.5 1 x -2 -1.5 -1 -0.5 0 0.5 1 1.5 2 0 0.5 1 x -2 -1.5 -1 -0.5 0 0.5 1 1.5 2 0 0.5 1 x -2 -1.5 -1 -0.5 0 0.5 1 1.5 2 0 0.5 1 x -2 -1.5 -1 -0.5 0 0.5 1 1.5 2 0 0.5 1 x -2 -1.5 -1 -0.5 0 0.5 1 1.5 2 0 0.5 1 x

Exemplo: Execução com a 1ª Inicialização

-2 -1.5 -1 -0.5 0 0.5 1 1.5 2 0 0.5 1 1.5 2 2.5 3 x y Iteration 1 -2 -1.5 -1 -0.5 0 0.5 1 1.5 2 0 0.5 1 1.5 2 2.5 3 x y Iteration 2 -2 -1.5 -1 -0.5 0 0.5 1 1.5 2 0 0.5 1 1.5 2 2.5 3 x y Iteration 3

© Tan,Steinbach, Kumar Introduction to Data Mining 4/18/2004 20

-2 -1.5 -1 -0.5 0 0.5 1 1.5 2 0 0.5 1 1.5 2 2.5 3 x y Iteration 4 -2 -1.5 -1 -0.5 0 0.5 1 1.5 2 0 0.5 1 1.5 2 2.5 3 x y Iteration 5 -2 -1.5 -1 -0.5 0 0.5 1 1.5 2 0 0.5 1 1.5 2 2.5 3 x y Iteration 6

(6)

Exemplo: Execução com a 2ª Inicialização

1.5 2 2.5 3 y Iteration 1 1.5 2 2.5 3 y Iteration 2 1.5 2 2.5 3 y Iteration 3 1.5 2 2.5 3 y Iteration 4 1.5 2 2.5 3 y Iteration 5

© Tan,Steinbach, Kumar Introduction to Data Mining 4/18/2004 21

-2 -1.5 -1 -0.5 0 0.5 1 1.5 2 0 0.5 1 x -2 -1.5 -1 -0.5 0 0.5 1 1.5 2 0 0.5 1 x -2 -1.5 -1 -0.5 0 0.5 1 1.5 2 0 0.5 1 x -2 -1.5 -1 -0.5 0 0.5 1 1.5 2 0 0.5 1 x -2 -1.5 -1 -0.5 0 0.5 1 1.5 2 0 0.5 1 x

Exemplo: Execução com a 2ª Inicialização

-2 -1.5 -1 -0.5 0 0.5 1 1.5 2 0 0.5 1 1.5 2 2.5 3 x y Iteration 1 -2 -1.5 -1 -0.5 0 0.5 1 1.5 2 0 0.5 1 1.5 2 2.5 3 x y Iteration 2

© Tan,Steinbach, Kumar Introduction to Data Mining 4/18/2004 22

x x -2 -1.5 -1 -0.5 0 0.5 1 1.5 2 0 0.5 1 1.5 2 2.5 3 x y Iteration 3 -2 -1.5 -1 -0.5 0 0.5 1 1.5 2 0 0.5 1 1.5 2 2.5 3 x y Iteration 4 -2 -1.5 -1 -0.5 0 0.5 1 1.5 2 0 0.5 1 1.5 2 2.5 3 x y Iteration 5

Exercício

Objeto xi xi1 xi2 1 1 2 2 2 1 3 1 1 4 2 2 5 8 9 6 9 8 xi2

 Executar k-means com k=3

nos dados acima a partir dos protótipos [6 6], [4 6] e [5 10]

e outros a sua escolha 2323

6 9 8 7 9 9 8 8 8 9 1 15 10 2 15 11 1 14 12 2 14 xi1

Prof. Eduardo R. Hruschka

Implementações Eficientes

 Desempenho pode ser “turbinado” de diferentes formas:

 Heurísticas de Inicialização

 Estruturas de Dados

 Algoritmos, por exemplo:

 Atualização recursiva dos centróides:

 Cálculo de cada centróide só depende do número de objetos do cluster em questão, dos novos objetos atribuídos ao cluster, dos objetos que deixaram o cluster, e do valor anterior do centróide

 Não demanda recalcular tudo novamente

 Exercício: a partir da equação do cálculo do centróide, escrever a equação de atualização recursiva descrita acima !

24 24

(7)

Resumo do k-Means

Vantagens  Simples e intuitivo

 Possui complexidade

computacional linear em todas as variáveis críticas (N, n, k)

 Eficaz em muitos cenários de

Desvantagens  k = ?

 Sensível à inicialização dos protótipos (mínimos locais de J)

 Limita-se a encontrar clusters

volumétricos / globulares  Eficaz em muitos cenários de

aplicação e produz resultados de interpretação relativamente simples

 Considerado um dos 10 mais influentes algoritmos em Data Mining (Wu & Kumar, 2009) !

volumétricos / globulares  Cada item deve pertencer a um

único cluster (partição é rígida, ou seja, sem sobreposição)

 Limitado a atributos numéricos

 Sensível a outliers

25 25

Nota (

Formas Não-Globulares

)

Tan, Steinbach, Kumar

objetos originais

agrupamento k-means (k=2)

 Na prática, esse problema em geral não é crítico, i.e., há pouco interesse na maioria das aplicações de mundo real

 Grandes BDs (muitos objetos & atributos) e necessidade de interpretação dos resultados (e.g. segmentação de mercado...)

Algumas Variantes do k-Means

K-Medóides: Substituir cada centróide por um objeto representativo do cluster, denominado medóide

 Medóide = objeto mais próximo aos demais objetos do cluster

 Mais próximo em média (empates resolvidos aleatoriamente)

 Vantagens:

27 27  Vantagens:

 menos sensível a outliers

 permite cálculo relacional (apenas matriz de distâncias)  logo, pode ser aplicado a bases com atributos categóricos

 convergência assegurada com qualquer medida de (dis)similaridade !

 Desvantagem: Complexidade quadrática com o no. de objetos N

Exemplo de k-Medóides

Execução de k-medóides com k = 2 na base de dados relacional abaixo, com medóides iniciais x1e x2:

10

5

0

2

13

7

2

0

1

x

x

28 28 No quadro...

=

0

4

10

13

4

0

5

7

10

5

0

2

4 3 2

x

x

x

D

(8)

Exercício

Objeto xi xi1 xi2 1 1 2 2 2 1 3 1 1 4 2 2 5 8 9 6 9 8 xi2

 Executar k-medóides com

k=3 nos dados acima, com medóides iniciais dados pelos objetos 5, 6 e 8 29 29 6 9 8 7 9 9 8 8 8 9 1 15 10 2 15 11 1 14 12 2 14 xi1

Prof. Eduardo R. Hruschka

Algumas Variantes do k-Means

Métodos de Múltiplas Execuções de k-Means:

 Executam k-means repetidas vezes a partir de diferentes valores de k e de posições iniciais dos protótipos

Ordenado: npinicializações de protótipos para cada k ∈ [kmin,kmax]

30 30

p min max

Aleatório: nTinicializações de protótipos, com k sorteado em [kmin,kmax]

 Tomam a melhor partição resultante de acordo com algum critério de qualidade (critério de validade de agrupamento)

 Vantagens: Estimam k e são menos sensíveis a mínimos locais  Desvantagem: Custo computacional pode ser elevado

Questão...

Á própria função objetivo J do k-means não poderia ser utilizada como medida de qualidade para escolher a melhor partição dentre um conjunto de candidatas ???

 Resposta é sim se todas têm o mesmo no. k de clusters (fixo)

31 31

 Mas e se k for desconhecido, portanto variável...?

Para responder, considere que as partições são geradas por múltiplas execuções de k-means com k ∈ [kmin, kmax]

Erro

Erro Quadrático

Quadrático::

10

7 8 9

-- Para tentar responder a questão anterior, vamos considerar o método de Para tentar responder a questão anterior, vamos considerar o método de múltiplas execuções ordenadas de

múltiplas execuções ordenadas de kk--meansmeans, com uso da função objetivo J, com uso da função objetivo J

(

)

∑ ∑

= ∈

=

k i i j

d

J

1 2

,

C x

x

x

Questão...

1 2 3 4 5 6 7 8 9 10 1 2 3 4 5 6 Função Objetivo Keogh

Keogh, E. A , E. A GentleGentle IntroductionIntroduction to Machine to Machine LearningLearning andand Data Data MiningMining for

for thethe Database Database CommunityCommunity, SBBD 2003, Manaus., SBBD 2003, Manaus.

∑ ∑

= ∈

(9)

10 6 7 8 9

Questão...

-- Considere o seguinte exemplo:Considere o seguinte exemplo:

1 2 3 4 5 6 7 8 9 10 1 2 3 4 5 6

Keogh, E. A Gentle Introduction to Machine Learning and Data Mining for the Database Community, SBBD 2003, Manaus. Keogh, E. A Gentle Introduction to Machine Learning and Data Mining for the Database Community, SBBD 2003, Manaus. 3333

Para k = 1, o valor da função objetivo é 873,0.

1 2 3 4 5 6 7 8 9 10

Keogh, E. A Gentle Introduction to Machine Learning and Data Mining for the Database Community, SBBD 2003, Manaus. Keogh, E. A Gentle Introduction to Machine Learning and Data Mining for the Database Community, SBBD 2003, Manaus. 3434

Para k = 2, o valor da função objetivo é 173,1.

1 2 3 4 5 6 7 8 9 10

Keogh, E. A Gentle Introduction to Machine Learning and Data Mining for the Database Community, SBBD 2003, Manaus. Keogh, E. A Gentle Introduction to Machine Learning and Data Mining for the Database Community, SBBD 2003, Manaus. 3535

Para k = 3, o valor da função objetivo é 133,6.

1 2 3 4 5 6 7 8 9 10

Keogh, E. A Gentle Introduction to Machine Learning and Data Mining for the Database Community, SBBD 2003, Manaus. Keogh, E. A Gentle Introduction to Machine Learning and Data Mining for the Database Community, SBBD 2003, Manaus. 3636

(10)

7.00E+02 8.00E+02 9.00E+02 1.00E+03

Podemos então repetir este procedimento e plotar os valores da função objetivo J para k =1,…,6, ... e tentar identificar um “joelho” :

F unç ão O bj et ivo 0.00E+00 1.00E+02 2.00E+02 3.00E+02 4.00E+02 5.00E+02 6.00E+02 1 2 3 4 5 6 k F unç ão O bj et ivo

Keogh, E. A Gentle Introduction to Machine Learning and Data Mining for the Database Community, SBBD 2003, Manaus. Keogh, E. A Gentle Introduction to Machine Learning and Data Mining for the Database Community, SBBD 2003, Manaus. 3737

Exercício

Objeto xi xi1 xi2 1 1 2 2 2 1 3 1 1 4 2 2 5 8 9 6 9 8 xi2

 Executar k-means com k=2

até k=5 nos dados acima e representar graficamente a f. objetivo J em função de k 3838 6 9 8 7 9 9 8 8 8 9 1 15 10 2 15 11 1 14 12 2 14 xi1

Prof. Eduardo R. Hruschka

Infelizmente os resultados não são sempre tão claros quanto no exemplo anterior… Vide exemplo abaixo...

Questão...

Além disso, como utilizar essa metodologia em variantes baseadas em busca guiada, que otimizam k ?

39 39

Para avaliar relativamente a qualidade de diferentes partições, possivelmente com números distintos de grupos, faz-se necessário um tipo de índice:

 Critério Relativo de Validade de Agrupamento

Critérios de Validade Relativos

Existem vários critérios na literatura Veremos a seguir dois exemplos

 Critério de Dunn

 Critério da Silhueta

40 40

(11)

Critério de Dunn



Razão entre a menor distância inter-grupos (

S-Dist

)

e a maior distância intra-grupo (

G-Diam

)



Exemplo:

Figura por Lucas Vendramin

41 41 Diam G Dist S Dunn − − =

Exercício

Objeto xi xi1 xi2 1 1 2 2 2 1 3 1 1 4 2 2 5 8 9 6 9 8 xi2

 Executar k-means nos dados

acima e calcular os valores do índice de Dunn das partições

obtidas para vários k 4242

6 9 8 7 9 9 8 8 8 9 1 15 10 2 15 11 1 14 12 2 14 xi1

Prof. Eduardo R. Hruschka

Critério da Largura de Silhueta

SWC = Silhuetamédia sobre todos os objetos:

Silhueta (i-ésimo objeto):

a(i): dissimilaridade b(i): dissimilaridade

a(i): dissimilaridade

média do i-ésimo objeto ao seu cluster

b(i): dissimilaridade

média do i-ésimo objeto ao cluster vizinho mais próximo

Silhueta Original: a(i)e b(i)são calculados como a distância média (Euclidiana, Mahalanobis, etc) do i-ésimo objeto a todos os demais objetos do cluster em questão. Complexidade quadrática

* Obs: SWC ∈ [–1 ,+1] ; s(i) := 0 para singletons

Critério da Largura de Silhueta

Figura por Lucas Vendramin

Silhueta Simplificada: a(i)e b(i)são calculados como a distância do i-ésimo objeto ao centróide do cluster em questão. Complexidade linear

(12)

Exercício

Objeto xi xi1 xi2 1 1 2 2 2 1 3 1 1 4 2 2 5 8 9 6 9 8 xi2

 Executar k-means nos dados

acima e calcular as silhuetas (original e simplificada) das partições obtidas para vários k 4545

6 9 8 7 9 9 8 8 8 9 1 15 10 2 15 11 1 14 12 2 14 xi1

Prof. Eduardo R. Hruschka

Nota (

Normalização dos Dados

)

O problema de normalização / padronização dos dados é mais complexo em clustering do que em outras tarefas de DM (p. ex. classificação)

As técnicas disponíveis são essencialmente as mesmas, bem como o objetivo da aplicação destas

 Por exemplo, evitar que atributos com escalas muito maiores do que outros dominem os cálculos de dissimilaridade e, portanto, induzam sozinhos a estrutura de clusters

No entanto, a aplicação dessas técnicas pode distorcer totalmente a estrutura original dos dados em clusters !!!

 É preciso mais cautela, experimentação e conhecimento de domínio para realizar pré-processamento de dados em clustering !

49 49

Referências

Documentos relacionados

O Secretário de Obras Públicas da Prefeitura Municipal de Barra do Piraí, Wlader Dantas Pereira, no uso de suas atribuições legais, faz saber a todos que tiverem con- hecimento

coping incluídas no grupo aproximação foram as seguintes: reavaliação positiva , que inclui estratégias como refletir sobre o problema, buscar ver o lado positivo

Interfaces Brasil/ Canadá – Universidade de São Paulo, USP; Universidade Estadual de Santa Catarina, UDESC. Universidade Federal de Pelotas

Baseado nessas características foi escolhido as Redes de Sensores Sem Fio como a tecnologia de comunicação a ser utilizada no monitoramento de

Antes de fazer upgrade, você também pode configurar os ambientes JBoss e WebSphere para usar o protocolo HTTP Seguro (HTTPS) para comunicação entre o ActiveVOS e o MDM Hub.

A respeito da tese de Soares, que os partidos conservadores estavam declinando e o PTB crescendo, Nicolau mostra que de fato o PTB teve um crescimento expressivo e constante ao

A presente pesquisa é exploratório-descritiva, de abordagem qualitativa, sendo utilizado como instrumento para coleta de dados uma entrevista semi-estruturada aplicada com

Este trabalho teve como objetivos verificar se há relação entre níveis séricos e biliares da proteína, do colesterol e do cálcio em portadores de colelitíase e de pólipo