Formação de agrupamentos: conceitos básicos e algoritmos prof

Slides:



Advertisements
Apresentações semelhantes
AULA 02 PROGRAMAÇÃO LINEAR INTEIRA
Advertisements

Programação em Java Prof. Maurício Braga
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.
Ludwig Krippahl, 2007 Programação para as Ciências Experimentais 2006/7 Teórica 9.
Ludwig Krippahl, 2008 Programação para as Ciências Experimentais 2007/8 Teórica 11.
Vetores Representação e características Operações I Decomposição
Software Básico Silvio Fernandes Universidade Federal Rural do Semi-Árido Departamento de Ciências Exatas e Naturais Ciência da Computação Aula.
Sinais e Sistemas – Capítulo 3
João Carlos Porto Orientadora: Prof.ª Dr.ª Junia Coutinho Anacleto 26/03/2010 Projeto de interceo.
Agrupamento (clustering)
HAC MD -junho/ Noções de algoritmos e estudo de casos das principais tarefas de Mineração de dados.
Modelos no Domínio do Tempo de Sistemas LTI Contínuos
Método Hierárquico Aglomerativo de Clusterização Algoritmo CURE
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
Avaliação de Clusteres
Análise de regressão linear simples: abordagem matricial
Relações Adriano Joaquim de O Cruz ©2002 NCE/UFRJ
1 Complexidade de Algoritmos Complexidade de pior caso Complexidade de melhor caso de uso bem menos freqüente em algumas situações específicas Complexidade.
Árvores.
Estatística Básica Utilizando o Excel
Reconhecimento de Padrões Tipos de Aprendizagem
Reconhecimento de Padrões Segmentação
BCC101 – Matemática Discreta
Capítulo 6 Estimativas e Tamanho de Amostras
Quantização de cores em Imagens: o caso do K-means
Apresentação: Léia Michelle de Souza
Organização da Memória Principal
José Augusto Baranauskas
Ambiente de simulação Os algoritmos previamente discutidos foram analisados usando um simulador de mobilidade. Ele modela uma cidade de 20 Km de raio,
Classes e objetos Modelagem
Técnica de Contagem.
INF 1771 – Inteligência Artificial
TENSÕES E CORRENTES EM CIRCUITOS TRIFÁSICOS BALANCEADOS Sistemas de potência são alimentados por geradores trifásicos. De maneira ideal, os geradores suprem.
IDENTIFICAÇÃO, MODELAGEM E ANÁLISE DE PROCESSOS Luís Gonzaga Trabasso
QFD: MATRIZ 1.
Aprendizado de Máquina
Inteligência Artificial
Alexandre Xavier Falcão & David Menotti
CLUSTERING: UMA REVISÃO AOS ALGORITMOS BÁSICOS
Aprendizagem de Máquina - Agrupamento
Tópicos Avançados de Base de Dados
K-Means / Clustering.
Clustering Estudo de métodos computacionais para encontrar os grupos naturais existentes nos dados. Processo também conhecido por Segmentação ou por Aprendizagem.
Análise Fatorial Factor analysis.
Centro de Gravidade e Centróide Cap. 9
Avaliação de Clusteres Parte II
CIn-UFPE1 Recuperação Inteligente de Informação Agrupamento de Texto.
Projeto de Banco de Dados
1 2 Observa ilustração. Cria um texto. Observa ilustração.
Computação Gráfica Aula 3 Transformações Geométricas
Regressão Pontos mais importantes: -objectivo -regressão linear
Ceça Moraes – Introdução à Programação SI1
Resolução de sistemas de equações lineares
Máquina de Turing Universal
Aprendizagem de Máquina - Agrupamento Prof. Sérgio Queiroz Slides inicialmente preparados pelo Prof. Ricardo Prudêncio, aos quais foram feitas modificações.
BCC 101 – Matemática Discreta I
Campus de Caraguatatuba Aula 9: Noções Básicas sobre Erros (3)
Fontes de Erros Aula 1 Introdução; Erros em processos numéricos;
Técnicas de Localização para Robôs em Ambientes Internos Claudia Patricia Ochoa Díaz Mestrado em Sistemas Mecatrônicos UnB
Sistemas de Recomendação – Filtragem Colaborativa
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
Recuperação Inteligente de Informação
Estatística: Aplicação ao Sensoriamento Remoto SER ANO 2015 Análise de Agrupamento Camilo Daleles Rennó
CIn-UFPE1 Recuperação Inteligente de Informação Agrupamento de Texto.
Camilo Daleles Rennó Estatística: Aplicação ao Sensoriamento Remoto SER ANO 2016 Análise.
Transcrição da apresentação:

Formação de agrupamentos: conceitos básicos e algoritmos prof Formação de agrupamentos: conceitos básicos e algoritmos prof. Luis Otavio Alvares INE/UFSC Parte desta apresentação é baseada em material do livro Introduction to Data Mining de Tan, Steinbach, Kumar e de material do prof. José Leomar Todesco (UFSC)

Conceitos O problema de Clustering é descrito como: recebido um conjunto de dados (de objetos), tentar agrupá- los de forma que os elementos que compõem cada grupo sejam mais parecidos entre si do que parecidos com os elementos dos outros grupos. Em resumo, é colocar os iguais (ou quase iguais) juntos num mesmo grupo e os desiguais em grupos distintos.

O que é formação de agrupamentos (clustering)? Dado um conjunto de objetos, colocar os objetos em grupos baseados na similaridade entre eles Inerentemente é um problema não definido claramente Como agrupar os animais seguintes? Adaptado de material de Marcílio C. P. de Souto - DIMAp/UFRN

O que é formação de agrupamentos (clustering)? Dado um conjunto de objetos, colocar os objetos em grupos baseados na similaridade entre eles Inerentemente é um problema não definido claramente Como agrupar os animais seguintes? Com bico Sem bico Adaptado de material de Marcílio C. P. de Souto - DIMAp/UFRN

O que é formação de agrupamentos (clustering)? Dado um conjunto de objetos, colocar os objetos em grupos baseados na similaridade entre eles Inerentemente é um problema não definido claramente Como agrupar os animais seguintes? Água Terra Adaptado de material de Marcílio C. P. de Souto - DIMAp/UFRN

O que é formação de agrupamentos (clustering)? Como agrupar os animais seguintes? Dado um conjunto de objetos, colocar os objetos em grupos baseados na similaridade entre eles Inerentemente é um problema não definido claramente Ave Mamífero Adaptado de material de Marcílio C. P. de Souto - DIMAp/UFRN

O que é formação de agrupamentos (clustering)? Dado um conjunto de objetos, colocar os objetos em grupos baseados na similaridade entre eles Distâncias entre cluster são maximizadas Distâncias intra-cluster são minimizadas

Aplicações de clustering Entendimento Agrupar documentos relacionados, agrupar proteínas com funcionalidades similares, agrupar ações com as mesmas flutuações de preço Sumarização Reduzir o tamanho de grandes conjuntos de dados Agrupando a precipitação na Austrália

A noção de cluster pode ser ambígua Quantos clusters? Seis Clusters Dois Clusters Quatro Clusters

Dificuldades Encontrar o melhor agrupamento para um conjunto de objetos não é uma tarefa simples, a não ser que n (número de objetos) e k (número de clusters) sejam extremamente pequenos, visto que o número de partições distintas em que podemos dividir n objetos em k clusters é aproximadamente kn/k! Ex. k=2 e n=5 então são 16 formas de dividir 5 elementos em 2 grupos.

Dificuldades Para agrupar 25 objetos em 5 grupos, existem 2.436.684.974.110.751 maneiras possíveis. E se o número de clusters é desconhecido, precisamos somar todas as partições possíveis para cada número de clusters entre 2 e 5 (desconsiderando um só cluster).

