82
Mineração em Data Streams - Clustering Profa. Elaine Faria UFU - 2018

Mineração em Data Streams - Clustering Profa. Elaine Faria ...elaine/disc/MFCD2018/Aula2.pdf · Agrupamento - definições ... Data Clustering: 50 Years Beyond K-Means, Pattern

  • Upload
    others

  • View
    5

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Mineração em Data Streams - Clustering Profa. Elaine Faria ...elaine/disc/MFCD2018/Aula2.pdf · Agrupamento - definições ... Data Clustering: 50 Years Beyond K-Means, Pattern

Mineração em Data Streams - Clustering

Profa. Elaine Faria UFU - 2018

Page 2: Mineração em Data Streams - Clustering Profa. Elaine Faria ...elaine/disc/MFCD2018/Aula2.pdf · Agrupamento - definições ... Data Clustering: 50 Years Beyond K-Means, Pattern

Mineração de Dados

• Tarefas de mineração– Tarefas Preditivas

• Classificação • Regressão• Detecção de Anomalias

Tarefas Descritivas• Agrupamento• Descoberta de Regras de Associação• Descoberta de Padrões Sequenciais

Page 3: Mineração em Data Streams - Clustering Profa. Elaine Faria ...elaine/disc/MFCD2018/Aula2.pdf · Agrupamento - definições ... Data Clustering: 50 Years Beyond K-Means, Pattern

Qual a diferença entre agrupamento e classificação

• Agrupamento– Aprendizado não-supervisionado sem

rótulo

• Classificação– Aprendizado supervisionado usa os rótulos

Page 4: Mineração em Data Streams - Clustering Profa. Elaine Faria ...elaine/disc/MFCD2018/Aula2.pdf · Agrupamento - definições ... Data Clustering: 50 Years Beyond K-Means, Pattern

Exemplo de Agrupamento

Nome Idade Peso

João 25 60

Ana 50 75

Pedro 60 90

Maria 22 65

Paulo 18 68

Aldo 15 80

Aplicação de uma técnica

agrupamento

João

Maria

Paulo

AldoAna

Pedro

Page 5: Mineração em Data Streams - Clustering Profa. Elaine Faria ...elaine/disc/MFCD2018/Aula2.pdf · Agrupamento - definições ... Data Clustering: 50 Years Beyond K-Means, Pattern

Agrupamento - definições

Análise de grupos ou clusters é o estudo de algoritmos e métodos para agrupar objetos de acordo com suas características.

Cluster (grupo) é uma aglomeração de pontos no espaço tal que a distância entre quaisquer dois pontos no cluster é menor que a distância entre qualquer ponto no cluster e qualquer ponto que não está nele.

Jain, A. K.; Dubes, R. C. Algorithms for Clustering Data, Prentice Hall, 1988.

Page 6: Mineração em Data Streams - Clustering Profa. Elaine Faria ...elaine/disc/MFCD2018/Aula2.pdf · Agrupamento - definições ... Data Clustering: 50 Years Beyond K-Means, Pattern

Agrupamento - questões

• O que é um grupo ideal?

• Quantos grupos devem ser formados?

• Há um agrupamento natural dos dados?

• Como podemos definir o que é semelhante?

Page 7: Mineração em Data Streams - Clustering Profa. Elaine Faria ...elaine/disc/MFCD2018/Aula2.pdf · Agrupamento - definições ... Data Clustering: 50 Years Beyond K-Means, Pattern

Agrupamento

Quantos grupos?

Tan P., SteinBack M. e Kumar V. Introduction to Data Mining, Pearson, 2006

Page 8: Mineração em Data Streams - Clustering Profa. Elaine Faria ...elaine/disc/MFCD2018/Aula2.pdf · Agrupamento - definições ... Data Clustering: 50 Years Beyond K-Means, Pattern

Agrupamento

Quantos grupos?

Tan P., SteinBack M. e Kumar V. Introduction to Data Mining, Pearson, 2006

Page 9: Mineração em Data Streams - Clustering Profa. Elaine Faria ...elaine/disc/MFCD2018/Aula2.pdf · Agrupamento - definições ... Data Clustering: 50 Years Beyond K-Means, Pattern

Agrupamento

Quantos grupos?

Tan P., SteinBack M. e Kumar V. Introduction to Data Mining, Pearson, 2006

Page 10: Mineração em Data Streams - Clustering Profa. Elaine Faria ...elaine/disc/MFCD2018/Aula2.pdf · Agrupamento - definições ... Data Clustering: 50 Years Beyond K-Means, Pattern

Agrupamento

Quantos grupos?

Tan P., SteinBack M. e Kumar V. Introduction to Data Mining, Pearson, 2006

Page 11: Mineração em Data Streams - Clustering Profa. Elaine Faria ...elaine/disc/MFCD2018/Aula2.pdf · Agrupamento - definições ... Data Clustering: 50 Years Beyond K-Means, Pattern

Agrupamento• Como agrupar os objetos??

• Alguns dos possíveis agrupamento

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

Page 12: Mineração em Data Streams - Clustering Profa. Elaine Faria ...elaine/disc/MFCD2018/Aula2.pdf · Agrupamento - definições ... Data Clustering: 50 Years Beyond K-Means, Pattern

Agrupamento - questões

JAIN, A. K. 2008. Data Clustering: 50 Years Beyond K-Means, Pattern Recognition Letters, vol. 31, n 8, 2010.

Dados de entrada Agrupamento desejado

