SlideShare uma empresa Scribd logo
1 de 27
Baixar para ler offline
AGRUPAMENTO COM K-MEANS 
Alexandre Duarte - http://alexandre.ci.ufpb.br/ensino/iad
AGENDA 
• O que é agrupamento 
• Iterações do K-Means 
• Critérios e Propriedades do K-Means 
• O que é um bom agrupamento 
• Quantos grupos
O QUE É AGRUPAMENTO 
• Um agrupamento (cluster) é um subconjunto coeso de 
entidades: entre entidades de um cluster as similaridades são 
maiores do que entre entidades de fora do cluster 
• Agrupamento é um conjunto de métodos para encontrar 
clusters e estruturas de agrupamento nos dados.
DIFERENTES PERSPECTIVAS 
• Aprendizagem de máquina: análise não-supervisionada 
de padrões 
• Descoberta de conhecimento: construção de 
classificadores 
• Análise de dados: Identificar estruturas de 
agrupamento nos dados
IDENTIFICANDO ESTRUTURAS 
DE AGRUPAMENTO NOS DADOS 
• Agrupamento individual 
• Detectando comunidades em uma rede 
• Determinando um subconjunto de proteínas 
similares a uma determinada proteína 
• Identificando um subconjunto de documentos 
sobre um mesmo tema
IDENTIFICANDO ESTRUTURAS 
DE AGRUPAMENTO NOS DADOS 
• Particionamento 
• Divisão da população de acordo com diferentes 
estilos de vida 
• Agrupamento de territórios em regiões econômicas 
• Particionamento de imagens em segmentos 
homogêneos
IDENTIFICANDO ESTRUTURAS 
DE AGRUPAMENTO NOS DADOS 
• Agrupamento hierárquico 
• Taxonomia de organismos 
• Classificação de sub-áreas da computação 
• Ontologia de conceitos em um domínio
ITERAÇÕES DO K-MEANS 
• K-Means: Um método para construir K 
agrupamentos sem interseções 
• Cada agrupamento é representado por um centro ck 
e um conjunto Sk(k=1, …, K) 
Iris setosa: Centro 
S Length S Width P Length P Width 
Centro 5.006 3.428 1.462 0.246 
Média geral 5.843 5.057 3.758 1.199 
Diferença -0.837 0.371 -2.296 -0.953
ITERAÇÕES DO K-MEANS 
1. Especifique K, o número de agrupamentos, e os 
centros iniciais ck (k=1, …, K) 
2. Atualize os conjuntos Sk (k=1, …, K) 
3. Atualize os centros ck (k=1,…, K) 
4. Se os novos centros coincidem com os 
anteriores, pare, senão, vá para 2.
ITERAÇÕES DO K-MEANS 
a) b) 
c) d)
APLICANDO K-MEANS A BASE 
DE IRIS 
• Pré-processamento 
• A: Sem pré-processamento: todas as medidas estão 
relacionadas ao mesmo tipo de flor e na mesma unidade 
• B: (Z-Scoring) Cada variável é centralizada em relação a 
média e normalizada pelo desvio padrão 
• C: Cada variável é centralizada em relação a média e 
normalizada pelo range
APLICANDO K-MEANS A BASE 
DE IRIS 
• Especifique K = 3 e os exemplares 1, 51 e 101 como 
os centros iniciais (conhecimento preliminar) 
• A (sem pré-processamento): Convergiu em 4 iterações 
• B (Z-scoring): Convergiu em 7 iterações 
• C (Normalização pelo range): Convergiu em 5 
iterações
APLICANDO K-MEANS A BASE 
DE IRIS 
• http://blog.whn.se/post/28851413626/k-means-clustering- 
in-r
VANTAGENS 
• Computação é intuitiva 
• Processamento é rápido e não requer memória 
adicional 
• Processamento é fácil de paralelizar (big data)
DISCUSSÃO 
• O K-means sempre converge? 
• Os resultados são independentes da inicialização? 
• Se não, como devemos inicializar? 
• Como escolher o número de clusters K ?
O K-MEANS SEMPRE 
CONVERGE? 
• Minimizar W(S,c) alternando 
• Mins W(S,c): atualização dos clusters 
• Minc W(S,c): atualização dos centros 
• Portanto, W(S,c) diminui a cada passo: 
convergência 
Σ 
KΣ 
W(s,c) = d(i,ck ) 
i∈Sk 
k=1
OS RESULTADOS SÃO 
INDEPENDENTES DA INICIALIZAÇÃO? 
• Qual seria o agrupamento 
ótimo para K = 2 ? 
• Convergimos para esse 
agrupamento com 
qualquer dois pontos 
escolhidos como centros 
iniciais ?
COMO ESCOLHER OS 
CENTROS INICIAIS ? 
• Escolher os pontos que maximizem D(S,c) 
• onde: 
• Nk é o número de entidades em Sk 
• <ck,ck> é distância entre a origem e ck ao 
quadrado 
KΣ 
D(S,c) = Nk < ck ,ck > 
k=1
COMO ESCOLHER OS 
CENTROS INICIAIS ? 
• Requer que os pontos sejam pré-processados pela 
média (origem seria a média de todas as 
coordenadas)
O QUE É UM BOM 
AGRUPAMENTO? 
• Critério interno 
• Exemplo de critério interno: média do quadrado das distâncias 
no K-means 
• Porém, um critério interno muitas vezes não avalia a utilidade do 
agrupamento para uma aplicação. 
• Alternativa: Critério externo 
• Avaliar de acordo com um critério definido por humanos
O QUE É UM BOM 
AGRUPAMENTO? 
• Baseado em algum padrão amplamente adotado 
• Objetivo: O agrupamento deve reproduzir a 
classes definidas no padrão 
• Exemplo de medida de quão bem conseguimos 
reproduzir classes pré-definidas: pureza
CRITÉRIO EXTERNO: PUREZA 
• Ω= {ω1, ω2, . . . , ωK} é o conjunte de grupos e 
• C = {c1, c2, . . . , cJ} é o conjunto de classes 
• Para cada grupo ωk : encontrar a cj com mais membros nkj em ωk 
• Somar todos os nkj e dividir pelo número total de pontos
EXEMPLO DO CALCULO 
PUREZA 
Para 
calcular 
a 
pureza: 
5 
= 
maxj 
|ω1 
∩ 
cj 
| 
(classe 
x, 
grupo 
1); 
4 
= 
maxj 
|ω2 
∩ 
cj 
| 
(classe 
o, 
grupo 
2); 
e 
3 
= 
maxj 
|ω3 
∩ 
cj 
| 
(classe 
⋄, 
grupo 
3). 
Pureza 
é 
(1/17) 
× 
(5 
+ 
4 
+ 
3) 
≈ 
0.71.
PUREZA DO AGRUPAMENTO 
DAS IRIS 
1 2 3 
setosa 50 0 0 
versicolor 0 2 48 
virginica 0 36 14 
Pureza = (1/150) * (50 + 36 + 48) = 0.89
QUANTOS GRUPOS? 
• O número de grupos K é dado em muitas aplicações. 
• Mas e quando isso não acontece? Há um número bom ou ruim para a 
quantidade de grupos? 
• Uma forma de agir: definir um critério de otimização 
• Dado o conjunto de dados, encontrar o K para o qual o valor ótimo é obtido 
• Que critérios de otimização podemos usar? 
• Não podemos utilizar a média dos quadrados das distâncias do centróide 
como critério: o valor ótimo sempre seria fazer K = N.
QUANTOS GRUPOS 
• Ideia básica: 
• Começar com 1 grupo (K = 1) 
• Continue adicionando grupos (= continue a aumentar K) 
• Adicione uma penalidade para cada novo grupo 
• Balancear a penalidade da adição de novos grupos e o quadrado das 
distâncias até os centroides 
• Escolher o valor K com o melhor tradeoff
ENCONTRANDO O K PARA A 
BASE DE IRIS 
http://www.statmethods.net/advstats/cluster.html

