Você está na página 1de 6

Proceedings of the IV Brazilian Conference on Neural Networks - IV Congresso Brasileiro de Redes Neurais

pp. 158-163, July 20-22, 1999 - ITA, So Jos dos Campos - SP - Brazil

Extrao de Regras de Redes Neurais via Algoritmos Genticos

Raul T. Santos1, Jlio C. Nievola2, Alex A. Freitas3, Heitor S. Lopes4


1,4
CEFET-PR/CPGEI, Av. Sete de Setembro, 3165, Curitiba-PR, 80230-901
2,3
PUC-PR/CCET-PPGIA. Av. Imaculada Conceio, 1155 Curitiba- PR, 80215-901
raul@dainf.cefetpr.br, nievola@ppgia.pucpr.br, alex@ppgia.pucpr.br, hslopes@cpgei.cefetpr.br

Abstract algoritmos genticos. Algortmos genticos so um


mtodo de busca global robusto [3] e so adequados
In kwonledge extraction from databases, a para problemas difceis, com grande espao de busca.
frequently found problem is noisy data. Neural Nosso objetivo utilizar um algoritmo gentico para
networks are usually tolerant a noise in the training encontrar uma topologia de Rede Neural que
set, but they are have a poor performance in explaining possibilite a extrao de um conjunto de regras com
how a solution is found. In this work it is presented a maior taxa de acerto e menor complexidade.
method for obtainiy correct and comprehensible
kwonledge by using rule extraction from trained neural 2. Fundamentao terica
networks. Such a method uses genetic algorithm to find
a suitable topology for a neural network that allows 2.1. Algoritmos genticos
the RX algorithm to extract a rule set as accurate and
comprehensible as possible. The proposed system was Algoritmos genticos so algoritmos de busca
tested with two publicly available data sets and results baseados na seleo natural dos seres vivos. A cada
were very satisfactory. gerao, novos indivduos (strings) so gerados a partir
dos indivduos velhos. Cada indivduo representa os
parmetros para soluo do problema e possui tambm
1. Introduo um valor de fitness, o qual indica o quanto ele bom
como soluo do problema.
Com o desenvolvimento da tecnologia de Os principais operadores genticos so crossover e
armazenamento de dados, surge o interesse em mutao. A seleo um processo que ocorre antes da
transformar os dados armazenados em conhecimento. aplicao dos operadores genticos e consiste na
Em termos ideais, o conhecimento deveria ser tanto escolha de indivduos dentre a populao. A seleo
correto quanto compreensvel para o usurio [1]. Uma dos indivduos feita baseada no seu valor de fitness.
das dificuldades para a extrao de conhecimento Indivduos com melhor fitness possuem maior
correto que os dados armazenados podem conter probabilidade de serem selecionados.
rudos. Para lidar com este problema, ser utilizado Crossover o processo que combina dois
neste trabalho o paradigma de descoberta de indivduos selecionados. O crossover efetua escolha de
conhecimento, ou data mining, baseado em Redes uma posio aleatria na string e troca partes
Neurais, devido sua tolerncia a rudos na base de correspondentes das duas strings selecionadas, criando
dados. dois novos indivduos. O operador de mutao apenas
Por outro lado, redes neurais tm sido efetua a troca de bits de uma string (individuo)
freqentemente criticadas devido no apresentar as substituindo 0 por 1 e vice-versa. Ele importante para
razes de suas concluses. Ento surge o interesse em tentar recuperar material gentico til que pode ter sido
extrair conhecimento compreensvel de redes neurais perdido com as operaes de seleo e crossover ao
treinadas, aplicando-se para isso algum algoritmo de longo das geraes. Para um estudo mais detalhado
extrao de regras. As regras extradas so do tipo recomenda-se a leitura de [3].
IF...THEN, onde a parte IF especifica um conjunto de
condies sobre valores de atributos previsores e a 2.2 Data mining via redes neurais
parte THEN especifica um valor previsto para o
atributo classe. Este trabalho aborda a tarefa de Data mining objetiva extrair conhecimento correto
classificao, amplamente investigada na literatura. e compreensvel de bases de dados. Dentre as tarefas e
O problema de extrao de regras de redes neurais mtodos de data mining encontra-se a classificao via
treinadas tratado por Lu e colaboradores [2] em 3 redes neurais, onde os neurnios na camada de entrada
fases: (a) treinando a rede neural; (b) efetuando em correspondem aos atributos previsores da base de
seguida a poda da rede neural enquanto a preciso dados e a sada da rede representa a classificao do
preditiva da rede no diminui significativamente; (c) registro associado aos valores dos atributos na camada
aplicando o algoritmo RX para extrao das regras. de entrada. Se o problema possui apenas 2 classes um
Neste trabalho prope-se a idia de utilizar uma neurnio na camada de sada suficiente para fazer a
adaptao do algoritmo RX em conjunto com

