• No results found

The theoretical case for studying portfolio entrepreneurs

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