Mais conteúdo relacionado

Mais procurados

Métodos e Técnicas de Pesquisa: O Estudo de Caso
Métodos e Técnicas de Pesquisa: O Estudo de CasoMétodos e Técnicas de Pesquisa: O Estudo de Caso
Métodos e Técnicas de Pesquisa: O Estudo de CasoJoão Uchôa
 
O Ensino Por Competencias E Habilidades
O Ensino Por Competencias E HabilidadesO Ensino Por Competencias E Habilidades
O Ensino Por Competencias E Habilidadesguestc339ed
 
Pesquisa Experimental
Pesquisa ExperimentalPesquisa Experimental
Pesquisa ExperimentalHilma Khoury
 
Aula de Gráficos - Bioestatistica
Aula de Gráficos - BioestatisticaAula de Gráficos - Bioestatistica
Aula de Gráficos - BioestatisticaFisio Unipampa
 
Apresentação recursividade rev2
Apresentação recursividade rev2Apresentação recursividade rev2
Apresentação recursividade rev2Rogerio Oliveira
 
Introdução à Revisão Sistemática da Literatura
Introdução à Revisão Sistemática da LiteraturaIntrodução à Revisão Sistemática da Literatura
Introdução à Revisão Sistemática da LiteraturaFernando Kenji Kamei
 
