• Nenhum resultado encontrado

3.3 Revisão de Características

4.3.1 Ponto de Partida

O ponto de partida determina qual é o estado no espaço onde a busca deve iniciar e influencia na direção da busca e nos operadores que serão utilizados para geração dos estados sucessores. Há três abordagens mais comumente utilizadas:

• Conjunto vazio;

• Conjunto com todas as características; • Conjunto selecionado aleatoriamente.

4.3.2 Função de Avaliação

As Funções de Avaliação são responsáveis por avaliar a evolução do processo de seleção de características. São divididas em dois grandes grupos: as funções de critérios independentes e as funções de critérios dependentes.

Os critérios independentes avaliam individualmente a qualidade preditiva das carac- terísticas de entrada não havendo a preocupação em definir um conjunto mínimo de características a ser utilizado. Estes algoritmos frequentemente geram como saída uma lista ordenada das características de entrada e podem ainda ser subdivididos em [7]:

• Métricas de distância: são também denominadas métricas de separabilidade, de divergência ou de discriminação. Algumas métricas de distância utilizadas são: Euclidiana, Chebyshev, City Block e Mahalanobis.

• Métricas de teoria da informação: determinam o ganho de informação de uma característica. No caso de características com valores discretos, funções basea- das em distribuição de probabilidade como entropia, entropia conjunta, entro- pia condicional, informação mútua e ganho de informação, também chamado de entropia relativa ou divergência Kullback-Leibler são comumente utilizadas.

• Métricas de dependência: permite quantificar o quanto a variação do valor de uma característica pode ser predita através do valor de outra característica e podem ser lineares ou não lineares. São exemplos de métricas de dependên- cia: coeficiente de correlação de Pearson, Chi-Quadrado e os Coeficientes de Spearman, Kendall e Goodman-Kruskal.

De forma oposta, os critérios dependentes não trabalham buscando a relevância individual das características, mas procurando avaliar a qualidade preditiva de um conjunto de características de entrada em relação à característica de saída. Por conseguinte, as características que estão no subconjunto ótimo são consideradas relevantes, e todas as demais, irrelevantes.

4.3.3 Estratégia de Busca

Explorar as possibilidades de subconjuntos de características para avaliar a quali- dade dos mesmos é uma tarefa complexa que parte pela escolha da melhor estratégia. Quanto a direção da expansão, a busca pode ser realizada de três maneiras básicas: • Para frente: parte-se de um subconjunto mínimo e adiciona-se as melhores características a cada interação. O procedimento acaba quando todas as ca- racterísticas tiverem sido adicionadas ou quando for atingido um critério de parada pré-estabelecido;

• Para trás: parte-se de um subconjunto máximo e removem-se as piores ca- racterísticas a cada interação. O procedimento acaba quando todas as carac- terísticas tiverem sido removidas ou quando for atingido o critério de parada pré-estabelecido.

• Bidirecional: parte-se de um subconjunto médio e adiciona-se ou remove-se a melhor e a pior característica respectivamente a cada interação. O procedi- mento acaba quando não houverem mais características ou quando for atingido o critério de parada.

As estratégias de busca podem ser divididas em [7]:

• Buscas Completas: Garantem encontrar uma solução para o problema, caso esta solução exista. Se houver várias soluções, garante encontrar a melhor sendo, por isso, consideradas ótimas. Como necessitam pesquisar todo o es- paço de busca, a complexidade de tempo e de espaço pode tornar esta estra- tégia inviável se o problema estudado trabalhar com um grande número de características.

• Buscas Heurísticas: possuem regras que reduzem ou limitam a busca por so- luções em domínios permitindo a pesquisa seletiva no espaço de busca. A

estratégia da heurística geralmente pode estar implementada na forma de um algoritmo de aprendizado, tais como Algoritmos Genéticos ou Redes Neurais, ou pode ser uma regra que auxilie a busca pelo melhor subconjunto de carac- terísticas, tais como entropia ou análise de componentes principais.

• Buscas Não Determinísticas: são aplicadas a problemas de otimização e geram conjuntos de soluções candidatas que buscam convergir probabilisticamente de forma a maximizar uma função objetivo. São exemplos de estratégias de busca não determinísticas: Subida de Encosta, Simulated Annealing e Algoritmos Genéticos.

