Escolar Documentos
Profissional Documentos
Cultura Documentos
2. Fundamentao terica
2.1. Algoritmos genticos
Algoritmos genticos so algoritmos de busca baseados na seleo natural dos seres vivos. A cada gerao, novos indivduos (strings) so gerados a partir dos indivduos velhos. Cada indivduo representa os parmetros para soluo do problema e possui tambm um valor de fitness, o qual indica o quanto ele bom como soluo do problema. Os principais operadores genticos so crossover e mutao. A seleo um processo que ocorre antes da aplicao dos operadores genticos e consiste na escolha de indivduos dentre a populao. A seleo dos indivduos feita baseada no seu valor de fitness. Indivduos com melhor fitness possuem maior probabilidade de serem selecionados. Crossover o processo que combina dois indivduos selecionados. O crossover efetua escolha de uma posio aleatria na string e troca partes correspondentes das duas strings selecionadas, criando dois novos indivduos. O operador de mutao apenas efetua a troca de bits de uma string (individuo) substituindo 0 por 1 e vice-versa. Ele importante para tentar recuperar material gentico til que pode ter sido perdido com as operaes de seleo e crossover ao longo das geraes. Para um estudo mais detalhado recomenda-se a leitura de [3].
1. Introduo
Com o desenvolvimento da tecnologia de armazenamento de dados, surge o interesse em transformar os dados armazenados em conhecimento. Em termos ideais, o conhecimento deveria ser tanto correto quanto compreensvel para o usurio [1]. Uma das dificuldades para a extrao de conhecimento correto que os dados armazenados podem conter rudos. Para lidar com este problema, ser utilizado neste trabalho o paradigma de descoberta de conhecimento, ou data mining, baseado em Redes Neurais, devido sua tolerncia a rudos na base de dados. Por outro lado, redes neurais tm sido freqentemente criticadas devido no apresentar as razes de suas concluses. Ento surge o interesse em extrair conhecimento compreensvel de redes neurais treinadas, aplicando-se para isso algum algoritmo de extrao de regras. As regras extradas so do tipo IF...THEN, onde a parte IF especifica um conjunto de condies sobre valores de atributos previsores e a parte THEN especifica um valor previsto para o atributo classe. Este trabalho aborda a tarefa de classificao, amplamente investigada na literatura. O problema de extrao de regras de redes neurais treinadas tratado por Lu e colaboradores [2] em 3 fases: (a) treinando a rede neural; (b) efetuando em seguida a poda da rede neural enquanto a preciso preditiva da rede no diminui significativamente; (c) aplicando o algoritmo RX para extrao das regras. Neste trabalho prope-se a idia de utilizar uma adaptao do algoritmo RX em conjunto com 158
classificao; caso contrrio tem-se um neurnio para cada classe existente. O conhecimento do sistema tem sua representao distribuda entre os pesos das conexes, mas esta representao no pode fornecer uma explicao compreensvel sobre a razo pela qual uma classe foi escolhida. Consequentemente, no contexto de data mining geralmente desejvel converter esta representao em regras do tipo IF-THEN que possam ser compreensveis para o usurio [4],[2].
Seleo
Crossover
3. O mtodo proposto para a extrao de regras de redes neurais via algortmos genticos.
Conforme mencionado anteriormente, este trabalho prope a utilizao de algoritmos genticos para encontrar uma topologia de rede neural que conduza extrao de regras de alta qualidade a partir da rede treinada. Nesta abordagem, cada indivduo da populao associado com uma topologia de rede neural. Para cada topologia, a rede treinada e regras so extradas usando-se uma adaptao do algoritmo RX [2]. Portanto, no mtodo aqui desenvolvido, cada indivduo da populao associado com um conjunto de regras e a funo de fitness do algoritmo gentico avalia a qualidade deste conjunto de regras como um todo, em vez de avaliar regras individuais. Esta abordagem tem a vantagem de considerar a interao entre as vrias regras extradas. Ser utilizado para evoluo da rede neural o software ENZO [5], cujo ciclo de evoluo mostrado na figura 1. Porm este software no possui um algoritmo de extrao de regras de redes neurais. Desta forma, o primeiro passo do trabalho a implementao de um novo mdulo para ser inserido no ciclo de evoluo do ENZO que efetue a extrao de regras de todas as redes neurais da populao. Este mdulo tambm efetua o clculo do fitness do conjunto de regras extrado e atribui tal fitness a rede neural. Assim sendo, o novo ciclo de evoluo do ENZO tem o aspecto apresentado na figura 2. A rede evoluda pelo ENZO uma rede neural feedforward completamente conectada com apenas uma camada oculta. Ao contrrio do que feito em [2], esta Rede Neural fornecida ao ENZO sem nenhuma poda. A base de dados dividida em 3 partes: um conjunto de treinamento, um conjunto de validao, e um conjunto de teste. Apenas os dois primeiros so usados durante a evoluo do algoritmo gentico. Os dados do conjunto de treinamento so usados para treinar a rede neural. Uma vez que uma rede treinada, regras so extradas a partir dela, o algoritmo de extrao de regras tambm usa os dados de treinamento. Entretanto, uma vez que as regras foram extradas, necessrio avaliar a qualidade dessas regras, a qual ser usada como funo de fitness do indivduo (rede neural). Essa avaliao usa os dados do conjunto de validao, que independente do conjunto 159
Mutao
Seleo
Crossover
Mutao
Extrao de regras
Figura 2: Ciclo de Evoluo do ENZO com o novo mdulo Finalmente, aps a evoluo do algoritmo gentico ser terminada, o conjunto de regras extradas do melhor indivduo da ltima gerao considerado o conjunto final de regras extrado e mostrado ao usurio. Este conjunto tem a sua qualidade avaliada com base nos
onde, R o nmero de regras, C o nmero de condies, Max_R o maior nmero de regras extradas at o momento e Max_C o maior nmero de condies extradas at o momento. Como o software ENZO considera o melhor indivduo o que possui o menor fitness, a seguinte funo de fitness foi definida,
Fitness = 1 (pta * TC + pc * CP )
onde pta e pc so pesos definidos pelo usurio.
(5)
onde, FC o fator de confiana da regra, A o nmero de acertos e ETC o nmero de exemplos cobertos pela regra. Por exemplo, se a parte IF da regra cobre 10 exemplos de treinamento e 8 destes exemplos so corretamente classificados pela parte THEN da regra, ento o fator de confiana de 80%.
onde, TC a taxa de acerto do conjunto de regras, A o nmero de acertos e ECV o nmero de exemplos no conjunto de validao. A complexidade do conjunto de regras segundo [6] dada pela equao (3). Normalizando (3) e calculando-se o complemento obtemos a compreensibilidade do conjunto de regras que dada pela equao (4). complexidade = 2 * R + C 2* CP = 1 R C + Max_R Max _ C 3 160 (3)
(4)
Criou-se para esta base uma rede neural feedforward totalmente conectada, com 15 neurnios na camada de entrada, 5 neurnios na camada oculta e 3 neurnios na camada de sada. Para a evoluo com o algoritmo gentico foram efetuadas 50 geraes, com populao de 30 indivduos e 10% de mutao. A segunda base utilizada foi a Zoo. Esta base possui 16 atributos previsores e um atributo meta como apresentado a seguir: A - Pelo: 0 ou 1. B - Penas: 0 ou 1. C - Ovos: 0 ou 1 D - Leite: 0 ou 1 E - Voador: 0 ou 1. F - Aqutico: 0 ou 1. G - Predador: 0 ou 1. H - Dentado: 0 ou 1. I - coluna vertebral: 0 ou 1. J - Respira: 0 ou 1. K - Venenoso: 0 ou 1 L - Barbatana: 0 ou 1. M - Pernas: Valores possveis [0,2,4,5,6,8]. N - Rabo: 0 ou 1. O - Domstico: 0 ou 1. P - Catsize: 0 ou 1. Q - Atributo Meta: 7 classes. Esta base apresenta 101 exemplos. Para este trabalho os exemplos foram divididos em 3 conjuntos: (a) 61 exemplos de treinamento; (b) 21 exemplos de validao; e (c) 19 exemplos de testes. Para esta base foi criada uma rede neural feedforward totalmente conectada, com 24 neurnios na camada de entrada, 4 neurnios na camada oculta e 7 neurnios na camada de sada. Para evoluo foram efetuadas 60 geraes, com populao de 50 indivduos e 20% de mutao.
0.5
0.4
fitness
0.3
0.2
0.1
0 0 5 10 15 20 25 30 Gerao 35 40 45 50 55
0.95
Compreensibilidade
0.9
4. Resultados
A figura 3 apresenta a evoluo do melhor fitness, do pior fitness e da mdia dos fitness, para o problema Hayes-Roth. As figuras 4 e 5 apresentam a evoluo da taxa de acerto do conjunto de regras e a compreensibilidade do conjunto de regras obtido, respectivamente. A taxa de acerto do conjunto de regras no conjunto de exemplos de teste foi de 89,28%. A compreensibilidade foi 0,923 numa escala de 0 a 1 obtida atravs de (4).
0.85
0.8
0.75 0 5 10 15 20 25 30 Gerao 35 40 45 50 55
Figura 5 Evoluo da compreensibilidade das regras da base Hayes-Roth. A seguir apresentado o conjunto de regras obtido pela evoluo do algoritmo gentico em conjunto com o algoritmo de extrao de regras RX. Na tabela 1 encontra-se o percentual de acerto de cada regra obtida. Regra 1: Se (B =1) E (C=1) E (D =2) ento Classe 1 Regra 2: Se (B 4) E (C = 1) E (D 2) E (D 4) ento Classe 1 Regra 3: Se (B = 1) E (C 4) E (D 2) E (D 4) ento Classe 1
161
Taxa de acerto
Regra 4: Se (B 1) E (B 4) E (C = 1) E (D 2) E (D 4) ento Classe 2 Regra 5: Se (B 4) E (C 1) E (C 4) E (D = 2) ento Classe 2 Regra 6: Se (B 1) E (B 4) E (C 1) E (C 4) E (D 2) E (D 4) ento Classe 2 Default Classe 3. Tabela 1 Hayes-Roth: Taxa de acerto das regras obtidas. Regra Dados de teste Exemplos cobertos Percentual de pela regra. acerto. 1 100% 6 100% 4 100% 2 100% 6 83% 8 75%
0.84 0.82 0.8 0.78 0.76 0.74 0.72 0.7 0.68 0.66 0 10 20 30 Gerao 40 50
Taxa de Acerto
60
70
Compreensibilidade
1 2 3 4 5 6
A figura 6 apresenta a evoluo do melhor fitness, do pior fitness e a mdia dos fitness, para o a base zoo. As figuras 7 e 8 apresentam a evoluo da taxa de acerto do conjunto de regras e da compreensibilidade do conjunto de regras obtido, respectivamente. A taxa de acerto do conjunto de regras no conjunto de exemplos de teste foi de 78,94%. A compreensibilidade foi 0,946 numa escala de 0 a 1 obtida atravs de (4).
0.6 0.55 0.5 0.45 0.4 fitness 0.35 0.3 0.25 0.2 0.15 0.1 0 10 20 30 Gerao 40 50 60 70 Melhor pior Medio
0.84 0.82
0.8 0 10 20 30 Gerao 40 50 60 70
Figura 8 Evoluo da compreensibilidade das regras da base zoo. A seguir apresentado o conjunto de regras obtidos pela evoluo do algoritmo gentico em conjunto com o algoritmo de extrao de regras RX. Na tabela 2 encontra-se o percentual de acerto de cada regra obtida. Regra 1: Se D ento Classe 1 Regra 2: Se (Not(D)) E (M 2) E (M 6) ento Classe 4 Regra 3: Se (Not(D)) E (M = 6 ) E (Not(H)) ento Classe 6 Default Classe 2
Tabela 2 Zoo database: Taxa de acerto das regras obtidas. Regra Dados de teste Exemplos cobertos Percentual de pela regra. acerto. 8 100% 6 33% 1 100%
1 2 3
anterior, a saber 89,28%, com o percentual de ocorrncia da classe default (classe da maioria) no conjunto de testes, que de 50%, observa-se boa preciso do conjuntos de regras. Resultado semelhante tambm foi obtido para a base zoo. Apesar da preciso obtida ser um pouco menor, a saber 78,94%, este valor ainda maior que o percentual de ocorrncia da classe default no conjunto de teste, cujo percentual de 42,1%. Pode-se observar nas tabelas 1 e 2 os percentuais de acerto individual de cada uma das regras obtidas, sendo bastante satisfatrio com exceo da regra 2 na tabela 2. Deve-se observar que estes percentuais foram calculados sobre dados de teste no vistos durante o processo de evoluo. As regras descobertas tambm so compreensveis, consistindo de um pequeno nmero de condies, conforme foi visto anteriormente.
Referncias Bibliogrficas
[1] Fayyad, V.M.et.al. From data mining to Knowledge Discovery: an overview. In:Gayyad, V.M.et.al. (Eds.) Advances in Knowledge Discovery and Data Mining,134. AAAI/MIT,1996. [2] Lu, H., Setiono, H., Liu, H. NeuroRule: a connectionist approach to data mining. Proc. 21st Conf. on Very Large Databases. Zurich, 1995. [3] Goldberg, D. E. Genetic algorithms in search, optimization and machine learning. Reading, MA: Addison Wesley, 1989. [4] Freitas, A. A., Lavington, S. H. Mining very large databases with parallel processing. London: Kluwer Academic Publisher; 1998. [5] Braun, H., Ragg, T., ENZO User Manual and Implementation Guide, Version 1.0, University of Karlsruhe; 1995. [6] Janikow, C. Z. A knowledge intensive genetic algorithm for surpervised learning. Machine Learning, 13, 189228, 1993. [7] Hayes-Roth, B., Hayes-Roth, F. Concept learning and the recognition and classification of exemplars, Journal of Verbal Learning and Verbal Behavior, 16, 321-338, 1977.
163