Matemática Discreta - Introdução à Disciplina
Matemática Discreta - Introdução à DisciplinaMatemática Discreta - Introdução à Disciplina
Matemática Discreta - Introdução à DisciplinaRanilson Paiva
 
O Processo de Desenvolvimento de Software
O Processo de Desenvolvimento de SoftwareO Processo de Desenvolvimento de Software
O Processo de Desenvolvimento de SoftwareCamilo de Melo
 
Problema de Pesquisa e Hipóteses Científicas - Profa.Rilva - GESME
Problema de Pesquisa e Hipóteses Científicas - Profa.Rilva - GESMEProblema de Pesquisa e Hipóteses Científicas - Profa.Rilva - GESME
Problema de Pesquisa e Hipóteses Científicas - Profa.Rilva - GESMERilva Lopes de Sousa Muñoz
 
Elaboração de relatórios
Elaboração de relatóriosElaboração de relatórios
Elaboração de relatóriosFátima Santos
 
Boas práticas técnica para um código limpo (Clean Code)
Boas práticas técnica para um código limpo (Clean Code)Boas práticas técnica para um código limpo (Clean Code)
Boas práticas técnica para um código limpo (Clean Code)Rodrigo Kono
 
Introdução a Automação de Teste de Software
Introdução a Automação de Teste de SoftwareIntrodução a Automação de Teste de Software
Introdução a Automação de Teste de SoftwareCamilo Ribeiro
 

Mais procurados (20)

Métodos e Técnicas de Pesquisa: O Estudo de Caso
Métodos e Técnicas de Pesquisa: O Estudo de CasoMétodos e Técnicas de Pesquisa: O Estudo de Caso
Métodos e Técnicas de Pesquisa: O Estudo de Caso
 
O Ensino Por Competencias E Habilidades
O Ensino Por Competencias E HabilidadesO Ensino Por Competencias E Habilidades
O Ensino Por Competencias E Habilidades
 
Pesquisa experimental
Pesquisa experimentalPesquisa experimental
Pesquisa experimental
 
Pesquisa Experimental
Pesquisa ExperimentalPesquisa Experimental
Pesquisa Experimental
 
Aula de Gráficos - Bioestatistica
Aula de Gráficos - BioestatisticaAula de Gráficos - Bioestatistica
Aula de Gráficos - Bioestatistica
 
Apresentação recursividade rev2
Apresentação recursividade rev2Apresentação recursividade rev2
Apresentação recursividade rev2
 
Metodos Ageis
Metodos AgeisMetodos Ageis
Metodos Ageis
 
Introdução à Revisão Sistemática da Literatura
Introdução à Revisão Sistemática da LiteraturaIntrodução à Revisão Sistemática da Literatura
Introdução à Revisão Sistemática da Literatura
 
Planilhas excel
Planilhas excelPlanilhas excel
Planilhas excel
 
Matemática Discreta - Introdução à Disciplina
Matemática Discreta - Introdução à DisciplinaMatemática Discreta - Introdução à Disciplina
Matemática Discreta - Introdução à Disciplina
 
O Processo de Desenvolvimento de Software
O Processo de Desenvolvimento de SoftwareO Processo de Desenvolvimento de Software
O Processo de Desenvolvimento de Software
 
Alfred Adler
Alfred AdlerAlfred Adler
Alfred Adler
 
Estudo de caso planejamento e métodos yin
Estudo de caso planejamento e métodos yinEstudo de caso planejamento e métodos yin
Estudo de caso planejamento e métodos yin
 
Problema de Pesquisa e Hipóteses Científicas - Profa.Rilva - GESME
Problema de Pesquisa e Hipóteses Científicas - Profa.Rilva - GESMEProblema de Pesquisa e Hipóteses Científicas - Profa.Rilva - GESME
Problema de Pesquisa e Hipóteses Científicas - Profa.Rilva - GESME
 
Aula 4 - PDCA
Aula 4 - PDCAAula 4 - PDCA
Aula 4 - PDCA
 
Percepção espacial e temporal
Percepção espacial e temporalPercepção espacial e temporal
Percepção espacial e temporal
 
Gerenciamento de Riscos
Gerenciamento de RiscosGerenciamento de Riscos
Gerenciamento de Riscos
 