4.3.4 Abordagem de Funcionamento

Os algoritmos de seleção de características podem se classificados de acordo com a abordagem que utilizam como:

• Filtros: são baseadas somente nas informações contidas nos dados. Normal- mente são utilizados na fase de pré-processamento e são independentes do al- goritmo de classificação, não recebendo deste nenhuma retroalimentação sobre a qualidade das características que foram selecionadas no processo de filtra- gem. Por não possuírem nenhuma relação com a tarefa de aprendizado, os filtros são menos custosos computacionalmente que as outras abordagens. • Wrappers: estas abordagens procuram determinar o quão bom é um subcon-

junto de características através da efetiva avaliação deste subconjunto pelo al- goritmo de aprendizado. Os subconjuntos de características são, desta forma, submetidos ao algoritmo de classificação, sendo executado um ou mais ciclos completos de treinamento e teste. O melhor subconjunto de características será aquele no qual a classificação obtiver uma maior exatidão preditiva. • Embutidos: estão inseridas dentro do algoritmo de aprendizado, ou seja, tem

total interação com o aprendizado, diferentemente das abordagens de filtros e wrappers. Em virtude desta característica, não há a necessidade de criar novos processos dentro da estrutura de classificação de dados.

4.3.5 Critério de Parada

Corresponde a definição de quando o processo de escolha do subconjunto de carac- terísticas deve ser finalizado e retornada a melhor opção encontrada. A escolha do ponto de parada deve ser criteriosa, pois pode resultar em um tempo de busca muito elevado, se o critério for muito restritivo, ou em uma solução não satisfatória se, em prol de um tempo menor, um critério pouco restritivo for utilizado. Seguem alguns critérios de parada bastante utilizados:

• A modificação do subconjunto incluindo ou removendo características não pro- porciona melhorias ao desempenho do modelo;

• A quantidade de características definida previamente foi alcançada;

• O melhor subconjunto de características foi encontrado dentre os subconjuntos gerados previamente.

Neste capítulo abordamos os principais aspectos envolvidos no processo de seleção de características. Estes conceitos serão fundamentais para a construção do modelo proposto neste trabalho. Para completar a fundamentação teórica necessária, o próximo capítulo será dedicado aos conceitos que envolvem Busca Genética, uma vez que esse será o método de otimização que trabalharemos.

5 Busca Genética

5.1 Características Gerais

Os Algoritimos Genéticos (AG) constituem umas das técnicas mais conhecidas da computação evolutiva. Baseada na teoria da evolução natural e em interações en- tre espécies, os AGs possuem um amplo campo de atuação e tornaram-se bastante difundidos e aplicáveis a diversas áreas do conhecimento em virtude de sua sim- plicidade de compreensão, funcionamento e implementação. Os AGs possibilitam buscas eficazes em amplos espaços de procura o que resulta em sua utilização em um numeroso e variado grupo de problemas e, principalmente, naqueles onde não se tem uma solução determinística razoável.

Os Algoritmos Genéticos são métodos computacionais de busca onde uma população de possíveis soluções para um problema evolui de acordo com operadores probabi- lísticos concebidos a partir de metáforas biológicas. Deste modo, à medida em que o processo evolutivo continua, há uma tendência de que os indivíduos representem so- luções cada vez melhores [31]. A seguinte terminologia é utiliza quando trabalhamos com AG:

• Indivíduo: uma possível solução para o problema;

• Gene: um possível valor para cada possível solução de um indivíduo; • Alelos: valores que um gene pode assumir;

• Genótipo: informação que o cromossomo representa para solucionar o pro- blema;

• Cromossomo: conjunto de genes. Uma forma de representação da solução; • Locus: posição de um gene em um cromossomo;

• População: conjunto de cromossomos ou soluções;

• Aptidão: valor que define o desempenho de um indivíduo para solucionar o problema;

• Função de aptidão: função a ser maximizada ou minimizada de acordo com o problema proposto;

• Geração: representa um ciclo de criação, transformação e avaliação de indi- víduos;

