• Nenhum resultado encontrado

Clustering

No documento Luís Miguel Candeias Borges (páginas 37-40)

3. DATA MINING

3.7. Técnicas

3.7.8. Clustering

O clustering hierárquico é uma técnica de aglomeração que se baseia no princípio que os objetos mais próximos fazem parte do mesmo cluster (grupo) e objetos mais afastados fazem parte de outros clusters. A proximidade é determinada através de funções de cálculo de distância, como a de Minkowski (Euclidiana ou Manhattan), Chebyshev ou Mahalanobis. A técnica pode assumir dois tipos, que se distinguem pela indução do modelo: (1) Divisivo (abordagem de cima para baixo) que consiste em considerar todos os objetos num cluster e iterativamente dividir um cluster em dois, requerendo a decisão sobre o cluster a ser dividido e a forma de realização da divisão, ou a forma mais comum (2) Aglomerativo (abordagem de baixo para cima) que considera de início cada objeto como um cluster (singleton) e que de forma iterativa junta os dois clusters mais similares com base em medidas de distância (semelhança, proximidade) entre atributos.

Além da escolha da métrica da distância para avaliar a proximidade entre objetos, a utilização desta técnica pressupõe ainda a escolha do método de determinação dos clusters a aglomerar. As técnicas aglomerativas mais utilizadas podem ser categorizadas de acordo com o respetivo método de cálculo:

 Single Linkage ou Nearest Neighbor ou Minimum Method (Florek, et al. 1951,

Sneath, 1957, Lance & Williams, 1967, Johnson, 1967 e McQuitty, 1967) e (Sneath & Sokal, 1973) – O algoritmo seleciona como representantes entre dois clusters o par de objetos que se encontre mais próximo e junta os clusters cujo par tenha a menor distância;

 Complete Linkage ou Farthest Neighbor ou Maximum Method (Lance & Williams,

1967 e Johnson, 1967) e (Sneath & Sokal, 1973) – É igual ao anterior, mas é escolhido o par de objetos que se encontre mais afastado;

 Unweighted Pair-Group Method using Arithmetic Averages (UPGMA) ou Group

Average (Sokal & Michener, 1958) e (Sneath & Sokal, 1973) – O algoritmo seleciona

todos os pares de objetos a partir de dois clusters e calcula a média de todas as distâncias possíveis entre objetos. Depois de calcular as distâncias médias entre os clusters selecionáveis, os dois grupos com a menor distância são combinados num só cluster;

 Weighted Pair-Group Method using Arithmetic Averages (WPGMA) (Sneath &

Sokal, 1973) – É igual ao anterior, mas usa como fator de ponderação (peso) o número de objetos contido em cada cluster;

 Unweighted Pair-Group Method using the centroid average (UPGMC) ou Centroid

(Sokal & Michener, 1958) e (Sneath & Sokal, 1973) – O algoritmo calcula o centróide (ponto que define o centro geométrico ou ponto de gravidade) de cada cluster selecionável e junta os clusters cuja distância entre centróides seja menor;

 Weighted Pair-Group Method using the centroid average (WPGMC) ou Median

(Sneath & Sokal, 1973) – É igual ao anterior, mas usa como fator de ponderação (peso) o número de objetos contido em cada cluster;

Ward’s Method (Ward, 1963) – O algoritmo baseia-se na otimização de uma função

objetivo que tem por base a soma total do erro quadrático (soma do quadrado da distância dos objetos ao centróide). Em cada passo o algoritmo junta os clusters em que resulte a menor variância intra-cluster resultando numa maior concentração de objetos junto do centróide.

Os algoritmos de clustering hierárquico têm geralmente uma computação de complexidade temporal cúbica O(n3) o que os torna desaconselhados para conjuntos de dados grandes. A representação do clustering hierárquico é vulgarmente realizada recorrendo à técnica gráfica de dendrograma que é de fácil visualização e compreensão pelos utilizadores. Através da observação da hierarquia do dendrograma é razoavelmente possível deduzir o número de clusters existentes no conjunto de dados, facto que separa esta técnica de clustering das demais.

O clustering partitivo é uma técnica em que o algoritmo aloca os objetos do conjunto de dados a um dos possíveis clusters. Todos os algoritmos desta técnica necessitam da parametrização do número de clusters a computar (normalmente designado pela letra k) antes da sua execução. Existem três tipos de clustering partitivo:

 Clustering baseado em centróides ou k-means clustering;

 Clustering baseado na distribuição;

 Clustering baseado na densidade.