Elaboração de relatórios
Elaboração de relatóriosElaboração de relatórios
Elaboração de relatórios
 
Boas práticas técnica para um código limpo (Clean Code)
Boas práticas técnica para um código limpo (Clean Code)Boas práticas técnica para um código limpo (Clean Code)
Boas práticas técnica para um código limpo (Clean Code)
 
Introdução a Automação de Teste de Software
Introdução a Automação de Teste de SoftwareIntrodução a Automação de Teste de Software
Introdução a Automação de Teste de Software
 

Destaque

Destaque (7)

Clustering (Agrupamento)
Clustering (Agrupamento)Clustering (Agrupamento)
Clustering (Agrupamento)
 
Agrupamento (clustering) - K-Means
Agrupamento (clustering) - K-MeansAgrupamento (clustering) - K-Means
Agrupamento (clustering) - K-Means
 
Backtracking - Gerar todos os subconjuntos
Backtracking - Gerar todos os subconjuntosBacktracking - Gerar todos os subconjuntos
Backtracking - Gerar todos os subconjuntos
 
K-Nearest Neighbor
K-Nearest NeighborK-Nearest Neighbor
K-Nearest Neighbor
 
KNN
KNN KNN
KNN
 
K mean-clustering algorithm
K mean-clustering algorithmK mean-clustering algorithm
K mean-clustering algorithm
 
Algorithme knn
Algorithme knnAlgorithme knn
Algorithme knn
 

Semelhante a Agrupamento com K-Means

Agrupamento de sequências biológicas
Agrupamento de sequências biológicasAgrupamento de sequências biológicas
Agrupamento de sequências biológicasMarcos Castro
 
Análise de Agrupamentos e Regionalização
Análise de Agrupamentos e RegionalizaçãoAnálise de Agrupamentos e Regionalização
Análise de Agrupamentos e RegionalizaçãoVitor Vieira Vasconcelos
 
Data Mining - Clustering
Data Mining - ClusteringData Mining - Clustering
Data Mining - Clusteringiaudesc
 
Aprendizagem Automática
Aprendizagem AutomáticaAprendizagem Automática
Aprendizagem Automáticabutest
 
Algoritmo_ID3_e_C.45_Gilcimar
Algoritmo_ID3_e_C.45_GilcimarAlgoritmo_ID3_e_C.45_Gilcimar
Algoritmo_ID3_e_C.45_Gilcimariaudesc
 
Análise de agrupamentos e regionalização - Prática no Geoda
Análise de agrupamentos e regionalização - Prática no GeodaAnálise de agrupamentos e regionalização - Prática no Geoda
Análise de agrupamentos e regionalização - Prática no GeodaVitor Vieira Vasconcelos
 
Aula1 mba fiap_2018_redes_neurais
Aula1 mba fiap_2018_redes_neuraisAula1 mba fiap_2018_redes_neurais
Aula1 mba fiap_2018_redes_neuraisAhirton Lopes
 
Sessao 6.pdf para aproveitametno em sessões
Sessao 6.pdf para aproveitametno em sessõesSessao 6.pdf para aproveitametno em sessões
Sessao 6.pdf para aproveitametno em sessõesJoaquimOliveiraBapti1
 
Aprendizado de Máquinas com Azure Machine Learning e R
Aprendizado de Máquinas com Azure Machine Learning e RAprendizado de Máquinas com Azure Machine Learning e R
Aprendizado de Máquinas com Azure Machine Learning e RDiego Nogare
 
[TCC] Apresentacao - Agrupamento de Instâncias
[TCC] Apresentacao - Agrupamento de Instâncias[TCC] Apresentacao - Agrupamento de Instâncias
[TCC] Apresentacao - Agrupamento de InstânciasAugusto Giles
 
Clusterização de padrões de candlesticks utilizando Mapas de Kohonen
Clusterização de padrões de candlesticks utilizando Mapas de KohonenClusterização de padrões de candlesticks utilizando Mapas de Kohonen
Clusterização de padrões de candlesticks utilizando Mapas de KohonenAndré Carvalho
 
Redes neurais e lógica fuzzy
Redes neurais e lógica fuzzyRedes neurais e lógica fuzzy
Redes neurais e lógica fuzzyRenato Ximenes
 
Classificação de imagens não supervisionada - KMEANS e ISODATA
Classificação de imagens não supervisionada - KMEANS e ISODATAClassificação de imagens não supervisionada - KMEANS e ISODATA
Classificação de imagens não supervisionada - KMEANS e ISODATAAndré Andrade
 