Page 13: Mineração em Data Streams - Clustering Profa. Elaine Faria ...elaine/disc/MFCD2018/Aula2.pdf · Agrupamento - definições ... Data Clustering: 50 Years Beyond K-Means, Pattern

Agrupamento

• Semelhança entre objetos

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

Page 14: Mineração em Data Streams - Clustering Profa. Elaine Faria ...elaine/disc/MFCD2018/Aula2.pdf · Agrupamento - definições ... Data Clustering: 50 Years Beyond K-Means, Pattern

Agrupamento

Após realizar o agrupamento o problema acabou?

Não, agora é preciso interpretar os resultados obtidos!!!!Analisar e avaliar o agrupamento!

Page 15: Mineração em Data Streams - Clustering Profa. Elaine Faria ...elaine/disc/MFCD2018/Aula2.pdf · Agrupamento - definições ... Data Clustering: 50 Years Beyond K-Means, Pattern

Importância do agrupamento

• Será que agrupamento é mesmo importante?– Mais de 50 anos de estudo sobre técnicas de

agrupamento– Milhares de aplicações– Dezenas de ferramentas na internet para

fazer agrupamento automático– Milhares de artigos publicados na área

Page 16: Mineração em Data Streams - Clustering Profa. Elaine Faria ...elaine/disc/MFCD2018/Aula2.pdf · Agrupamento - definições ... Data Clustering: 50 Years Beyond K-Means, Pattern

Exemplos de aplicações de agrupamento de dados

• Marketing– Ex: Agrupamento de clientes para direcionar

campanhas de marketing• Documentos

– Ex: agrupar documentos que tratam do mesmo assunto

• Imagens– Ex: Segmentar imagens usando técnicas de

agrupamento• Biologia

– Ex: agrupar animais de acordo com o reino, ramo, classe, ordem, gênero, ....

Page 17: Mineração em Data Streams - Clustering Profa. Elaine Faria ...elaine/disc/MFCD2018/Aula2.pdf · Agrupamento - definições ... Data Clustering: 50 Years Beyond K-Means, Pattern

Processo de Agrupamento

Jain, A. K., Murty, M. N., Flynn, P. J., Data clustering: a review, ACM Computing Surveys, vol. 31, n 3, 1999.

Mas e ai, por onde eu começo?

Page 18: Mineração em Data Streams - Clustering Profa. Elaine Faria ...elaine/disc/MFCD2018/Aula2.pdf · Agrupamento - definições ... Data Clustering: 50 Years Beyond K-Means, Pattern

Tipos de Agrupamento

• Seja X = {x1, x2,..., xn} o conjunto de todos os dados– Tarefa: colocar cada Xi em um dos m clusters

C1, C2, ..., Cm

– Clusters podem ser de dois tipos:– Tipo 1: duro (crisp)– Tipo 2: fuzzy

Page 19: Mineração em Data Streams - Clustering Profa. Elaine Faria ...elaine/disc/MFCD2018/Aula2.pdf · Agrupamento - definições ... Data Clustering: 50 Years Beyond K-Means, Pattern

Tipos de Agrupamento

• Cluster Crisp– Cada exemplo Xi pertence ou não a cada

cluster Cj

– Exemplo em Ci é mais semelhante a outros em Ci que àqueles em Cj, i ≠ j

Page 20: Mineração em Data Streams - Clustering Profa. Elaine Faria ...elaine/disc/MFCD2018/Aula2.pdf · Agrupamento - definições ... Data Clustering: 50 Years Beyond K-Means, Pattern

Tipos de Agrupamento

• Cluster Fuzzy– Usa uma função de pertinência para definir o

quanto um elemento pertence a um grupo

Page 21: Mineração em Data Streams - Clustering Profa. Elaine Faria ...elaine/disc/MFCD2018/Aula2.pdf · Agrupamento - definições ... Data Clustering: 50 Years Beyond K-Means, Pattern

Matriz de Partição

• Matriz com K linhas (nro de grupos) e N colunas (nro de objetos) no qual cada elemento Xij indica o grau de pertinência do j-ésimo elemento ao i-ésimo grupo

• Matriz rígida (sem sobreposição) – Se a matriz for binária– Se restrição for satisfeita

iijX 1

Page 22: Mineração em Data Streams - Clustering Profa. Elaine Faria ...elaine/disc/MFCD2018/Aula2.pdf · Agrupamento - definições ... Data Clustering: 50 Years Beyond K-Means, Pattern

Diferentes Tipos de Agrupamento

• Agrupamento Particional– Divisão do conjunto de dados em grupos (não

sobrepostos) tal que cada objeto está em exatamente um grupo

X• Agrupamento Hierárquico

– Conjunto de grupos aninhados que estão organizados como uma árvore

– Cada nó (grupo) na árvore (exceto as folhas) é a união de dos seus filhos (subgrupos)

– A raiz contém todos os objetos da base

Page 23: Mineração em Data Streams - Clustering Profa. Elaine Faria ...elaine/disc/MFCD2018/Aula2.pdf · Agrupamento - definições ... Data Clustering: 50 Years Beyond K-Means, Pattern

Diferentes Tipos de Agrupamento

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

Page 24: Mineração em Data Streams - Clustering Profa. Elaine Faria ...elaine/disc/MFCD2018/Aula2.pdf · Agrupamento - definições ... Data Clustering: 50 Years Beyond K-Means, Pattern

Diferentes Tipos de Agrupamento

• Exclusivo– Associa cada objeto a um único cluster

