• Nenhum resultado encontrado

A maioria dos algoritmos de agrupamento de partição agrupa os objectos com base na distância entre eles. Tais algoritmos conseguem encontrar apenas grupos com forma esférica e têm dificuldades em descobrir grupos com formas arbitrárias. Outros algoritmos de agrupamento baseados na noção de densidade têm sido desenvolvidos com o intuito de descobrir grupos com formas arbitrárias. Estes algoritmos consideram tipicamente os grupos como regiões densas de objectos no espaço dos dados que são separados por regiões de densidade significativamente mais baixa. Os objectos pertencentes a estas regiões de densidade significativamente mais baixa são considerados ruído ou valores isolados. A ideia geral dos algoritmos de agrupamento baseados em densidade consiste em fazer crescer um determinado grupo enquanto houver objectos no grupo com densidade (um número de objectos) na sua “vizinhança” (num raio) superior a um determinado número limite. Daí, os grupos poderem crescer em qualquer direcção determinada pela densidade. Estes algoritmos são normalmente eficazes para filtrar valores isolados e descobrir alguns grupos com forma arbitrária. Estes algoritmos são particularmente populares para conjuntos de dados de baixa dimensão. A quantidade de dados requeridos para estimar a densidade local aumenta exponencialmente com o aumento do número de dimensões dos dados, não sendo por isso apropriados para conjuntos de dados de centenas de dimensões. Estes algoritmos podem usar índices espaciais para aumentar a velocidade de pesquisa dos vizinhos mais próximos.

Os algoritmos de agrupamento de partição criam um agrupamento inicial com K grupos e iterativamente realocam os objectos de dados de um grupo para outro, de forma, a melhorarem uma determinada função de custo global (critério). Nesses algoritmos, o critério é global, cada grupo é representado por um ou mais protótipos e cada objecto é atribuído ao protótipo mais similar. Por

outro lado, os algoritmos de agrupamento baseados em densidade usam um critério local pois usam estruturas locais, as regiões densas, para formar os grupos.

3.4.1 – DBSCAN (Density Based Spatial Clustering of

Applications with Noise)

DBSCAN (Density Based Spatial Clustering of Applications with Noise) [Ester et al., 1996] é um algoritmo de agrupamento baseado em densidade que consegue descobrir alguns grupos de forma arbitrária em conjuntos de dados espaciais com ruído e valores isolados. Um grupo consiste num conjunto de objectos ligados por densidade.

A razão principal pela qual reconhecemos os grupos de um conjunto de dados numa figura a duas dimensões é porque dentro de cada grupo existe uma densidade de objectos que é consideravelmente superior à densidade fora dele. A ideia subjacente ao DBSCAN que tenta formalizar a afirmação anterior, é a de que para cada objecto de um grupo, numa determinada vizinhança, tem que existir pelo menos um número mínimo de objectos, isto é, a densidade na sua vizinhança tem que exceder um determinado limite.

As ideias básicas do agrupamento baseado em densidade envolvem as seguintes definições:

a vizinhança dentro de um raio Eps de um dado objecto é chamada de vizinhança- Eps do objecto;

se a vizinhança- Eps do objecto contém pelo menos um número mínimo de objectos ( MinPts ) então o objecto é chamado de objecto central;

dado um conjunto de dados X , considera-se que um objecto x é directamente alcançável p

por densidade do objecto x se q x está dentro da vizinhança- Eps de p x e q x é um q

objecto central;

• um objecto x é alcançável por densidade do objecto p x relativamente a Eps e MinPts q

num conjunto de objectos X , se houver uma cadeia de objectos x1,...,x , n x1=xq e

n p

x =x tal que xi+1 é directamente alcançável por densidade de x relativamente a Eps e i MinPts , para 1≤ ≤i n x, iX ;

• um objecto x é ligado por densidade ao objecto p x relativamente a Eps e MinPts num q

conjunto de objectos X , se houver um objecto xoX tal que ambos x e p x sejam q

alcançáveis por densidade de x relativamente a Eps e MinPts ; o

• um grupo C é um conjunto não vazio de X que satisfaça as seguintes condições: i

o maioridade – se um objecto x pertence a p C e i x é alcançável por densidade de q

p

x então x pertence a q C ; i

o conectividade – se x e p x pertencem a q C , então i x é ligado por densidade a p

q

x ;

• sejam C1,...,Ck os grupos de X e i =1,...,k, o ruído pode ser definido como o conjunto

de objectos de X que não pertencem a nenhum grupo Ci.

As relações, directamente alcançável por densidade e alcançável por densidade, são assimétricas, enquanto que a relação ligado por densidade é uma relação simétrica. Apenas os objectos centrais são mutuamente alcançáveis por densidade. Um grupo baseado em densidade é um conjunto de objectos ligados por densidade. Qualquer objecto que não está contido em nenhum grupo é considerado ruído ou um valor isolado.

Figura 3.8 – Alcance por densidade e ligação por densidade num agrupamento baseado em densidade5

A partir das definições anteriores:

• os objectos xm,xp,x x são objectos centrais uma vez que na vizinhança- Eps contêm o, r pelo menos três objectos;