A definição da população inicial mais comum é a aleatória formada somente por indivíduos válidos. O número de indivíduos desta população não deve ser muito pequeno para que o espaço de exploração não fique muito restrito nem muito grande para que a execução do algoritmo não se torne demasiadamente demorada. O me- canismo de “evolução” dos Algoritmos Genéticos baseia-se em operadores genéticos. São eles:

• Seleção: corresponde a escolha de indivíduos para realização de cruzamentos. Pode ser feita por escolha aleatória ou eleição dos mais aptos.

• Cruzamento: corresponde a um mecanismo de troca de informações gené- ticas entre os indivíduos selecionados, possibilitando que mais soluções sejam exploradas dentro da gama de soluções possíveis.

• Mutação: corresponde à troca do valor de um gene aleatoriamente escolhido. Previne que todas as soluções sejam apenas combinações das soluções da po- pulação inicial.

De posse desses elementos, a estrutura de soluções potenciais é codificada por uma representação cromossômica e, uma população de cromossomos evolui por meio dos operadores genéticos. O processo evolutivo é então encerrado quando as soluções não sofrem mais melhorias ou quando um número máximo pré-definido de gerações é atingido. O resultado final do processo é, normalmente, o cromossomo mais apto da população resultante do processo evolutivo.

A avaliação de aptidão dos descendentes deve ser atribuída através de uma medida de aptidão ou função critério. Esta função deve atribuir um score para cada cro- mossomo, diferenciando-os conforme a qualidade de solução que cada um representa Assim, as maiores probabilidades de reprodução e sobrevivência devem ser dadas aos cromossomos mais aptos. Devido a sua importância para AGs, as funções de aptidão devem ser feitas sob medida para cada categoria de problema [6].

5.2 Codificação

Em um AG, as possíveis soluções são representadas através da estrutura denominada

cromossomo. Na representação clássica, o cromossomo é codificado de maneira

genes como o uso de números inteiros, reais ou ainda qualquer formato relacionado com o problema, tais como, caracteres ou outro objeto. É possível ainda o uso de cromossomos com tamanho variável [6]. O importante neste processo é que um indivíduo represente um ponto no espaço das possíveis soluções para o problema.

Figura 5.1: Codificação clássica de um AG

A Figura 5.1 exemplifica um conjunto de valores representados por um cromossomo binário. Neste trabalho, adotaremos esta forma de representação.

5.3 População Inicial

A inicialização da população corresponde ao processo de criação dos indivíduos para o primeiro ciclo do Algoritmo Genético. Existem algumas abordagens dentre as quais podemos destacar:

• Geração aleatória: neste modelo os genes dos indivíduos podem possuir igual probabilidade ou serem tendenciosos. No primeiro caso, fala-se em dis- tribuição uniforme e no segundo em distribuição não uniforme.

• Semeadura: neste modelo utiliza-se a solução de outro método de otimização para gerar os indivíduos iniciais. Desta forma, o AG recebe uma população que ainda não possui indivíduos ótimos, mas que apresentam pelo menos algumas das características desejadas.

5.4 Função de Avaliação

A Função de Avaliação ou Função Objetivo tem como objetivo fornecer uma medida de aptidão de cada indivíduo da população, ou seja, define o quanto a solução codificada por aquele indivíduo está apta para resolver o problema em estudo. Cada problema especifica sua própria função de avaliação. Nos casos onde o custo de operação da função for consideravelmente alto, pode-se fazer uso de funções não

determinísticas que operem apenas sobre uma amostragem das características do indivíduo.

A aplicação da função de avaliação ocorre no início do algoritmo, e ao final de cada geração quando um processo de substituição elimina os indivíduos menos aptos da população mantendo, entretanto, a quantidade máxima de indivíduos da população (previamente configurado). Beckmann [32], apresenta três estratégias de substitui- ção:

• Geracional: Seja t o tamanho da população, os t pais são substituídos pelos t filhos em cada geração.

• Geracional com elitismo: Os e < t melhores pais não são substituídos ao final da geração, sendo tipicamente e = 1.

• Regime permanente: A cada geração apenas 1 ou 2 filhos são gerados e substituem os 2 piores indivíduos da população, os pais ou os indivíduos mais velhos.