Dificuldades Porque a efetividade dos algoritmos de Clustering é um problema: 1. Quase todos os algoritmos de Clustering requerem valores para os parâmetros de entrada que são difíceis de determinar, especialmente para conjuntos de dados do mundo real contendo objetos com muitos atributos.

Dificuldades 2. Os algoritmos são muito sensíveis a estes valores de parâmetros, freqüentemente produzindo partições muito diferentes do conjunto de dados mesmo para ajustes de parâmetros significativamente pouco diferentes. 3. Conjuntos de dados reais de alta dimensão (muitos atributos) têm uma distribuição muito ampla o que dificulta a análise.

Medidas de Similaridade As medidas de similaridade fornecem valores numéricos que expressam a “distância” entre dois objetos. Quanto menor o valor desta “distância”, mais semelhantes serão os objetos, e tenderão a ficar no mesmo cluster. Quanto maior a “distância”, menos similares serão os objetos e, em conseqüência, eles deverão estar em grupos distintos.

Medidas de Similaridade Uma função de distância deve ser tal que: não assuma valores negativos (o menor valor é 0); ser simétrica (a distância do objeto i ao j tem que ser igual à distância do objeto j ao i); forneça o valor 0 quando calculada a distância do objeto a si mesmo ou quando dois objetos são idênticos; respeite a desigualdade triangular, (dados 3 objetos, a distância entre dois deles tem que ser menor ou igual a soma das distâncias entre esses dois objetos e o terceiro).

Medidas de Similaridade Distância Euclidiana City block (Manhattan, taxicab, L1 norm, Hamming) Um exemplo comum é a distância de Hamming, que é o número de bits que é diferente entre dois vetores binários

Métrica de Canberra coeficiente de CzeKanowski

Medidas de Similaridade Não há uma medida de similaridade que sirva para todos os tipos de variáveis que podem existir numa base de dados. Variáveis numéricas: A medida que é normalmente usada para computar as dissimilaridades de objetos descritos por variáveis numéricas é a Distancia Euclidiana A normalização faz com que todas as variáveis tenham um peso igual. A normalização deve ser efetuada para todos os atributos.

Medidas de Similaridade

Medidas de Similaridade Exemplos para strings: Cores = {Branco, Amarelo, Vermelho, Marrom, Preto} x1 = Branco y1 = Amarelo Opção1: medida binária de similaridade 0, se a1 = a2 d(x1,y1) = 1, se a1  a2

Medidas de Similaridade Opção2: transformar o string em um valor numérico (mais usado quando há ordem entre os valores nominais) E usar a distância Euclidiana Vermelho Preto Marrom Amarelo 0,25 0,5 0,75 1 Branco

Principais abordagens de Clustering Particionamento (K-médias e variantes) Divide os pontos (dados) em conjuntos disjuntos (clusters) tal que cada ponto pertence a um único cluster Hierárquica Um conjunto de clusters aninhados organizados como uma árvore Baseadas em densidade Encontra clusters baseado na densidade de regiões Baseadas em grade (Grid-based) Encontra clusters baseado no número de pontos em cada célula

K-médias (K-means) Abordagem por particionamento Cada cluster está associado a um centróide (ponto central) Cada ponto é associado ao cluster cujo centróide está mais próximo Número de clusters, K, precisa ser especificado O algoritmo básico é bem simples:

K-médias: exemplo do funcionamento

K-médias: partição Diagrama de Voronoi – poliedros convexos em torno dos centróides

k-means (Exemplo) Dataset a ser clusterizado Usar k=2 (parâmetro informado pelo usuário) Dataset a ser clusterizado

k-means (Exemplo) Passo 1 Determina-se os centróides iniciais (normalmente pega-se ao acaso k pontos (registros): por exemplo os registros A e B), isto é: C1(1) = (5,3) C2(1) = (-1,1)

