Os algoritmos de agrupamento baseados em modelos pretendem optimizar o ajuste entre os dados e um modelo matemático, isto é, admitem um modelo para cada um dos grupos e procuram o melhor ajuste dos dados ao referido modelo. Inicialmente é definido um modelo para cada um dos grupos e em seguida os modelos são adaptados de acordo com os objectos de dados que lhes são atribuídos. Tais algoritmos são frequentemente baseados no pressuposto de que os dados são gerados por uma mistura de distribuições de probabilidade subjacente e os modelos são obtidos construindo uma função de densidade que reflecte a distribuição espacial dos objectos de dados.
Nas próximas secções apresentamos três exemplos de abordagens de agrupamento baseadas em modelos: abordagem baseada em agrupamento probabilístico (secção 3.6.1), abordagem baseada em agrupamento conceptual (secção 3.6.2) (também referida como abordagem estatística ou de inteligência artificial) e a abordagem de rede neuronal (secção 3.6.3).
3.6.1 – Agrupamento Probabilístico
No agrupamento probabilístico os dados são considerados como amostras construídas independentemente a partir de um modelo de mistura de várias distribuições de probabilidade. A assumpção subjacente é de que cada grupo existente nos dados pode ser representado matematicamente por uma distribuição de probabilidade e cada objecto de dados é construído a partir de uma dessas distribuições. Assim, o agrupamento dos dados é possível usando um modelo de mistura de K distribuições de probabilidade, em que, cada distribuição representa um grupo e
em que o objectivo consiste em estimar os parâmetros de cada uma das distribuições de probabilidade, de forma, a ajustarem-se aos dados. Cada grupo é associado aos parâmetros correspondentes da distribuição, tais como, a média e a variância. A maioria dos trabalhos nesta área assume que as distribuições de probabilidade são gaussianas. O Algoritmo EM (Expectation-Maximization) é um exemplo bastante popular de um algoritmo iterativo para a estimação dos parâmetros das distribuições probabilísticas e é apresentado na secção 3.6.1.1.
3.6.1.1 – Algoritmo EM (Expectation Maximization)
O algoritmo EM (Expectation Maximization) [Dempster et al., 1977] pode ser visto como uma
extensão ao paradigma do K-Médias que atribui cada objecto ao grupo com o qual é mais similar,
avaliação esta feita a partir da média de cada grupo. Em vez de atribuir cada objecto a um grupo específico, o EM atribui cada objecto a cada um dos grupos, de acordo com uma ponderação que representa a probabilidade de pertença, não havendo por isso, fronteiras estritas entre grupos. Em cada iteração, as médias e as matrizes de covariância são actualizadas a partir das medidas ponderadas calculadas na iteração anterior. O facto do EM possibilitar que cada objecto tenha uma determinada probabilidade de pertencer a cada grupo, faz dele um algoritmo de agrupamento difuso.
Em vez de representar cada grupo usando um único objecto, o algoritmo EM representa cada grupo usando uma distribuição de probabilidade. Tipicamente, a distribuição de probabilidade gaussiana é usada, já que, de acordo com a teoria de estimação da densidade, qualquer distribuição de densidade pode ser aproximada eficazmente por uma mistura de gaussianas [Scott, 1992] [Silverman, 1986]. Uma distribuição gaussiana com p dimensões representando um grupo Ci é parametrizada pela média ou centro do grupo c e uma matriz de covariância i Co pi
(
×p)
. Dada uma distribuição para Ci, a probabilidade de um objecto ocorrer num local x (j P x(
j|C ) é dado i)
por:(
)
( )
( )( )1( ) 1 2 1 | 2 t j i i j i x c Co x c j i p i P x C e Co π − − − = (3.2)em que t é a transposta do vector, Co é o determinante de i Co e i Coi−1é a sua matriz inversa. Combinando o efeito das diferentes distribuições dos grupos em x , a função de densidade de j probabilidade da mistura P x
( )
j é:( )
(
)
1 | K j i j i i P x W P x C = =∑
(3.3)em que W é a fracção do conjunto de dados representado por Ci i. Contrariamente ao K-Médias, no EM um objecto pode ser membro de cada um dos K grupos com diferentes probabilidades de
pertença. A probabilidade de um objecto x pertencer ao grupo Cj i pode ser calculada como:
(
)
(
( )
|)
| j i i j i j P x C P C x W P x = (3.4)(
)
1 1 | n i i j j W P C x n = =∑
(3.5)(
)
(
)
1 1 | | n j i j j i n i j j x P C x c P C x = = =∑
∑
(3.6)(
)(
)(
)
(
)
1 1 | | n t i j j i j i j i n i j j P C x x c x c Co P C x = = − − =∑
∑
(3.7)O valor do número de grupos K é um parâmetro de entrada do algoritmo EM. O algoritmo começa
com uma estimativa ou “adivinha” dos parâmetros do modelo de mistura, normalmente referido como vector de parâmetros, isto é, escolhe arbitrariamente K objectos para representar os centros
ou médias dos grupos e atribui valores aleatórios aos parâmetros adicionais. De seguida, submete iterativamente os objectos à densidade de mistura produzida pelo vector de parâmetros, isto é, recalcula o grau de pertença dos objectos de acordo com a solução actual. Os objectos são então utilizados para actualizar as estimativas dos parâmetros, actualizando-se as distribuições de acordo com os novos graus de pertença dos objectos.
A tabela 3.15 apresenta o algoritmo EM de uma forma estruturada e sumariada.
Tabela 3.15 – Algoritmo EM
• Dados de entrada
o X – Conjunto de dados com n objectos
o K – Número de grupos
• Dados de saída
o P – Agrupamento de dados final
• Procedimento
1. Escolher arbitrariamente K centros/distribuições como solução inicial
2. Repetir
a. Recalcular o grau de pertença dos objectos de acordo com a solução actual
b. Actualizar as distribuições dos grupos de acordo com os novos graus de pertença dos objectos
Até ser atingido o critério de convergência
Depois da inicialização aleatória do modelo, o algoritmo EM calcula o grau de pertença de cada objecto na etapa 2a usando as equações 3.2, 3.3 e 3.4. A actualização das distribuições com os novos valores de W , i c e de i Co são calculados na etapa 2b usando as equações 3.5, 3.6 e 3.7. i
Este processo repete-se, de forma a optimizar o agrupamento obtido até que seja atingido o critério de convergência.
O EM tem como função objectivo a maximização da verosimilhança logarítmica (E) do modelo
( )
(
)
1 log n j j E P x = =∑
O critério de convergência verifica-se quando o aumento na verosimilhança logarítmica entre duas iterações consecutivas é negligenciável, terminando o algoritmo. Tal como o K-Médias, este
algoritmo converge para um óptimo local, necessita conhecer à partida o número de grupos K e não
identifica grupos com um formato arbitrário. A complexidade temporal do algoritmo EM é linear no número de atributos, no número de objectos e no número de iterações.
3.6.2 – Agrupamento Conceptual
O agrupamento conceptual introduzido por Michalski [Michalski, 1980] é uma forma de agrupamento que, dado um conjunto de objectos não etiquetados produz um esquema de classificação desses objectos não se baseando na distância entre eles. Ao contrário do agrupamento convencional, em que somente se identificam grupos de objectos idênticos, o agrupamento conceptual também encontra descrições para os atributos de cada grupo obtido. Assim, o agrupamento conceptual é um processo em duas fases: o agrupamento, em que são identificados grupos de objectos com base num ou mais critérios predefinidos e a caracterização, em que, é determinada uma descrição de cada um dos grupos obtidos na fase de agrupamento. As duas fases podem ser simultâneas ou sequenciais (na maioria dos casos). Neste tipo de agrupamento cada grupo representa um conceito ou classe e os objectos de dados são colocados no mesmo grupo se colectivamente representarem o mesmo conceito. Este tipo de algoritmos é capaz de considerar relações semânticas entre os atributos dos objectos ou conceitos globais que podem ter relevância no agrupamento. A qualidade do agrupamento não é unicamente uma função dos objectos dos grupos, mas incorpora factores, tais como, generalidade e simplicidade das descrições dos conceitos obtidos, isto é, a formação dos grupos toma em consideração também a qualidade da descrição de cada grupo.
A maioria dos algoritmos de agrupamento conceptual adopta uma abordagem estatística que usa medidas de probabilidade na determinação dos conceitos ou grupos. As descrições probabilísticas são tipicamente usadas para representar cada conceito obtido.
Neste momento, apesar de o agrupamento conceptual ter já sido aplicado em várias situações e até obtido razoáveis resultados em algumas situações, verifica-se que não é apropriado para o agrupamento de grandes conjuntos de dados havendo pois ainda a necessidade de investigação adicional na aplicação destes algoritmos de agrupamento a estes conjuntos de dados.
3.6.2.1 – COBWEB
O COBWEB [Fisher, 1987] é um algoritmo simples e popular de agrupamento conceptual incremental. Os seus objectos de entrada são descritos por pares categóricos atributo-valor. O COBWEB cria uma estrutura hierárquica na forma de uma árvore de classificação com representação de conceitos (hierarquia de conceitos) e realiza uma procura heurística no espaço de possíveis árvores de classificação usando a “subida da colina”.
A figura 3.12 mostra uma árvore de classificação para dados relativos a animais, baseada em [Fisher, 1987]. Cada nó numa árvore de classificação refere-se a um conceito e contém uma descrição probabilística desse conceito que sumaria os objectos classificados abaixo do nó. A descrição probabilística inclui a probabilidade do conceito e as probabilidades condicionais para cada um dos valores dos atributos, da forma P A
(
l =Vlj|Ci)
, em que Al =Vlj é um par de atributo-valor e C é a classe conceptual. O COBWEB realiza contagens que são armazenadas em icada nó para o cálculo das probabilidades. Contrariamente, as árvores de decisão etiquetam os ramos em vez dos nós e usam lógica em vez de descritores probabilísticos. A raiz representa o
conceito mais geral, que sumaria todos os exemplos já vistos. Os nós “irmãos” num dado nível de uma árvore de classificação formam um agrupamento de dados.
O algoritmo COBWEB realiza uma pesquisa do tipo “subida da colina” no espaço de árvores de classificação possíveis e usa uma medida de avaliação, a utilidade categórica (UC), para construir a árvore de classificação e por sua vez classificar os objectos a incorporar na árvore. A utilidade categórica é definida como
( )
(
)
2(
)
2 1 | K i l lj i l lj i P C l jP A V C l jP A V K = = − = ∑
∑ ∑
∑ ∑
em que K é o número de nós, classes, conceitos ou categorias que formam um agrupamento
{C1,C2,…,CK} num dado nível da árvore.
Figura 3.12 – Exemplo de uma árvore de classificação produzida pelo COBWEB9
A utilidade categórica indica o ganho em associar um objecto a um grupo, isto é, mede a diferença entre a probabilidade condicional de observar o valor de um atributo dado que o objecto pertence a um grupo e a probabilidade à priori de observar o valor de um atributo. Por outras palavras, é o aumento no número esperado de valores de atributos que podem ser correctamente previstos dado um agrupamento de dados (em que este número esperado corresponde ao termo
( )
(
)
2i l j l lj i
P C
∑ ∑
P A =V C ) sobre o número esperado de previsões correctas sem tal conhecimento (correspondendo ao termo∑ ∑
l jP A(
l =Vlj)
2). A utilidade categórica usa a similaridade intra-classes e a dissimilaridade inter-classes, uma vez que:• a similaridade intra-classes é a probabilidade P A
(
l =V Clj i)
. Quanto maior for este valor, maior é a proporção dos membros da classe que partilham este par atributo-valor e mais previsível é esse par na classe;• a dissemelhança inter-classes é a probabilidade P C A
(
i l =Vlj)
. Quanto maior for este valor, menor é o número de objectos noutras classes que partilham este par atributo-valor e mais preditivo da classe é esse par.
9
Retirado de [Han and Kamber, 2006]
Animal P(C0)= 1,0 P(escamas|C0)=0,25 … Peixe P(C1)= 0,25 P(escamas|C1)=1,0 … Anfíbio P(C2)= 0,25 P(húmido|C2)=1,0 … Mamífero/pássaro P(C3)= 0,5 P(pelo|C3)=0,5 … Mamífero P(C4)= 0,5 P(pelo|C4)=1,0 … Pássaro P(C5)= 0,5 P(penas|C5)=1,0 …
No COBWEB, os objectos são incorporados na hierarquia à medida que são observados, alterando o estado da hierarquia a cada iteração. O COBWEB incorpora incrementalmente os objectos na árvore de classificação descendo a árvore ao longo de um caminho apropriado, actualizando contagens, em busca do melhor local para classificar o objecto.
Inicialmente, o algoritmo cria uma primeira classe ou conceito cujas características são iguais ao primeiro objecto apresentado. Para cada objecto seguinte, percorre a árvore de classificação, começando pelo nó ou conceito que se encontra na raiz. O COBWEB aplica um dos seguintes quatro possíveis operadores e escolhe o operador que obtiver uma hierarquia com maior utilidade categórica:
• Incorporar, em que o objecto é colocado num nó (classe) já existente;
• Criar, em que é criado um novo nó;
• Combinar, em que os dois melhores nós são combinados num único nó;
• Dividir, em que o melhor nó é dividido em vários nós.
Este algoritmo tem a facilidade de automaticamente ajustar o número de classes no agrupamento de dados, não necessitando, por isso, de pedir ao utilizador esse valor.
Os dois operadores incorporar e criar são altamente sensíveis à ordem de entrada dos objectos
de dados e fazem com que o agrupamento obtido pelo COBWEB seja dependente dessa mesma ordem. No entanto, os operadores combinar e dividir ajudam-no a tornar-se menos sensível à
ordem de entrada dos objectos já que permitem uma procura bidireccional – por exemplo, uma combinação pode recuperar uma divisão anterior.
A tabela 3.16 apresenta o algoritmo COBWEB. O algoritmo COBWEB tem algumas limitações. Primeiro, assume que as distribuições de probabilidade dos diferentes atributos são estatisticamente independentes umas das outras. Este princípio não é, contudo, sempre verdadeiro uma vez que geralmente existe correlação entre os atributos. Adicionalmente, a representação da distribuição de probabilidade dos grupos tem custos bastante elevados na actualização e no armazenamento dos grupos. Este custo torna-se especialmente crítico quando os atributos têm um grande número de valores, uma vez que a complexidade temporal e de armazenamento não depende só do número de atributos mas também do número de valores para cada atributo. Por fim, a árvore de classificação não é balanceada em altura para dados de entrada adulterados, podendo fazer com que a complexidade temporal e espacial se degrade drasticamente em grandes conjuntos de dados.
O algoritmo CLASSIT [Gennari et al., 1989] é uma extensão do COBWEB para o agrupamento incremental de dados contínuos. Armazena uma distribuição normal contínua (média e desvio padrão) para cada atributo em cada nó e usa uma medida de utilidade categórica modificada que é um integral de atributos contínuos em vez de uma soma de atributos discretos como no COBWEB. Este algoritmo, contudo, sofre de problemas semelhantes ao COBWEB e por isso não é apropriado para o agrupamento de grandes conjuntos de dados.
Na indústria, o algoritmo AutoClass [Cheeseman and Stutz, 1996] é um algoritmo de agrupamento popular que usa a análise estatística Bayesiana para estimar o número de grupos.
Tabela 3.16 – Algoritmo COBWEB
• Dados de entrada
o X – Conjunto de dados com n objectos
• Dados de saída
o P– Agrupamento de dados final
• Algoritmo :
1. No ←x1∈X
2. Para i=2 até
n
a. cobweb No x ( , )i
i. Se No é um nó terminal então
1. Criar dois nós filho de No→F1 e F2
2. Atribuir a F1 a probabilidade de No
3. Atribuir a F2 a probabilidade de x i
4. Adicionar x a No, actualizando as probabilidades de No i Senão
1. Adicionar x a No, actualizando as probabilidades de No i 2. Para cada nó filho F de No Fazer
a. Calcular a utilidade categórica conseguida por colocar x em F i Fimpara
3. Prim ← nó onde o objecto é incorporado e obtém a melhor utilidade
categórica (melhor agrupamento de dados)
4. Seg ← nó onde o objecto é incorporado e obtém a segunda melhor
utilidade categórica
5. UC1 ← utilidade categórica do melhor agrupamento
6. UC2 ← utilidade categórica do segundo melhor agrupamento
7. UC3 ← utilidade categórica de colocar x num novo nó //operador i
Criar
8. UC4 ← utilidade categórica de combinar Prim e Seg
//operador Combinar
9. UC5 ← utilidade categórica de substituir Prim pelos seus filhos
//operador Dividir
10. Se UC1 é a melhor utilidade categórica obtida então
a. cobweb Prim x // ( , )i x é colocado em Prim i Senão
a. Se UC3 é a melhor utilidade categórica obtida então i. Atribuir à nova categoria as probabilidades de x i Senão
i. Se UC4 é a melhor utilidade categórica obtida então 1. cobweb C x // em que C é o resultado da ( , )i
combinação de Prim e Seg
senão
1. Substituir Prim pelos seus nós filho
2. cobweb No x ( , )i Fimse
Fimse Fimse Fimse
3.6.3 - Abordagem de Rede Neuronal
A abordagem de rede neuronal para o agrupamento tende a representar cada grupo como um exemplar (neurónio). Um exemplar actua como um protótipo do grupo e não tem necessariamente que corresponder a um exemplo de dados particular. Usando uma medida de distância, um novo objecto pode ser atribuído ao grupo cujo exemplar é mais semelhante.
O estudo das redes neuronais artificiais (RNAs) [Hertz et al., 1991] foi inspirado pela constatação de que os sistemas de aprendizagem neurobiológicos são constituídos por redes muito complexas de neurónios interligados. As RNAs são constituídas por um denso conjunto interligado de unidades simples, em que cada unidade recebe como entrada um conjunto de valores reais (possivelmente a saída de outras unidades) e produz um valor real como saída (que provavelmente se tornará numa entrada para outras unidades). As RNAs processam vectores numéricos e como tal, requerem objectos de dados somente com atributos quantitativos. Estas redes têm inerentemente arquitecturas paralelas e de processamento distribuído e aprendem as ponderações nas suas ligações de forma adaptativa [Jain and Mao, 1996] [Oja, 1982]. Mais especificamente, seleccionando apropriadamente as ponderações, podem agir como normalizadores de objectos de dados e selectores de atributos. As RNAs têm sido usadas ao longo das últimas três décadas, para classificação e agrupamento.
Existem dois algoritmos proeminentes na abordagem de rede neuronal: a aprendizagem competitiva e os mapas de atributos auto-organizáveis, ambos os quais envolvem unidades neuronais competitivas.
3.6.3.1 – Aprendizagem Competitiva
A aprendizagem competitiva envolve uma arquitectura hierárquica de diversas unidades (neurónios artificiais) que competem da forma “o vencedor ganha tudo” quando cada objecto é apresentado ao sistema [Grossberg, 1988], [Rumelhart and Zipser, 1995]. A figura 3.13 mostra um exemplo de um sistema de aprendizagem competitiva. Cada círculo representa uma unidade. A unidade vencedora de um grupo torna-se activa (indicado por um círculo a cheio), enquanto que as outras unidades permanecem inactivas (indicado por círculos vazios). As ligações entre camadas são baseadas em excitação – uma unidade numa dada camada pode receber entradas de todas as unidades do nível abaixo. A configuração das unidades activas numa camada representa o padrão de entrada na camada acima. As unidades de um grupo numa determinada camada competem com as outras para responder ao padrão resultante da camada abaixo. O número de camadas pode ser arbitrário.
As ligações dentro das camadas são inibitórias pois apenas uma unidade em cada grupo pode estar activa. As unidades vencedoras ajustam as ponderações nas suas ligações com as outras unidades do grupo de forma a responder cada vez com mais força a futuros objectos iguais ou semelhantes ao corrente. Se virmos as ponderações como definindo um exemplar, os novos objectos são atribuídos ao grupo com o exemplar mais próximo. Os atributos de um objecto incluídos num grupo podem ser previstos a partir dos atributos do exemplar do grupo. O número de grupos e o número de unidades por grupo são parâmetros de entrada.
No fim do agrupamento, cada grupo pode ser visto como uma nova “característica” que detecta algumas regularidades nos objectos. Assim, os grupos resultantes podem ser vistos como um mapeamento das “características” das camadas mais baixas para as “características” das camadas mais altas.
Figura 3.13 – Uma arquitectura para aprendizagem competitiva10
3.6.3.2 – Mapa de Características Auto-Organizáveis
Com o estudo do cérebro humano, descobriu-se que diferentes entradas sensoriais como a visual, a auditiva, a motora, entre outras, são mapeadas para áreas correspondentes do córtex cerebral. Apesar de todas as células nervosas estarem ligadas entre si, existem centros de actividade mais intensificados conforme a actividade exercida no momento. Os mapas de características auto-organizáveis (MCAOs) (Self Organization Features Map (SOM)) [Kohonen, 1981] [Kohonen, 1990] são biologicamente baseados nos mapas topológicos presentes no córtex cerebral e em que neurónios próximos no mapa devem responder por funções similares (específicas), tal como acontece no cérebro humano.
Um MCAO é uma rede neuronal que disponibiliza uma forma de aprendizagem não supervisionada. Esta aprendizagem é não supervisionada no sentido de que a rede auto-organiza-se, de modo, a responder convenientemente aos estímulos de entrada sem conhecer à partida quais as classes existentes nos dados. A aprendizagem é realizada usando uma projecção não-linear de um espaço multidimensional para um espaço a uma ou duas dimensões.
Um MCAO é constituído por dois níveis: nível de entrada, onde são apresentados os objectos de dados e um nível de saída, um mapa ou grelha mono ou bidimensional constituído pelos neurónios onde é realizado o agrupamento. As figuras 3.14 e 3.15 apresentam respectivamente as arquitecturas típicas de um mapa auto-organizável unidimensional e bidimensional. No nível de entrada o número de unidades é igual ao número de atributos de cada objecto e no nível de saída o número de unidades é igual ou superior ao número de grupos a identificar, não existindo ligações entre essas unidades. Os objectos são atribuídos ao nível de entrada e os valores são propagados a todos os neurónios no nível de saída, já que, todas as unidades de entrada estão ligadas a todos os neurónios de saída através de ligações com ponderações associadas. Cada neurónio (j) é definido
por um vector de ponderações (w) com a mesma dimensão (i) dos objectos de dados. A ligação
10
Retirado de [Han and Kamber, 2006]
Ligações excitatórias Camada 3 Grupos inibitórios Camada 2 Grupos inibitórios Camada 1 Unidades de entrada Objectos de entrada entrr
entre o neurónio j e a entrada i representa-se por w . Inicialmente são atribuídos valores aleatórios ji a cada um dos vectores.