Aprendizagem de Máquina - Agrupamento Prof. Sérgio Queiroz Slides inicialmente preparados pelo Prof. Ricardo Prudêncio, aos quais foram feitas modificações.

Slides:



Advertisements
Apresentações semelhantes
Agrupamentos Baseados em Probabilidade Marcílio Souto DIMAp/UFRN.
Advertisements

Paulo Sérgio Rodrigues PEL205
Experiments with Clustering as a Software Remodularization Method Nicolas Anquetil and Timothy C. Lethbridge University of Ottawa, Canada WCRE 1999:
Análise de Agrupamentos (Clusters) Marcílio C. P. de Souto DIMAp/UFRN.
Robson de Carvalho Soares
Mineração de Dados Avaliação de Classificadores
Engenharia de Software
Agrupamento (clustering)
Adaptive Resonance Theory Carpenter & Grossberg
Prof. Júlio Cesar Nievola
Método K-medóides Algoritmos PAM e CLARA
Análise de Clusters – Introdução Método K-means
Método de Clusterização baseado em Densidade Algoritmo DBSCAN
ANÁLISE DE AGRUPAMENTO
Reconhecimento de Padrões Tipos de Aprendizagem
Reconhecimento de Padrões Segmentação
Computação Evolutiva: Estratégias Evolutivas
Reconhecimento de Padrões Dissimilaridade
Reconhecimento de Padrões Tipos de Aprendizagem David Menotti, Ph.D. Universidade Federal de Ouro Preto (UFOP) Programa.
Reconhecimento de Padrões Segmentação
Quantização de cores em Imagens: o caso do K-means
Padrões GoF - Strategy.
Agrupamento de Dados: uma Revisão Data Clustering
TESE DE MESTRADO APLICAÇÃO DE REDES NEURAIS DE
Agrupamento de padrões Métodos hierárquicos
Algoritmos Genéticos - Capítulo 10 Representação Numérica
INF 1771 – Inteligência Artificial
Alexandre Xavier Falcão & David Menotti
CLUSTERING: UMA REVISÃO AOS ALGORITMOS BÁSICOS
Link Mining Víctor Medeiros.
Aprendizagem de Máquina - Agrupamento
D ETECÇÃO DE C OMUNIDADES Ricardo Prudêncio. L INK M INING - T AREFAS Relacionadas a Objetos Relacionadas a Arestas Relacionadas a Grafos Ranking de Nós.
Agrupamentos / Clustering
Clustering de Documentos
Aprendizado Baseado em Instâncias – Algoritmo k-NN
Classificação. Classificação: Atribuição a uma classe (rótulo de um atributo categórico). Classifica dados (constrói um modelo) baseado em um conjunto.
Caracterização de consumos
K-Means / Clustering.
E NHANCED S ELF -O RGANIZING I NCREMENTAL N EURAL N ETWORK FOR O NLINE U NSUPERVISED L EARNING Cesar Lima José Francisco Maíra Nascimento.
Clustering Estudo de métodos computacionais para encontrar os grupos naturais existentes nos dados. Processo também conhecido por Segmentação ou por Aprendizagem.
Avaliação de Clusteres Parte II
MapReduce Conceitos e Aplicações
CIn-UFPE1 Recuperação Inteligente de Informação Agrupamento de Texto.
Comitês (Ensembles) de Agrupamentos Marcílio C. P. de Souto DIMAp/UFRN.
Seleção de Atributos Ricardo Prudêncio.
SISTEMAS OPERACIONAIS I
Roberto A. G. Motta sob orientação do Prof. Dr. Siang Wun Song
Universidade Estadual Paulista “Júlio de Mesquita Filho” FCLassis – Depto de Ciências Biológicas Programa de Pós-graduação em Biociências Área de Concentração.
Análise de Agrupamentos
Experimentação Algorítmica
Análise de padrões de uso em grades computacionais oportunistas
Aula 8. Classificação Não Supervisonada por Regiões
C LASSIFICAÇÃO DE N ÓS Ricardo Prudêncio. L INK M INING - T AREFAS Relacionadas a Objetos Relacionadas a Arestas Relacionadas a Grafos Ranking de Nós.
Análise de Agrupamentos Marcílio Souto DIMAp/UFRN.
Algoritmos de Agrupamento (Clustering): Métodos Hierárquicos e k-médias Marcílio C. P. de Souto DIMAp/UFRN.
Aprendizado não-supervisionado
Revisão 2° Bimestre Inteligência Artificial. Redes Neurais.
Best Combination of Binarization Methods for License Plate Character Segmentation (2013) - Resumo Vinicius Queiroz e Vinicius M. de Almeida.
Recuperação Inteligente de Informação
Classificação/Categorização Christian Diego – cdad Icamaan Viegas – ibvs.
Estatística: Aplicação ao Sensoriamento Remoto SER ANO 2015 Análise de Agrupamento Camilo Daleles Rennó
Clustering Algorithms for Gene Expression Analysis Pablo Viana Fagner Nascimento.
Marcus Sampaio DSC/UFCG. Marcus Sampaio DSC/UFCG Classificação Não Supervisionada As instâncias não são previamente classificadas Um algoritmo de classificação.
Classificação de Textos
DETECÇÃO DE COMUNIDADES TAIA
CIn-UFPE1 Recuperação Inteligente de Informação Agrupamento de Texto.
Marcos Corrêa Neves Gilberto Câmara Renato M. Assunção
Text Clustering Tarcísio Pontes Rafael Anchieta. Roteiro Motivação Introdução Representação de documentos Redução da dimensão Clustering para textos Avaliação.
Camilo Daleles Rennó Estatística: Aplicação ao Sensoriamento Remoto SER ANO 2016 Análise.
Text Clustering Anaury Norran Italo Lima Robertson Novelino Tomás Almeida.
Transcrição da apresentação:

Aprendizagem de Máquina - Agrupamento Prof. Sérgio Queiroz Slides inicialmente preparados pelo Prof. Ricardo Prudêncio, aos quais foram feitas modificações

Clustering (Agrupamento)  Particionar objetos em clusters de forma que: Objetos dentro de um cluster são similares Objetos de clusters diferentes são diferentes  Descobrir novas categorias de objetos de uma maneira não-supervisionada Rótulos de classes não são fornecidos a priori

Clustering - Etapas Representação Padrões (Vetores) Redução da dimensionalidade Seleção ou extração de características Clustering Cluster A Cluster B Cluster C Objetos Similaridade Objetos Partição

Tipos de Clustering  Algoritmos Flat (ou Particional) Geram partição “plana”, i.e. não existe relação hierárquica entre os clusters  Algoritmos Hierárquicos Geram uma hierarquia de clusters, i.e. cada cluster é associado a um cluster-pai mais genérico  Vantagem: diferentes visões dos dados

Tipos de Clustering  Hard Cada objeto pertence exclusivamente a um único grupo na partição  Fuzzy Cada objeto está associado a um cluster com certo grau de pertinência (graus de pertinência em [0, 1] com soma 1)  Partição Fuzzy pode ser convertida facilmente para uma partição hard  Possibilista Cada objeto está associado a um cluster com certo grau de pertinência (graus de pertinência em [0,1], soma não precisa ser 1)

Exemplos em que Possibilista pode ser mais adequado que Fuzzy Em um algoritmo fuzzy, tipicamente: A terá um grau de pertinência à classe 1 maior do que B, embora eles sejam “simétricos ao centro do cluster”. A e C terão valores de pertinência similares para classe 1, embora C pareça ser um ponto “mais típico” de 1 do que A Exemplos de [Krishnapuram and Keller, 1993]

Exemplos em que Possibilista pode ser mais adequado que Fuzzy Em um algoritmo fuzzy, tipicamente: Tanto A quanto B terão graus de pertinência similar a cada um dos clusters, embora A pareça ser um ponto muito mais adequado a ambos do que B Exemplos de [Krishnapuram and Keller, 1993]

Exemplos em que Possibilista pode ser mais adequado que Fuzzy Em um algoritmo fuzzy, tipicamente: Tanto A quanto B terão graus de pertinência similar a cada um dos clusters, digamos por volta de 0,5. No entanto tanto A quanto B intuitivamente parecem ser outliers e deveriam ter baixos graus de pertinência (ainda mais para B) Exemplos de [Krishnapuram and Keller, 1993]

Tipos de Clustering  Incremental Partição é atualizada a cada novo objeto observado  Em geral, apenas um número pequeno de clusters é modificado  Não-incremental Partição é gerada de uma única vez usando todos os objetos disponíveis

Algoritmo K-Means

Algoritmo k-Means  Algoritmo particional baseado em Otimização do Erro Quadrado Conjunto de Objetos Partição i-ésimo objeto do cluster j centróide do cluster j

Algoritmo k-Means  Encontra de forma interativa os centróides dos clusters d1d1 d2d2 Centróide A

