Apesar do EM para GMM ser um algoritmo amplamente usado na prática, e diversas va- riantes terem sido desenvolvidas, poucos AEs foram propostos para este problema. Entre eles, alguns buscam tarefas mais especializadas do que obter uma partição probabilística dos dados. Mais especificamente, o algoritmo proposto por Martínez e Virtriá (2000) procura ajustar os componentes da mistura de forma a explicar dados apresentando forma de espiral. No trabalho de Lin e Wang (2005), um AE para uma extensão do GMM, considerando conjuntos fuzzy, é
2.4 Algoritmos Evolutivos 27 analisado. Por fim, Thang et al. (2009) descrevem um AE que busca encontrar outliers nos dados baseando-se nos GMM avaliados. Dado que nesta tese não se tem interesse em mode- los com estas particularidades (dados em espiral, conjuntos fuzzy e detecção de outliers), estes trabalhos não são considerados na sequência. Em relação ao desenvolvimento de AEs em con- junto com o EM para GMM, podem-se citar os trabalhos de Pernkopf e Bouchaffra (2005); Tohka et al. (2007); Tawfick et al. (2008) e Nguyen e Cios (2008).
Os algoritmos propostos por Pernkopf e Bouchaffra (2005) e por Nguyen e Cios (2008) — Genetic-based Expectation Maximization(GA-EM) e Genetic Algorithm K-means Logarithmic Regression Expectation Maximization(GAKREM), respectivamente — possuem motivação si- milar aos algoritmos propostos nesta tese. Por tal razão, eles são detalhados a seguir. O algo- ritmo apresentado por Tohka et al. (2007) supõe que o número de grupos é conhecido, enquanto que o algoritmo proposto por Tawfick et al. (2008) supõe que os grupos são hiperesféricos, i.e., a matriz de covariância das distribuições gaussianas é proporcional à matriz identidade. Por estas razões, ambos os algoritmos são mais simples e menos flexíveis que as propostas a serem abordadas nesta tese.
2.4.2.1 Genetic-based Expectation Maximization
Em Pernkopf e Bouchaffra (2005), um algoritmo denominado Genetic-based Expectation Maximization(GA-EM) foi desenvolvido com o intuito de estimar o número de grupos e oti- mizar a busca pela solução ótima de um GMM. Cada indivíduo da população representa uma possível solução para o GMM. Os indivíduos são formados por duas partes. Na primeira parte (Parte A), são armazenados Kmax bits, sendo Kmax o maior número de grupos possível, em
que o k-ésimo bit indica se o grupo referente a este bit é considerado no GMM que o indivíduo representa. Na segunda parte (Parte B), são armazenados os valores referentes aos parâmetros de cada grupo, ou seja, as médias de cada componente (µk) e as matrizes de covariância (Σk).
Devido aos coeficientes de mistura não serem armazenados, estes são considerados uniforme- mente distribuídos, i.e., πk = K1,∀k ∈ {1, . . . , K}, sendo K o número de grupos representado
no indivíduo. Portanto, é utilizada a representação baseada em descrição de grupos (Hruschka et al., 2009).
Como função objetivo é utilizada a função logarítmica de verossimilhança — Equação (2.4) — penalizada pelo critério conhecido como Minimum Description Length (MDL) (Rissanen, 1989):
JGAEM =−LLK(X |Ψ) +
K1 + M +M(M +1)2
2 log N. (2.33) O melhor indivíduo é aquele que apresenta o menor valor de JGAEM8. Este critério foi escolhido por ser amplamente utilizado como critério de seleção de modelos (Pernkopf e Bou- chaffra, 2005). A avaliação dos indivíduos é realizada em duas etapas. Na primeira, R iterações
do EM são realizadas em cada indivíduo para atualizar seus parâmetros. Na segunda etapa, o valor de MDL de cada indivíduo é obtido. As R iterações do EM são interrompidas se o valor relativo da função logarítmica de verossimilhança — Equação (2.34) — for menor que ǫ, que é um parâmetro definido pelo usuário:
rllk = LLK(X |Ψ(t))− LLK(X |Ψ(t+1)) LLK(X |Ψ(t)) , (2.34)
na qual Ψ(t)são os parâmetros do GMM na iteração t.
Como é conhecido que o algoritmo EM para GMM converge para um ótimo local (McLa- chlan e Krishnan, 1997) uma estratégia elitista é utilizada, i.e., o melhor indivíduo da geração atual é copiado para a geração subsequente sem sofrer modificações. Para manter esta propri- edade, os coeficientes de mistura deste indivíduo são armazenados de uma geração para outra. O algoritmo é finalizado quando o número de grupos do melhor modelo não muda em cinco gerações consecutivas.
Em cada geração é aplicado um operador de cruzamento que seleciona aleatoriamente dois indivíduos para serem pais, gerando dois filhos. A probabilidade de cruzamento pc determina
o número de indivíduos filhos λ, i.e., λ = pc · P . O operador consiste no cruzamento em um
ponto, o qual seleciona aleatoriamente um ponto z ∈ {1, . . . , Kmax} na Parte A do indivíduo
e troca os valores dos genes à direita desta posição na Parte A e na Parte B entre ambos os indivíduos. É importante notar que este operador pode gerar soluções não desejadas, e.g., com apenas um grupo ou grupos sobrepostos (com a mesma média e possivelmente a mesma matriz de covariância). Desta forma, o operador é orientado a grupos, mas insensível ao contexto. Além disso, o mesmo não é guiado, favorecendo uma busca mais aleatória pela melhor solução. Para a seleção de quais indivíduos devem permanecer de uma geração para outra, é utilizada a estratégia (P + λ), em que P é o número de indivíduos na população e λ o número de filhos gerados pelo operador de cruzamento. Este operador escolhe os P melhores indivíduos considerando a população formada pela união dos pais com os filhos.
Dois operadores de mutação são aplicados. No primeiro, denominado mutação forçada, grupos com comportamento similar são forçados a sofrer mutação. Mais especificamente, con- siderando os vetores de responsabilidades dos componentes i e j (ui e uj), calcula-se o co-
eficiente de correlação de Pearson entre eles (ρ(ui, uj)). Caso ρ(ui, uj) seja maior que um
limiar (tcorrelation) um dos grupos é selecionado aleatoriamente para o conjunto de grupos que
sofrerão mutação. Após o conjunto estar completo, i.e., ρ(ui, uj) ser calculado para todos
i, j ∈ {1, . . . , K}, cada grupo nesse conjunto sofre uma de duas mutações possíveis (esta esco-
lha é realizada aleatoriamente): (i) o grupo é removido redefinindo o seu valor correspondente na Parte A do indivíduo; (ii) a média do grupo é redefinida para as coordenadas de um objeto selecionado aleatoriamente. Pode-se verificar que este operador é guiado e orientado a grupos. O segundo operador de mutação inverte cada bit da Parte A do indivíduo com probabilidade
2.4 Algoritmos Evolutivos 29 mente no intervalo definido pelo menor e maior valor de cada atributo presente nos dados. Além disso, é utilizada uma redução na probabilidade de modificação na Parte B do indivíduo, que é restrita às médias dos grupos, i.e., para as modificações na Parte B do indivíduo, a probabilidade de mutação é igual a
M + M(M +1)2 −1· pm.
Assim como no cruzamento, a aplicação de ambos os operadores de mutação pode gerar soluções não desejadas, e.g., com menos de 2 grupos. Caso isso ocorra, a tarefa de remover tais soluções é deixada para o operador de seleção. Nenhuma mutação é realizada no melhor indivíduo (Pernkopf e Bouchaffra, 2005).
Antes de passar para uma nova geração, os indivíduos são analisados para verificar se deter- minado grupo não é suportado pelos dados. Para tal, é verificado se a soma dos valores do vetor de responsabilidades de um grupo (ui) é menor que um limiar (tannihilate) definido pelo usuário.
De acordo com Pernkopf e Bouchaffra (2005)9, este valor deve ser maior que o número de atri- butos da base de dados. Seguindo o padrão adotado nos experimentos realizados em Pernkopf e Bouchaffra (2005), adota-se tannihilate = 5· M.
O GA-EM é sumarizado no Algoritmo 5. O melhor indivíduo da geração atual é armazenado em Gmin e, após o término do algoritmo, seus parâmetros são otimizados pelo EM e |Gmin|
indica o número de grupos existentes neste indivíduo. Na inicialização, o tamanho da população é definido como max(Kmax − 1, P ) sendo que P é o tamanho da população definido pelo
usuário. Isto acontece pois, na primeira geração, exige-se que todos os valores possíveis de grupos possuam um indivíduo, ou seja, cada indivíduo representa uma solução com um número diferente de grupos. Cada indivíduo é inicializado aleatoriamente ou utilizando o algoritmo K-means. Nas gerações subsequentes, o tamanho da população fica restrito a P .
O algoritmo GA-EM possui algumas limitações. Dentre elas, os seus parâmetros, em espe- cial tcorrelatione tannihilate, são de difícil ajuste por parte do usuário. Além disso, seus operadores
podem gerar soluções inválidas.
2.4.2.2 Genetic Algorithm K-means Logarithmic Regression Expectation Maximization Em Nguyen e Cios (2008), é proposto um algoritmo denominado Genetic Algorithm K- means Logarithmic Regression Expectation Maximization (GAKREM). Os indivíduos deste algoritmo utilizam codificação inteira com representação baseada em medóide (Hruschka et al., 2009), e.g., o indivíduo [ 1 4 7 ] representa uma partição com 3 grupos na qual o medóide do primeiro grupo é o objeto x1, o medóide do segundo grupo é o objeto x4 e o medóide do terceiro grupo é o objeto x7. O número de grupos que podem ser representados em um indivíduo é limitado ao intervalo [2,√N ], sendo N o número de objetos da base de dados. Como
os parâmetros do GMM que o indivíduo representa não são armazenados, torna-se necessário estimá-los tendo como base os medóides. Para tal, é utilizada uma iteração do algoritmo K- meansa partir dos medóides.
Algoritmo 5: Algoritmo Genetic-based Expectation Maximization (adaptado de Pernkopf e Bouchaffra (2005)).
Entrada: X Conjunto de dados a serem agrupados;
KmaxMaior número de grupos aceitável;
P Número de indivíduos na população;
R Número de iterações do EM que devem ser realizadas no máximo em cada
indivíduo em uma geração;
ǫ Limiar para o valor de log-verossimilhança relativa; pcProbabilidade de aplicação do operador de cruzamento;
pmProbabilidade de aplicação do operador de mutação;
tcorrelation Limiar máximo para a correlação entre as responsabilidades de dois
grupos;
tannihilate Limiar mínimo para o somatório de responsabilidades de um grupo;
Saída: Gmin Melhor indivíduo encontrado;
1 t ← 0; 2 ng ← 0; 3 cend ← 0;
4 inicializar P(0)com max(Kmax− 1, P ) indivíduos; 5 enquantocend 6= 5 faça
6 aplicar R passos do EM em cada indivíduo em P(t);
7 avaliar os indivíduos em P(t) de acordo com a Equação (2.33); 8 F ← aplicar operador de cruzamento em P(t)com probabilidade pc; 9 aplicar R passos do EM em F;
10 avaliar F de acordo com a Equação (2.33); 11 P(t+1) ← selecionar P indivíduos de P(t)∪ F; 12 seja Gmin o melhor indivíduo em P(t+1); 13 se |Gmin| 6= nGrupos então
14 cend ← 0;
15 ng =|Gmin|; 16 senão
17 cend ← cend+ 1; 18 fim
19 aplicar operador de mutação forçada em P(t+1)considerando tcorrelation; 20 aplicar operador de mutação em P(t+1)com probabilidade pm;
21 remover grupos com somatório de responsabilidades menor que tannihilate em P(t+1); 22 t ← t + 1;
23 fim
2.5 Considerações Finais 31