k-means (Exemplo) Passo 2: Calcula-se as distâncias de cada ponto aos centróides, para definir os cluster iniciais. Os clusters são: C1 = {A} C2 = {B,C,D} Pois C e D estão mais perto de B do que de A

k-means (Exemplo) Passo 3: cálculo dos novos centróides C1(2)= (5,3)  

k-means (Exemplo) Passo 4: novo cálculo dos clusters Os clusters são: C1 = {A} C2 = {B,C,D} Pois: A está mais perto de C12 do que de C22 B, C e D estão mais perto de C22 do que de C12 Como os elementos dos clusters não se alteraram, os centróides vão ser os mesmos e com isso o algoritmo para.

Outros exemplos com o k-médias

Dois conjuntos de clusters diferentes gerados pelo K-médias Pontos originais Particionamento ótimo Particionamento sub-ótimo

Importância de escolher os centróides iniciais

Importância de escolher os centróides iniciais

Avaliando os clusters gerados A medida mais comum é a soma dos erros quadrados (Sum of Squared Error - SSE) Para cada ponto, o erro é a distância ao centróide mais próximo x é um ponto de dados no cluster Ci e mi é o ponto representativo (centróide) do cluster Ci Uma maneira fácil de reduzir o SSE é aumentar K, o número de clusters Um bom particionamento com um K pequeno pode ter um SSE menor do que um mau particionamento com um K maior

Importância da escolha dos centróides iniciais

Importância da escolha dos centróides iniciais

Exemplo com 10 clusters Iniciando com dois centróides em um cluster para cada par de clusters

Exemplo com 10 clusters Iniciando com dois centróides em um cluster para cada par de clusters

Exemplo com 10 clusters Iniciando com um par de clusters tendo 3 centróides iniciais e outro par com somente um.

Exemplo com 10 clusters Iniciando com um par de clusters tendo 3 centróides iniciais e outro par com somente um.

Pré e Pós-processamento Pré-processamento Normalize os dados Elimine exceções (outliers) Pós-processamento Elimine clusters pequenos que podem representar outliers Divida clusters “fracos” i.e., clusters com SSE relativamente alto Junte clusters que estão “perto” e que tenham SSE relativamente baixo

Limitações do K-médias K-médias tem problemas quando os clusters têm Tamanhos diferentes Densidades diferentes Formato não esférico K-médias tem problemas quando os dados contêm outliers.

Limitações do K-médias: tamanhos diferentes Pontos originais K-médias (3 Clusters)

Limitações do K-médias: densidades diferentes pontos originais K-médias (3 Clusters)

Limitações do K-médias: formatos não esféricos Pontos originais K-médias (2 Clusters)

Superando as limitações do K-médias Pontos originais Clusters do K-médias Uma solução é usar muitos clusters. Encontra partes de clusters, mas que precisam ser unidos.

Superando as limitações do K-médias Pontos originais clusters do K-médias

Superando as limitações do K-médias Pontos originais clusters do K-médias

O algoritmo K-médias é sensível a ruídos visto que um objeto com um valor extremamente grande pode, distorcer a distribuição de dados. Para diminuir essa sensibilidade, no algoritmo K- medoids, ao invés de utilizar o valor médio dos objetos em um cluster como um ponto referência, a mediana é utilizada, que é o objeto mais centralmente localizado em um cluster.

Métodos de K-medoids (K-medianas) Em vez de médias (centróides), usa objetos representativos chamados medoids PAM (Partitioning Around Medoids, 1987) – inicia com um conjunto de medoids e iterativamente substitui um dos medoids por um dos pontos não-medoids se ele melhora a distância total do particionamento resultante CLARA (Clustering Large Applications, 1990) – It draws multiple samples of the data set, applies PAM on each sample, and gives the best clustering as the output CLARANS (“Randomized “CLARA, 1994) – mais eficiente e escalável que CLARA e PAM

Exercício + +