SlideShare una empresa de Scribd logo
1 de 45
Descargar para leer sin conexión
Clustering
André Luís Pitombeira
Universidade Federal do Ceará
andrepitombeira@gmail.com
10 de maio de 2013
André Luís Pitombeira (UFC) Clustering 10 de maio de 2013 1 / 45
Overview
1 Introdução
Clustering
2 Clustering hierárquico
3 Algoritmos K-means
Algoritmo de Bradley, Fayyad e Reina
Algoritmo CURE
Algoritmo GRGPF
4 Stream e Paralelismo
Stream
Algoritmo DBMO
Paralelismo
André Luís Pitombeira (UFC) Clustering 10 de maio de 2013 2 / 45
Introdução
Figura: Era da informação
André Luís Pitombeira (UFC) Clustering 10 de maio de 2013 3 / 45
Introdução
Clustering é o processo utilizado para examinar uma coleção de pontos e
agrupá-los em clusters de acordo com alguma medida de distância. Os
pontos que estão no mesmo cluster tem uma pequena distância uns dos
outros, enquanto pontos em diferentes cluster têm uma distância maior.
André Luís Pitombeira (UFC) Clustering 10 de maio de 2013 4 / 45
Clustering
Operação sobre pontos que formam um espaço
Agrupe os elementos mais próximos
Distância é fundamental
André Luís Pitombeira (UFC) Clustering 10 de maio de 2013 5 / 45
Clustering
Figura: Exemplo de Cluster
André Luís Pitombeira (UFC) Clustering 10 de maio de 2013 6 / 45
Clustering
Figura: Exemplo de Cluster
André Luís Pitombeira (UFC) Clustering 10 de maio de 2013 7 / 45
Clustering
Espaço euclidiano
Os pontos são vetores de números reais
Distância natural
Muitas distâncias possíveis
Espaço não euclidiano
Distâncias Ad-hoc
Ex. Strings
André Luís Pitombeira (UFC) Clustering 10 de maio de 2013 8 / 45
Clustering
A maldição da dimensionalidade
Espaços N-dimensionais têm propriedades que não são intuitivas.
Quase todos os pares tem a mesma distância
Todos os ângulos entre vetores são próximos a 90 graus
André Luís Pitombeira (UFC) Clustering 10 de maio de 2013 9 / 45
Clustering
A maldição da dimensionalidade
(a) 2 dimensões (b) 3 dimensões
Figura: Representação de um ponto
André Luís Pitombeira (UFC) Clustering 10 de maio de 2013 10 / 45
Clustering
O que pode ser "clustered"?
Imagens
Items de um supermercado
Documentos
Aplicações
Data mining
Text mining
Information retrieval
André Luís Pitombeira (UFC) Clustering 10 de maio de 2013 11 / 45
Clustering
Clustering hierárquico
Considera cada ponto como sendo um cluster e estes pontos passam a ser
combinados entre si de acordo com alguma medida de proximidade.
Atribuição de pontos
Considera os pontos em alguma ordem e cada ponto é atribuído ao cluster
que melhor se adequa.
André Luís Pitombeira (UFC) Clustering 10 de maio de 2013 12 / 45
Clustering hierárquico
Aglomerativa
Abordagem "bottom up": cada observação começa em seu próprio cluster
e pares de grupos são mesclados a medida que se sobe na hierarquia.
Divisória
Abordagem "top down": todas as observações começam em um cluster e
são realizadas divisões de forma recursiva a medida que se desce na
hierarquia.
André Luís Pitombeira (UFC) Clustering 10 de maio de 2013 13 / 45
Clustering hierárquico
Decida com antecedência:
Como os clusters serão representados?
Como escolheremos dois clusters para o merge?
Quando pararemos de combinar clusters?
André Luís Pitombeira (UFC) Clustering 10 de maio de 2013 14 / 45
Clustering hierárquico
Figura: Cluster hierárquico
André Luís Pitombeira (UFC) Clustering 10 de maio de 2013 15 / 45
Clustering hierárquico
Figura: Cluster hierárquico
André Luís Pitombeira (UFC) Clustering 10 de maio de 2013 16 / 45
Qual a abordagem mais eficiente?
André Luís Pitombeira (UFC) Clustering 10 de maio de 2013 17 / 45
Clustering hierárquico
Figura: Fluxo do clustering hierárquico
André Luís Pitombeira (UFC) Clustering 10 de maio de 2013 18 / 45
Clustering hierárquico
while is not time to stop do
pick the best two clusters to merge;
combine those two clusters into one cluster;
end
Algorithm 1: Clustering hierárquico
André Luís Pitombeira (UFC) Clustering 10 de maio de 2013 19 / 45
Clustering hierárquico
Para calcular a distância entre nós do cluster utiliza-se centróides,
mas existem alternativas
Ex. distância mínima entre quaisquer dois pontos, sendo um de cada
cluster
André Luís Pitombeira (UFC) Clustering 10 de maio de 2013 20 / 45
Clustering hierárquico
Espaços não euclidiano
Não é possivel utilizar o centroid, pois não há o conceito de "ponto
médio"
Solução: clustroids
André Luís Pitombeira (UFC) Clustering 10 de maio de 2013 21 / 45
Clustering hierárquico
String ecdab abecb aecdb
abcd 5 3 3
aecdb 2 2
abecb 4
Point Sum Max Sum-sq
abcd 11 5 43
aecdb 7 3 17
abecb 9 4 29
ecdab 11 5 45
André Luís Pitombeira (UFC) Clustering 10 de maio de 2013 22 / 45
Clustering hierárquico
Desvantagens
Pontos atribuidos a um cluster não são considerados novamente
Complexidade do algoritmo O(n3)
André Luís Pitombeira (UFC) Clustering 10 de maio de 2013 23 / 45
Algoritmos K-means
A família de algoritmos k-means é do tipo atribuição de pontos. O
algortimo assume um espaço euclidiano e um número k de clusters
conhecidos antecipadamente.
André Luís Pitombeira (UFC) Clustering 10 de maio de 2013 24 / 45
Algoritmos K-means
Figura: Algoritmo k-means
André Luís Pitombeira (UFC) Clustering 10 de maio de 2013 25 / 45
Algoritmos K-means
Figura: k-means clustering
André Luís Pitombeira (UFC) Clustering 10 de maio de 2013 26 / 45
Algoritmos K-means
Figura: k-means clustered
André Luís Pitombeira (UFC) Clustering 10 de maio de 2013 27 / 45
Algoritmo de Bradley, Fayyad e Reina
O algoritmo de Bradley, Fayyad e Reina (BFR) é uma variação do k-means
projetado para espaços euclidianos de alta dimensionalidade. O BRF
assume que o possui alguma restrições sobre o formato do cluster que deve
ser distribuido sobre um centroid.
André Luís Pitombeira (UFC) Clustering 10 de maio de 2013 28 / 45
Algoritmo de Bradley, Fayyad e Reina
Inicialmente seleciona k pontos
Processa pedaços de dados na memória principal
Três conjuntos na memória principal
Descartados: Conjunto dos clusters
Comprimidos: Conjunto dos pontos
Retidos: Conjunto dos pontos isolados
André Luís Pitombeira (UFC) Clustering 10 de maio de 2013 29 / 45
Algoritmo de Bradley, Fayyad e Reina
Processamento dos chunks dados
Pontos próximos ao centroid são adicionados ao cluster
Os outros pontos são aglomerados com o conjunto dos retidos.
Merge os "miniclusters"com o conjunto dos comprimidos
Faça alguma coisa com os pontos restantes e "miniclusters"
André Luís Pitombeira (UFC) Clustering 10 de maio de 2013 30 / 45
Algoritmo CURE
O algoritmo CURE (Clustering Using REpresentatives) assume um espaço
euclidiano. Não assume nada a respeito do formato do cluster. Utiliza
uma coleção de pontos representativos para representar o cluster, ao invés
de utilizar o centroid.
André Luís Pitombeira (UFC) Clustering 10 de maio de 2013 31 / 45
Algoritmo CURE
Figura: Algoritmo CURE
André Luís Pitombeira (UFC) Clustering 10 de maio de 2013 32 / 45
Algoritmo CURE
Figura: Exemplo do CURE
André Luís Pitombeira (UFC) Clustering 10 de maio de 2013 33 / 45
Algoritmo CURE
Após a inicialização deve ser feito o merge dos clusters com a mínima
distância entre os pontos
Atribuir os pontos aos clusters baseado nos pontos representativos
André Luís Pitombeira (UFC) Clustering 10 de maio de 2013 34 / 45
Algoritmo GRGPF
O algortimo GRGPF lida com dados que não estão na memória principal e
não assume um espaço euclidiano. A abordagem usada pelo algoritmo
utiliza ideias de ambas as abordagens hierárquica e atribuição de pontos.
Os clusters são representados por uma amostra dos pontos na memória
principal.
André Luís Pitombeira (UFC) Clustering 10 de maio de 2013 35 / 45
Algoritmo GRGPF
Clusters são representados com features:
N, o número de pontos no cluster
O clustroid do cluster
Os k pontos mais próximos do clustroid
Os k pontos mais distantes do clustroid
Os clusters são organizados em uma árvore
André Luís Pitombeira (UFC) Clustering 10 de maio de 2013 36 / 45
Algoritmo GRGPF
Inicialize a árvore com um algoritmo de memória principal
Nós internos mantêm umas amostra dos clustroids dos clusters
representados por sua sub árvore
Para cada ponto, atribua-o para um cluster passando-o para baixo na
árvore
Em cada nó interno procure na amostra e escolha uma sub árvore
Em uma folha, escolher o cluster com o clustroid mais próximo e
atualizar as features
André Luís Pitombeira (UFC) Clustering 10 de maio de 2013 37 / 45
Algoritmo GRGPF
Conjunto dos pontos mais próximos são usados para mover os
clustroids
Conjunto dos pontos mais distantes são usados para fazer o merge
dos clusters
Eventualmente, quando os clusters crescem muito deve-se fazer o split
André Luís Pitombeira (UFC) Clustering 10 de maio de 2013 38 / 45
Stream
A computação do modelo de stream assume que cada elemento é um
ponto em algum espaço. Realiza-se um precluster para selecionar um
subconjunto de pontos no stream, para que consultas do tipo "quais são
os clusters dos últimos m pontos?"possam ser rapidamente respondidas.
André Luís Pitombeira (UFC) Clustering 10 de maio de 2013 39 / 45
Stream
Sliding Window de N pontos
Consulta nos últimos m <= N pontos
Não assume o espaço
Clusters mudam com o passar do tempo
André Luís Pitombeira (UFC) Clustering 10 de maio de 2013 40 / 45
Algoritmo DBMO
Generalização do algoritmo DGIM
O bucket guarda o seu tamanho, o timestamp e uma coleção de
registros
Responde as consultas por fazer o merge dos buckets que cobrem os
últimos m pontos
André Luís Pitombeira (UFC) Clustering 10 de maio de 2013 41 / 45
Clustering em ambientes paralelos
Map-Reduce
Na maioria dos casos apenas uma tarefa de Reduce
Map tasks
Cluster pontos
O resultado é um conjunto de pares chave-valor com uma chave
fixada em 1 e um valor que é a descrição de algum cluster.
Reduce task faz o merge dos clusters
André Luís Pitombeira (UFC) Clustering 10 de maio de 2013 42 / 45
(a) Netflix (b) Google News
Figura: Empresas que desenvolveram soluções de clustering
André Luís Pitombeira (UFC) Clustering 10 de maio de 2013 43 / 45
Perguntas?
André Luís Pitombeira (UFC) Clustering 10 de maio de 2013 44 / 45
The End
André Luís Pitombeira (UFC) Clustering 10 de maio de 2013 45 / 45