158
classificao; caso contrrio tem-se um neurnio para de treinamento, para evitar um overfitting das regras
cada classe existente. aos dados de treinamento.
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 Seleo
escolhida. Consequentemente, no contexto de data
mining geralmente desejvel converter esta
representao em regras do tipo IF-THEN que possam Crossover
ser compreensveis para o usurio [4],[2].

3. O mtodo proposto para a extrao de


Mutao
regras de redes neurais via algortmos
genticos.
Conforme mencionado anteriormente, este trabalho Treinamento da rede neural
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 Avaliao da rede neural
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 Figura 1: Ciclo de evoluo do ENZO
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
Seleo
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 Crossover
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 Mutao
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 Treinamento da rede neural
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.
Extrao de regras
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 Avaliao das regras
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 Figura 2: Ciclo de Evoluo do ENZO com o novo
dados do conjunto de treinamento so usados para mdulo
treinar a rede neural. Uma vez que uma rede treinada,
regras so extradas a partir dela, o algoritmo de Finalmente, aps a evoluo do algoritmo gentico
extrao de regras tambm usa os dados de ser terminada, o conjunto de regras extradas do melhor
treinamento. Entretanto, uma vez que as regras foram indivduo da ltima gerao considerado o conjunto
extradas, necessrio avaliar a qualidade dessas final de regras extrado e mostrado ao usurio. Este
regras, a qual ser usada como funo de fitness do conjunto tem a sua qualidade avaliada com base nos
indivduo (rede neural). Essa avaliao usa os dados do
conjunto de validao, que independente do conjunto

159
dados de teste, que so independentes dos dados de onde, R o nmero de regras, C o nmero de
treinamento e validao. condies, Max_R o maior nmero de regras
extradas at o momento e Max_C o maior nmero de
3.1 Extrao de regras condies extradas at o momento.
Como o software ENZO considera o melhor
Utilizou-se para extrao das regras uma adaptao indivduo o que possui o menor fitness, a seguinte
do algoritmo RX apresentado em [2]. Em particular, o funo de fitness foi definida,
mtodo proposto avalia a qualidade das regras
extradas com relao preciso preditiva e Fitness = 1 (pta * TC + pc * CP ) (5)
compreensibilidade, enquanto o algoritmo RX avalia as
regras apenas com relao preciso preditiva. onde pta e pc so pesos definidos pelo usurio.
Aps a obteno de um conjunto de regras faz-se
necessrio o clculo do fator de confiana de cada uma
3.3 Mtodo de seleo e operadores
das regras devido ao fato de que mais de uma regra
pode ser aplicvel a um mesmo exemplo. Neste caso o
O mtodo de seleo utilizado gera um nmero
fator de confiana indica qual regra a mais confivel,
aleatrio que freqentemente selecionar o primeiro
e portanto deve ser escolhida. O fator de confiana
quarto da populao para gerar os filhos. Isto permite
dado pela equao (1).
manter uma maior diversidade gentica. Os operadores
utilizados so crossover que insere uma conexo que
A encontrada em apenas um dos pais, mutao de links,
FC = (1)
ETC mutao de unidades ocultas e mutao de unidades de
entrada. Para maiores detalhes sobre as operaes de
onde, FC o fator de confiana da regra, A o nmero seleo, crossover e mutao consulte [5].
de acertos e ETC o nmero de exemplos cobertos
pela regra. 3.4 Bases de dados utilizadas
Por exemplo, se a parte IF da regra cobre 10
exemplos de treinamento e 8 destes exemplos so Neste trabalho foram utilizadas duas bases de dados
corretamente classificados pela parte THEN da regra, disponveis publicamente no repositrio Machine
ento o fator de confiana de 80%. Learning (http://www.ics.uci.edu/AI/Machine-
Learning.html).
3.2 Clculo do fitness A primeira base utilizada foi Hayes-Roth [7]. Esta
base possui 4 atributos previsores e um atributo meta
O clculo do fitness do conjunto de regras extradas como apresentado a seguir:
da rede neural composto da taxa de acerto do
conjunto de regras e da compreensibilidade deste A - hobby: Valores nominais no intervalo de 1 a 3.
mesmo conjunto de regras. A taxa de acerto obtida B - Idade: Valores nominais no intervalo de 1 a 4.
utilizando-se a equao (2), lembrando-se que quando C - Nvel Educacional: Valores no intervalo de 1 a
mais de uma regra aplicvel a um dado exemplo, 4.
utiliza-se a regra com maior fator de confiana para D - Estado Civil: Valores no intervalo de 1 a 4.
classificar aquele exemplo. E - Atributo meta: Valores no intervalo de 1 a 3.

