Análise de Clusters – Introdução Método K-means

Slides:



Advertisements
Apresentações semelhantes
Algoritmos de Caminho Mínimo em Grafos
Advertisements

Árvores CC/EC/Mestrado Teoria dos Grafos ‏ 1.
Algoritmos em Grafos.
Geometria Computacional Fecho Convexo II
Planos.
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.
Análise de Decisão Aplicada a Gerência Empresarial – UVA Grafos - V
ANÁLISE DISCRIMINANTE
UFES CC/EC/Mestrado Teoria dos Grafos Árvores. UFES CC/EC/Mestrado Teoria dos Grafos Árvores Grafo Acíclico: não possui ciclos.
Excel - Parte 2 Fórmulas e Funções
Excel Profa. Cristina M. Nunes.
Sinais e Sistemas – Capítulo 3
Agrupamento (clustering)
Curso de ADMINISTRAÇÃO
Método Hierárquico Aglomerativo de Clusterização Algoritmo CURE
Método K-medóides Algoritmos PAM e CLARA
Método de Clusterização baseado em Densidade Algoritmo DBSCAN
Aprendem a partir de seus vizinhos AULA 9 DATA MINING Sandra de Amo
Avaliação de Clusteres
Formação de agrupamentos: conceitos básicos e algoritmos prof
Relações Adriano Joaquim de O Cruz ©2002 NCE/UFRJ
Árvores.
Reconhecimento de Padrões Tipos de Aprendizagem
Reconhecimento de Padrões Segmentação
Inteligência Computacional para Otimização
Iana Alexandra Alves Rufino
Apresentação: Léia Michelle de Souza
FUNÇÃO MODULAR.
Agrupamento de padrões Métodos hierárquicos
A Lógica das Sentenças Abertas Profa. Ana Florencia Aula 9
Árvore Geradora Mínima
INF 1771 – Inteligência Artificial
Contagem de Pessoas por Vídeo Usando Câmeras em Posição Zenital
Grafos Msc. Cintia Carvalho Oliveira Doutoranda em Computação – UFU
Calculada a solução óptima
Aprendizado de Máquina
Aprendizado de Máquina Aula 8
Alexandre Xavier Falcão & David Menotti
CLUSTERING: UMA REVISÃO AOS ALGORITMOS BÁSICOS
Aprendizagem de Máquina - Agrupamento
Agrupamentos / Clustering
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.
Pesquisa Operacional Sistemas Lineares
Avaliação de Clusteres Parte II
TESTE DE MATEMÁTICA SEQUÊNCIAS (P.A - P.G)
CIn-UFPE1 Recuperação Inteligente de Informação Agrupamento de Texto.
DIEGO RICARDO DE ARAUJO DEPARTAMENTO DE CIÊNCIA DA COMPUTAÇÃO INSTITUTO DE CIÊNCIA EXATAS UNIVERSIDADE FEDERAL DE JUIZ DE FORA Seleção de Características.
Conceitos básicos em grafos
Computação Gráfica Aula 3 Transformações Geométricas
Redes Neuronais/Neurais/ Conexionistas Introdução
Cálculo da Direção de Caminhada: Gradiente de f(x)
Aprendizagem de Máquina - Agrupamento Prof. Sérgio Queiroz Slides inicialmente preparados pelo Prof. Ricardo Prudêncio, aos quais foram feitas modificações.
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.
Fontes de Erros Aula 1 Introdução; Erros em processos numéricos;
Aula 8. Classificação Não Supervisonada por Regiões
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ó
Clustering Algorithms for Gene Expression Analysis Pablo Viana Fagner Nascimento.
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.
Text Clustering Anaury Norran Italo Lima Robertson Novelino Tomás Almeida.
Ciência da Computação Aprendizado de Máquina (Machine Learning) Aula 12 Aprendizado não Supervisionado Mapas auto-organizáveis Max Pereira.
Transcrição da apresentação:

Análise de Clusters – Introdução Método K-means AULA 14 DATA MINING

Agrupamento -Análise de Clusters Doença X a1 a F 1 b M c d e a1 a2 a3 Doença Y a7 a2 . a9 a10 a8 a5 a4 a6 a11 Doença Z Nome Sexo Sintomas Conceito = Doença Número de Clusters = 3

