• Nenhum resultado encontrado

CAPÍTULO 4 MÉTODOS BASEADOS EM APRENDIZADO DE MÁQUINA

5.4 Desenvolvimento de Modelos com Base em Ranking Nebuloso

5.4.2 Base de Conhecimento Nebulosa

Como já citado na Seção 4.3, o projeto de um sistema nebuloso passa geralmente pela construção de uma base de conhecimento nebulosa, que consiste de dois componentes:

a) Os conjuntos nebulosos que devem ser modelos para se representar as variáveis (em nosso caso, características) relevantes;

b) O conjunto de regras nebulosas que irá guiar o processo de inferência nebuloso.

5.4.2.1 Modelagem dos Conjuntos Nebulosos

Optou-se pela definição manual dos conjuntos nebulosos seguindo uma abordagem tradicional de representação por triângulos (Eberhart e Shi 2007). Três triângulos uniformes representam 3 conjuntos nebulosos possíveis (Baixo, Médio ou Alto) para cada característica. Ou seja, para cada características de sumarização existem três “conceitos” que poderão ser atribuídos: Baixo, Médio ou Alto.

Figura 5-8 – Representação dos conjuntos nebulosos

O grau como as sentenças estão relacionadas aos conceitos Baixo, Médio ou Alto de cada características vai ser atribuído em função do valor que a sentença apresenta para a característica. As equações seguintes mostram as funções de pertinência para cada conceito:

> ≤ − = 5 . 0 , 0 5 . 0 , 5 . 0 1 ) ( x x x x Baixo 5 . 0 | 5 . 0 | 1 ) (x = − xMédio

< ≥ − = 5 . 0 , 0 5 . 0 , 5 . 0 5 . 0 x x x Alto

5.4.2.2 Geração do Conjunto de Regras

Uma abordagem comum no projeto de sistemas nebulosos baseados em regras é através da geração manual por especialistas de domínio. Isto pode ser bastante complicado, especialmente quando o número de variáveis for grande e o problema complexo. Outra abordagem é por meio da utilização de algoritmos genéticos, como adotado por Kiani-B e Akbarzadeh-T (2006). Essa última abordagem vem se tornando mais popular devido aos bons resultados proporcionados e por não demandar o trabalho manual de definição das regras (Eberhart e Shi 2007).

Neste trabalho, optou-se por seguir uma abordagem totalmente automática na geração de regras. Foi utilizado, para isso, um algoritmo genético seguindo a chamada abordagem de Pittsburgh (Eberhart e Shi 2007), que representa uma base de regras completa num cromossomo. Isto é, cada cromossomo representa uma base de regras completa. A contrapartida da abordagem de Pittsburgh é a de Michigan, que representa por meio de cada cromossomo uma única regra. Ela foi deixada de lado neste trabalho por se entender que tem pior desempenho computacional quando utilizada com funções de fitness complexas, como as métricas de SA.

O tamanho da população foi definido em 200 cromossomos. A população inicial foi gerada a partir da combinação de 2000 regras aleatórias e 2000 regras geradas pelo método de (Wang e Mendel 1992).

5.4.2.3 Codificação do Cromossomo

Pela abordagem de Pittsburgh, cada cromossomo representa um conjunto de regras completo. Por decisão de projeto, cada cromossomo possui 100 regras. Portanto, o tamanho do vetor cromossômico tem 1200 posições. Esse número é obtido multiplicando-se o número regras codificadas, que é 100, por 12 (11 posições para o antecedente e 1 para a classe).

A representação dos conjuntos foi feita a partir de números inteiros, da seguinte forma:

• Para o antecedente:

o 0 indica que a característica não aparece no antecedente (“dont-

care”);

o 1 a 3 representam os conjuntos Baixo, Médio e Alto, respectivamente.

• Para a classe (consequente):

o 0 indica a classe False (PresencaSumario = False) o 1 indica a classe True (PresencaSumario = True)

A figura a seguir ilustra um segmento parcial de cromossomo que codifica a regra: Se C1 é Alto e C2 é Médio e C3 é Baixo então a classe é True.

3 2 1 0 0 0 0 0 0 0 0 1 ...

Figura 5-9 – Exemplo de Representação de um Cromossomo

5.4.2.4 A Função de Fitness e o Método de Seleção

Foi adotada a medida ROUGE-2 como função de fitness. A escolha da ROUGE deve-se ao fato de a ferramenta ser bastante usada em trabalhos acadêmicos e competições de SA. Além disso, seus autores relatam boa correlação com as avaliações humanas, conforme já citado na Seção 2.3.2.

Para se avaliar um cromossomo, isto é, um conjunto de regras nebulosas, as regras codificadas são utilizadas em conjunto com o classificador nebuloso descrito na Seção 5.4.3. Após a geração dos extratos, o valor de aptidão (fitness) da base de regras é a medida ROUGE-2 dos extratos produzidos por essa base.

Uma vez avaliados os cromossomos, a probabilidade de esse cromossomo permanecer na próxima geração será proporcional ao valor da função de aptidão (ROUGE). Esse método é conhecido como “roleta”, uma vez que cada cromossomo ocupa um espaço na roleta proporcional ao seu valor de aptidão, conforme Figura

5-10. Cada vez que “a roleta vira”, indivíduos com maior valor de aptidão têm chance de ser selecionados mais vezes. Isso tende a facilitar a convergência uma vez que haverá dominância dos indivíduos mais aptos desde as primeiras gerações.

Figura 5-10 – Método da roleta

5.4.2.5 Cruzamento e Mutação

Ao longo do processo evolucionário do algoritmo genético, operadores de cruzamento e mutação são utilizados com a finalidade de se derivar novos indivíduos. A taxa de cruzamento foi definida em 90% e a de mutação em 1%. Os operadores são descritos a seguir:

a) Cruzamento. Utilizou-se o cruzamento simples (e.g.,Herrera, Lozano et al. 1993) em que o ponto de cruzamento foi escolhido aleatoriamente entre as codificações de cada regra. Por este método, a partir do ponto escolhido são trocas as informações genéticas dos pais, conforme figura:

b) Mutação. Utilizou-se uma mutação não-uniforme (e.g.,Herrera, Lozano et al. 1993) com no máximo 10% das posições do cromossomo sendo alteradas. Isto é, determina-se aleatoriamente o número máximo de alterações que o cromossomo irá sofrer, de 0 até 120 (10% de 1200). Cada posição selecionada, então, para mutação é atualizada conforme as seguintes equações:

) ) ( , 0 ( ' k k k k c LS c c

c = +∆ − se um número aleatório uniforme for 0 ) , 0 ( ' k k k c c

c = +∆ se um número aleatório uniforme for 1

em que: k

c é o valor atual do gene k;

' k

c é o novo valor para o gene k;

) (ck

LS é 3 se ck for um gene que codifica uma característica. Se codificar

uma classe é 1; ) , ( ba

é um número aleatório uniforme a e b.

Figura 5-12 – Método de mutação genética

5.4.2.6 Algoritmo Genético

O trecho de pseudocódigo seguinte mostra o fluxo geral do processo de geração da base de regras ao longo do processo evolucionário. P(t) indica a população corrente na geração t. O número máximo de iterações foi definido como 1000 gerações.

Início

t=0;

Iniciar P (t) a partir do Método de Wang-Mendel e de regras Aleatórias;

Avaliar P(t);

Enquanto (t < MAXIMO_ITERACOES) Faça Início

t=t+1;

Seleção por roleta de P(t) a partir P(t-1); Aplicar Cruzamento em P(t);

Aplicar Mutação em P(t);

Avaliar P(t) sumarizando-se os textos do corpus de treinamento, para cada base de regras, e avaliando na ferramenta ROUGE;

Fim Fim