Existem diversos tipos de escalonamento. Dentre os mais utilizados, Marcuzzo [33] destaca:

• Escalonamento linear: gradua as contagens simples, de modo que a expec- tativa do indivíduo mais apto seja igual a uma constante multiplicada pela contagem média. Especifica-se a constante em um campo máximo da taxa de sobrevivência, que é indicado quando se seleciona o deslocamento linear. • Escalonamento proporcional: faz o valor de escala de um indivíduo ser

proporcional a sua pontuação simples de aptidão.

• Escalonamento superior: gradua os indivíduos superiores igualmente, ou seja, um conjunto de indivíduos superiores recebem a mesma escala. A quan- tidade destes indivíduos pode ser um número inteiro entre 1 e o tamanho da população ou uma fração entre 0 e 1, que especifica uma percentagem do tamanho da população a receber a mesma escala.

• Ranque: faz a escala dos pontos simples baseadas no ranque de cada indiví- duo em vez de sua pontuação. O ranque de um indivíduo é sua posição nas pontuações classificatórias.

5.5 Seleção

O cruzamento entre os indivíduos é o mecanismo utilizado pelos AGs para a troca de conteúdo genético dentro de uma população. Para tal, um processo de seleção

onde os mais aptos terão maior probabilidade de fazer parte de uma população intermediária deve ser promovido. Existem diversas técnica de seleção de indivíduos, dentre as quais podemos destacar [6]:

• Seleção proporcional: A probabilidade de um indivíduo ser selecionado é simplesmente proporcional ao seu valor de aptidão;

• Seleção por roleta: esta técnica escolhe genitores simulando uma roda de roleta, em que a área da roda que corresponde a um indivíduo é proporcional à aptidão no mesmo. O algoritmo usa um número aleatório para selecionar uma das seções com uma probabilidade igual a sua área;

• Seleção por torneio: nesta opção, os indivíduos são escolhidos aleatoria- mente a partir da população atual e suas funções de aptidão são comparadas em um número de torneios pré-definido. O indivíduo com melhor valor da função de aptidão é selecionado para reprodução.

• Seleção por normalização: nesta técnica, os indivíduos são inicialmente ordenados de acordo com suas aptidões. Os valores de aptidão são então alte- rados linearmente dentro de um intervalo de acordo com sua posição relativa na ordenação onde os pontos mínimo e máximo são determinados pelo usuário (posição 1 corresponde ao pior elemento). De forma linear, este método reduz o domínio exercido por indivíduos com aptidões muito elevadas em relação aos demais e aumenta a pressão seletiva entre indivíduos com avaliação próxima. Uma variação desta técnica trabalha com função exponencial para determinar a probabilidades de seleção de cada indivíduo.

• Seleção por amostragem estocástica uniforme: nesta técnica os indiví- duos são mapeados para segmentos contíguos de uma linha onde o tamanho de cada segmento é proporcional ao valor normalizado de avaliação do indi- víduo. Para a definição dos n indivíduos que serão selecionados, um número i entre 0 e n1 é sorteado. Atribui-se então n ponteiros para os segmentos de reta nas posições i, i + n1, i + n2, ..., +n−1n . Os donos de cada segmentos serão os selecionados.

5.6 Reprodução

As técnicas de reprodução definem os critério de substituição dos indivíduos de uma população para a próxima geração. Pacheco [34] apresenta os seguintes métodos:

• Troca de toda população: A cada ciclo, N novos indivíduos são criados substituindo a população anterior: N2 pares são escolhidos para o acasalamento, gerando N descendentes.

• Troca de toda a população com elitismo: Todos os cromossomos são substituídos, sendo o cromossomo mais apto da população corrente copiado na população seguinte.

• Troca parcial da população (steady state): Gera M indivíduos (M < N ), que substituem os piores indivíduos da população corrente.

• Troca parcial da população (steady state) sem duplicados: Seme- lhante ao anterior, sem permitir a presença de indivíduos duplicados que são descartados da população. Implica, entretanto em “overhead” para a detecção de duplicados e criação de novos indivíduos.

5.7 Operadores Genéticos