Esta base apresenta 132 exemplos de treinamento e


A
TC = (2) 28 exemplos de teste. Para o presente trabalho foram
ECV separados 28 exemplos dos 132 exemplos de
treinamento para validao durante a execuo do
onde, TC a taxa de acerto do conjunto de regras, A algoritmo gentico. A classificao para esta base
o nmero de acertos e ECV o nmero de exemplos apresentada a seguir.
no conjunto de validao.
A complexidade do conjunto de regras segundo [6] Somente atributos B-D so diagnosticados; valor A
dada pela equao (3). Normalizando (3) e ignorado.
calculando-se o complemento obtemos a Nenhuma das Classes: Se um 4 ocorre para
compreensibilidade do conjunto de regras que dada qualquer atributo B-D.
pela equao (4). Classe1: Se (nmero de 1s)>(nmero de 2s) para
atributos B-D.
complexidade = 2 * R + C (3) Classe2: Se (nmero de 2s)>(nmero de 1s) para
atributos B-D.
R C Classe 1 ou 2: Se (nmero de 1s) = (nmero de
2* + 2s) para atributos B-D.
Max_R Max _ C
CP = 1 (4)
3

160
0.6
Criou-se para esta base uma rede neural Melhor
feedforward totalmente conectada, com 15 neurnios pior
Medio
0.5
na camada de entrada, 5 neurnios na camada oculta e
3 neurnios na camada de sada. Para a evoluo com o 0.4
algoritmo gentico foram efetuadas 50 geraes, com
populao de 30 indivduos e 10% de mutao.

fitness
0.3

A segunda base utilizada foi a Zoo. Esta base


possui 16 atributos previsores e um atributo meta como 0.2

apresentado a seguir:
0.1

A - Pelo: 0 ou 1.
0
B - Penas: 0 ou 1. 0 5 10 15 20 25 30 35 40 45 50 55
Gerao
C - Ovos: 0 ou 1
D - Leite: 0 ou 1
Figura 3 Evoluo do fitness da base Hayes-Roth.
E - Voador: 0 ou 1.
F - Aqutico: 0 ou 1. 1
G - Predador: 0 ou 1. 0.98
Taxa de Acerto

H - Dentado: 0 ou 1. 0.96
I - coluna vertebral: 0 ou 1. 0.94
J - Respira: 0 ou 1.
Ta 0.92
K - Venenoso: 0 ou 1 xa
de 0.9
L - Barbatana: 0 ou 1. ac
ert 0.88
M - Pernas: Valores possveis [0,2,4,5,6,8]. o

N - Rabo: 0 ou 1. 0.86

O - Domstico: 0 ou 1. 0.84

P - Catsize: 0 ou 1. 0.82

Q - Atributo Meta: 7 classes. 0.8


0 5 10 15 20 25 30 35 40 45 50 55
Gerao

Esta base apresenta 101 exemplos. Para este


trabalho os exemplos foram divididos em 3 conjuntos: Figura 4 Evoluo da taxa de acerto das regras da
(a) 61 exemplos de treinamento; (b) 21 exemplos de base Hayes-Roth.
validao; e (c) 19 exemplos de testes. Para esta base
1
foi criada uma rede neural feedforward totalmente Compreensibilidade
conectada, com 24 neurnios na camada de entrada, 4
neurnios na camada oculta e 7 neurnios na camada 0.95