Semelhante a Agrupamento com K-Means (20)

Agrupamento de sequências biológicas
Agrupamento de sequências biológicasAgrupamento de sequências biológicas
Agrupamento de sequências biológicas
 
Análise de Agrupamentos (Clusters)
Análise de Agrupamentos (Clusters)Análise de Agrupamentos (Clusters)
Análise de Agrupamentos (Clusters)
 
Gilcimar apresentação
Gilcimar apresentaçãoGilcimar apresentação
Gilcimar apresentação
 
Análise de Agrupamentos e Regionalização
Análise de Agrupamentos e RegionalizaçãoAnálise de Agrupamentos e Regionalização
Análise de Agrupamentos e Regionalização
 
Data Mining - Clustering
Data Mining - ClusteringData Mining - Clustering
Data Mining - Clustering
 
kNN Algorithm
kNN AlgorithmkNN Algorithm
kNN Algorithm
 
Aprendizagem Automática
Aprendizagem AutomáticaAprendizagem Automática
Aprendizagem Automática
 
Mineração de dados
Mineração de dadosMineração de dados
Mineração de dados
 
Algoritmo_ID3_e_C.45_Gilcimar
Algoritmo_ID3_e_C.45_GilcimarAlgoritmo_ID3_e_C.45_Gilcimar
Algoritmo_ID3_e_C.45_Gilcimar
 
Análise de agrupamentos e regionalização - Prática no Geoda
Análise de agrupamentos e regionalização - Prática no GeodaAnálise de agrupamentos e regionalização - Prática no Geoda
Análise de agrupamentos e regionalização - Prática no Geoda
 
Estatística - Aula 2
Estatística - Aula 2Estatística - Aula 2
Estatística - Aula 2
 
Aula1 mba fiap_2018_redes_neurais
Aula1 mba fiap_2018_redes_neuraisAula1 mba fiap_2018_redes_neurais
Aula1 mba fiap_2018_redes_neurais
 
Analise de clusters
Analise de clustersAnalise de clusters
Analise de clusters
 
Sessao 6.pdf para aproveitametno em sessões
Sessao 6.pdf para aproveitametno em sessõesSessao 6.pdf para aproveitametno em sessões
Sessao 6.pdf para aproveitametno em sessões
 
Aprendizado de Máquinas com Azure Machine Learning e R
Aprendizado de Máquinas com Azure Machine Learning e RAprendizado de Máquinas com Azure Machine Learning e R
Aprendizado de Máquinas com Azure Machine Learning e R
 
[TCC] Apresentacao - Agrupamento de Instâncias
[TCC] Apresentacao - Agrupamento de Instâncias[TCC] Apresentacao - Agrupamento de Instâncias
[TCC] Apresentacao - Agrupamento de Instâncias
 
Clusterização de padrões de candlesticks utilizando Mapas de Kohonen
Clusterização de padrões de candlesticks utilizando Mapas de KohonenClusterização de padrões de candlesticks utilizando Mapas de Kohonen
Clusterização de padrões de candlesticks utilizando Mapas de Kohonen
 
Cluster analysis TDC POA 2017
Cluster analysis  TDC POA 2017Cluster analysis  TDC POA 2017
Cluster analysis TDC POA 2017
 
Redes neurais e lógica fuzzy
Redes neurais e lógica fuzzyRedes neurais e lógica fuzzy
Redes neurais e lógica fuzzy
 
Classificação de imagens não supervisionada - KMEANS e ISODATA
Classificação de imagens não supervisionada - KMEANS e ISODATAClassificação de imagens não supervisionada - KMEANS e ISODATA
Classificação de imagens não supervisionada - KMEANS e ISODATA
 

Mais de Alexandre Duarte

Táticas para Projeto de Experimentos
Táticas para Projeto de ExperimentosTáticas para Projeto de Experimentos
Táticas para Projeto de ExperimentosAlexandre Duarte
 
Fazer Ciência é Difícil!
Fazer Ciência é Difícil!Fazer Ciência é Difícil!
Fazer Ciência é Difícil!Alexandre Duarte
 
Escolhendo um Projeto de Pesquisa
Escolhendo um Projeto de PesquisaEscolhendo um Projeto de Pesquisa
Escolhendo um Projeto de PesquisaAlexandre Duarte
 
Ciência da Computação como Ciência
Ciência da Computação como CiênciaCiência da Computação como Ciência
Ciência da Computação como CiênciaAlexandre Duarte
 