Análise de Clusters: Objetivos Compreensão dos dados Existe algum conceito inerente a cada grupo. Que conceito é este ? Utilidade em outras tarefas Cada cluster pode ser representado por um objeto protótipo que caracteriza o cluster Sumarização : Algoritmos aplicados em grandes volumes de dados podem ser aplicados apenas aos protótipos, reduzindo assim o tempo de execução Compressão : o objeto protótipo representa cada objeto dentro do seu cluster Otimização do cálculo dos vizinhos mais próximos: Se dois protótipos estão distantes então os objetos nos respectivos clusters também estão distantes. Os objetos mais próximos do objeto X devem ser procurados no cluster correspondente ao protótipo mais próximo de X.

Clusterização versus Classificação Aprendizado Supervisionado Amostras de treinamento são classificadas Número de Classes é conhecido Aprendizado por Exemplo Clusterização Aprendizado Não Supervisionado Aprendizado por Observação

Tipos de Agrupamentos Particionais versus Hierárquicos Particionais: clusters são disjuntos Hierárquicos: Clusters possuem subclusters – organizados em árvore Cada cluster (nó interno da árvore) é a união de seus filhos Exclusivos versus Não-exclusivos versus Fuzzy Exclusivos: cada objeto pertence a um único cluster Não exclusivos: existem objetos que são associados a diferentes clusters Fuzzy : objetos são associados a um cluster com um certo grau de pertinência Completos versus Parciais Completos: cada objeto pertence a algum cluster Parciais: existem objetos que não estão associados a nenhum cluster (outliers, ruidos, sem interesse)

O que é um cluster ? Como definir a noção de Cluster ? Protótipos Bem separados Um cluster é um conjunto de objetos no qual cada objeto está mais próximo (ou é mais similar) a objetos dentro do cluster do que qualquer objeto fora do cluster. Baseados em Protótipos Um cluster é um conjunto de objetos no qual cada objeto está mais próximo ao protótipo que define o cluster do que dos protótipos de quaisquer outros clusters. Em geral: Protótipo = centróide Os clusters encontrados tendem a ser globulares.

O que é um cluster ? - Os dados podem ser representados por um grafo, onde os vértices são objetos e existe aresta de a para b se a está mais perto de b do que de outros objetos no conjunto. Estar perto significa estar diretamente conectado. Um cluster é uma componente conexa do grafo, isto é, um conjunto de objetos que estão conectados um no outro, mas que não estão conectados com nenhum outro objeto de outro cluster. Baseados em Grafos Boa definição quando os clusters são irregulares e entrelaçados. Problema: quando os dados têm ruidos, Pode haver distorções nos clusters Exemplo: dois clusters distintos podem se transformar num único cluster (os dois clusters são ligados através de uns poucos Outliers, como mostrado na figura). a b a está perto de b d(a,b) < α

O que é um cluster ? Esta definição é utilizada quando os clusters são irregulares ou entrelaçados e quando ruido e outliers estão presentes. Uma definição baseada em grafos não seria adequada neste caso, pois os outliers poderiam fazer uma ponte entre as regiões transformando-as em um único cluster. Os outliers seriam absorvidos nos clusters. Baseados em Densidade Um cluster é uma região densa rodeada por uma região de baixa densidade. No exemplo, temos 3 clusters = 3 regiões densas A ‘’ponte’’ de outliers ligando as duas esferas foi ‘’dissolvida’’ nos outros outliers.

O que é um cluster ? Clusters Conceituais Os objetos de um cluster possuem uma propriedade que é derivada do conjunto total de objetos. No exemplo, podemos distinguir 3 clusters: o triângulo, o retângulo e os dois anéis. Um cluster representa um conceito. Definição utilizada em Reconhecimento de Padrões.

Tipos de Técnicas de Clusterização Particionamento K-means: K-medóides: PAM, CLARA, CLARANS Particional e baseada em protótipos. Encontra um número k de clusters (k é fornecido pelo usuário) que são representados por seus centróides.

Particionamento BD com n amostras K = número de clusters desejado ( parâmetro ) K ≤ n

Tipos de Técnicas de Clusterização Hierárquicas Aglomerativas Produzem agrupamentos hierárquicos começando com clusters unitários e repetidamente aglutinando clusters próximos dois a dois até chegar no número k de clusters solicitado pelo usuário. Exemplos: BIRCH, CURE, CHAMELEON, ROCK...)

Hierárquicos Aglomerativos BD com n amostras K = número de clusters desejado ( parâmetro ) K ≤ n

Tipos de Técnicas de Clusterização Hierárquicas Divisórias Produzem agrupamentos hierárquicos começando com um cluster único contendo todo o conjunto de objetos e repetidamente dividindo os clusters em duas partes de acordo com algum critério de similaridade até chegar no número k de clusters solicitado pelo usuário. Exemplo: algoritmo DIANA