Os operadores genéticos são responsáveis por transformar a população através de sucessivas gerações, estendendo a busca até chegar a um resultado satisfatório. Eles proporcionam a diversificação da população mantendo as características de adapta- ção adquiridas durante as gerações anteriores. São eles:

Mutação

Afim de evitar que o AG gere indivíduos muito parecidos e uma consequente perda de diversidade, as técnicas de mutação permitem que o Algoritmo Genético busque por novas soluções no espaço de busca sendo, desta forma, o operador que pode restaurar o material genético inexistente ou perdido em gerações anteriores. O operador de mutação troca o conteúdo de uma posição do cromossomo (alelo, símbolo, valor do gene), com uma determinada probabilidade, em geral baixa (menor que 1%) [34].

Figura 5.2: Mutação

Recombinação ou Crossover

O operador de crossover é muito importante nos AGs. Nesta operação, novos in- divíduos são criados a partir da troca do material genético entre pares de genitores

escolhidos aleatoriamente da população, baseado na aptidão deles. Desta forma, os descendentes serão diferentes de seus pais, mas com características genéticas de ambos. A Figura 5.3 mostra a produção de descendentes a partir da troca aleatória de material genético entre os genitores G1 e G2 [34].

Figura 5.3: Recombinação ou Crossover

5.8 Funcionamento

Silva [6] descreve de forma resumida o mecanismo de funcionamento do Algoritmo Genético básico através do seguinte fluxograma:

Podemos observar pelo fluxograma da Figura 5.4 que após gerado uma população Tp inicial, os cromossomos desta população são avaliados e, caso não atinjam o cri-

tério de parada, um subconjunto destes cromossomos será selecionado e passará por um processo de reprodução (cruzamento e mutação). Uma avaliação dos descen- dentes é feita quando as suas aptidões para sobrevivência e os aprovados são então avaliados novamente mas, desta vez, em relação ao critério de parada. O ciclo se repete até que este critério seja atingido e, consequentemente, a(s) melhor(es) solu- ção(ões) encontrada(s). Existem vários critérios de parada possíveis dentre os quais destacamos: • Número de Gerações • Tamanho da População • Total de Indivíduos • Taxa de Crossover • Taxa de Mutação

Os Algoritmos Genéticos tem sido utilizados com sucesso em uma grande variedade de aplicações. Neste capítulo abordamos os principais conceitos relativos a esta técnica de busca e, com isso, encerramos a fundamentação teórica necessária ao entendimento do método proposto neste trabalho. Nos capítulos que seguem tra- taremos especificamente na nossa contribuição, dos experimentos realizados e dos resultados obtidos.

6 Método Proposto

6.1 Apresentação

Como vimos no Capitulo 4, o aumento progressivo do número de características não necessariamente representa melhores resultados de classificação e, por outro lado, algumas vezes observamos um processo de degradação do qualidade dos resultados. Isto ocorre porque um elevado número de características leva a um fenômeno conhe- cido como maldição da dimensionalidade que aumenta a complexidade de tarefas de manipulação e análise dos dados e, consequentemente, afeta negativamente o desempenho dos métodos de classificação [6].

Neste contexto, apresentamos a seguir uma proposta de arquitetura para um método que faz uso de Algoritmos Genéticos e de classificadores k-Nearest Neighbor (kNN) e Redes Neurais MLP com backpropagation para eleger, no contexto do problema de diferenciação entre textos impressos e manuscritos, a partir de um conjunto de características, subconjuntos de características com menor dimensionalidade que resultem na manutenção ou redução do erro de classificação. Segue o detalhamento da arquitetura feito de forma modular e dividido nas fases de treinamento e teste.

6.2 Arquitetura de Treinamento

6.2.1 Visão Geral

A arquitetura desta etapa pode ser vista na Figura 6.1 e está dividida em seis com- ponentes principais.

Figura 6.1: Arquitetura de Treinamento

Uma parte dos dados normalizados correspondente a 101 é separada e destinada a etapa de teste. A escolha dessa proporção se deve ao processo de validação cruzada com método k-fold (K=10) que será detalhado no Capítulo 7 que trata dos experi-

Documentos relacionados