Metodologia da Pesquisa Científica: Introdução
Metodologia da Pesquisa Científica:  IntroduçãoMetodologia da Pesquisa Científica:  Introdução
Metodologia da Pesquisa Científica: IntroduçãoAlexandre Duarte
 
Gráficos: 10 dicas sobre o que fazer e sobre o que não fazer
Gráficos: 10 dicas sobre o que fazer e sobre o que não fazerGráficos: 10 dicas sobre o que fazer e sobre o que não fazer
Gráficos: 10 dicas sobre o que fazer e sobre o que não fazerAlexandre Duarte
 
Panorama de Pesquisas em Análise de Dados na UFPB
Panorama de Pesquisas em Análise de Dados na UFPBPanorama de Pesquisas em Análise de Dados na UFPB
Panorama de Pesquisas em Análise de Dados na UFPBAlexandre Duarte
 
Sumarização Estatística 2D: Variáveis Nominais
Sumarização Estatística 2D: Variáveis NominaisSumarização Estatística 2D: Variáveis Nominais
Sumarização Estatística 2D: Variáveis NominaisAlexandre Duarte
 
Correlação e Classificação
Correlação e ClassificaçãoCorrelação e Classificação
Correlação e ClassificaçãoAlexandre Duarte
 
Sumarização Estatística 2D
Sumarização Estatística 2DSumarização Estatística 2D
Sumarização Estatística 2DAlexandre Duarte
 
Sumarização Estatística 1D
Sumarização Estatística 1DSumarização Estatística 1D
Sumarização Estatística 1DAlexandre Duarte
 
Preparação e Limpeza de Dados
Preparação e Limpeza de DadosPreparação e Limpeza de Dados
Preparação e Limpeza de DadosAlexandre Duarte
 
Introdução ao Projeto de Experimentos
Introdução ao Projeto de ExperimentosIntrodução ao Projeto de Experimentos
Introdução ao Projeto de ExperimentosAlexandre Duarte
 
Introdução ao Projeto de Surveys
Introdução ao Projeto de SurveysIntrodução ao Projeto de Surveys
Introdução ao Projeto de SurveysAlexandre Duarte
 
Introdução à Análise de Dados - Aula 01
Introdução à Análise de Dados - Aula 01Introdução à Análise de Dados - Aula 01
Introdução à Análise de Dados - Aula 01Alexandre Duarte
 
Introdução à Analise de Dados - aula 3 - Agregação de Dados
Introdução à Analise de Dados - aula 3 - Agregação de DadosIntrodução à Analise de Dados - aula 3 - Agregação de Dados
Introdução à Analise de Dados - aula 3 - Agregação de DadosAlexandre Duarte
 

Mais de Alexandre Duarte (20)

Projeto de Experimentos
Projeto de ExperimentosProjeto de Experimentos
Projeto de Experimentos
 
Táticas para Projeto de Experimentos
Táticas para Projeto de ExperimentosTáticas para Projeto de Experimentos
Táticas para Projeto de Experimentos
 
Causalidade e Abdução
Causalidade e AbduçãoCausalidade e Abdução
Causalidade e Abdução
 
Fazer Ciência é Difícil!
Fazer Ciência é Difícil!Fazer Ciência é Difícil!
Fazer Ciência é Difícil!
 
Atividades Científica
Atividades CientíficaAtividades Científica
Atividades Científica
 
Escolhendo um Projeto de Pesquisa
Escolhendo um Projeto de PesquisaEscolhendo um Projeto de Pesquisa
Escolhendo um Projeto de Pesquisa
 
Ciência da Computação como Ciência
Ciência da Computação como CiênciaCiência da Computação como Ciência
Ciência da Computação como Ciência
 
Metodologia da Pesquisa Científica: Introdução
Metodologia da Pesquisa Científica:  IntroduçãoMetodologia da Pesquisa Científica:  Introdução
Metodologia da Pesquisa Científica: Introdução
 
Gráficos: 10 dicas sobre o que fazer e sobre o que não fazer
Gráficos: 10 dicas sobre o que fazer e sobre o que não fazerGráficos: 10 dicas sobre o que fazer e sobre o que não fazer
Gráficos: 10 dicas sobre o que fazer e sobre o que não fazer
 
Panorama de Pesquisas em Análise de Dados na UFPB
Panorama de Pesquisas em Análise de Dados na UFPBPanorama de Pesquisas em Análise de Dados na UFPB
Panorama de Pesquisas em Análise de Dados na UFPB
 