x é directamente alcançável por densidade de q x . m x é directamente alcançável por m densidade de x e vice-versa; p

x é alcançável por densidade de q x uma vez que p x é directamente alcançável por q densidade de x e m x é alcançável por densidade de m x . Contudo, p x não é alcançável p

por densidade de x dado que q x não é um objecto central. Similarmente, q x e r x são s

alcançáveis por densidade de x e o x é alcançável por densidade de o x ; r

x , o x e r x são todos ligados por densidade. s

O algoritmo DBSCAN procura grupos verificando a vizinhança- Eps de cada objecto no conjunto de dados. Se a vizinhança- Eps de um objecto x não etiquetado contém mais do que p MinPts , um novo grupo com x como um objecto central é criado. De seguida, o DBSCAN reúne p

iterativamente objectos directamente alcançáveis por densidade dos objectos centrais. Este processo pode envolver a união de grupos alcançáveis por densidade e termina quando nenhum novo objecto possa ser adicionado a qualquer grupo. A tabela 3.9 apresenta o algoritmo DBSCAN.

O algoritmo DBSCAN tem a capacidade de identificar melhor grupos com formas mais arbitrárias e de tamanhos diferentes do que os seus algoritmos antecessores mas o seu desempenho diminui quando os grupos têm densidades muito diferentes. Quando a densidade dos dados varia significativamente de região para região, podem ser ignorados grupos naturais em áreas menos densas (mesmo que a densidade nesses grupos seja maior do que na sua vizinhança) e, por outro lado, fundidos grupos em áreas de grande densidade. Não necessita como entrada do número de grupos, tentando identificar automaticamente o número de grupos existentes e conseguindo normalmente separar o ruído. O DBSCAN consegue tratar grandes conjuntos de dados mas não foi concebido para conjuntos de dados com uma grande dimensionalidade. A ordem de processamento dos dados não afecta o resultado do agrupamento a realizar. Os parâmetros de entrada do algoritmo podem ser difíceis de determinar e em muitas situações é muito sensível aos parâmetros de entrada. Se for usado um índice espacial, como as árvores R* [Ester et al., 1995], a complexidade computacional do DBSCAN é O(nlogn), em que n é o número de objectos do conjunto de dados. Caso contrário é O(n2).

5 Retirado de [Han and Kamber, 2006]

q x m x p x xs o x r x

Tabela 3.9 – Algoritmo DBSCAN

Dados de entrada

o X – Conjunto de dados com n objectos

o Eps – Raio da vizinhança de um objecto

o MinPts – número mínimo de objectos na vizinhança de um objecto

Dados de saída

o P– Agrupamento de dados final

Algoritmo

1. Colocar todos os objectos de X como não etiquetados 2. Para todos os objectos x de X i

a. Se x não foi ainda etiquetado então i

i. Se x é um objecto central então i

1. Encontrar todos os objectos alcançáveis por densidade de x a partir dos valores de MinPts e i Eps e atribuir-lhes uma nova etiqueta. Colocar

esses objectos numa pilha

2. Enquanto houver objectos na pilha fazer a. Retirar um objecto x do topo da pilha t

b. Se o objecto x é um objecto central então t

i. Encontrar todos os objectos não etiquetados ou etiquetados como ruído e alcançáveis por densidade de x e atribuir-lhes a mesma t

etiqueta que x . Colocar esses i

objectos na pilha FimEnquanto

Senão atribuir ao objecto x a etiqueta ruído i

3. Definir P como o agrupamento com os grupos obtidos no passo anterior

3.4.2 – DENCLUE (DENsity-based CLUstEring)

O DENCLUE (DENsity-based CLUstEring) [Hinneburg and Keim, 1998] é um algoritmo de agrupamento baseado num conjunto de funções de distribuição de densidade. O algoritmo baseia-se nas seguintes ideias: a influência de cada objecto de dados pode ser formalmentemodelada usando uma função matemática, chamada função de influência, que descreve o impacto de um objecto de dadosna sua vizinhança; a densidade global do espaço de dados pode ser modelada analiticamente como a soma das funções de influência de todos os objectos de dados; e os grupos podem ser determinados matematicamente pela identificação de atractores de densidade, em que os atractores de densidade são os máximos locais da função de densidade global.

Considerando-se os objectos x e i x , a função de influência do objecto j x em i x é a função j

( )

(

)

: xj ,

B B i B i j

f f x = f x x . A função de influência pode ser expressa como uma função arbitrária de distância entre dois objectos na vizinhança. A função da distância ,

i j

x x

d deve ser reflexiva e simétrica, tal como a função da distância euclidiana e é usada para calcular a função de influência da onda quadrática, , 0 ( , ) 1 i j x x i j se d fQuadrática x x caso contrário σ >  = 

(

)

( ) 2 2 , 2 , i j d x x Gaussiana i j f x x =e− σ

A função de densidade num objecto x é definida como a soma das funções de influência de i

todos os objectos. Dados n objectos, X =

{

x1,...,xn

}

, a função de densidade em x é definida como i

( )

( )

1 j n x X B i B i j f x f x = =