de sada. Para evoluo foram efetuadas 60 geraes,


Compreensibilidade

com populao de 50 indivduos e 20% de mutao. 0.9

4. Resultados 0.85

A figura 3 apresenta a evoluo do melhor fitness, 0.8


do pior fitness e da mdia dos fitness, para o problema
Hayes-Roth. As figuras 4 e 5 apresentam a evoluo da 0.75
taxa de acerto do conjunto de regras e a 0 5 10 15 20 25 30
Gerao
35 40 45 50 55

compreensibilidade do conjunto de regras obtido,


respectivamente. A taxa de acerto do conjunto de Figura 5 Evoluo da compreensibilidade das regras
regras no conjunto de exemplos de teste foi de 89,28%. da base Hayes-Roth.
A compreensibilidade foi 0,923 numa escala de 0 a 1
obtida atravs de (4). 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
Regra 4: Se (B 1) E (B 4) E (C = 1) E (D 2) E 0.84 Taxa de Acerto

(D 4) ento Classe 2 0.82

Regra 5: Se (B 4) E (C 1) E (C 4) E (D = 2) 0.8
ento Classe 2 0.78
Regra 6: Se (B 1) E (B 4) E (C 1) E (C 4) E

Taxa de acerto
0.76
(D 2) E (D 4) ento Classe 2 0.74
Default Classe 3. 0.72

0.7
Tabela 1 Hayes-Roth: Taxa de acerto das regras
0.68
obtidas.
0.66

Regra Dados de teste 0 10 20 30


Gerao
40 50 60 70

Exemplos cobertos Percentual de


pela regra. acerto. Figura 7 Evoluo da taxa de acerto das regras da
1 1 100% base zoo.
2 6 100%
3 4 100% 0.94 Compreensibilidade
4 2 100%
5 6 83% 0.92

6 8 75% 0.9

Compreensibilidade 0.88
A figura 6 apresenta a evoluo do melhor fitness,
do pior fitness e a mdia dos fitness, para o a base zoo. 0.86

As figuras 7 e 8 apresentam a evoluo da taxa de


0.84
acerto do conjunto de regras e da compreensibilidade
do conjunto de regras obtido, respectivamente. A taxa 0.82

de acerto do conjunto de regras no conjunto de 0.8


exemplos de teste foi de 78,94%. A 0 10 20 30
Gerao
40 50 60 70

compreensibilidade foi 0,946 numa escala de 0 a 1


obtida atravs de (4). Figura 8 Evoluo da compreensibilidade das regras
0.6
da base zoo.
Melhor
0.55 pior
Medio A seguir apresentado o conjunto de regras obtidos
0.5
pela evoluo do algoritmo gentico em conjunto com
0.45
o algoritmo de extrao de regras RX. Na tabela 2
0.4
encontra-se o percentual de acerto de cada regra obtida.
fitness

0.35

0.3 Regra 1: Se D ento Classe 1


0.25 Regra 2: Se (Not(D)) E (M 2) E (M 6)
0.2 ento Classe 4
0.15 Regra 3: Se (Not(D)) E (M = 6 ) E (Not(H))
0.1 ento Classe 6

0 10 20 30 40 50 60 70
Gerao Default Classe 2

Figura 6 Evoluo do fitness base zoo. Tabela 2 Zoo database: Taxa de acerto das regras
obtidas.

Regra Dados de teste


Exemplos cobertos Percentual de
pela regra. acerto.
1 8 100%
2 6 33%
3 1 100%

5. Discusso e anlise dos resultados


Comparando-se a taxa de acerto do conjunto de
regras obtidos da base Hayes-Roth citada na sesso

162
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.

6. Concluses e trabalhos futuros


Atravs do uso de algoritmos genticos foi possvel
encontrar uma topologia de rede neural artificial
(nmero de conexes e nmero de unidade na camada
intermediria) que possibilitou a extrao de um
conjunto de regras que fornecessem uma boa taxa de
acerto e ao mesmo tempo fossem to compreensveis
quanto possvel.
Na mesma linha deste trabalho poderiam ser
implementados outros algoritmos de extrao de regras
de redes neurais, bem como otimizao do algoritmos
de extrao de regras para possibilitar sua utilizao
com grandes bases de dados.

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,1-
34. 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, 189-
228, 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

Você também pode gostar