Clustering 1

52
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)

description

Clustering 1

Transcript of Clustering 1

  • Formao de agrupamentos: conceitos bsicos e algoritmos

    prof. Luis Otavio AlvaresINE/UFSCParte desta apresentao baseada em material do livroIntroduction to Data Mining de Tan, Steinbach, Kumar e de material do prof. Jos Leomar Todesco (UFSC)

    Prof. Luis Otavio Alvares*

    ConceitosO problema de Clustering descrito como: recebido um conjunto de dados (de objetos), tentar agrup-los de forma que os elementos que compem 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.*

  • Dado um conjunto de objetos, colocar os objetos em grupos baseados na similaridade entre eles

    Inerentemente um problema no definido claramente Como agrupar os animais seguintes?O que formao de agrupamentos (clustering)?Adaptado de material de Marclio C. P. de Souto - DIMAp/UFRN

  • Dado um conjunto de objetos, colocar os objetos em grupos baseados na similaridade entre eles

    Inerentemente um problema no definido claramente

    Como agrupar os animais seguintes?Com bicoSem bicoO que formao de agrupamentos (clustering)?Adaptado de material de Marclio C. P. de Souto - DIMAp/UFRN

  • Dado um conjunto de objetos, colocar os objetos em grupos baseados na similaridade entre eles

    Inerentemente um problema no definido claramente Como agrupar os animais seguintes?TerraguaO que formao de agrupamentos (clustering)?Adaptado de material de Marclio C. P. de Souto - DIMAp/UFRN

  • Dado um conjunto de objetos, colocar os objetos em grupos baseados na similaridade entre eles

    Inerentemente um problema no definido claramente Como agrupar os animais seguintes?AveMamferoO que formao de agrupamentos (clustering)?Adaptado de material de Marclio C. P. de Souto - DIMAp/UFRN

  • O que formao de agrupamentos (clustering)?Dado um conjunto de objetos, colocar os objetos em grupos baseados na similaridade entre eles

  • Aplicaes de clusteringEntendimentoAgrupar documentos relacionados, agrupar protenas com funcionalidades similares, agrupar aes com as mesmas flutuaes de preo

    SumarizaoReduzir o tamanho de grandes conjuntos de dados

    Agrupando a precipitao na Austrlia

    Discovered Clusters

    Industry Group

    1

    Applied-Matl-DOWN,Bay-Network-Down,3-COM-DOWN,

    Cabletron-Sys-DOWN,CISCO-DOWN,HP-DOWN,

    DSC-Comm-DOWN,INTEL-DOWN,LSI-Logic-DOWN,

    Micron-Tech-DOWN,Texas-Inst-Down,Tellabs-Inc-Down,

    Natl-Semiconduct-DOWN,Oracl-DOWN,SGI-DOWN,

    Sun-DOWN

    Technology1-DOWN

    2

    Apple-Comp-DOWN,Autodesk-DOWN,DEC-DOWN,

    ADV-Micro-Device-DOWN,Andrew-Corp-DOWN,

    Computer-Assoc-DOWN,Circuit-City-DOWN,

    Compaq-DOWN, EMC-Corp-DOWN, Gen-Inst-DOWN,

    Motorola-DOWN,Microsoft-DOWN,Scientific-Atl-DOWN

    Technology2-DOWN

    3

    Fannie-Mae-DOWN,Fed-Home-Loan-DOWN,

    MBNA-Corp-DOWN,Morgan-Stanley-DOWN

    Financial-DOWN

    4

    Baker-Hughes-UP,Dresser-Inds-UP,Halliburton-HLD-UP,

    Louisiana-Land-UP,Phillips-Petro-UP,Unocal-UP,

    Schlumberger-UP

    Oil-UP

  • A noo de cluster pode ser ambgua

    Prof. Luis Otavio Alvares*

    Encontrar o melhor agrupamento para um conjunto de objetos no uma tarefa simples, a no ser que n (nmero de objetos) e k (nmero de clusters) sejam extremamente pequenos, visto que o nmero de parties distintas em que podemos dividir n objetos em k clusters aproximadamente

    kn/k! Ex. k=2 e n=5 ento so 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 possveis.

    E se o nmero de clusters desconhecido, precisamos somar todas as parties possveis para cada nmero 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 parmetros de entrada que so difceis de determinar, especialmente para conjuntos de dados do mundo real contendo objetos com muitos atributos.

    Dificuldades*

  • 2. Os algoritmos so muito sensveis a estes valores de parmetros, freqentemente produzindo parties muito diferentes do conjunto de dados mesmo para ajustes de parmetros significativamente pouco diferentes.

    3. Conjuntos de dados reais de alta dimenso (muitos atributos) tm uma distribuio muito ampla o que dificulta a anlise.Dificuldades*

  • Medidas de SimilaridadeAs medidas de similaridade fornecem valores numricos que expressam a distncia entre dois objetos.

    Quanto menor o valor desta distncia, mais semelhantes sero os objetos, e tendero a ficar no mesmo cluster.

    Quanto maior a distncia, menos similares sero os objetos e, em conseqncia, eles devero estar em grupos distintos.*

    Prof. Luis Otavio Alvares*

    Uma funo de distncia deve ser tal que:

    no assuma valores negativos (o menor valor 0);

    ser simtrica (a distncia do objeto i ao j tem que ser igual distncia do objeto j ao i);

    fornea o valor 0 quando calculada a distncia do objeto a si mesmo ou quando dois objetos so idnticos;

    respeite a desigualdade triangular, (dados 3 objetos, a distncia entre dois deles tem que ser menor ou igual a soma das distncias entre esses dois objetos e o terceiro). Medidas de Similaridade

    Prof. Luis Otavio Alvares*

    Medidas de SimilaridadeDistncia Euclidiana

    City block (Manhattan, taxicab, L1 norm, Hamming) Um exemplo comum a distncia de Hamming, que o nmero de bits que diferente entre dois vetores binrios

    Prof. Luis Otavio Alvares*

    Mtrica de Canberra

    coeficiente de CzeKanowski*

  • No h uma medida de similaridade que sirva para todos os tipos de variveis que podem existir numa base de dados.

    Variveis numricas:A medida que normalmente usada para computar as dissimilaridades de objetos descritos por variveis numricas a Distancia Euclidiana

    A normalizao faz com que todas as variveis tenham um peso igual. A normalizao deve ser efetuada para todos os atributos.

    Medidas de Similaridade*

  • Medidas de Similaridade*

    Prof. Luis Otavio Alvares*

    Exemplos para strings:

    Cores = {Branco, Amarelo, Vermelho, Marrom, Preto}x1 = Brancoy1 = Amarelo

    0, se a1 = a2 d(x1,y1) = 1, se a1 a2Opo1: medida binria de similaridadeMedidas de Similaridade

  • Opo2: transformar o string em um valor numrico (mais usado quando h ordem entre os valores nominais)

    E usar a distncia EuclidianaMedidas de Similaridade

    Prof. Luis Otavio Alvares*

    Principais abordagens de Clustering

    Particionamento (K-mdias e variantes)Divide os pontos (dados) em conjuntos disjuntos (clusters) tal que cada ponto pertence a um nico cluster

    HierrquicaUm conjunto de clusters aninhados organizados como uma rvore Baseadas em densidadeEncontra clusters baseado na densidade de regies

    Baseadas em grade (Grid-based)Encontra clusters baseado no nmero de pontos em cada clula

  • K-mdias (K-means)Abordagem por particionamento Cada cluster est associado a um centride (ponto central) Cada ponto associado ao cluster cujo centride est mais prximoNmero de clusters, K, precisa ser especificadoO algoritmo bsico bem simples:

    Prof. Luis Otavio Alvares*

    K-mdias: exemplo do funcionamento

    Prof. Luis Otavio Alvares*

    K-mdias: partioDiagrama de Voronoi poliedros convexos em torno dos centrides

    Prof. Luis Otavio Alvares*

    k-means (Exemplo)Usar k=2 (parmetro informado pelo usurio)

    Dataset a ser clusterizado

    Plan1

    Variveis

    Itemx1x2

    A53

    B-11

    C1-2

    D-3-2

    Plan2

    Plan3

    Prof. Luis Otavio Alvares*

    Passo 1

    Determina-se os centrides 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)

    Prof. Luis Otavio Alvares*

    Passo 2:

    Calcula-se as distncias de cada ponto aos centrides, para definir os cluster iniciais. k-means (Exemplo)Os clusters so:

    C1 = {A}C2 = {B,C,D}

    Pois C e D esto mais perto de B do que de A

    Prof. Luis Otavio Alvares*

    k-means (Exemplo)Passo 3: clculo dos novos centrides

    C1(2)= (5,3)

    C2(2)=

    Prof. Luis Otavio Alvares*

    k-means (Exemplo)Passo 4: novo clculo dos clusters

    Os clusters so:

    C1 = {A}C2 = {B,C,D}

    Pois: A est mais perto de C12 do que de C22B, C e D esto mais perto de C22 do que de C12

    Como os elementos dos clusters no se alteraram, os centrides vo ser os mesmos e com isso o algoritmo para.

    Prof. Luis Otavio Alvares*

    Outros exemplos com o k-mdias

  • Dois conjuntos de clusters diferentes gerados pelo K-mdiasPontos originais

  • Importncia de escolher os centrides iniciais

  • Importncia de escolher os centrides iniciais

  • Avaliando os clusters geradosA medida mais comum a soma dos erros quadrados (Sum of Squared Error - SSE)Para cada ponto, o erro a distncia ao centride mais prximo

    x um ponto de dados no cluster Ci e mi o ponto representativo (centride) do cluster Ci Uma maneira fcil de reduzir o SSE aumentar K, o nmero de clusters Um bom particionamento com um K pequeno pode ter um SSE menor do que um mau particionamento com um K maior

  • Importncia da escolha dos centrides iniciais

  • Importncia da escolha dos centrides iniciais

  • Exemplo com 10 clustersIniciando com dois centrides em um cluster para cada par de clusters

  • Exemplo com 10 clustersIniciando com dois centrides em um cluster para cada par de clusters

  • Exemplo com 10 clustersIniciando com um par de clusters tendo 3 centrides iniciais e outro par com somente um.

  • Exemplo com 10 clustersIniciando com um par de clusters tendo 3 centrides iniciais e outro par com somente um.

  • Pr e Ps-processamentoPr-processamentoNormalize os dadosElimine excees (outliers)

    Ps-processamentoElimine clusters pequenos que podem representar outliersDivida clusters fracos i.e., clusters com SSE relativamente altoJunte clusters que esto perto e que tenham SSE relativamente baixo

  • Limitaes do K-mdiasK-mdias tem problemas quando os clusters tmTamanhos diferentesDensidades diferentesFormato no esfrico

    K-mdias tem problemas quando os dados contm outliers.

  • Limitaes do K-mdias: tamanhos diferentes

    Pontos originaisK-mdias (3 Clusters)

  • Limitaes do K-mdias: densidades diferentes

    pontos originaisK-mdias (3 Clusters)

  • Limitaes do K-mdias: formatos no esfricos

    Pontos originaisK-mdias (2 Clusters)

  • Superando as limitaes do K-mdias

    Pontos originaisClusters do K-mdiasUma soluo usar muitos clusters.Encontra partes de clusters, mas que precisam ser unidos.

  • Superando as limitaes do K-mdias

    Pontos originaisclusters do K-mdias

  • Superando as limitaes do K-mdias

    Pontos originaisclusters do K-mdias

  • O algoritmo K-mdias sensvel a rudos visto que um objeto com um valor extremamente grande pode, distorcer a distribuio de dados.

    Para diminuir essa sensibilidade, no algoritmo K- medoids, ao invs de utilizar o valor mdio dos objetos em um cluster como um ponto referncia, a mediana utilizada, que o objeto mais centralmente localizado em um cluster.

    Prof. Luis Otavio Alvares*

    Mtodos de K-medoids (K-medianas) Em vez de mdias (centrides), 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 no-medoids se ele melhora a distncia 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 outputCLARANS (Randomized CLARA, 1994) mais eficiente e escalvel que CLARA e PAM

    Prof. Luis Otavio Alvares*

    Exerccio++

    *************