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

Aula 6 - Redes de Computadores A - Endereçamento IP
Aula 6 - Redes de Computadores A - Endereçamento IPAula 6 - Redes de Computadores A - Endereçamento IP
Aula 6 - Redes de Computadores A - Endereçamento IPFilipo Mór
 
Introdução aos Serviços de Rede
Introdução aos Serviços de RedeIntrodução aos Serviços de Rede
Introdução aos Serviços de RedeNatanael Simões
 
Acl listas de controle de acesso
Acl   listas de controle de acessoAcl   listas de controle de acesso
Acl listas de controle de acessoDony Bellino
 
Como descobrir e classificar coisas usando machine learning sem compilcação
Como descobrir e classificar coisas usando machine learning sem compilcaçãoComo descobrir e classificar coisas usando machine learning sem compilcação
Como descobrir e classificar coisas usando machine learning sem compilcaçãoElaine Cecília Gatto
 
Tipos de cabos
Tipos de cabosTipos de cabos
Tipos de cabosBrunoXina
 
Redes - Enderecamento IP
Redes - Enderecamento IPRedes - Enderecamento IP
Redes - Enderecamento IPLuiz Arthur
 
Componentes de uma Rede de computadores
Componentes de uma Rede de computadoresComponentes de uma Rede de computadores
Componentes de uma Rede de computadoresFelipe Silva
 
Problema da Mochila 0-1 (Knapsack problem)
Problema da Mochila 0-1 (Knapsack problem)Problema da Mochila 0-1 (Knapsack problem)
Problema da Mochila 0-1 (Knapsack problem)Marcos Castro
 
Serie aula03 estatistica
Serie aula03 estatisticaSerie aula03 estatistica
Serie aula03 estatisticaPsicologia_2015
 
Segurança da informação
Segurança da informaçãoSegurança da informação
Segurança da informaçãoimsp2000
 
Introdução à analise e complexidade de algoritmos
Introdução à analise e complexidade de algoritmosIntrodução à analise e complexidade de algoritmos
Introdução à analise e complexidade de algoritmosNécio de Lima Veras
 
Topologia em redes
Topologia em redesTopologia em redes
Topologia em redesYohana Alves
 
Introducao vpn (1)
Introducao vpn (1)Introducao vpn (1)
Introducao vpn (1)Valldo
 
Capítulo 10 detecção e correção de erros
Capítulo 10   detecção e correção de errosCapítulo 10   detecção e correção de erros
Capítulo 10 detecção e correção de errosFaculdade Mater Christi
 
Redes de computadores 2 - Protocolos
Redes de computadores 2 - ProtocolosRedes de computadores 2 - Protocolos
Redes de computadores 2 - ProtocolosJosé Ronaldo Trajano
 
Aula 6 análise de conglomerados
Aula 6  análise de conglomeradosAula 6  análise de conglomerados
Aula 6 análise de conglomeradosRodrigo Rodrigues
 

Mais procurados (20)

Aula 6 - Redes de Computadores A - Endereçamento IP
Aula 6 - Redes de Computadores A - Endereçamento IPAula 6 - Redes de Computadores A - Endereçamento IP
Aula 6 - Redes de Computadores A - Endereçamento IP
 
Introdução aos Serviços de Rede
Introdução aos Serviços de RedeIntrodução aos Serviços de Rede
Introdução aos Serviços de Rede
 
Acl listas de controle de acesso
Acl   listas de controle de acessoAcl   listas de controle de acesso
Acl listas de controle de acesso
 
Como descobrir e classificar coisas usando machine learning sem compilcação
Como descobrir e classificar coisas usando machine learning sem compilcaçãoComo descobrir e classificar coisas usando machine learning sem compilcação
Como descobrir e classificar coisas usando machine learning sem compilcação
 
Tipos de cabos
Tipos de cabosTipos de cabos
Tipos de cabos
 
Redes - Enderecamento IP
Redes - Enderecamento IPRedes - Enderecamento IP
Redes - Enderecamento IP
 
Componentes de uma Rede de computadores
Componentes de uma Rede de computadoresComponentes de uma Rede de computadores
Componentes de uma Rede de computadores
 
Problema da Mochila 0-1 (Knapsack problem)
Problema da Mochila 0-1 (Knapsack problem)Problema da Mochila 0-1 (Knapsack problem)
Problema da Mochila 0-1 (Knapsack problem)
 
Serie aula03 estatistica
Serie aula03 estatisticaSerie aula03 estatistica
Serie aula03 estatistica
 
3. Eletrônica Digital: Lógica Combinacional e Seqüencial
3. Eletrônica Digital: Lógica Combinacional e Seqüencial3. Eletrônica Digital: Lógica Combinacional e Seqüencial
3. Eletrônica Digital: Lógica Combinacional e Seqüencial
 
Segurança da informação
Segurança da informaçãoSegurança da informação
Segurança da informação
 
Introdução à analise e complexidade de algoritmos
Introdução à analise e complexidade de algoritmosIntrodução à analise e complexidade de algoritmos
Introdução à analise e complexidade de algoritmos
 
Subnetting
SubnettingSubnetting
Subnetting
 
Topologia em redes
Topologia em redesTopologia em redes
Topologia em redes
 
CABEAMENTO ESTRUTURADO
CABEAMENTO ESTRUTURADOCABEAMENTO ESTRUTURADO
CABEAMENTO ESTRUTURADO
 
Aula 1 semana
Aula 1 semanaAula 1 semana
Aula 1 semana
 
Introducao vpn (1)
Introducao vpn (1)Introducao vpn (1)
Introducao vpn (1)
 
Capítulo 10 detecção e correção de erros
Capítulo 10   detecção e correção de errosCapítulo 10   detecção e correção de erros
Capítulo 10 detecção e correção de erros
 
Redes de computadores 2 - Protocolos
Redes de computadores 2 - ProtocolosRedes de computadores 2 - Protocolos
Redes de computadores 2 - Protocolos
 
Aula 6 análise de conglomerados
Aula 6  análise de conglomeradosAula 6  análise de conglomerados
Aula 6 análise de conglomerados
 

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