Más contenido relacionado

Destacado

2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by HubspotMarius Sescu
 
Everything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTEverything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTExpeed Software
 
Product Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsProduct Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsPixeldarts
 
How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthThinkNow
 
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfmarketingartwork
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024Neil Kimberley
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)contently
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024Albert Qian
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsKurio // The Social Media Age(ncy)
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Search Engine Journal
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summarySpeakerHub
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next Tessa Mero
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentLily Ray
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best PracticesVit Horky
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project managementMindGenius
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...RachelPearson36
 

Destacado (20)

2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot
 
Everything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTEverything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPT
 
Product Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsProduct Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage Engineerings
 
How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental Health
 
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
 
Skeleton Culture Code
Skeleton Culture CodeSkeleton Culture Code
Skeleton Culture Code
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
 
How to have difficult conversations
How to have difficult conversations How to have difficult conversations
How to have difficult conversations
 
Introduction to Data Science
Introduction to Data ScienceIntroduction to Data Science
Introduction to Data Science
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best Practices
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project management
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
 

Clustering Algoritmos K-means

  • 1. Clustering André Luís Pitombeira Universidade Federal do Ceará andrepitombeira@gmail.com 10 de maio de 2013 André Luís Pitombeira (UFC) Clustering 10 de maio de 2013 1 / 45
  • 2. Overview 1 Introdução Clustering 2 Clustering hierárquico 3 Algoritmos K-means Algoritmo de Bradley, Fayyad e Reina Algoritmo CURE Algoritmo GRGPF 4 Stream e Paralelismo Stream Algoritmo DBMO Paralelismo André Luís Pitombeira (UFC) Clustering 10 de maio de 2013 2 / 45
  • 3. Introdução Figura: Era da informação André Luís Pitombeira (UFC) Clustering 10 de maio de 2013 3 / 45
  • 4. Introdução Clustering é o processo utilizado para examinar uma coleção de pontos e agrupá-los em clusters de acordo com alguma medida de distância. Os pontos que estão no mesmo cluster tem uma pequena distância uns dos outros, enquanto pontos em diferentes cluster têm uma distância maior. André Luís Pitombeira (UFC) Clustering 10 de maio de 2013 4 / 45
  • 5. Clustering Operação sobre pontos que formam um espaço Agrupe os elementos mais próximos Distância é fundamental André Luís Pitombeira (UFC) Clustering 10 de maio de 2013 5 / 45
  • 6. Clustering Figura: Exemplo de Cluster André Luís Pitombeira (UFC) Clustering 10 de maio de 2013 6 / 45
  • 7. Clustering Figura: Exemplo de Cluster André Luís Pitombeira (UFC) Clustering 10 de maio de 2013 7 / 45
  • 8. Clustering Espaço euclidiano Os pontos são vetores de números reais Distância natural Muitas distâncias possíveis Espaço não euclidiano Distâncias Ad-hoc Ex. Strings André Luís Pitombeira (UFC) Clustering 10 de maio de 2013 8 / 45
  • 9. Clustering A maldição da dimensionalidade Espaços N-dimensionais têm propriedades que não são intuitivas. Quase todos os pares tem a mesma distância Todos os ângulos entre vetores são próximos a 90 graus André Luís Pitombeira (UFC) Clustering 10 de maio de 2013 9 / 45
  • 10. Clustering A maldição da dimensionalidade (a) 2 dimensões (b) 3 dimensões Figura: Representação de um ponto André Luís Pitombeira (UFC) Clustering 10 de maio de 2013 10 / 45
  • 11. Clustering O que pode ser "clustered"? Imagens Items de um supermercado Documentos Aplicações Data mining Text mining Information retrieval André Luís Pitombeira (UFC) Clustering 10 de maio de 2013 11 / 45
  • 12. Clustering Clustering hierárquico Considera cada ponto como sendo um cluster e estes pontos passam a ser combinados entre si de acordo com alguma medida de proximidade. Atribuição de pontos Considera os pontos em alguma ordem e cada ponto é atribuído ao cluster que melhor se adequa. André Luís Pitombeira (UFC) Clustering 10 de maio de 2013 12 / 45
  • 13. Clustering hierárquico Aglomerativa Abordagem "bottom up": cada observação começa em seu próprio cluster e pares de grupos são mesclados a medida que se sobe na hierarquia. Divisória Abordagem "top down": todas as observações começam em um cluster e são realizadas divisões de forma recursiva a medida que se desce na hierarquia. André Luís Pitombeira (UFC) Clustering 10 de maio de 2013 13 / 45
  • 14. Clustering hierárquico Decida com antecedência: Como os clusters serão representados? Como escolheremos dois clusters para o merge? Quando pararemos de combinar clusters? André Luís Pitombeira (UFC) Clustering 10 de maio de 2013 14 / 45
  • 15. Clustering hierárquico Figura: Cluster hierárquico André Luís Pitombeira (UFC) Clustering 10 de maio de 2013 15 / 45
  • 16. Clustering hierárquico Figura: Cluster hierárquico André Luís Pitombeira (UFC) Clustering 10 de maio de 2013 16 / 45
  • 17. Qual a abordagem mais eficiente? André Luís Pitombeira (UFC) Clustering 10 de maio de 2013 17 / 45
  • 18. Clustering hierárquico Figura: Fluxo do clustering hierárquico André Luís Pitombeira (UFC) Clustering 10 de maio de 2013 18 / 45
  • 19. Clustering hierárquico while is not time to stop do pick the best two clusters to merge; combine those two clusters into one cluster; end Algorithm 1: Clustering hierárquico André Luís Pitombeira (UFC) Clustering 10 de maio de 2013 19 / 45
  • 20. Clustering hierárquico Para calcular a distância entre nós do cluster utiliza-se centróides, mas existem alternativas Ex. distância mínima entre quaisquer dois pontos, sendo um de cada cluster André Luís Pitombeira (UFC) Clustering 10 de maio de 2013 20 / 45
  • 21. Clustering hierárquico Espaços não euclidiano Não é possivel utilizar o centroid, pois não há o conceito de "ponto médio" Solução: clustroids André Luís Pitombeira (UFC) Clustering 10 de maio de 2013 21 / 45
  • 22. Clustering hierárquico String ecdab abecb aecdb abcd 5 3 3 aecdb 2 2 abecb 4 Point Sum Max Sum-sq abcd 11 5 43 aecdb 7 3 17 abecb 9 4 29 ecdab 11 5 45 André Luís Pitombeira (UFC) Clustering 10 de maio de 2013 22 / 45
  • 23. Clustering hierárquico Desvantagens Pontos atribuidos a um cluster não são considerados novamente Complexidade do algoritmo O(n3) André Luís Pitombeira (UFC) Clustering 10 de maio de 2013 23 / 45
  • 24. Algoritmos K-means A família de algoritmos k-means é do tipo atribuição de pontos. O algortimo assume um espaço euclidiano e um número k de clusters conhecidos antecipadamente. André Luís Pitombeira (UFC) Clustering 10 de maio de 2013 24 / 45
  • 25. Algoritmos K-means Figura: Algoritmo k-means André Luís Pitombeira (UFC) Clustering 10 de maio de 2013 25 / 45
  • 26. Algoritmos K-means Figura: k-means clustering André Luís Pitombeira (UFC) Clustering 10 de maio de 2013 26 / 45
  • 27. Algoritmos K-means Figura: k-means clustered André Luís Pitombeira (UFC) Clustering 10 de maio de 2013 27 / 45
  • 28. Algoritmo de Bradley, Fayyad e Reina O algoritmo de Bradley, Fayyad e Reina (BFR) é uma variação do k-means projetado para espaços euclidianos de alta dimensionalidade. O BRF assume que o possui alguma restrições sobre o formato do cluster que deve ser distribuido sobre um centroid. André Luís Pitombeira (UFC) Clustering 10 de maio de 2013 28 / 45
  • 29. Algoritmo de Bradley, Fayyad e Reina Inicialmente seleciona k pontos Processa pedaços de dados na memória principal Três conjuntos na memória principal Descartados: Conjunto dos clusters Comprimidos: Conjunto dos pontos Retidos: Conjunto dos pontos isolados André Luís Pitombeira (UFC) Clustering 10 de maio de 2013 29 / 45
  • 30. Algoritmo de Bradley, Fayyad e Reina Processamento dos chunks dados Pontos próximos ao centroid são adicionados ao cluster Os outros pontos são aglomerados com o conjunto dos retidos. Merge os "miniclusters"com o conjunto dos comprimidos Faça alguma coisa com os pontos restantes e "miniclusters" André Luís Pitombeira (UFC) Clustering 10 de maio de 2013 30 / 45
  • 31. Algoritmo CURE O algoritmo CURE (Clustering Using REpresentatives) assume um espaço euclidiano. Não assume nada a respeito do formato do cluster. Utiliza uma coleção de pontos representativos para representar o cluster, ao invés de utilizar o centroid. André Luís Pitombeira (UFC) Clustering 10 de maio de 2013 31 / 45
  • 32. Algoritmo CURE Figura: Algoritmo CURE André Luís Pitombeira (UFC) Clustering 10 de maio de 2013 32 / 45
  • 33. Algoritmo CURE Figura: Exemplo do CURE André Luís Pitombeira (UFC) Clustering 10 de maio de 2013 33 / 45
  • 34. Algoritmo CURE Após a inicialização deve ser feito o merge dos clusters com a mínima distância entre os pontos Atribuir os pontos aos clusters baseado nos pontos representativos André Luís Pitombeira (UFC) Clustering 10 de maio de 2013 34 / 45
  • 35. Algoritmo GRGPF O algortimo GRGPF lida com dados que não estão na memória principal e não assume um espaço euclidiano. A abordagem usada pelo algoritmo utiliza ideias de ambas as abordagens hierárquica e atribuição de pontos. Os clusters são representados por uma amostra dos pontos na memória principal. André Luís Pitombeira (UFC) Clustering 10 de maio de 2013 35 / 45
  • 36. Algoritmo GRGPF Clusters são representados com features: N, o número de pontos no cluster O clustroid do cluster Os k pontos mais próximos do clustroid Os k pontos mais distantes do clustroid Os clusters são organizados em uma árvore André Luís Pitombeira (UFC) Clustering 10 de maio de 2013 36 / 45
  • 37. Algoritmo GRGPF Inicialize a árvore com um algoritmo de memória principal Nós internos mantêm umas amostra dos clustroids dos clusters representados por sua sub árvore Para cada ponto, atribua-o para um cluster passando-o para baixo na árvore Em cada nó interno procure na amostra e escolha uma sub árvore Em uma folha, escolher o cluster com o clustroid mais próximo e atualizar as features André Luís Pitombeira (UFC) Clustering 10 de maio de 2013 37 / 45
  • 38. Algoritmo GRGPF Conjunto dos pontos mais próximos são usados para mover os clustroids Conjunto dos pontos mais distantes são usados para fazer o merge dos clusters Eventualmente, quando os clusters crescem muito deve-se fazer o split André Luís Pitombeira (UFC) Clustering 10 de maio de 2013 38 / 45
  • 39. Stream A computação do modelo de stream assume que cada elemento é um ponto em algum espaço. Realiza-se um precluster para selecionar um subconjunto de pontos no stream, para que consultas do tipo "quais são os clusters dos últimos m pontos?"possam ser rapidamente respondidas. André Luís Pitombeira (UFC) Clustering 10 de maio de 2013 39 / 45
  • 40. Stream Sliding Window de N pontos Consulta nos últimos m <= N pontos Não assume o espaço Clusters mudam com o passar do tempo André Luís Pitombeira (UFC) Clustering 10 de maio de 2013 40 / 45
  • 41. Algoritmo DBMO Generalização do algoritmo DGIM O bucket guarda o seu tamanho, o timestamp e uma coleção de registros Responde as consultas por fazer o merge dos buckets que cobrem os últimos m pontos André Luís Pitombeira (UFC) Clustering 10 de maio de 2013 41 / 45
  • 42. Clustering em ambientes paralelos Map-Reduce Na maioria dos casos apenas uma tarefa de Reduce Map tasks Cluster pontos O resultado é um conjunto de pares chave-valor com uma chave fixada em 1 e um valor que é a descrição de algum cluster. Reduce task faz o merge dos clusters André Luís Pitombeira (UFC) Clustering 10 de maio de 2013 42 / 45
  • 43. (a) Netflix (b) Google News Figura: Empresas que desenvolveram soluções de clustering André Luís Pitombeira (UFC) Clustering 10 de maio de 2013 43 / 45
  • 44. Perguntas? André Luís Pitombeira (UFC) Clustering 10 de maio de 2013 44 / 45
  • 45. The End André Luís Pitombeira (UFC) Clustering 10 de maio de 2013 45 / 45