• Nenhum resultado encontrado

Algoritmos Evolutivos Baseados em Expectation Maximization para

2.4 Algoritmos Evolutivos

2.4.2 Algoritmos Evolutivos Baseados em Expectation Maximization para

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