X• Sobreposição (não exclusivo)

– Um objeto pode pertencer simultaneamente a mais que um grupo

X• Fuzzy

– Cada objeto pertence a cada grupo com um grau de pertinência entre 0 e 1

Page 25: Mineração em Data Streams - Clustering Profa. Elaine Faria ...elaine/disc/MFCD2018/Aula2.pdf · Agrupamento - definições ... Data Clustering: 50 Years Beyond K-Means, Pattern

Diferentes Tipos de Agrupamento

• Completo– Associa cada objeto a um cluster

X• Parcial

– Não associa cada objeto a um cluster– Motivação: alguns objetos no conjunto de

dados podem não pertencer a grupos bem definidos

• Ex: ruídos ou outliers

Page 26: Mineração em Data Streams - Clustering Profa. Elaine Faria ...elaine/disc/MFCD2018/Aula2.pdf · Agrupamento - definições ... Data Clustering: 50 Years Beyond K-Means, Pattern

Diferentes Tipos de Grupos

• Baseado em Grafos– Dados são representados como grafos – Os nós são os objetos e as arestas são as

conexões entre os objetos – Cluster: é um componente conectado

• Baseado em Densidade– Região densa de objetos que é circundada

por uma região de baixa densidade

Page 27: Mineração em Data Streams - Clustering Profa. Elaine Faria ...elaine/disc/MFCD2018/Aula2.pdf · Agrupamento - definições ... Data Clustering: 50 Years Beyond K-Means, Pattern

Algoritmos Particionais

• Características– São baseados na minimização de uma função de

custo– Objetos agrupados em um número K de grupos– Cada objeto é agrupado no grupo que minimiza a

função de custo– Uma única partição é obtida

• Vantagem– Um objeto pode mudar de grupo ao longo do

agrupamento

Page 28: Mineração em Data Streams - Clustering Profa. Elaine Faria ...elaine/disc/MFCD2018/Aula2.pdf · Agrupamento - definições ... Data Clustering: 50 Years Beyond K-Means, Pattern

k-Means• Algoritmo Básico

– Escolher K centróides • K é um parâmetro especificado pelo usuário• K representa o nro de grupos

– Cada objeto é associado ao seu centróide mais próximo

• Cada coleção de objetos associados a um centróide forma um grupo

– Recalcule os centros dos grupos– Repetir os dois passos anteriores até que não haja

mudança nos grupos ou equivalentemente, até que os centróides permaneçam o mesmo

Page 29: Mineração em Data Streams - Clustering Profa. Elaine Faria ...elaine/disc/MFCD2018/Aula2.pdf · Agrupamento - definições ... Data Clustering: 50 Years Beyond K-Means, Pattern

k-MeansSelecione K objetos como centróidesRepita

Forme K grupos associando cada objeto ao seu centróide mais próximoRecalcule os centróides de cada grupo

Até que Convergência seja obtida

Page 30: Mineração em Data Streams - Clustering Profa. Elaine Faria ...elaine/disc/MFCD2018/Aula2.pdf · Agrupamento - definições ... Data Clustering: 50 Years Beyond K-Means, Pattern

k-Means

• Centróides iniciais– Ex de Técnica: Escolher aleatoriamente

objetos do conjunto de dados

• Associar um objeto ao seu grupo mais próximo– Usar uma medida de proximidade que

quantifica a noção de mais próximo– Ex: usar distância Euclidiana

Page 31: Mineração em Data Streams - Clustering Profa. Elaine Faria ...elaine/disc/MFCD2018/Aula2.pdf · Agrupamento - definições ... Data Clustering: 50 Years Beyond K-Means, Pattern

k-Means

• Critérios de Convergência– Número máximo de iterações é obtido– Limiar mínimo de mudanças nos centróides

Page 32: Mineração em Data Streams - Clustering Profa. Elaine Faria ...elaine/disc/MFCD2018/Aula2.pdf · Agrupamento - definições ... Data Clustering: 50 Years Beyond K-Means, Pattern

k-Means

• Função Objetivo– Objetivo do agrupamento

Minimizar a distância quadrada de cada objeto ao seu centróide mais próximo

d: distância Euclidiana

k

c Cxcj

cj

xxdJ1