O algoritmo mais conhecido do clustering baseado em Centróides é o algoritmo de (Lloyd, 1982) muitas vezes referido como k-means. Sendo do tipo partitivo, o utilizador começa por definir o número de clusters pretendido. O algoritmo define de forma aleatória no espaço de dados os centróides destes clusters que podem ou não coincidir com objetos existentes. Em cada iteração o algoritmo junta os objetos aos centróides mais próximos (minimização da soma do erro quadrático) através de cálculos com funções de distância ou semelhança e recalcula a posição dos centróides tendo em conta os objetos que estão a estes associados. O algoritmo termina quando não existirem um mínimo de objetos a mudar de cluster. Sendo este um problema de otimização NP-hard, o algoritmo procura soluções aproximadas encontrando ótimos locais. Uma vez que o algoritmo calcula os centróides iniciais de forma aleatória, cada corrida do algoritmo poderá resultar em soluções diferentes. O k-means tem dificuldade em detetar clusters reais que não sejam circulares ou que tenham tamanhos ou densidades incomuns. A existência de casos fora do normal (outliers) é conhecida por degenerar as soluções. Existem diversas variações do algoritmo para tentar melhorar a solução e que passam por definir métodos de cálculo da melhor posição dos centróides iniciais. É vulgar correr o algoritmo por diversas vezes e aceitar o melhor resultado encontrado.

O clustering baseado na distribuição usa métodos probabilísticos de cálculo de pertença dos objetos aos clusters através da aproximação do conjunto de dados a uma distribuição de probabilidade pré-definida, ou seja, os clusters vão sendo definidos em função do cálculo da verosimilhança de um determinado objeto lhe pertencer. O método probabilístico mais conhecido e usado desta técnica é o Gauss Mixture Model, que usa o algoritmo Expectation-Maximization (Dempster, Laird, & Rubin, 1977) onde cada cluster é representado por um vetor que inclui a

média e a matriz de covariância. De início os valores do número de clusters e do vetor representativo (posição inicial) podem ser estimados ou aleatórios, tal como no k-means. Em cada iteração é feito o cálculo de pertença dos objetos (E-step) através do teorema de cálculo da probabilidade de Bayes e em seguida são recalculados os parâmetros dos vetores representativos de cada cluster (M-step) para serem usados na iteração seguinte. O algoritmo pára quando a variação entre os valores verificados nos vetores representativos das classes entre iterações fica abaixo de um limiar definido, o que significa uma maximização da verosimilhança dos objetos aos clusters finais. Esta técnica tem geralmente bons resultados, mas uma convergência lenta causada pelos cálculos requeridos e obriga o utilizador a algum estudo preparatório como escolher corretamente o número de clusters e a distribuição de probabilidade que melhor representa o conjunto de dados (Couvreur, 1996). É vulgar correr o algoritmo com diversas distribuições e aceitar o melhor resultado.

O clustering baseado na densidade é do tipo partitivo e constrói clusters avaliando os objetos que estão próximos uns dos outros usando funções de cálculo de distância tal como no k-means só que avalia também se existem objetos em número suficiente (densidade) para serem considerados como parte desse subconjunto. O algoritmo mais conhecido desta técnica é o DBSCAN (Martin, Kriegel, Sander, & Xu, 1996) que, para definir se um objeto faz parte desse conjunto, usa o parâmetro Eps que não é mais que um raio de ação a partir de um objeto e avalia se dentro dessa área circular existem um determinado número mínimo de objetos vizinhos, o parâmetro MinPts. O algoritmo é sensível a estes parâmetros: um valor de Eps baixo não encontra vizinhos e num valor de Eps elevado todos farão parte do mesmo cluster. Já o MinPts define se o ponto é nuclear, de fronteira ou outlier: (1) nuclear é quando tem tantos ou mais vizinhos que o valor especificado, (2) fronteira é quando tem menos, mas tem pelo menos um ponto nuclear na sua vizinhança e (3) outlier se não for nenhum dos outros casos. O algoritmo é de computação de complexidade temporal O(n*log n) o que oferece uma vantagem sobre outros métodos de clustering descobrindo essencialmente os mesmos resultados. Esta técnica permite definir clusters com formas geométricas variadas, separando-se assim das formas tradicionais de clusters globulares mas não é recomendada quando o conjunto de dados é de alta dimensionalidade pois dificultam o cálculo das distâncias, nos casos de clusters com densidades muito diferentes visto que o parâmetro MinPts é sempre o mesmo, e ainda o problema dos pontos de fronteira que ficam na cauda de duas distribuições Gaussianas (clusters), pois o algoritmo analisa o número de vizinhos e não o decréscimo progressivo deste valor podendo mesmo definir um ponto de fronteira como nuclear, sendo preferível nestes casos o uso da técnica de clustering baseado na distribuição. Recentemente têm sido desenvolvidas melhorias para colmatar as desvantagens dos algoritmos de referência de clustering. As técnicas de clustering partitivo são muitas vezes preferidas às de clustering hierárquico porque são capazes de lidar com conjuntos de dados maiores e a acurácia dos algoritmos de clustering partitivo é geralmente maior do que os de clustering hierárquico (Yoo, et al. 2007).

No documento Luís Miguel Candeias Borges (páginas 37-40)

Documentos relacionados