Sumarização Estatística 2D: Variáveis Nominais
Sumarização Estatística 2D: Variáveis NominaisSumarização Estatística 2D: Variáveis Nominais
Sumarização Estatística 2D: Variáveis Nominais
 
Correlação e Classificação
Correlação e ClassificaçãoCorrelação e Classificação
Correlação e Classificação
 
Sumarização Estatística 2D
Sumarização Estatística 2DSumarização Estatística 2D
Sumarização Estatística 2D
 
Sumarização Estatística 1D
Sumarização Estatística 1DSumarização Estatística 1D
Sumarização Estatística 1D
 
Transformação de Dados
Transformação de DadosTransformação de Dados
Transformação de Dados
 
Preparação e Limpeza de Dados
Preparação e Limpeza de DadosPreparação e Limpeza de Dados
Preparação e Limpeza de Dados
 
Introdução ao Projeto de Experimentos
Introdução ao Projeto de ExperimentosIntrodução ao Projeto de Experimentos
Introdução ao Projeto de Experimentos
 
Introdução ao Projeto de Surveys
Introdução ao Projeto de SurveysIntrodução ao Projeto de Surveys
Introdução ao Projeto de Surveys
 
Introdução à Análise de Dados - Aula 01
Introdução à Análise de Dados - Aula 01Introdução à Análise de Dados - Aula 01
Introdução à Análise de Dados - Aula 01
 
Introdução à Analise de Dados - aula 3 - Agregação de Dados
Introdução à Analise de Dados - aula 3 - Agregação de DadosIntrodução à Analise de Dados - aula 3 - Agregação de Dados
Introdução à Analise de Dados - aula 3 - Agregação de Dados
 