Tipos de Técnicas de Clusterização Por densidade Adequados para identificar clusters de formato arbitrário. Robustos com respeito a ruídos e outliers. Regiões densas = clusters Regiões de baixa densidade = ruídos e outliers Um ponto pertence a uma região densa se numa vizinhança de raio α pequeno existem pelo menos M objetos (M dado pelo usuário). O número k de clusters não precisa ser dado pelo usuário. É determinado pelo algoritmo. Exemplos: DBSCAN, OPTICS, DENCLUE

Dados de Treinamento Matriz de dados padronizados Matriz de dissimilaridade x11 x12 x13 ... x1n x21 x22 x23 x2n x31 x32 x33 x3n xp1 xp2 xp3 xpn ... d(x1,x2) d(x1,x3) d(x2,x 3) d(x1,xp) d(x2,x p) Distância Euclidiana d(x,y) = (x1-y1)2 + (x2-y2)2 + .... + (xp – yp)2 Outras distâncias : Manhattan, Minkowski, Ponderada

Outras distâncias Manhattan Minkowski Distância em geral Qualquer função d(x,y)  N que satisfaz as seguintes propriedades: d(i,j) ≥ 0 d(i,i) = 0 d(i,j) = d(j,i) d(i,k) ≤ d(i,j) + d(j,k) (desigualdade triangular) Distância poderada d(x,y) = |x1-y1|+ |x2-y2| + .... + |xp – yp| d(x,y) = (x1-y1)m + (x2-y2)m+ .... + (xp – yp)m m d(x,y) = p1 (x1-y1)2 + p2 (x2-y2)2+ .... +pk (xk – yk)2

Outras medidas de similaridade Para documentos p1,p2, p3, ... : vocabulário (palavras) Um documento = vetor (n1,n2,...,nk) ni = número de vezes que a palavra i aparece no documento Medida de similaridade entre documentos d1,d2 = cos(d1,d2) = d1.d2 |d1| |d2| d1 θ d2

Exercicio Sejam X1 = (1,2) e X2 = (4,6). Calcula as distâncias euclidianas, Minkowski com m = 3 e Manhattan entre X1 e X2. Ilustre no plano xy os segmentos representando tais distâncias.

Algoritmo K-means Exemplo K = 3 + + + 1ª Iteração 2ª Iteração

Algoritmo K-Means Selecione k pontos como centróides iniciais Repeat Forme k clusters associando cada objeto a seu centróide mais próximo Recompute o centróide de cada cluster Until Centróides não apresentam mudanças Centróide = centro de gravidade do cluster Coordenada i = média aritmética das coordenadas i de seus objetos constituintes.

Observações Boa parte dos clusters já convergem nos primeiros passos do algoritmo, ficando somente uma quantidade pequena de clusters que ainda modificam. Assim, a condição 5 do algoritmo é substituida por : “até que somente 1% dos objetos mudam de clusters”.

Objetivo SSE = Σ Σ d(x,ci)2 Coesão = Σ Σ coseno(x,ci)2 Erro (x) = d(x,ci) = distância de x até o centróide ci de seu cluster Ci Objetivo do método K-means Minimizar a soma dos erros (SSE = sum of square errors) Maximizar a coesão (no caso de documentos) SSE = Σ Σ d(x,ci)2 Coesão = Σ Σ coseno(x,ci)2 K K i = 1 x ɛ Ci i = 1 x ɛ Ci

Observação Nem sempre o K-means consegue minimizar o SSE Isto depende muito da escolha dos centróides iniciais.

Técnicas para inicializar os centróides Escolha aleatória – diversas rodadas do k-means até encontrar a escolha que produz o menor SSE (ou maior coesão). Nem sempre funciona- depende dos dados e do número k de clusters que se quer encontrar. Utilizar uma amostra, aplicar um método de clusterização hierárquica sobre a amostra. Centróides iniciais = centróides dos clusters das amostras. Funciona se a amostra é pequena (métodos hierárquicos são computacionalmente caros !) e K é relativamente pequeno com relação ao tamanho da amostra.

Exercício Achar 3 clusters utilizando o k-means 1 1,9 7,3 2 3,4 7,5 3 2.5 6,8 4 1,5 6,5 5 3,5 6,4 6 2,2 5,8 7 5,2 8 3,6 9 3,2 10 4,5 2,4 11 2,6 12 1.9 13 2,7 14 15 0,8 16 1,6 1,8 17 1 2 1 3 4 5 6 7 8 9 12 13 11 14 15 10 16 17 Achar 3 clusters utilizando o k-means