2),(

Page 33: Mineração em Data Streams - Clustering Profa. Elaine Faria ...elaine/disc/MFCD2018/Aula2.pdf · Agrupamento - definições ... Data Clustering: 50 Years Beyond K-Means, Pattern

k-Means

• Limitações– Escolha do valor de K– Problemas quando os grupos têm

• Diferentes densidades• Formatos não hiper-esféricos

– Problemas quando os dados possuem outliers

Page 34: Mineração em Data Streams - Clustering Profa. Elaine Faria ...elaine/disc/MFCD2018/Aula2.pdf · Agrupamento - definições ... Data Clustering: 50 Years Beyond K-Means, Pattern

k-Means – Grupos com diferentes tamanhos

Figura retirada dos slides do prof. André C. P. L. F. Carvalho – disciplina Aprendizado de Máquina – ICMC-USP

Page 35: Mineração em Data Streams - Clustering Profa. Elaine Faria ...elaine/disc/MFCD2018/Aula2.pdf · Agrupamento - definições ... Data Clustering: 50 Years Beyond K-Means, Pattern

k-Means – Grupos com diferentes densidades

Figura retirada dos slides do prof. André C. P. L. F. Carvalho – disciplina Aprendizado de Máquina – ICMC-USP

Page 36: Mineração em Data Streams - Clustering Profa. Elaine Faria ...elaine/disc/MFCD2018/Aula2.pdf · Agrupamento - definições ... Data Clustering: 50 Years Beyond K-Means, Pattern

k-Means – Grupos não globulares

Figura retirada dos slides do prof. André C. P. L. F. Carvalho – disciplina Aprendizado de Máquina – ICMC-USP

Page 37: Mineração em Data Streams - Clustering Profa. Elaine Faria ...elaine/disc/MFCD2018/Aula2.pdf · Agrupamento - definições ... Data Clustering: 50 Years Beyond K-Means, Pattern

Agrupamento em Data Streams

• Problema a ser tratado– Manter continuamente um agrupamento

consistente e bom das sequências observadas até o momento, usando uma pequena quantidade de memória e tempo

– Tratar a evolução dos dados ao longo do tempo

– Tratar mudança no número de grupos ao longo do tempo

Page 38: Mineração em Data Streams - Clustering Profa. Elaine Faria ...elaine/disc/MFCD2018/Aula2.pdf · Agrupamento - definições ... Data Clustering: 50 Years Beyond K-Means, Pattern

Agrupamento em Data Streams

• Algoritmos– BIRCH (Zhang et 1996) desenvolvido para

grandes bases de dados– CluStream (Aggarwall et al., 2003)– DenStream (Cao et al., 2006)– StreamKM++ (Ackerman et al., 2010)– Clustree (Kranen et al., 2011)

Page 39: Mineração em Data Streams - Clustering Profa. Elaine Faria ...elaine/disc/MFCD2018/Aula2.pdf · Agrupamento - definições ... Data Clustering: 50 Years Beyond K-Means, Pattern

Agrupamento em Data Streams

• Visão geral dos algoritmos

Retirado de: SILVA, J. A.; FARIA, E. R.; BARROS, R. C.; HRUSCHKA, E. R.; CARVALHO, A. C.P. L. F. d.; GAMA, J. a. Data stream clustering: A survey. ACM Comput. Surv., ACM,New York, NY, USA, v. 46, n. 1, p. 13:1–13:31, jul. 2013

Page 40: Mineração em Data Streams - Clustering Profa. Elaine Faria ...elaine/disc/MFCD2018/Aula2.pdf · Agrupamento - definições ... Data Clustering: 50 Years Beyond K-Means, Pattern

Agrupamento em Data Streams

• Conceitos– CF-Vetor (Vetor de Características)

• N: número de objetos• LS: soma linear dos N objetos• SS: soma dos quadrados dos N objetos

• AditividadeCF1+CF2 = (N1 + N2, LS1+LS2, SS1+SS2)

• IncrementalidadeLS LS + x SS SS + x2 N N + 1

Page 41: Mineração em Data Streams - Clustering Profa. Elaine Faria ...elaine/disc/MFCD2018/Aula2.pdf · Agrupamento - definições ... Data Clustering: 50 Years Beyond K-Means, Pattern

Agrupamento em Data Streams

• Usando o CF-Vetor importantes medidas podem ser calculadas

Page 42: Mineração em Data Streams - Clustering Profa. Elaine Faria ...elaine/disc/MFCD2018/Aula2.pdf · Agrupamento - definições ... Data Clustering: 50 Years Beyond K-Means, Pattern

Agrupamento Particional em Data Streams

• CluStream (Aggarwall et al., 2003)– Framework para trabalhar com data streams

– Fase online (micro-agrupamento)• Mantém um sumário estatístico periodicamente

– q micro-grupos são mantidos (extensão do CF-Vetor)

– Fase offline (macro-agrupamento)• Agrupamento dos micro-grupos

– Modificação do K-Means

Obs.: q micro-grupos iniciais obtidos pela execução do K-Means

Page 43: Mineração em Data Streams - Clustering Profa. Elaine Faria ...elaine/disc/MFCD2018/Aula2.pdf · Agrupamento - definições ... Data Clustering: 50 Years Beyond K-Means, Pattern

Agrupamento Particional em Data Streams

q micro-grupos

Extensão Temporal do CF-Vector

N: número de objetos

LS: soma linear dos N objetos

SS: soma do quadrado dos N objetos

CF1: soma dos timestamps

CF2: soma dos quadrados dos timestamps

CluStream (Aggarwall et al, 2003)

Page 44: Mineração em Data Streams - Clustering Profa. Elaine Faria ...elaine/disc/MFCD2018/Aula2.pdf · Agrupamento - definições ... Data Clustering: 50 Years Beyond K-Means, Pattern

Agrupamento Particional em Data Streams

• CluStream (Aggarwall et al., 2003)– q micro-grupos são armazenados na memória

representando o snapshot atual• M1,... , Mq, sendo que cada M tem um id• Se Ma e Mb são unidos

– Lista de id’s é criada

– Se o marcador de tempo é divisível por (α^l)• Micro-grupos são armazenados no disco• Micro-grupos antigos são removidos se eles

excedem um certo limiar

Page 45: Mineração em Data Streams - Clustering Profa. Elaine Faria ...elaine/disc/MFCD2018/Aula2.pdf · Agrupamento - definições ... Data Clustering: 50 Years Beyond K-Means, Pattern

CluStream – Algoritmo

Fase Offline:Executar o K-Means nos InitN primeiros exemplos da base de dados, gerando q micro-grupos iniciais

Fase Online: Para cada novo exemplo x

Encontre o micro-grupo c mais próximo a xSe dist(c,x) < δ

Atualize c com xCaso Contrário

Crie um novo micro-grupo para cSe algum micro-grupo é um outlier

Remova o micro-clusterCaso contrário

Una os dois micro-grupos mais próximos

Page 46: Mineração em Data Streams - Clustering Profa. Elaine Faria ...elaine/disc/MFCD2018/Aula2.pdf · Agrupamento - definições ... Data Clustering: 50 Years Beyond K-Means, Pattern

Agrupamento Particional em Data Streams

• CluStream – Complexidade– Inserir um novo elemento: O(q x d)– Inserir todos os elementos: O(N x q x d)

• q: nro de micro-grupos• d: dimensão dos dados• N: nro de elementos do data streams (supondo

que ele é finito)– Unir os dois micro-grupos mais próximos:

O(q2 x d)

Page 47: Mineração em Data Streams - Clustering Profa. Elaine Faria ...elaine/disc/MFCD2018/Aula2.pdf · Agrupamento - definições ... Data Clustering: 50 Years Beyond K-Means, Pattern

Agrupamento Hierárquico• É um procedimento para transformar uma matriz

de proximidade em uma sequência de partições aninhadas

• Produz uma sequência (hierarquia) de agrupamentos

• Usado em áreas que utilizam estrutura de agrupamento hierárquica– Ex: biologia e arqueologia

Page 48: Mineração em Data Streams - Clustering Profa. Elaine Faria ...elaine/disc/MFCD2018/Aula2.pdf · Agrupamento - definições ... Data Clustering: 50 Years Beyond K-Means, Pattern

Agrupamento Hierárquico• Seja B= {G1, G2, ..., Gm} uma partição dos dados

X = {x1, x2, ..., xn}

• Uma partição B está aninhada em C (B ⊂ C)– Se cada componente de B é um subconjunto de um

componente de C• C é formado unindo componentes de B

Exemplo: B está aninhando em CC={(x1,x3,x5,x7),(x2,x4,x6,x8),(x9,x10)}B={(x1,x3),(x5,x7),(x2),(x4,x6,x8),(x9,x10)}

Page 49: Mineração em Data Streams - Clustering Profa. Elaine Faria ...elaine/disc/MFCD2018/Aula2.pdf · Agrupamento - definições ... Data Clustering: 50 Years Beyond K-Means, Pattern

Agrupamento Hierárquico

• É sempre exibido graficamente usando um diagrama chamado dendograma– Mostra os grupos-subgrupos e a ordem na

qual os grupos foram unidos (visão aglomerativa) ou divididos (visão divisiva)

• Para dados com 2 dimensões, o agrupamento hierárquico pode ser visto usando o diagrama de grupos aninhados

Page 50: Mineração em Data Streams - Clustering Profa. Elaine Faria ...elaine/disc/MFCD2018/Aula2.pdf · Agrupamento - definições ... Data Clustering: 50 Years Beyond K-Means, Pattern

Agrupamento Hierárquico

Representação de agrupamento hierárquico

Imagem reitrada de Tan P., SteinBack M. e Kumar V. Introduction to Data Mining, Pearson, 2006

Dendograma Conjunto de diagrama aninhado

Page 51: Mineração em Data Streams - Clustering Profa. Elaine Faria ...elaine/disc/MFCD2018/Aula2.pdf · Agrupamento - definições ... Data Clustering: 50 Years Beyond K-Means, Pattern

Agrupamento Hierárquico

Exemplo de Dendograma

Exemplo retirado de Jain, A. K.; Dubes, R. C. Algorithms for Clustering Data, Prentice Hall, 1988.

Page 52: Mineração em Data Streams - Clustering Profa. Elaine Faria ...elaine/disc/MFCD2018/Aula2.pdf · Agrupamento - definições ... Data Clustering: 50 Years Beyond K-Means, Pattern

Agrupamento Hierárquico• Aglomerativo

– Inicia com os elementos como grupos individuais– A cada passo, o par de elementos mais próximos é

unido– Exige a definição de uma noção de proximidade

• Divisivo– Inicia com um grupo, contendo todos os elementos– A cada passo, dividir o grupo até que grupos com um

único elemento sejam obtido– É necessário decidir qual grupo dividir a cada passo e

como fazer essa divisão

Page 53: Mineração em Data Streams - Clustering Profa. Elaine Faria ...elaine/disc/MFCD2018/Aula2.pdf · Agrupamento - definições ... Data Clustering: 50 Years Beyond K-Means, Pattern

Agrupamento Hierárquico

Figura retirada dos slides do prof. André C. P. L. F. Carvalho – disciplina Aprendizado de Máquina – ICMC-USP

Page 54: Mineração em Data Streams - Clustering Profa. Elaine Faria ...elaine/disc/MFCD2018/Aula2.pdf · Agrupamento - definições ... Data Clustering: 50 Years Beyond K-Means, Pattern

Algoritmo Básico para Agrupamento Hierárquico Aglomerativo

Compute a matriz de proximidade, se necessário.

repita unir os dois grupos mais próximos

atualize a matriz de proximidade para refletir a proximidade entre o novo grupo e os grupos originais

Até que somente um grupo seja obtido

Page 55: Mineração em Data Streams - Clustering Profa. Elaine Faria ...elaine/disc/MFCD2018/Aula2.pdf · Agrupamento - definições ... Data Clustering: 50 Years Beyond K-Means, Pattern

Definindo Proximidade entre Grupos

• Min• Max• Média do grupo• Centróide• Técnica alternativa

– Método Ward’s

Page 56: Mineração em Data Streams - Clustering Profa. Elaine Faria ...elaine/disc/MFCD2018/Aula2.pdf · Agrupamento - definições ... Data Clustering: 50 Years Beyond K-Means, Pattern

Método Divisivos

• Ideia Geral– Iniciar com um grupo contendo todos os

elementos– Dividir o grupo em 2– Recursivamente sub-dividir cada grupo em 2

até que grupos com um elemento sejam encontrados

Page 57: Mineração em Data Streams - Clustering Profa. Elaine Faria ...elaine/disc/MFCD2018/Aula2.pdf · Agrupamento - definições ... Data Clustering: 50 Years Beyond K-Means, Pattern

Método Divisivos

• Pouco explorados na literatura. Por que?Alta Complexidade Computacional

Métodos Algomerativos:Todas as possíveis junções em

Métodos Divisivos:Todas as possíveis divisões em dois conjuntos não-vazios em :

2)1(2

nnCn

12 1 n

Page 58: Mineração em Data Streams - Clustering Profa. Elaine Faria ...elaine/disc/MFCD2018/Aula2.pdf · Agrupamento - definições ... Data Clustering: 50 Years Beyond K-Means, Pattern

Agrupamento Hierárquico em Data Streams

• BIRCH (Zhang et 1996)– Constrói uma estrutura hierárquica CF-Árvore

• Árvore B+• Os nós não-folhas contêm no máximo B entradas,

cada entrada CF-Vetor e um ponteiro-filho• Os nós folhas contêm no máximo L entradas, cada

entrada CF-Vetor– Fase 1 (Online): Construção da CF-Árvore– Fase 2 (Offline): Agrupamento das folhas

Page 59: Mineração em Data Streams - Clustering Profa. Elaine Faria ...elaine/disc/MFCD2018/Aula2.pdf · Agrupamento - definições ... Data Clustering: 50 Years Beyond K-Means, Pattern

Agrupamento Hierárquico em Data Streams

CF-Vetor

Nó não-folha

Soma do CF-Vetor dos Filhos

Nó RaizBirch (Zhang et al, 1996)

Page 60: Mineração em Data Streams - Clustering Profa. Elaine Faria ...elaine/disc/MFCD2018/Aula2.pdf · Agrupamento - definições ... Data Clustering: 50 Years Beyond K-Means, Pattern

BIRCH

Imagem retirada de: http://engr.case.edu/zhang_xiang/teaching/eecs435/presentation/He.Jiang.pdf

Page 61: Mineração em Data Streams - Clustering Profa. Elaine Faria ...elaine/disc/MFCD2018/Aula2.pdf · Agrupamento - definições ... Data Clustering: 50 Years Beyond K-Means, Pattern

Birch- AlgorithmInserção na CF-TreeEntrada: T: limiar que indica o raio máximo de uma folha, B = nro

máximo de entradas em um nó folha, L = nro máximo de entradas em um nó não-folha

Descer da raiz até as folhas seguindo o caminho do CF mais próximo

Ao chegar na folhaSe a entrada mais próxima no nó-folha pode absorver o exemplo (usando T)

Atualize o seu CFCaso contrário

Crie um novo CFSe há espaço na folha para inserir o CF (max = B)

Insira-oCaso Contrário

Divida o nó paiAtualize o CF de todo o caminho percorrido por x

Page 62: Mineração em Data Streams - Clustering Profa. Elaine Faria ...elaine/disc/MFCD2018/Aula2.pdf · Agrupamento - definições ... Data Clustering: 50 Years Beyond K-Means, Pattern

Birch – AlgoritmoRefazendo a CF-Tree

Se não há mais espaço na memóriaAumente o limiar TRefaça a árvore com os dados já inseridos usando TContinue a inserção de novos dados

Page 63: Mineração em Data Streams - Clustering Profa. Elaine Faria ...elaine/disc/MFCD2018/Aula2.pdf · Agrupamento - definições ... Data Clustering: 50 Years Beyond K-Means, Pattern

1 2 3 4 75

BIRCHExemplo de Inserção Split (B=3 e L=3):

63

1 2 3

R

PCF2 PCF3CF1

CF2

CF3 CF4 CF5

CF6CF7

PCF1

CF

6

Imagem retirada dos slides do aluno Jonathan Andrade - apresentação na disciplina Agrupamento de Dados do ICMC - USP - 2010.

Page 64: Mineração em Data Streams - Clustering Profa. Elaine Faria ...elaine/disc/MFCD2018/Aula2.pdf · Agrupamento - definições ... Data Clustering: 50 Years Beyond K-Means, Pattern

1 2 5 6 7

BIRCHExemplo de Inserção Split (B=3 e L=3):

64

PCF4

PCF2 PCF3

CF1

CF2CF3

CF4 CF5CF6 CF7

CF

PCF1

R

1 4 2 3

43Imagem retirada dos slides do aluno Jonathan Andrade - apresentação na disciplina Agrupamento de Dados do ICMC - USP - 2010.

Page 65: Mineração em Data Streams - Clustering Profa. Elaine Faria ...elaine/disc/MFCD2018/Aula2.pdf · Agrupamento - definições ... Data Clustering: 50 Years Beyond K-Means, Pattern

BIRCHExemplo de Inserção Split (B=3 e L=3):

65

PCF4

PCF2 PCF3

CF1

CF2CF3

CF4 CF5CF6 CF7CF

PCF1

ACF1ACF2

2 3

R

1 2

1 4

1 2 3 4 5 6 7Imagem retirada dos slides do aluno Jonathan Andrade - apresentação na disciplina Agrupamento de Dados do ICMC - USP - 2010.

Page 66: Mineração em Data Streams - Clustering Profa. Elaine Faria ...elaine/disc/MFCD2018/Aula2.pdf · Agrupamento - definições ... Data Clustering: 50 Years Beyond K-Means, Pattern

Algoritmos Baseados em Densidade

• Baseiam-se na ideia de densidade– Clusters são regiões de alta densidade separadas por

regiões de baixa densidade• Características

– Descoberta de grupos de formato arbitrário– Tratamento de ruído– Não é necessário informar o número de grupos

• Mas outros parâmetros relativos à densidade são necessários

• Exemplos de algoritmos– DBSCAN, OPTICS, DENCLUE e CLIQUE

Page 67: Mineração em Data Streams - Clustering Profa. Elaine Faria ...elaine/disc/MFCD2018/Aula2.pdf · Agrupamento - definições ... Data Clustering: 50 Years Beyond K-Means, Pattern

DBSCAN

• É um método de agrupamento baseado em densidade– Parâmetros: Eps – raio máximo de uma vizinhança e

MinPts – nro mínimo de pontos em uma vizinhança Eps daquele ponto

• É um método baseado em centro– A densidade é estimada para um ponto particular no conjunto de dados, contando o nro de pontos dentro de um raio, Eps, daquele ponto (que inclui ele mesmo)

Imagem reitrada de Tan P., SteinBack M. e Kumar V. Introduction to Data Mining, Pearson, 2006

Page 68: Mineração em Data Streams - Clustering Profa. Elaine Faria ...elaine/disc/MFCD2018/Aula2.pdf · Agrupamento - definições ... Data Clustering: 50 Years Beyond K-Means, Pattern

DBSCAN

• Classificação dos pontos de acordo com a densidade baseada em centro– Core points

• Estão no interior de um cluster baseado em densidade• Um ponto é um core point se o nro de pontos dentro de uma

dada vizinhança ao redor do ponto (determinada por Eps e uma função de distância) excede um limiar MinPts

– Border points• Um exemplo que não é core point, mas que está dentro da

vizinhança de um core point

– Noise points• Um ponto que não é core point nem border point

Page 69: Mineração em Data Streams - Clustering Profa. Elaine Faria ...elaine/disc/MFCD2018/Aula2.pdf · Agrupamento - definições ... Data Clustering: 50 Years Beyond K-Means, Pattern

DBSCAN

Imagem reitrada de Tan P., SteinBack M. e Kumar V. Introduction to Data Mining, Pearson, 2006

Page 70: Mineração em Data Streams - Clustering Profa. Elaine Faria ...elaine/disc/MFCD2018/Aula2.pdf · Agrupamento - definições ... Data Clustering: 50 Years Beyond K-Means, Pattern

DBSCAN

• Ideia Geral– Quaisquer dois core points que estão próximo o

suficiente – dentro de uma distância Eps um do outro – são colocados no mesmo cluster

– Qualquer border point que está próximo o suficiente de um core point é colocado no mesmo cluster que esse core point

• Pode haver empates se um border point está igualmente próximo a dois ou mais core points de diferentes clusters

– Noise points são descartados

Page 71: Mineração em Data Streams - Clustering Profa. Elaine Faria ...elaine/disc/MFCD2018/Aula2.pdf · Agrupamento - definições ... Data Clustering: 50 Years Beyond K-Means, Pattern

DBSCAN - Algoritmo1. Rotule todos os pontos como core, border

ou noise2. Elimine os pontos rotulados como noise3. Coloque uma aresta entre todos os pontos

core que estão a um distância Eps um do outro

4. Faça cada componente conectado de pontos core um cluster separado

5. Associe cada border ao clusters de um dos seus core associados1. Resolva empates se houver objetos core

associados a diferentes clusters

Page 72: Mineração em Data Streams - Clustering Profa. Elaine Faria ...elaine/disc/MFCD2018/Aula2.pdf · Agrupamento - definições ... Data Clustering: 50 Years Beyond K-Means, Pattern

DBSCAN

• Complexidade– Tempo: O (n x tempo para encontrar os

pontos na vizinhança Eps)• n é o nro de pontos• Pior caso O(n2)• Há estruturas como kd-trees que permitem

eficientemente recuperar todos os pontos dentro de uma dada distância de um ponto específico com complexidade O (n log n)

– Espaço: O (n)• Armazenar somente os pontos e um rótulo

Page 73: Mineração em Data Streams - Clustering Profa. Elaine Faria ...elaine/disc/MFCD2018/Aula2.pdf · Agrupamento - definições ... Data Clustering: 50 Years Beyond K-Means, Pattern

DBSCAN

• Vantagens– Resistente a ruídos– Eficiente em grandes bases de dados– Trata clusters de diferentes formatos e tamanhos– Não é necessário especificar o nro de grupos

• Desvantagem– Sensível aos parâmetros MinPts e Eps– Sensível a bases com alta dimensionalidade– Problema quando os clusters possuem diferentes

densidades

Page 74: Mineração em Data Streams - Clustering Profa. Elaine Faria ...elaine/disc/MFCD2018/Aula2.pdf · Agrupamento - definições ... Data Clustering: 50 Years Beyond K-Means, Pattern

DBSCAN – Questões a sem tratadas

• Seleção dos Parâmetros Eps e MinPts– Proposta Básica

• Observar o comportamento da distância de um ponto aos seus k-ésimos vizinhos mais próximos k-dist

– Para pontos no mesmo cluster, k-dist será pequeno se o k não for maior que o tamanho do cluster

– Para pontos que não estão no mesmo grupo (tais como ruídos), k-dist será relativamente grande

• Computar k-dist para todos os pontos para algum k, ordenar em ordem crescente e plotar os valores ordenados

– É esperado encontrar uma mudança no valor de k-dist que corresponde a um valor adequado para Eps

– Usar k-dist para o valor de Eps e K para MinPts

Page 75: Mineração em Data Streams - Clustering Profa. Elaine Faria ...elaine/disc/MFCD2018/Aula2.pdf · Agrupamento - definições ... Data Clustering: 50 Years Beyond K-Means, Pattern

Agrupamento baseado em densidade em Data Streams

• DenStream– Baseado no paradigma de agrupamento por

densidade– Também propõe o uso do CF-Vector

• Associa um peso (w) a cada micro-cluster– Indica a importância do exemplo com base na temporalidade

Page 76: Mineração em Data Streams - Clustering Profa. Elaine Faria ...elaine/disc/MFCD2018/Aula2.pdf · Agrupamento - definições ... Data Clustering: 50 Years Beyond K-Means, Pattern

DenStream

• O algoritmo é dividido em duas fases• Fase online

– Usa duas estruturas p-micro-cluster (ou potencial micro-cluster) e o-micro-cluster (ou outlier micro-cluster).

– p-micro-cluster: – o-micro-cluster:

β e μ são parâmetros de entrada

Page 77: Mineração em Data Streams - Clustering Profa. Elaine Faria ...elaine/disc/MFCD2018/Aula2.pdf · Agrupamento - definições ... Data Clustering: 50 Years Beyond K-Means, Pattern

DenStream

• Os primeiros p-micro-clusters são obtidos aplicando o DBSCAN em um conjunto inicial de dados do fluxo

Page 78: Mineração em Data Streams - Clustering Profa. Elaine Faria ...elaine/disc/MFCD2018/Aula2.pdf · Agrupamento - definições ... Data Clustering: 50 Years Beyond K-Means, Pattern

DenStream

Retirado do TCC de Jean de Sousa Ferreira - Comparação entre métodos de agrupamentos para fluxos contínuos de dados - UFU - 2016

Page 79: Mineração em Data Streams - Clustering Profa. Elaine Faria ...elaine/disc/MFCD2018/Aula2.pdf · Agrupamento - definições ... Data Clustering: 50 Years Beyond K-Means, Pattern

Desafios Futuros• Criar algoritmos em que não seja preciso configurar

parâmetros críticos– Número de grupos– Densidade dos grupos– Tamanho da janela– Fator de decaímento dos elementos

• Tratar o problema dos outliers– Diferenciar o surgimento de novos grupos de ruídos ou outliers

nos dados

• Lidar com a distribuição não-estacionária dos dados

• Lidar com diferentes tipos de dadosRetirado de: SILVA, J. A.; FARIA, E. R.; BARROS, R. C.; HRUSCHKA, E. R.; CARVALHO, A. C.P. L. F. d.; GAMA, J. a. Data stream clustering: A survey. ACM Comput. Surv., ACM,New York, NY, USA, v. 46, n. 1, p. 13:1–13:31, jul. 2013

Page 80: Mineração em Data Streams - Clustering Profa. Elaine Faria ...elaine/disc/MFCD2018/Aula2.pdf · Agrupamento - definições ... Data Clustering: 50 Years Beyond K-Means, Pattern

Desafios Futuros

• Possíveis aplicações– Dados produzidos por dispositivos móveis– Dados de redes sociais– Dados de sistemas distribuídos em tempo

real

Page 81: Mineração em Data Streams - Clustering Profa. Elaine Faria ...elaine/disc/MFCD2018/Aula2.pdf · Agrupamento - definições ... Data Clustering: 50 Years Beyond K-Means, Pattern

Referências• Jain, A. K., Murty, M. N., Flynn, P. J., Data clustering: a

review, ACM Computing Surveys, vol. 31, n 3, 1999.• Jain, A. K. 2008. Data Clustering: 50 Years Beyond K-

Means, Pattern Recognition Letters, vol. 31, n 8, 2010.• Jain, A. K.; Dubes, R. C. Algorithms for Clustering Data,

Prentice Hall, 1988.• Tan P., SteinBack M. e Kumar V. Introduction to Data

Mining, Pearson, 2006.• Keogh, E. A g. Introduction to Machine Learning and

Data Mining for the Database Community, SBBD 2003, Manaus.

Page 82: Mineração em Data Streams - Clustering Profa. Elaine Faria ...elaine/disc/MFCD2018/Aula2.pdf · Agrupamento - definições ... Data Clustering: 50 Years Beyond K-Means, Pattern

Referências

• Aggarwal, C. C., Han J., Wang, J. & Yu, P. S. A Framework for Clustering Evolving Data Stream. In Proc. of the 29th VLDB Conference (2003).

• Zhang, T.; R., R.; Livny, M. , BIRCH: An efficient data clustering method for very large databases, SIGMOD '96, ACM Press (2006).

• Gama, J. Knowledge Discovery from Data Streams, Chapman & Hall, 2010.