Agrupamento com K-Means

  • 1. AGRUPAMENTO COM K-MEANS Alexandre Duarte - http://alexandre.ci.ufpb.br/ensino/iad
  • 2. AGENDA • O que é agrupamento • Iterações do K-Means • Critérios e Propriedades do K-Means • O que é um bom agrupamento • Quantos grupos
  • 3. O QUE É AGRUPAMENTO • Um agrupamento (cluster) é um subconjunto coeso de entidades: entre entidades de um cluster as similaridades são maiores do que entre entidades de fora do cluster • Agrupamento é um conjunto de métodos para encontrar clusters e estruturas de agrupamento nos dados.
  • 4. DIFERENTES PERSPECTIVAS • Aprendizagem de máquina: análise não-supervisionada de padrões • Descoberta de conhecimento: construção de classificadores • Análise de dados: Identificar estruturas de agrupamento nos dados
  • 5. IDENTIFICANDO ESTRUTURAS DE AGRUPAMENTO NOS DADOS • Agrupamento individual • Detectando comunidades em uma rede • Determinando um subconjunto de proteínas similares a uma determinada proteína • Identificando um subconjunto de documentos sobre um mesmo tema
  • 6. IDENTIFICANDO ESTRUTURAS DE AGRUPAMENTO NOS DADOS • Particionamento • Divisão da população de acordo com diferentes estilos de vida • Agrupamento de territórios em regiões econômicas • Particionamento de imagens em segmentos homogêneos
  • 7. IDENTIFICANDO ESTRUTURAS DE AGRUPAMENTO NOS DADOS • Agrupamento hierárquico • Taxonomia de organismos • Classificação de sub-áreas da computação • Ontologia de conceitos em um domínio
  • 8. ITERAÇÕES DO K-MEANS • K-Means: Um método para construir K agrupamentos sem interseções • Cada agrupamento é representado por um centro ck e um conjunto Sk(k=1, …, K) Iris setosa: Centro S Length S Width P Length P Width Centro 5.006 3.428 1.462 0.246 Média geral 5.843 5.057 3.758 1.199 Diferença -0.837 0.371 -2.296 -0.953
  • 9. ITERAÇÕES DO K-MEANS 1. Especifique K, o número de agrupamentos, e os centros iniciais ck (k=1, …, K) 2. Atualize os conjuntos Sk (k=1, …, K) 3. Atualize os centros ck (k=1,…, K) 4. Se os novos centros coincidem com os anteriores, pare, senão, vá para 2.
  • 10. ITERAÇÕES DO K-MEANS a) b) c) d)
  • 11. APLICANDO K-MEANS A BASE DE IRIS • Pré-processamento • A: Sem pré-processamento: todas as medidas estão relacionadas ao mesmo tipo de flor e na mesma unidade • B: (Z-Scoring) Cada variável é centralizada em relação a média e normalizada pelo desvio padrão • C: Cada variável é centralizada em relação a média e normalizada pelo range
  • 12. APLICANDO K-MEANS A BASE DE IRIS • Especifique K = 3 e os exemplares 1, 51 e 101 como os centros iniciais (conhecimento preliminar) • A (sem pré-processamento): Convergiu em 4 iterações • B (Z-scoring): Convergiu em 7 iterações • C (Normalização pelo range): Convergiu em 5 iterações
  • 13. APLICANDO K-MEANS A BASE DE IRIS • http://blog.whn.se/post/28851413626/k-means-clustering- in-r
  • 14. VANTAGENS • Computação é intuitiva • Processamento é rápido e não requer memória adicional • Processamento é fácil de paralelizar (big data)
  • 15. DISCUSSÃO • O K-means sempre converge? • Os resultados são independentes da inicialização? • Se não, como devemos inicializar? • Como escolher o número de clusters K ?
  • 16. O K-MEANS SEMPRE CONVERGE? • Minimizar W(S,c) alternando • Mins W(S,c): atualização dos clusters • Minc W(S,c): atualização dos centros • Portanto, W(S,c) diminui a cada passo: convergência Σ KΣ W(s,c) = d(i,ck ) i∈Sk k=1
  • 17. OS RESULTADOS SÃO INDEPENDENTES DA INICIALIZAÇÃO? • Qual seria o agrupamento ótimo para K = 2 ? • Convergimos para esse agrupamento com qualquer dois pontos escolhidos como centros iniciais ?
  • 18. COMO ESCOLHER OS CENTROS INICIAIS ? • Escolher os pontos que maximizem D(S,c) • onde: • Nk é o número de entidades em Sk • <ck,ck> é distância entre a origem e ck ao quadrado KΣ D(S,c) = Nk < ck ,ck > k=1
  • 19. COMO ESCOLHER OS CENTROS INICIAIS ? • Requer que os pontos sejam pré-processados pela média (origem seria a média de todas as coordenadas)
  • 20. O QUE É UM BOM AGRUPAMENTO? • Critério interno • Exemplo de critério interno: média do quadrado das distâncias no K-means • Porém, um critério interno muitas vezes não avalia a utilidade do agrupamento para uma aplicação. • Alternativa: Critério externo • Avaliar de acordo com um critério definido por humanos
  • 21. O QUE É UM BOM AGRUPAMENTO? • Baseado em algum padrão amplamente adotado • Objetivo: O agrupamento deve reproduzir a classes definidas no padrão • Exemplo de medida de quão bem conseguimos reproduzir classes pré-definidas: pureza
  • 22. CRITÉRIO EXTERNO: PUREZA • Ω= {ω1, ω2, . . . , ωK} é o conjunte de grupos e • C = {c1, c2, . . . , cJ} é o conjunto de classes • Para cada grupo ωk : encontrar a cj com mais membros nkj em ωk • Somar todos os nkj e dividir pelo número total de pontos
  • 23. EXEMPLO DO CALCULO PUREZA Para calcular a pureza: 5 = maxj |ω1 ∩ cj | (classe x, grupo 1); 4 = maxj |ω2 ∩ cj | (classe o, grupo 2); e 3 = maxj |ω3 ∩ cj | (classe ⋄, grupo 3). Pureza é (1/17) × (5 + 4 + 3) ≈ 0.71.
  • 24. PUREZA DO AGRUPAMENTO DAS IRIS 1 2 3 setosa 50 0 0 versicolor 0 2 48 virginica 0 36 14 Pureza = (1/150) * (50 + 36 + 48) = 0.89
  • 25. QUANTOS GRUPOS? • O número de grupos K é dado em muitas aplicações. • Mas e quando isso não acontece? Há um número bom ou ruim para a quantidade de grupos? • Uma forma de agir: definir um critério de otimização • Dado o conjunto de dados, encontrar o K para o qual o valor ótimo é obtido • Que critérios de otimização podemos usar? • Não podemos utilizar a média dos quadrados das distâncias do centróide como critério: o valor ótimo sempre seria fazer K = N.
  • 26. QUANTOS GRUPOS • Ideia básica: • Começar com 1 grupo (K = 1) • Continue adicionando grupos (= continue a aumentar K) • Adicione uma penalidade para cada novo grupo • Balancear a penalidade da adição de novos grupos e o quadrado das distâncias até os centroides • Escolher o valor K com o melhor tradeoff
  • 27. ENCONTRANDO O K PARA A BASE DE IRIS http://www.statmethods.net/advstats/cluster.html