Por exemplo, a função de densidade que resulta da função de influência gaussiana é

( )

( ) 2 2 , 2 1 i j d x x n X Gaussiana i j f x e− σ = =

A figura 3.9 mostra um conjunto de dados bidimensional com as correspondentes funções de densidade global para uma função de influência da onda quadrática e para uma função de influência gaussiana.

a) Conjunto de dados b) Onda Quadrática c) Gaussiana

Figura 3.9 - Funções de densidade possíveis para um conjunto de dados bidimensional6

Da função de densidade, pode-se definir o gradiente da função e os atractores de densidade (os máximos locais da função de densidade global). O gradiente da função num objecto x consiste em i

( )

(

)

( )

1 j n x X B i j i B i j f x x x f x =

∇ =

− , um vector que indica a força e a direcção de onde provêem a maior parte das influências dos objectos x . Um objecto i x é considerado como sendo atraído por j densidade por um atractor de densidade x se existir um conjunto de objectos i*

{

x x0, ,...,1 xK

}

tal que x0 =x xj, k =xi* e o gradiente dexm−1 está na direcção de x para 0m < <m k. Para uma função de influência contínua e diferenciável, pode ser usado um algoritmo de “subida da colina” guiado pelo gradiente para determinar o atractor de densidade de um conjunto de objectos de dados. A partir destas noções, podem-se definir formalmente grupos centralmente definidos e grupos com forma arbitrária. Um grupo centralmente definido para um atractor de densidade x é um *j subconjunto de X que é atraído por densidadepor x e a função de densidade em *j

*

j

x não é menor

do que um valor limite ξ; caso contrário (isto é, se o valor da função de densidade em x for menor *j do que ξ), é considerado um valor isolado. O parâmetro ξ permite controlar se um atractor de densidade é relevante permitindo assim uma redução do número de atractores de densidade, melhorando o desempenho do algoritmo. Um grupo com forma arbitrária é um conjunto de subconjuntos de X , cada um sendo atraído por densidade com um valor da função de densidade

não inferior a um valor limite ξ e em que existe um caminho de cada região até outra e o valor da

6

Retirado de [Han and Kamber, 2006]

D en si d ad e D en si d ad e

função de densidade para cada objecto ao longo do caminho não é inferior a ξ. Exemplos de grupos centralmente definidos e de grupos com forma arbitrária são apresentados nas figuras 3.10 e 3.11.

Figura 3.10 – Exemplos de grupos centralmente definidos7

Figura 3.11 – Exemplos de grupos com formas arbitrárias8

Tabela 3.10 – Algoritmo DENCLUE

Dados de entrada

o X – Conjunto de dados com n objectos

o σ – Distância da influência de cada objecto na sua vizinhança

o ξ – Densidade mínima para um objecto ser considerado um atractor de

densidade

o xj

( )

B i

f x – Função de influência

Dados de saída

o P – Agrupamento de dados final

Algoritmo

1. Construir grelha com células com tamanho da aresta 2σ a partir do conjunto de dados X

2. Determinar células com objectos de dados

3. Derivar a função de densidade para o espaço ocupado pelos objectos do conjunto de dados X a partir de σ e xj

( )

B i

f x

4. Identificar os objectos que são máximos locais (atractores de densidade) 5. Associar cada objecto com um atractor de densidade movendo-o em

direcção ao maior aumento na densidade

6. Definir os grupos, consistindo em objectos associados com um atractor de densidade

7. Desprezar grupos cujo atractor de densidade tenha uma densidade menor do que o parâmetro ξ introduzido pelo utilizador

8. Combinar grupos que são ligados por um caminho de objectos que têm todos uma densidade superior a ξ

9. Definir P como o agrupamento com os grupos obtidos no passo anterior

7 Retirado de [Han and Kamber, 2006] 8

Retirado de [Han and Kamber, 2006]

D en si d ad e D en si d ad e D en si d ad e D en si d ad e D en si d ad e

A tabela 3.10 apresenta um resumo do algoritmo DENCLUE. O algoritmo DENCLUE tem um fundamento sólido matemático e tem boas propriedades de agrupamento para conjuntos de dados com grandes quantidades de ruído, permitindo uma descrição compacta dos grupos com forma arbitrária em conjuntos de dados com média dimensionalidade. Contudo, o seu desempenho decresce em dados que contêm grupos com densidades muito diferentes. O algoritmo escala bem pois utiliza células em grelha usando somente informação de células que contêm objectos de dados. O algoritmo armazena estas células numa estrutura de acesso baseada em árvore (árvores B+) e por isso é significativamente mais rápido do que alguns algoritmos importantes, tais como DBSCAN. O DENCLUE tem uma complexidade temporal de O(nlog n). De referir que, apesar de todos os

objectos de um conjunto de dados serem considerados, a maior parte da análise só envolve objectos das áreas mais densas. Contudo, o algoritmo requer uma escolha adequada da função de influência, bem como, uma selecção cuidada do parâmetro da distância de influência σ e do limite do ruído ξ, uma vez que a selecção destes parâmetros pode influenciar significativamente a qualidade dos resultados do agrupamento.