Algoritmo k-Means  Clusters definidos com base nos centróides (centro de gravidade, ou o ponto médio dos cluster:  Alocação dos objetos nos clusters feita com base na similaridade com o centróide até critério de parada

Algoritmo k-Means  Passo 1: Defina k centróides iniciais, escolhendo k objetos aleatórios;  Passo 2: Aloque cada objeto para o cluster correspondente ao centróide mais similar;  Passo 3: Recalcule os centróides dos clusters.  Passo 4: Repita passo 2 e 3 até atingir um critério de parada e.g. até um número máximo de iterações ou; até não ocorrer alterações nos centróides (i.e. convergência para um mínimo local da função de erro quadrado)

k-Means (Exemplo com K=2) Inicializar centróides Alocar objetos Computar centróides x x Realocar objetos x x x x Computar centróides Realocar objetos Convergiu!

Algoritmo k-Means  O k-Means tende a gerar clusters esféricos  Assim pode falhar para clusters naturais com formas mais complexas Exemplo -->

Algoritmo k-Means  O k-Means é popular pela facilidade de implementação, e eficiência no tempo O(nK), onde n é o número de objetos e K é o número de clusters Essa eficiência é relativa a uma iteração do k-Means O tempo de execução é dependente de quantas iterações são necessárias até a convergência  Na prática, são poucas  Mas no pior caso, pode ser muito ruim. Ver [D. Arthur et al, 2006 e 2011]  Comentários: Não adequado para atributos categóricos Sensível a outliers e ruído Converge para mínimos locais Desempenho do algoritmo é dependente da escolha dos centróides iniciais

Algoritmo k-Medoid  Similar ao k-Means mas cada cluster é representado por um objeto que realmente existe (medoid)  Medoid é o objeto do grupo cuja similaridade média com os outros objetos possui o valor máximo  Comentários: Tolerante a outliers e adequado para atributos categóricos Porém, custo mais alto

Algoritmos Hierárquicos

 Geram uma partição onde os clusters são organizados em uma hierarquia  Permite ao usuário ter diferentes visões dos objetos sendo agrupados

A B C D E F G X1X1 X2X2 Dendrograma

Tipos de Algoritmos Hierárquicos  Algoritmos Hierárquicos Divisivos ou Particionais Assumem estratégia top-down Iniciam com cluster mais geral que é progressivamente dividido em sub-cluster  Algoritmos Hierárquicos Aglomerativos Assumem estratégia bottom-up Iniciam com clusters específicos que são progressivamente unidos

Algoritmos Hierárquicos Divisivos  Passo 1: Inicie alocando todos os documentos em um cluster;  Passo 2: A partir da estrutura existente de grupos, selecione um cluster para particionar; Em geral, o maior cluster, ou o cluster menos homogêneo  Passo 3: Particione o grupo em dois ou mais subgrupos;  Passo 4: Repita os passos 2 e 3 até que um critério de parada seja verificado e.g., até atingir um número desejado de grupos

Algoritmos Hierárquicos Divisivos  Bi-Secting k-Means Uso do algoritmo k-Means na etapa de divisão dos clusters Clusters são sucessivamente particionados em 2 sub- clusters Complexidade: O(n log(n))

Algoritmos Hierárquicos Aglomerativos  Passo 1: Inicie alocando cada documento como um cluster diferente;  Passo 2: Selecionar o par de clusters mais similares entre si e os agrupe em um cluster mais geral;  Passo 3: Repita o passo 2 até a verificação de um critério de parada e.g., até que todos os documentos sejam agrupados em um único cluster Complexidade: O(n2 log(n))

Algoritmos Hierárquicos Aglomerativos  Algoritmos variam conforme a maneira de medir similaridade entre dois clusters Single-Link: definida como a máxima similaridade entre os membros dos clusters Complete-Link: definida como a mínima similaridade entre os membros dos clusters Average-Link: definida como a média da similaridade entre os membros dos clusters

Single Link  Similaridade entre clusters:  Efeito: Produz clusters mais alongados (efeito cadeia)

Single Link - Exemplo

Complete Link  Similaridade entre clusters:  Efeito: Produz clusters mais coesos e compactos

Complete Link - Exemplo

Single Link Complete Link Single-Link conecta pontos de classes diferentes através de uma cadeia de pontos com ruído (*) Single Link X Complete Link

Complete-Link não é capaz de identificar cluster de pontos (1) Single Link X Complete Link

Average-Link  Similaridade entre clusters:  Efeito: Equilíbrio entre clusters coesos e flexíveis Em alguns contextos (e.g., clustering de texto) tem se mostrado mais eficaz

Algoritmo Aglomerativo Baseado em Centróides  Similaridade entre clusters é definido como a similaridade entre seus centróides x

Algoritmos Hierárquicos  Resumo: Os algoritmos hierárquicos divisivos são menos custosos que os aglomerativos Dentre os aglomerativos, o Average-Link funciona melhor em algumas aplicações Desempenho pode ser melhorado através da combinação de técnicas

Referências  D. Arthur, B.Manthey, H.Röglin, Smoothed analysis of the k-means method, Journal of the ACM 58(2011)19:1–19:31.Smoothed analysis of the k-means method  D. Arthur, S.Vassilvitskii, How slow is the k-means method? In: N. Amenta, O. Cheong (Eds.), Symposium on Computational Geometry, ACM, 2006, pp.144–153.How slow is the k-means method?  Jain, A. K., Murty, M. N., and Flynn, P. (1999). Data clustering: a review. ACM Computing Surveys, 3(31):264–323.Data clustering: a review  Xu, R. and Wunsch II, D. (2005). Survey of Clustering Algorithms, IEEE Trans. on Neural Networks, 16(3): Survey of Clustering Algorithms  Jiang, D., T., Tang, and Zhang, A. (2004). Cluster Analysis for Gene Expression Data: A Survey, IEEE Trans. on Knowledge and Data Engineering, 16(11).Cluster Analysis for Gene Expression Data: A Survey