Você está na página 1de 102

Descoberta de Conhecimento e

Minerao de Dados
Apostila

ICA Laboratrio de Inteligncia Computacional Aplicada


Departamento de Engenharia Eltrica, PUCRio

Marco Aurlio
Marley Vellasco
Carlos Henrique Lopes

- 1
ICA Lab. Inteligncia Computacional Aplicada , DEE, PUCRio (Verso 26/08/99)

1.
2.
3.
4.

Introduo ....................................................................................................................................................... 5
Banco de Dados............................................................................................................................................... 6
Data Warehouse .............................................................................................................................................. 9
KDD Knowledge Discovery Database....................................................................................................... 12
4.1. TAREFAS DE KDD .................................................................................................................................. 12
4.1.1. Regras de Associao.......................................................................................................................... 12
4.1.2. Classificao........................................................................................................................................ 14
4.1.3. Clustering ............................................................................................................................................ 15
4.2. FASES DE KDD........................................................................................................................................ 16
4.2.1. Data Warehousing: Organizao de grandes volumes de dados......................................................... 16
OLAP: Processamento Analtico On-Line (On-Line Analytical Processing) ........................................... 17
4.2.2. Pr-processamento dos dados.............................................................................................................. 18
4.2.3. Limpeza dos dados .............................................................................................................................. 18
4.2.4. Seleo dos dados................................................................................................................................ 18
4.2.5. Codificao dos dados......................................................................................................................... 19
4.2.6. Enriquecimento dos dados................................................................................................................... 19
4.2.7. Minerao de Dados (Data Mining).................................................................................................... 19
4.2.8. Ps-processamento .............................................................................................................................. 20
5. Data Mining .................................................................................................................................................. 21
5.1. INTRODUO ......................................................................................................................................... 21
5.2. TCNICAS E ALGORITMOS PARA A MINERAO DE DADOS .................................................... 22
5.2.1. Redes Neurais Artificiais..................................................................................................................... 22
Introduo s Redes Neurais Artificiais .................................................................................................... 22
Modelagem de Redes Neurais Artificiais em Minerao de Dados .......................................................... 24
5.2.2. Algoritmos Genticos.......................................................................................................................... 25
Introduo a Algoritmos genticos............................................................................................................ 26
Modelagem de Algoritmos Genticos para a Minerao de Dados........................................................... 27
5.2.3. Lgica Indutiva ................................................................................................................................... 29
5.2.4. Mtodos Estatsticos............................................................................................................................ 30
Classificadores Bayesianos ....................................................................................................................... 30
Redes Bayesianas ...................................................................................................................................... 32
rvores de deciso .................................................................................................................................... 33
1.1.1.1.1. Induo de Regras.............................................................................................................. 34
1.1.1.1.2. Algoritmo ID3.................................................................................................................... 34
6. Redes Neurais................................................................................................................................................ 36
6.1. Fundamentos das Redes Neurais Artificiais............................................................................................... 36
6.1.1. Histrico.............................................................................................................................................. 36
6.1.2. O Neurnio Artificial .......................................................................................................................... 37
6.1.3. Funes de Ativao ........................................................................................................................... 38
6.1.4. Topologia das Redes Neurais Artificiais ............................................................................................. 39
6.1.5. Tipos de Treinamento.......................................................................................................................... 40
6.2. Redes Neurais Artificiais Multi-Camadas.................................................................................................. 41
6.2.1. - Algoritmo de Retropropagao do Erro............................................................................................ 41
6.3. Modelagem de Redes Neurais para Data Mining ....................................................................................... 43
6.3.1. Seleo de Dados ................................................................................................................................ 43
6.3.2. Pr-processamento .............................................................................................................................. 44
Atributos derivados ................................................................................................................................... 44
Escalamento .............................................................................................................................................. 44
Normalizao ............................................................................................................................................ 44
Mapeamento simblico e taxonomias ....................................................................................................... 44
Translaes de simblicos para numricos ............................................................................................... 45
6.3.3. Representao dos dados..................................................................................................................... 45
Representao Numrica dos dados .......................................................................................................... 45
Valores Discretos ...................................................................................................................................... 45
Cdigo 1-de-N........................................................................................................................................... 45
Cdigo binrio........................................................................................................................................... 45
Cdigo de temperatura .............................................................................................................................. 46
Valores contnuos...................................................................................................................................... 46
Representaes de Dados Simblicos ....................................................................................................... 46
Impacto da Representao dos Dados no Tempo de Treinamento ............................................................ 47
- 2
ICA Lab. Inteligncia Computacional Aplicada , DEE, PUCRio (Verso 26/08/99)

6.3.4. Gerenciando Conjunto de Treinamento de Dados............................................................................... 47


6.3.5. Quantidade de Dados .......................................................................................................................... 47
6.3.6. Qualidade dos dados (Entra Lixo, Sai Lixo) ....................................................................................... 48
7. Neuro Fuzzy .................................................................................................................................................. 48
7.1. MOTIVAO ........................................................................................................................................... 48
7.2. Sistemas Hbridos....................................................................................................................................... 49
7.2.1. Introduo ........................................................................................................................................... 49
7.2.2. Sistemas Neuro-fuzzy.......................................................................................................................... 51
Taxonomia dos Sistemas Neurofuzzy ....................................................................................................... 52
Taxonomia quanto s caractersticas fuzzy ............................................................................................... 53
Taxonomia quanto s caractersticas de aprendizado................................................................................ 64
Exemplos de Modelos Neuro-Fuzzy ........................................................................................................ 66
Taxonomia dos trs sistemas estudados .................................................................................................... 71
7.2.3. LIMITAES DOS SNF ................................................................................................................... 72
8. Algoritmos Genticos.................................................................................................................................... 73
8.1. RESUMO ................................................................................................................................................... 73
8.2. ALGORITMOS GENTICOS: PRINCPIOS E APLICAES .............................................................. 73
8.3. Fundamentos matemticos de Algoritmos genticos ................................................................................. 77
8.3.1. Anlise do Efeito da Seleo............................................................................................................... 77
8.3.2. Anlise do Efeito do Crossover........................................................................................................... 79
8.3.3. Anlise do Efeito da Mutao ............................................................................................................. 79
8.4. Desempenho de Algoritmo GenticoS ....................................................................................................... 80
8.5. Tcnicas, PARMETROS e Operadores Genticos .................................................................................. 80
8.5.1. Tcnicas de Reproduo:..................................................................................................................... 80
8.5.2. Tcnicas de Aptido: ........................................................................................................................... 81
8.5.3. Tcnicas de Interpolao de Parmetros: ............................................................................................ 81
8.5.4. Operadores Genticos.......................................................................................................................... 82
8.6. Modelagem de Algoritmos genticos para Data Mining ............................................................................ 82
8.6.1. CLASSIFICAO POR EVOLUO DE REGRAS DE ASSOCIAO....................................... 82
ACURCIA E ABRANGNCIA DE UMA REGRA.............................................................................. 83
MODELAGEM DO ALGORITMO GENTICO .................................................................................... 83
8.6.2. Representao de Cromossomas ......................................................................................................... 83
8.6.3. Operadores Genticos.......................................................................................................................... 84
8.6.4. Inicializao da Populao .................................................................................................................. 85
8.6.5. Tcnicas e Parmetros ......................................................................................................................... 87
8.6.6. Funes de Avaliao.......................................................................................................................... 88
Nmero-Atributos ..................................................................................................................................... 89
Distncia-tima ........................................................................................................................................ 89
Recompensa-Atributos .............................................................................................................................. 90
CBayesianos .............................................................................................................................................. 90
Nmero-Registros ..................................................................................................................................... 90
FAcurcia .................................................................................................................................................. 90
FAbrangncia ............................................................................................................................................ 90
Rule Interest .............................................................................................................................................. 91
Chi-Square................................................................................................................................................. 91
8.6.7. Recompesa nas funes de avaliao .................................................................................................. 91
9. Apndice ....................................................................................................................................................... 93
9.1. Softwares comerciais e Sites ...................................................................................................................... 93
9.1.1. AC2 (www.isoft.fr) ............................................................................................................................. 93
9.1.2. ALICE dISoft (www.isoft.fr)............................................................................................................. 93
9.1.3. AutoClass C (ic-www.arc.nasa.gov/ic/projects/bayes-group/group/autoclass/autoclass-cprogram.html)................................................................................................................................................ 93
9.1.4. Clementine (www.isl.co.uk/clem.html)............................................................................................... 93
9.1.5. Data Surveyor (www.ddi.nl) ............................................................................................................... 93
9.1.6. Data Engine (www.mitgmbh.de)......................................................................................................... 93
9.1.7. Datasage (www.datasage.com) ........................................................................................................... 94
9.1.8. DataScope (http://www.tiszanet.hu/cygron/datascp.htm) ................................................................... 94
9.1.9. Outros softwares e sites....................................................................................................................... 94
C5.0 / See5 - www.rulequest.com ............................................................................................................. 94
Commercial tools for data mining - www.cs.bham.ac.uk/~anp/dm_docs/oudshoff.tools.posting ............ 94
- 3
ICA Lab. Inteligncia Computacional Aplicada , DEE, PUCRio (Verso 26/08/99)

DataDetective www.smr.nl .................................................................................................................... 94


dbProphet: neural network data mining tool by Trajecta www.trajecta.com ......................................... 94
Explora - http://orgwis.gmd.de/projects/explora/...................................................................................... 94
IBM Visualization Data Explorer www.almaden.ibm.com/dx/ ............................................................. 94
LEVEL5 Quest www.l5r.com ................................................................................................................ 94
ModelQuest Enterprise www.abtech.com .............................................................................................. 94
ModelQuest Enterprise www.data-mine.com......................................................................................... 94
PV-WAVE www.vni.com ...................................................................................................................... 94
SE-Learn - http://www.isp.pitt.edu/~rymon/SE-Learn.html ..................................................................... 94
SPSS Data Mining Software www.spss.com/datamine/......................................................................... 94
SuperQuery www.azmy.com.................................................................................................................. 94
WizRule for Windows www.wizsoft.com.............................................................................................. 94
XpertRule www.attar.com...................................................................................................................... 94
9.2. Empresas de Data Mining no Brasil........................................................................................................... 94
9.2.1. http://www.execplan.com.br/ .............................................................................................................. 95
9.2.2. http://vidaconsultores.com.br/infovida/............................................................................................... 95
9.2.3. http://www.rio.com.br/~extend/ .......................................................................................................... 95
9.2.4. http://www.geocities.com/WallStreet/District/2108/ricvill.htm.......................................................... 95
9.3. Empresas e produtos em Data Mining........................................................................................................ 95
9.3.1. American Heuristics/Profiler www.heuristics.com .......................................................................... 95
9.3.2. Angoss Software/Knowledge Seeker www.angoss.com .................................................................. 95
9.3.3. Business Objects/BusinessMiner www.businessobjects.com .......................................................... 95
9.3.4. DataMind/DataMindProfessional www.datamind.com.................................................................... 95
9.3.5. HNC Software/DataMarksman www.hncs.com............................................................................... 95
9.3.6. HiperParallel/Discovery www.hiperparallel.com............................................................................. 95
9.3.7. Information Discovery Inc.(IDI)/Information Discovery System www.datamining.com ................ 95
9.3.8. Lucent Technologies/Interactive Data Visualization www.lucent.com............................................ 95
9.3.9. Nestor/Prism www.nestor.com......................................................................................................... 95
9.3.10. Pilot Software/pilot Discovery Server www.pilotsw.com.............................................................. 95
9.3.11. Seagate Software Systems/Holos 5.0 www.holossys.com ............................................................. 95
9.3.12. Thinking Machines/Darwin www.think.com ................................................................................. 96
Referncias............................................................................................................................................................ 96

- 4
ICA Lab. Inteligncia Computacional Aplicada , DEE, PUCRio (Verso 26/08/99)

1.

INTRODUO

Durante os ltimos anos tem se verificado um crescimento substancial da quantidade de dados


armazenados em meios magnticos. Estes dados, produzidos e armazenados em larga escala, so inviveis de
serem lidos ou analisados por especialistas atravs de mtodos manuais tradicionais [PIAT91], tais como
planilhas de clculos e relatrios informativos operacionais, onde o especialista testa sua hiptese contra a base
de dados. Por outro lado, sabe-se que grandes quantidades de dados equivalem a um maior potencial de
informao. Entretanto, as informaes contidas nos dados no esto caracterizadas explicitamente, uma vez que
sendo dados operacionais, no interessam quando estudados individualmente. Diante deste cenrio, surge a
necessidade de se explorar estes dados para extrair informao - conhecimento implcito, e utiliz-la no mbito
do problema. Argumenta-se que a necessidade de sistemas para dar suporte a deciso tm se desenvolvido ao
longo dos anos cada vez mais dentro de uma granularidade de informaes mais refinada, da seguinte maneira:
nos anos 60 as exigncias e necessidades estavam a nvel de mercado; nos anos 70, ao nvel de nichos, grupos de
interesse; nos anos 80, a nvel de seguimentos de mercado; e nos anos 90, a nvel de clientes. Este ltimo nvel,
naturalmente, requer o uso de mais dados para se extrair conhecimento [KELL95]. A explorao do valor destes
dados, ou seja, a informao neles contida implicitamente, depende de tcnicas como Regras de Associao
[SRIK95], Classificao [MICH94], Clustering [FISH87], entre outras, capazes de gerenciar tarefas complexas.
O processo capaz de descobrir este conhecimento em banco de dados chama-se KDD (Knowledge
Discovery Database). O processo de KDD foi proposto em 1989 para referir-se s etapas que produzem
conhecimentos a partir dos dados e, principalmente, etapa de minerao dos dados, que a fase que transforma
dados em informaes [FAYY96]. Este processo envolve encontrar e interpretar padres nos dados, de modo
iterativo e interativo, atravs da repetio dos algoritmos e da anlise de seus resultados. Esse processo contm
diversas fases: definio do problema; seleo dos dados; limpeza dos dados; pr-processamento dos dados;
codificao dos dados; enriquecimento dos dados; minerao dos dados (Data Mining) e a interpretao dos
resultados.
O processo de KDD formado pela interseo de diferentes reas. As reas mais relacionadas em
descoberta de conhecimento so: Machine Learning [LANG96], [SHAV90], Inteligncia Computacional,
estatstica [ELDE96] e visualizao dos dados [LEE 95]. Na rea de Inteligncia Computacional, em particular,
as tcnicas mais utilizadas so: Redes Neurais Artificiais [HAYK94], [RUME86], Induo de regras [NILS80] e
Algoritmos Genticos [GOLD89].
A Inteligncia Computacional uma rea da cincia que busca, atravs de tcnicas inspiradas na
Natureza, o desenvolvimento de sistemas inteligentes que imitam aspectos do comportamento humano, tais
como: aprendizado, percepo, raciocnio, evoluo e adaptao.
Tcnica
Redes Neurais
Algoritmos Genticos
Lgica Fuzzy
Sistemas Especialistas

Inspirao
Neurnios biolgicos
Evoluo biolgica
Proc. lingstico
Inferncia

Redes Neurais so modelos computacionais no lineares, inspirados na estrutura e operao do crebro


humano, que procuram reproduzir caractersticas humanas, tais como: aprendizado, associao, generalizao e
abstrao. Redes Neurais so efetivas no aprendizado de padres a partir de dados no lineares, incompletos,
com rudo ou compostos de exemplos contraditrios.
Algoritmos Genticos so algoritmos matemticos inspirados nos mecanismos de evoluo natural e
recombinao gentica. A tcnica de Algoritmos Genticos fornece um mecanismo de busca adaptativa que se
baseia no princpio Darwiniano de reproduo e sobrevivncia dos mais aptos.
Lgica Nebulosa (Fuzzy Logic) tem por objetivo modelar o modo aproximado de raciocnio humano,
visando desenvolver sistemas computacionais capazes de tomar decises racionais em um ambiente de incerteza
e impreciso. A Lgica Nebulosa oferece um mecanismo para manipular informaes imprecisas, tais como os
conceitos de muito, pouco, pequeno, alto, bom, quente, frio, etc, fornecendo uma resposta aproximada para uma
questo baseada em um conhecimento que inexato, incompleto ou no totalmente confivel.
Sistemas Especialistas so programas computacionais destinados a solucionar problemas em um campo
especializado do conhecimento humano. Usa tcnicas de IA, base de conhecimento e raciocnio inferencial.
As tcnicas da Inteligncia Computacional tm sido empregadas com sucesso no desenvolvimento de
sistemas inteligentes de previso, suporte deciso, controle, otimizao, modelagem, classificao e
reconhecimento de padres em geral, aplicados em diversos setores: Energia, Industrial, Econmico, Financeiro,
Comercial e Outros, Sntese de Circuitos, Meio Ambiente, entre outros [MARCO].

- 5
ICA Lab. Inteligncia Computacional Aplicada , DEE, PUCRio (Verso 26/08/99)

2.

BANCO DE DADOS

Este captulo introduz banco de dados de uma forma simples. So abordados os pontos que julga-se ser
o mnimo necessrio para deixar o leitor capacitado a entender a necessidade de banco de dados direcionados
para Data Mining. Os tpicos abordados esto mais detalhados na referncia citada para banco de dados.
De maneira genrica so abordados em banco de dados: conceitos bsicos, tais como definio e
propriedades; caractersticas, como linguagens de BD e coerncia dos dados; arquitetura lgica, esquemas
externo, conceitual e interno; usurios; modelo de Entidade-Relacionamento; linguagens de consulta; linguagem
SQL, apresentando os principais comandos; cuidados no projeto do BD e algumas restries de integridade.
Pode-se definir banco de dados como uma coleo de dados relacionados. Onde dados significam fatos
conhecidos que podem ser armazenados e que possuem significado implcito. Por exemplo, considere os nomes,
nmero de telefones, e endereos das pessoas que voc conhece. Voc pode ter armazenado esse dado numa
agenda de endereo indexada, ou voc pode ter armazenado ele diretamente em um disquete, utilizando um PC e
um software como DBASE IV ou V, PARADOX, ou EXCEL. Isto uma coleo de dados relacionados com um
significado implcito, ento um banco de dados.
De maneira genrica um banco de dados possui as seguintes propriedades implcitas:
Um banco de dados representa algum aspecto do mundo real, algumas vezes chamado de mini-mundo
ou Universo do Discurso. Mudanas no mini-mundo so refletidas no banco de dados.
Um banco de dados uma coleo logicamente coerente de dados como algum significado herdado.
Uma ordenao aleatria de dados no pode ser corretamente referenciada como um banco de dados.
Um banco de dados modelado, construdo, e povoado com dados para uma proposta especfica. Ou
seja existe um grupo de usurios e algumas aplicaes pr concebidas as quais esses usurios esto
interessados.
Em outras palavras, os bancos de dados tem alguma origem da qual os dados so derivados, algum grau
de interao com eventos no mundo real, e alguns usurios que esto ativamente interessados no contedo do
banco de dados.
Um banco de dados pode ser gerado e mantido manualmente ou por uma mquina. Um banco de dados
computadorizado pode ser criado e mantido ou por um grupo de programas de aplicao escritos especialmente
para essa tarefa ou por um sistema gerenciador de banco de dados.
Um sistema gerenciador de banco de dados (SGBD), ou em ingls, DBMS (Database Management
System), uma coleo de programas habilita usurios a criar e manter um banco de dados. O SGBD ento um
software de propsito geral que facilita o processo de definir, construir e manipular banco de dados de vrias
aplicaes. Onde definir o banco de dados envolve especificar os tipos dos dados, estruturas e restries para os
dados que sero armazenados no banco de dados. Construir o banco de dados o processo de armazenamento do
dado em alguma mdia que controlada pelo SGBD. E a manipulao do banco de dados inclui algumas funes
como queries que buscam por dados especficos, atualizaes no banco de dados que refletem mudanas no
mini-mundo, e gerao de relatrios dos dados.

U surios/P r o g r a m ado r e s

SI S T E M A
BD

P r o g r a m a s d e Aplicao/ Q u erie s

SGBD
SOF T W A R E

S o ftw a re para pro c ess a r


Q u erie s /Program as
Softw a re para acessar
D a dos A r m a z e n a d o s

M e ta-Dados
D e fi ni o

BD
A r maze nado

Figura 1: Um ambiente simplificado de um sistema de banco de dados

- 6
ICA Lab. Inteligncia Computacional Aplicada , DEE, PUCRio (Verso 26/08/99)

necessrio uma grande quantidade de softwares para manipular o banco de dados alm do prprio
banco de dados, nesse caso, chama-se sistema de banco de dados o conjunto BD e softwares. A Figura 1 ilustra
essas idias.
Um nmero de caractersticas distinguem a aproximao de banco de dados com a aproximao
tradicional de programao com arquivos. No tradicional processamento de arquivos, cada usurio define e
implementa os arquivos necessrios para uma aplicao especfica. Na aproximao por banco de dados, um
nico repositrio de dados mantido e definido uma nica vez e ento acessada por vrios usurios.
Deste modo as principais caractersticas podem ser a definio do banco de dados atravs da linguagem
de definio de dados (LDD) criando e relacionamentos, tipos e restries nos dados; a utilizao de linguagens
de manipulao de dados (LMD) fazendo atualizaes na base; o suporte ao mtodo de armazenamento,
segurana, e acesso eficiente aos dados, alm do controle multi-usurio concorrentemente. Entretanto a
caracterstica fundamental a que prov um nvel de abstrao capaz de esconder os detalhes de como os dados
esto armazenados, que para a maioria dos usurios no de interesse.
Analisando-se as principais caractersticas de banco de dados pode-se especificar uma arquitetura para
sistemas de banco de dados, chamada de arquitetura em 3 nveis ou esquemas (Figura 2).

NVEIS DE ABSTRAO
Esquema Externo

EE1

EE2

EEN

Esquema Conceitual
Esquema Interno

Figura 2: Arquitetura em 3 nveis


O objetivo dessa arquitetura ilustrada na Figura 2 separar as aplicaes dos usurios e o banco de dados
fisicamente. Nessa arquitetura os esquemas podem ser definidos nos seguintes nveis:
1. O nvel interno tem um esquema interno, que descreve a estrutura fsica de armazenamento do banco
de dados. O esquema interno usa o modelo de dados fsico e descreve detalhes completos do
armazenamento dos dados e caminhos de acesso para o banco de dados.
2. O nvel conceitual tem um esquema conceitual, que descreve a estrutura de todo o banco de dados
para uma comunidade de usurios. O esquema conceitual escondes os detalhes da estrutura de
armazenamento fsico e concentra-se na descrio de entidades, tipos de dados, relacionamentos,
operaes de usurios, e restries.
3. O esquema externo ou nvel de viso inclui um nmero de esquemas esternos ou vises de usurios.
Cada esquema externo descreve a parte do banco de dados que um grupo particular de usurios est
interessada e esconde o resto do banco de dados para esse mesmo grupo.
Essa arquitetura pode ser utilizada para explicar o conceito de independncia dos dados., que pode ser
definido como a capacidade de alterar o esquema em algum nvel de um banco de dados sem ter que alterar o
esquemas do nvel mais alto. Pode-se definir dois tipos de independncia, a fsica e a lgica.
A independncia lgica a capacidade de alterar o esquema conceitual sem ter que alterar o conceito
externo ou os programas de aplicao. A independncia fsica a capacidade de mudar o esquema interno sem
ter que mudar o esquema conceitual.
Uma vez que o modelo do banco de dados est definido e um SGBD foi escolhido para implementar o
banco de dados, ento precisa-se especificar os esquemas conceitual e interno para o banco de dados e qualquer
mapeamento entre os dois. Uma linguagem chamada Linguagem de Definio de Dados (LDD) utilizada por
um usurio administrador da base e pelos desenvolvedores do modelo para definir ambos os esquemas. Em
SGBDs onde existe uma clara diferena entre os nveis conceitual e interno, a LDD utilizada apenas para o
modelo conceitual. Uma outra linguagem (SDL Storage Definition Data) usada para especificar o modelo
interno. Para completar a arquitetura de 3 nveis necessrio uma terceira linguagem, a VDL (View Definition
Language) que define o esquema de vises. Uma vez que os esquemas do banco de dados so criados e o banco
de dados povoado, os usurios precisam ter meios de manipular os dados. As manipulaes tpicas incluem
- 7
ICA Lab. Inteligncia Computacional Aplicada , DEE, PUCRio (Verso 26/08/99)

busca, insero, deleo, e modificao dos dados. Para essa proposta o SGBD prope a LMD, linguagem de
manipulao de dados.
O modelo conceitual de entidade-relacionamento descreve dados como entidades, relacionamentos e
atributos. A entidade o objeto bsico representado no modelo ER, que uma coisa do mundo real com
existncia independente. Uma entidade pode ser um objeto com existncia fsica uma pessoa, carro, casa, ou
empregado ou pode ser um objeto com existncia conceitual uma companhia, um trabalho, ou um curso de
universidade. Cada entidade tem propriedades particulares, chamadas atributos, que a descrevem. Por exemplo,
uma entidade empregado pode ser descrita por nome do empregado, idade, endereo, salrio e trabalho. Uma
entidade particular ter um valor para cada um desses atributos. Os valores dos atributos que descrevem cada
entidade so a maior parte dos dados armazenados no banco de dados.
Informalmente, um relacionamento uma associao de entidades, onde a associao inclui exatamente
uma entidade de cada participante no tipo da entidade. Por exemplo, suponha o relacionamento
TRABALHA_PARA entre duas entidades EMPREGADO e DEPARTAMENTO, que associa cada empregado
ao departamento em que trabalha.
Dado que o banco de dados est concludo, existem as pessoas cujo trabalho necessita acessar o banco de
dados para busca de informaes, atualizaes e geraes de relatrios; o banco de dados inicialmente existe
para o uso dessa pessoas. Existem vrias categorias para usurios finais:
Usurio casual ocasionalmente acessam o banco de dados, mas eles tem necessidades de
informaes diferentes a cada acesso. Eles usam uma linguagem sofisticada de busca em banco de
dados para especificar seus requisitos e so tipicamente gerentes de nvel mdio ou alto.
Naive ou usurios paramtricos So usurios de grande parte do banco de dados. A funo
principal do seu trabalho faz com que constantemente ele busque e atualize o banco de dados atravs
de transaes enlatadas que foram cuidadosamente programadas e testadas. Por exemplo, caixas de
banco, reservas areas, de hotis, de aluguis de carros, etc...
Usurios sofisticados incluem engenheiros, cientistas, analistas de negcios, e outros que so
familiarizados com as facilidades do SGBD e buscam encontrar suas necessidades mais complexas.
Usurios isolados mantm um banco de dados pessoal utilizando programas empacotados que
prov facilidade de uso em menus e interfaces grficas.
Existem vrias linguagens que tem sido parcialmente ou completamente implementada e esto
disponveis em SGBDs comerciais. A mais conhecida delas a SQL, cujo nome derivado de Structure Query
Language. Variaes de SQL tem sido implementadas por vrios fabricantes, por isso h um esforo de se
padronizar o SQL coordenado pelo ANSI (American National Standards Institute) e pela ISO (International
Standards Organizations).
SQL uma linguagem compreensiva para banco de dados; ela possui comandos para definio de dados,
busca e atualizaes. Ento, ela uma LMD e LDD. SQL utiliza os termos tabela, linha, e coluna para relao,
tupla e atributo, respectivamente. Os comando de SQL para definio de dados so CREATE, ALTER, e DROP.
O comando CREATE TABLE usado para especificar uma nova relao dando-se seu nome e
especificando seus atributos e restries. Os atributos so especificados primeiro, e a cada atributo dado um
nome, um tipo de dados para especificar seu domnio de valores, e possivelmente algumas restries. A chave, as
restries de integridade da entidade e referencial so especificadas.
Exemplo:
CREATE TABLE EMPLOYEE
(NAME
VARCHAR(15)
NOT NULL,
MINIT
CHAR,
LNAME
VARCHAR(15)
NOT NULL,
SSN
CHAR(9)
NOT NULL,
BDATE DATE,
ADDRESS
VARCHAR(30),
SEX
CHAR,
SALARY
DECIMAL(10, 2),
SUPERSSN
CHAR(9),
DNO
INT
NOT NULL,
PRIMARY KEY (SSN),
FOREIGN KEY (SUPERSSN) REFERENCES EMPLOYEE (SSN),
FOREIGN KEY (DNO) REFERENCES DEPARTAMENT (DNUMBER));
O comando ALTER TABLE pode ser utilizado para alterar a definio de um tabela. As possveis aes
desse comando incluem adicionar ou excluir uma coluna (atributo), alterar a definio de uma coluna, e

- 8
ICA Lab. Inteligncia Computacional Aplicada , DEE, PUCRio (Verso 26/08/99)

adicionar ou excluir restries. Por exemplo, adicionar um atributo para monitorar o trabalho de um empregado.
ALTER TABLE EMPLOYEE ADD JOB VARCHAR (12);
SQL tem um comando bsico para obter informaes da base de dados: SELECT. A forma bsica do
comando SELECT formada por 3 clusulas SELECT, FROM, e WHERE e tem a seguinte forma:
SELECT <lista de atributos>
FROM <lista de tabelas>
WHERE <condio>,
Onde
<lista de atributos> uma lista de nomes de atributos cujos valores sero obtidos na query.
<lista de tabelas> uma lista com os nomes das relaes requisitadas para processar a query.
<condio> a condio necessria para identificar expresses que satisfazem as tuplas da query.
Exemplo:
SELECT BDATE, ADDRESS
FROM EMPLOYEE
WHERE FNAME = JOHN AND LNAME = SMITH

3.

DATA WAREHOUSE

Os bancos de dados e a teoria de banco de dados esto disponveis h bastante tempo. As primeiras
edies de bancos de dados concentravam-se em um nico banco de dados que atendia a todos os propsitos
conhecidos pela comunidade de informtica do processamento de transaes ao processamento batch (lote) e
ao processamento analtico. Na maioria dos casos, o enfoque principal dos primeiros sistemas de banco de dados
era o processamento operacional geralmente transacional. Nos ltimos anos, surgiu um conceito de banco de
dados mais sofisticados um que atende as necessidades operacionais e outro que atende as necessidades
informacionais ou analticas. At certo ponto, esse conceito mais evoludo de banco de dados se deve ao advento
dos PCs, tecnologia das linguagens de quarta gerao, e ao empowerment do usurio final.
A diviso em banco de dados operacionais e informacionais ocorre por vrias razes:
Os dados que atendem a necessidades operacionais so fisicamente diferentes dos dados que atendem a
necessidades informacionais ou analticas.
A tecnologia de suporte ao processamento operacional fundamentalmente, diferente da tecnologia
utilizada para prestar suporte a necessidades informacionais ou analticas.
A comunidade de usurios dos dados operacionais diferente da que atendida pelos dados
informacionais ou analticos.
As caractersticas de processamento do ambiente operacional e do ambiente informacional so,
fundamentalmente diferentes.
Por essas razes (e por muitas outras!), a maneira moderna de construir sistemas consiste em separar o
processamento e os dados operacionais dos informacionais ou analticos.
Pode-se definir que o processamento informacional ou analtico o processamento que atende s
necessidades dos gerentes durante o processo de tomada de decises. Geralmente conhecido como SAD
sistemas de apoio deciso, o processamento analtico examina amplos espectros de dados para detectar
tendncias. Em vez de considerar um ou dois registros de dados (como ocorre no processamento operacional),
quando o analista de SAD executa um processamento analtico, muitos registros so acessados. Alm disso, o
analista de SAD muito raramente atualiza dados. Nos dados operacionais, os dados esto constantemente sendo
atualizados no nvel de registro individual. No processamento analtico, os registros esto constantemente sendo
acessados, e seus contedos so agrupados para anlise, mas ocorre pouca ou nenhuma alterao dos registros
individuais.
No processamento analtico, os requisitos de tempo de resposta so muito atenuados em comparao com
o do tradicional processamento operacional. O tempo de resposta analtico alcana de 30 minutos a 24 horas.
Para o processamento operacional, tempos de resposta inseridos nessa escala significariam um absoluto desastre.
A rede que atende a comunidade analtica muito menor do que a que atende comunidade operacional.
Normalmente, h muito menos usurios da rede analtica do que da rede operacional.
Ao contrrio da tecnologia que d suporte ao ambiente analtico, a tecnologia voltada para o ambiente
operacional deve tratar do bloqueio de dados e transaes, disputa de dados, deadlock, e assim por diante.

- 9
ICA Lab. Inteligncia Computacional Aplicada , DEE, PUCRio (Verso 26/08/99)

H portanto, muitas diferenas importantes entre o ambiente operacional e o ambiente analtico. Aqui
dado enfoque ao processamento analtico com as seguintes questes:
Granularidade dos dados
Particionamento dos dados
Metadados
Falta de credibilidade dos dados
Integrao dos dados do SAD
Parmetros de tempo dos dados do SAD
Identificao da fonte dos dados do SAD o sistema de registro
Migrao e tecnologia
O Data Warehouse o alicerce do processamento dos SADs. Em virtude de haver uma fonte nica de
dados integrados no DW, e uma vez que os dados apresentam condies de acesso, a tarefa do analista de SAD
no ambiente de DW incomensuravelmente mais fcil do que no ambiente clssico.
Um DW um conjunto de dados baseado em assuntos, integrado, no-voltil, e varivel em relao ao
tempo, de apoio s decises gerenciais. Os sistemas operacionais clssicos so organizados em torno das
aplicaes da empresa. No caso de uma companhia de seguros, as aplicaes podem ser automvel, sade, vida e
perdas. Os principais assuntos ou negcios da empresa podem ser cliente, aplice, prmio e indenizao.
A segunda caracterstica marcante do DW que ele integrado. A integrao ocorre quando os dados
passam do ambiente operacional baseado em aplicaes para o data warehouse.
O processo de introduo dos dados no DW feita de modo que as muitas inconsistncias da aplicaes
sejam desfeitas. As consideraes sobre inconsistncias so vlidas para todas as questes de projeto de
aplicaes, como as convenes de atribuio de nomes, estruturas de chaves, unidades de medidas de atributos
e caractersticas fsicas dos dados.
A terceira caracterstica importante de um DW consiste em que ele no-voltil. No ambiente
operacional, os dados sofrem atualizaes. Contudo, os dados existentes no data warehouse apresentam um
conjunto de caractersticas muito diferentes. Os dados do DW so carregados (normalmente em grandes
quantidades) e acessados. Mas a atualizao dos dados (geralmente) no ocorre no ambiente de data warehouse.
A ltima caracterstica significativa do DW diz respeito ao fato de ele ser varivel em relao ao tempo.
O horizonte de tempo vlido para o DW significantemente maior do que o dos sistemas
operacionais. Um horizonte de tempo de 60 a 90 dias normal para os sistemas operacionais; um
horizonte de tempo de 5 a 10 anos normal para o DW.
Bancos de dados operacionais contm dados de valor corrente dados cuja exatido vlida para o
momento de acesso. Assim sendo, dados de valor corrente podem ser atualizados. Dados existentes
no DW no passam de uma srie sofisticada de instantneos, capturados num determinado momento.
A estrutura de chaves dos dados operacionais pode conter, ou no, elementos de tempo, como ano,
ms, dia, etc. A estrutura de chave do DW sempre contm algum elemento de tempo.
Na estrutura do DW pode-se notar um nvel de detalhe mais antigo (geralmente residente em um
armazenamento alternativo, de massa), um nvel corrente de detalhe, um nvel de dados levemente resumidos e
um nvel de dados altamente resumidos. Os dados fluem do ambiente operacional para o DW. Na passagem do
nvel operacional pare o nvel do DW, geralmente ocorre uma quantidade significativa de transformaes de
dados.
O DW baseia-se nos principais assuntos ou negcios de interesse da empresa que tenham sido definidos
no modelo de dados. Entre as tradicionais reas de interesse incluem-se: Cliente, produto, transao ou atividade,
aplice, indenizao, conta, etc. A principal rea de interesse termina sendo fisicamente implementada como
uma srie de tabelas relacionadas inseridas no DW.
Dados que apresentam alta probabilidade de acesso e baixo volume de armazenamento residem em um
meio rpido e relativamente caro. Dados que apresentam baixa probabilidade de acesso e grande volume de
armazenamento residem em um meio menos dispendioso e de acesso mais lento.
O mais importante aspecto do projeto de um DW a questo da granularidade. A granularidade diz
respeito ao nvel de detalhe ou de resumo contido nas unidades de dados existentes no DW. Quanto mais detalhe,
mais baixo o nvel de granularidade. Quanto melhor detalhe, mais alto o nvel de granularidade.
A granularidade de dados tem se mantido como uma questo delicada de projeto. Nos primeiros sistemas
operacionais que foram criados, a granularidade era tido como certa. Quando os dados detalhados eram
atualizados, era quase certo que eles seriam armazenados no nvel mais baixo de granularidade. No entanto, no
ambiente de DW, a granularidade no um pressuposto.

- 10
ICA Lab. Inteligncia Computacional Aplicada , DEE, PUCRio (Verso 26/08/99)

A razo pela qual a granularidade a principal questo de projeto consiste no fato de que ela afeta
profundamente o volume de dados que residem no DW e, ao mesmo tempo, afeta o tipo de consulta que pode ser
atendida. O volume de dados contido no DW balanceado de acordo com o nvel de detalhe de uma consulta.
Outro meio utilizado o particionamento dos dados de detalhe corrente em unidades fsicas menores.
Pois, unidades fsicas menores proporcionam ao pessoal de operao e ao projetista muito mais flexibilidade no
gerenciamento dos dados do que proporcionado pelas unidades maiores.
Quando os dados residem em unidades fsicas de tamanho maior, entre outras coisas, eles no podem ser:
Reestruturados facilmente
Indexados livremente
Pesquisados sequencialmente, se necessrio
Reorganizados facilmente
Recuperados facilmente
Monitorados facilmente
Em resumo, uma das caractersticas essenciais do data warehouse o acesso flexvel aos dados. A
existncia de uma grande quantidade de dados frusta boa parte do objetivo do DW. Portanto, todos os dados de
detalhe corrente do DW devem ser particionados. Os dados podem ser divididos de diversas maneiras, as mais
comuns so: por data, por rea de negcio, por rea geogrfica, por unidade organizacional, etc.
Existem dois importantes aspectos vinculados construo de um DW o projeto da interface com os
sistemas operacionais e o projeto do data warehouse propriamente dito. De certa forma, projeto no uma
descrio exata do que acontece durante a construo do DW, uma vez que ele construdo de modo heurstico.
Primeiro, o warehouse povoado com alguns dados. Tais dados so, ento, usados e minuciosamente
examinados pelo analista de SAD. Em seguida, com base no feedback proporcionado pelo usurio final, os dados
so modificados e/ou outros so adicionados ao data warehouse.
O ciclo de feedback tem continuidade por toda a vida do data warehouse. um engano pensar que os
enfoques de projetos que funcionaram no passado sero teis na construo do DW. Os requisitos para a criao
do DW no podem ser conhecidos at que ele esteja parcialmente povoado e sendo usado pelo analista de SAD.
Portanto, ele no pode ser projetado do mesmo modo pelo qual so construdos os sistemas clssicos baseados
em requisitos. Por outro lado, tambm constitui um engano pensar que no prever requisitos seja uma boa idia.
Antes de qualquer tentativa de aplicar as tcnicas convencionais de projeto seja feita, o projetista precisa
compreender a aplicabilidade e o os limites dessas tcnicas. O modelo de processos se aplica apenas ao ambiente
operacional. O modelo de dados se aplica tanto ao ambiente operacional quanto ao ambiente de data warehouse.
A tentativa de utilizao de um modelo de dados ou de processos no local inadequado resultar apenas em
frustrao.
O escopo de integrao estabelece as fronteiras do modelo de dados e deve ser definido antes do inicio do
processo de modelagem. O escopo combinado entre o encarregado da modelagem, a gerncia e o usurio final
do sistema. Caso o escopo no seja predeterminado, h uma grande possibilidade de o processo de modelagem
prolongar-se por um tempo excessivo. O modelo fsico de dados criado a partir do modelo de nvel
intermedirio mediante a simples expanso deste de forma que ele passe a apresentar chaves e caractersticas
fsicas. essa altura, o modelo fsico de dados se parece com uma srie de tabelas chamadas, em alguns casos,
de tabelas relacionais.
Um importante aspecto do ambiente de DW diz respeito aos metadados. Metadados so dados sobre
dados. Os metadados fazem parte do meio de processamento de informaes h tanto tempo quanto os
programas e os dados. Contudo, no mundo do data warehouse que os metadados assumem um novo nvel de
importncia. por meio dos metadados que a utilizao mais produtiva do data warehouse alcanada. Os
metadados permitem que o usurio final/analista de SAD navegue pelas possibilidades.
Os metadados englobam o warehouse e mantm informaes sobre o que est onde no data warehouse.
Tipicamente, os aspectos sobre os quais os metadados mantm informaes so:
A estrutura dos dados segundo a viso do programador.
A estrutura dos dados segundo a viso do analista de SAD.
A fonte de dados que alimenta o data warehouse.
A transformao sofrida pelos dados no momento de sua migrao para o DW.
O modelo de dados.
O relacionamento entre o modelo de dados e o DW.
O histrico de extraes.
De modo geral pode-se resumir que o projeto do data warehouse comea com o modelo de dados. O
modelo corporativo de dados utilizado para o projeto do ambiente operacional, e uma variante do modelo
corporativo de dados usada para o DW. O data warehouse construdo de forma iterativa. Os requisitos para o
DW no podem ser conhecidos antecipadamente. A construo do data warehouse ocorre sob um ciclo de vida
do desenvolvimento completamente diferente daquele referente aos sistemas operacionais clssicos.
- 11
ICA Lab. Inteligncia Computacional Aplicada , DEE, PUCRio (Verso 26/08/99)

A principal preocupao do desenvolvedor do data warehouse diz respeito ao gerenciamento de volume.


Com relao a isso, a granularidade e o particionamento dos dados so duas questes mais importantes do
projeto de banco de dados. H, no entanto, muitas outras questes de projeto fsico, a maioria das quais,
centradas na eficincia de acesso aos dados.

4.

KDD KNOWLEDGE DISCOVERY DATABASE

4.1. TAREFAS DE KDD

A Figura 3 representa de forma hierrquica uma viso sistemtica do processo de KDD. Nessa figura
percebe-se as fases e as principais tarefas do processo de KDD, envolvendo: tarefas e algoritmos empregados;
fases; e etapas do pr processamento.

Figura 3:Taxonomia do processo de KDD


O desenvolvimento de sistemas de KDD esta relacionado com diversos domnios de aplicaes:
marketing, anlises corporativas, astronomia, medicina, biologia, entre outros. Deste modo, pode-se identificar
diversas tarefas de KDD que so, principalmente, dependentes do domnio da aplicao e do interesse do
usurio. De modo geral, cada tarefa de KDD extrai um tipo diferente de conhecimento do banco de dados, logo
cada tarefa requer um algoritmo diferente para a extrao de conhecimento. A seguir descreve-se algumas das
principais tarefas de KDD.

4.1.1. Regras de Associao


A tarefa de descobrir regras de associao foi introduzida por Agrawal [AGRA93]. Na sua forma
original essa tarefa definida para um tipo especial de dados, frequentemente chamado basket data. Nesse tipo
de dado uma tupla consiste num conjunto de atributos binrios chamados itens. Cada tupla corresponde uma
transao, e um item pode assumir um valor verdadeiro ou falso, dependendo se o ele est ou no presente na
- 12
ICA Lab. Inteligncia Computacional Aplicada , DEE, PUCRio (Verso 26/08/99)

transao. A transformao de uma tabela da base de dados para o formato binrio feita de modo que um
atributo de cardinalidade K substitudo por K atributos binrios [ADRI97].
Uma regra de associao um relacionamento da forma X Y, onde X e Y so conjuntos de itens e a
interseo deles, X Y, o conjunto vazio. Cada regra de associao associada a um fator suporte superior,
denominado FSup, e a um fator de confidncia, FConf. FSup definido como a razo do nmero de tuplas
satisfazendo ambos X e Y sobre o nmero total de tuplas, isto , FSup = | X Y | / N, onde N o nmero total
de tuplas. FConf definido como a razo do nmero de tuplas que satisfazem ambos X e Y sobre o nmero de
tuplas que satisfazem X, isto , FConf = | X Y | / | X |. A tarefa de descobrir regras de associao consiste em
extrair do banco de dados todas as regras com FSup e FConf maiores ou iguais a um FSup e FConf especificado
pelo usurio. A definio desses fatores serve para introduzir uma medida capaz de distinguir associaes
interessantes, dado que as regras geradas em forma binria elevam em muito o espao de busca de qualquer
algoritmo minerador.
A descoberta de regras de associao geralmente executada em 2 passos. Primeiro, um algoritmo
determina todos os conjuntos de itens que tm FSup maior ou igual ao FSup especificado pelo usurio. Estes
conjuntos so chamados conjuntos de itens frequentes. Segundo, para cada conjunto de itens frequentes, todas as
possveis regras candidatas so geradas e testadas com respeito ao FConf. Uma regra candidata gerada por
algum subconjunto de itens de um conjunto de itens frequentes como antecedente da regra, e os itens
remanescentes do conjunto de itens frequentes como o consequente da regra. Apenas regras candidatas com
FConf maior ou igual ao FConf especificado pelo usurio so dadas como sada do algoritmo.
Para ilustrar a descoberta de regras de associao, considere o exemplo mostrado na Tabela 1 [FREI98].
A primeira coluna nessa tabela mostra um identificador (ID) da transao, e as outras colunas indicam se um
determinado item foi ou no comprado na transao correspondente. Suponha que o usurio especificou os
parmetros FSup = 0.3 e FConf = 0.8.
Tabela 1: Entrada de dados para a descoberta de regras de associao.
ID
1
2
3
4
5
6
7
8
9
10

LEITE
No
Sim
No
Sim
No
No
No
No
No
No

CAF
Sim
No
Sim
Sim
No
No
No
No
No
No

CERVEJA
No
Sim
No
No
Sim
No
No
No
No
No

PO
Sim
Sim
Sim
Sim
No
No
Sim
No
No
No

MANTEIGA
Sim
Sim
Sim
Sim
No
Sim
No
No
No
No

ARROZ
No
No
No
No
No
No
No
No
Sim
Sim

FEIJO
No
No
No
No
No
No
No
Sim
Sim
No

Conjunto de itens frequentes: CAF, PO. FSup = 0.3


Regra: Se (CAF) ento (PO). FConf = 1.
Conjunto de itens frequentes: CAF, MANTEIGA. FSup = 0.3
Regra: Se (CAF) ento (MANTEIGA). FConf = 1.
Conjunto de itens frequentes: PO, MANTEIGA. FSup = 0.4
Regra: Se (PO) ento (MANTEIGA). FConf = 0.8.
Regra: Se (MANTEIGA) ento (PO). FConf = 0.8
Conjunto de itens frequentes: CAF, PO, MANTEIGA. FSup = 0.3
Regra: Se (CAF e PO) ento (MANTEIGA). FConf = 1.
Regra: Se (CAF e MANTEIGA) ento (PO). FConf = 1
Regra: Se (CAF) ento (PO e MANTEIGA). FConf = 1
Figura 4: Regras de associao descobertas dos dados da Tabela 1 (FSup = 0.3 e FConf = 0.8)
A Figura 4 mostra as regras de associao que seriam descobertas dos dados da Tabela 1 utilizando-se os
valores de FSup e FConf maiores ou iguais aos especificados pelo usurio. Na Figura 4 as regras de associao
so agrupadas pelos conjuntos de itens frequentes dos quais as regras foram geradas. A Figura 4 mostra apenas
conjuntos de itens frequentes com dois ou mais itens.
O algoritmo Apriori, um dos algoritmos disponveis na literatura [AGRA97], responsvel por descobrir
o conjunto de itens frequentes atravs de mltiplos passos na base de dados. Cada passo inicia com um conjunto
semente de itens, e esse conjunto semente gerar novos conjuntos potenciais, chamados conjunto de itens
candidatos. Em linhas gerais, enquanto o conjunto de itens candidatos no ficar vazio, o algoritmo armazena
- 13
ICA Lab. Inteligncia Computacional Aplicada , DEE, PUCRio (Verso 26/08/99)

esses conjuntos e para cada (tupla) do banco de dados testa se um conjunto candidato est ou no contido na
tupla. Caso um conjunto candidato esteja contido na tupla, ento incrementa-se um contador. Se ao final do teste
para cada tupla da base de dados uma regra candidata tiver um suporte mnimo especificado, ento ela inserida
num novo conjunto semente (itens candidatos).
O Algoritmo Basic trabalha de forma anloga ao Apriori [AGRA93]. A diferena est nas transaes,
pois nesse algoritmo criam-se novas transaes, ou tuplas, chamadas transaes estendidas. Uma transao
estendida uma nova transao tal que nela so adicionados todos os itens antecessores de um dado item. Por
exemplo, Roupas podem ser divididas em Roupas de Frio e Roupas de Calor, e as Roupas de Frio em
Jaquetas e Calas. Logo, se numa transao aparece o item Cala, ento essa transao adicionada dos
itens Roupas de Frio e Roupas.
O Algoritmo Cumulate pr computa os antecessores de um item e s os adiciona na transao se esses
itens forem relevantes [AGRA93]. Se ao final do processo de gerao de itens candidatos existirem conjuntos de
itens candidatos que contenham o item e seu antecessor com o mesmo suporte, ento um dos conjuntos
retirado. Por exemplo, se o suporte do conjunto {Jaquetas, Roupas de Frio} for o mesmo que {Jaquetas},
ento suficiente retirar um desses conjuntos.
Uma vez que se obtm os conjuntos de itens frequentes, o algoritmo que responsvel por descobrir as
regras pode ser como o mostrado na Figura 5.
Para cada conjunto de itens frequentes f faa
Para cada subconjunto c de f faa
Se (suporte(f) / suporte(f - c) MnimoFConf.) ento
Sada a regra (f - c) c
com fator de confidncia = suporte(f) / suporte(f - c)
E suporte = suporte(f)
Figura 5: Algoritmo para descoberta de regras de associao
Mais informaes sobre regras de associao e detalhes sobre os algoritmos Apriori, Basic, Cumulate,
Stratify, Estimate e EstMerge, responsveis pela gerao de regras e de conjuntos de itens frequentes podem ser
encontradas em [ AGRA94], [AGRA95], [HAN 97].
Recentemente a descoberta de regras de associao tem sido estendida para outros tipos de atributos que
no sejam estritamente binrios. Por exemplo, [ FUKU96] prope algoritmos para descobrir regras de associao
que se referem atributos contnuos ou quantitativos.

4.1.2. Classificao
a tarefa mais estudada em KDD. Nessa tarefa cada tupla pertence a uma classe entre um conjunto prdefinido de classes. A classe de uma tupla, ou registro, indicada por um valor especificado pelo usurio em um
atributo meta, ou atributo objetivo. As tuplas consistem de atributos preditivos e um atributo objetivo, esse
ltimo indicando a que classe essa tupla pertence. O atributo objetivo do tipo categrico, ou discreto, isto ,
pode tomar apenas um valor dentro de um conjunto de valores discretos, determinando classes ou categorias.
Esse atributo pode ter valores discretos como SIM ou NO, um cdigo pertencente a um intervalo de nmeros
inteiros, tais como {1..10}, etc.
O princpio da tarefa de classificao descobrir algum tipo de relacionamento entre os atributos
preditivos e o atributo objetivo, de modo a descobrir um conhecimento que possa ser utilizado para prever a
classe de uma tupla desconhecida, ou seja, que ainda no possui uma classe definida. Por exemplo, suponha que
uma editora de livros publicou um livro chamado Um guia para restaurantes franceses na Inglaterra. O livro
publicado em ingls, francs e alemo, de acordo com o pas onde ele est sendo vendido. Suponha tambm que
a editora tem um banco de dados contendo dados sobre seus clientes nos trs pases, Inglaterra, Frana e
Alemanha. Seria interessante utilizar esses dados para prever que tipo de clientes estariam mais interessados em
comprar esse novo livro. A editora pode ento concentrar os esforos de vendas nesses clientes.
Para prever se o cliente ir ou no comprar o livro quando eles receberem um material de propaganda, a
editora necessita de alguns dados sobre o efeito dessa tcnica de propaganda em alguns de seus clientes na sua
base de dados. A partir desses dados um algoritmo de classificao pode descobrir regras que prevem se um
novo cliente ir ou no comprar esse novo livro. Para coletar esses dados a editora pode enviar o material de
propaganda para alguns de seus clientes e monitor-los para saber se eles compram ou no o livro. Essa
informao ento armazenada em um novo atributo, nesse caso o atributo objetivo. Seu valor pode assumir
dois possveis valores: SIM, significando a compra do livro, ou NO, caso contrrio. Uma vez esse atributo
determinado, o prximo passo selecionar um subconjunto de atributos preditivos entre todos os atributos dos
clientes no banco de dados. Claramente alguns atributos, tal como: nome do cliente, so de modo geral
- 14
ICA Lab. Inteligncia Computacional Aplicada , DEE, PUCRio (Verso 26/08/99)

irrelevantes para a previso da compra ou no do livro. No exemplo abaixo sero considerados apenas os
atributos SEXO, PAS e IDADE dos clientes como relevantes para a previso.
A Tabela 2 [FREI98] mostra os valores dos atributos preditivos selecionados, junto com valor do
atributo objetivo, COMPRAR. Esses so dados de dez clientes, aos quais algum material de propaganda foi
enviado sobre o novo livro. Um algoritmo de classificao pode analisar os dados da Tabela 2 para determinar
que valores dos atributos preditivos tendem a ser relacionados, ou associados, com cada um dos atributos
objetivos. Esta descoberta de conhecimento pode ento ser aplicada para prever se um cliente da base de dados
da editora comprar ou no o novo livro. Note que esse conhecimento ser aplicado nos clientes para o qual o
valor do atributo objetivo ainda desconhecido.
Tabela 2: Entrada de dados para a tarefa de classificao
SEXO
Masculino
Masculino
Feminino
Feminino
Feminino
Masculino
Masculino
Feminino
Feminino
Masculino

PAS
Frana
Inglaterra
Frana
Inglaterra
Frana
Alemanha
Alemanha
Alemanha
Frana
Frana

IDADE
25
21
23
34
30
21
20
18
34
55

COMPRAR
Sim
Sim
Sim
Sim
No
No
No
No
No
No

Se (PAS = Alemanha) ento COMPRAR = No


Se (PAS = Inglaterra) ento COMPRAR = Sim
Se (PAS = Frana e IDADE 25) ento COMPRAR = Sim
Se (PAS = Frana e IDADE > 25) ento COMPRAR = No
Figura 6: Regras de classificao descobertas dos dados da Tabela 2
O conhecimento descoberto frequentemente representado na forma de regras SE-ENTO. Essas
regras so interpretadas da seguinte maneira: SE os atributos preditivos de uma tupla satisfazem as condies
no antecedente da regra, ENTO a tupla tem a classe indicada no consequente da regra. A Figura 6 mostra as
regras extradas atravs de um algoritmo de classificao utilizando os dados da Tabela 2.
Mais informaes sobre a tarefa de classificao podem ser encontradas em [MEHT96], [SHAF96],
[SHOL91] e [MICH94].

4.1.3. Clustering
Instintivamente as pessoas visualizam os dados segmentados em grupos discretos, como por exemplo,
tipos de plantas ou animais. Na criao desses grupos discretos pode-se notar a similaridade dos objetos em cada
grupo.
Enquanto a anlise de grupos frequentemente feita manualmente em pequenos conjuntos de dados, para
grandes conjuntos um processo automtico de clustering atravs da tecnologia de minerao de dados mais
eficiente. Em adio, os cenrios existentes so muito similares, tornando-os competitivos, requerendo a
utilizao de algoritmos complexos que determinem a segmentao mais apropriada.
Nessa tarefa de KDD, o algoritmo deve criar as classes atravs da produo de parties do banco de
dados em conjuntos de tuplas. Essa partio feita de modo que tuplas com valores de atributos semelhantes, ou
seja, propriedades de interesse comuns, sejam reunidas dentro de uma mesma classe. Uma vez que as classes
sejam criadas, pode-se aplicar um algoritmo de classificao nessas classes, produzindo assim regras para as
mesmas. Um bom agrupamento caracteriza-se pela produo de segmentos de alta qualidade, onde a
similaridade intra-classe alta e a inter-classe baixa. A qualidade do resultado do clustering tambm depende
da medida utilizada para medir a similaridade usada pelo mtodo e de sua implementao, alm de sua
habilidade de descobrir algum ou todos os padres escondidos.
As tcnicas mais utilizadas para agrupar dados so baseadas em trs categorias: Partio, basicamente
enumera vrias parties e ento cria uma nota para cada uma delas segundo algum critrio; Hierarquia, cria uma
decomposio hierrquica do conjunto de dados usando algum critrio; Modelo, um modelo hipoteticamente
criado para cada cluster e a idia encontrar o que melhor se enquadra quando comparados entre si.
- 15
ICA Lab. Inteligncia Computacional Aplicada , DEE, PUCRio (Verso 26/08/99)

A maioria das ferramentas de clustering trabalham em funo de um nmero pr-definido de grupos


especificado por um usurio. Isso requer um conhecimento detalhado do domnio, transformando assim a tarefa
de descoberta de conhecimento menos atrativa. Tecnologias mais sofisticadas so capazes de procurar atravs de
diferentes possibilidades de quantidades de grupos e avaliar cada configurao de acordo com a sua importncia.
Tcnicas baseadas em Redes Neurais Auto Organizveis utilizando algoritmos Kohonen [HAYK94] tambm so
capazes de segmentar grupos de dados. Outras discusses sobre mtodos de clustering podem ser encontradas
em [JAIN88], [ARAB96] e [RAYM94].
Existem outras tarefas de KDD que menos destacadas, so elas:
Descoberta de regras atravs da semntica da otimizao de queries Esta tarefa transforma uma
query do banco de dados em uma outra query utilizando a semntica do conhecimento da base, tais
como restries de integridade e dependncias funcionais para produzir uma query mais eficiente
[KING81].
Descoberta de dependncias do banco de dados No modelo de dados relacional, as definies das
relaes na base de dados no dizem nada sobre o relacionamento entre seus atributos. Esses
relacionamentos so especificados atravs das dependncias dos dados, ou das restries de
integridade [FAGI86], essa tarefa busca automaticamente descobrir tais dependncias.
Regresso Esta tarefa conceitualmente similar a tarefa de classificao. A maior diferena que
nessa tarefa o atributo meta, ou objetivo, contnuo, isto , pode tomar qualquer valor real ou
qualquer nmero inteiro num intervalo arbitrrio, ao invs de um valor discreto [QUIN93].
4.2. FASES DE KDD
No processo de KDD cada fase pode possuir uma interseo com as demais. Desse modo, os resultados
produzidos numa fase podem ser utilizados para melhorar os resultados das prximas fases. Esse cenrio indica
que o processo de KDD iterativo, buscando sempre aprimorar os resultados a cada iterao. Na execuo do
processo de KDD o usurio analisa as informaes geradas em cada fase e procura incorporar sua experincia de
analista de dados para obter cada vez mais melhores resultados.
A definio do problema fundamental para o processo de KDD. Essa definio requer que a pessoa que
solicita a tarefa de KDD entenda perfeitamente o problema existente e tenha um objetivo bem especificado, ou
seja, aquilo que se deseja conhecer ou extrair. Para isso, necessrio uma interao com o solicitador da tarefa
de modo que seja exposto tudo o que se relaciona com o problema. Tendo sido definido o problema, pode-se
fixar metas para os objetivos da tarefa de KDD.

4.2.1. Data Warehousing: Organizao de grandes volumes de dados


O processo de KDD deve iniciar a construo de um Data Warehousing (DW). Este um meio efetivo de
organizar grandes volumes de dados para sistemas de suporte a deciso e aplicaes de KDD. Pode-se definir um
DW como um repositrio integrado, orientado para anlise, histrico, com dados apenas para leitura, designado
para ser utilizado como base para suporte deciso e sistemas KDD [INMO93], [POE 96]. Um DW funciona
como uma base de dados para dar suporte deciso mantido separadamente das bases de dados operacionais da
organizao. Geralmente integra dados de diversas origens heterogneas e por isso necessita de uma estrutura
flexvel que suporte queries e gerao de relatrios analticos.
A Figura 7 mostra o ponto crtico em um DW que a integrao de mltiplos dados, provenientes de
bases de dados heterogneas. A integrao envolve padronizar atributos, formatos e convenes de nomes, alm
de remoo de inconsistncias.

- 16
ICA Lab. Inteligncia Computacional Aplicada , DEE, PUCRio (Verso 26/08/99)

Figura 7: Viso resumida das fases do processo de KDD incluindo Data Warehousing
Um DW contm dados histricos, variantes no tempo (geralmente por um perodo de muitos anos). Esses
dados so geralmente organizados de modo a facilitar sua anlise por um usurio especializado. Uma
organizao tpica de dados armazenar informaes quantitativas (por exemplo, vendas de produtos) em
grandes tabelas, chamadas tabelas de fatos, e dados qualitativos, informao descritiva (por exemplo, atributos
do produto) armazenados em pequenas tabelas, chamadas tabelas de dimenso. Este modelo chamado estrela,
pois um simples objeto (tabela de fatos) est no centro do modelo conectado a um nmero de objetos (tabela de
dimenso) radialmente. Alm desse modelo, tambm utiliza-se: - Flocos de neve, um refinamento do modelo
estrela onde a hierarquia dimensional representada explicitamente pela normalizao das tabelas de dimenso;
- Constelaes de fatos, mltiplas tabelas de fatos compartilhando as tabelas de dimenses.
Um DW uma base apenas para leitura no sentido que um item dessa base raramente alterado. Em um
DW o usurio obtm a informao desejada executando queries pr-definidas que fazem junes entre as tabelas
de fatos e dimenses. Atualizaes no DW geralmente consistem na insero de novos dados (e as vezes da
retirada de dados mais antigos) num perodo pr-determinado de tempo, por exemplo, uma vez por semana.
As caractersticas citadas esto em contraste com SGBD (Sistema Gerenciador de Banco de Dados), os
quais tipicamente contm apenas as ltimas verses dos dados e onde tuplas esto constantemente sendo
inseridas, apagadas ou alteradas. Um SGBD uma coleo de programas que habilitam usurios a criar e manter
um banco de dados. Ou seja, um SGBD um sistema que facilita os processos de definio, construo, e
manipulao de bases de dados para vrias aplicaes.
OLAP: Processamento Analtico On-Line (On-Line Analytical Processing)
O Processo Analtico On-Line motiva-se pela necessidade de minerar conhecimento e padres em
diferentes nveis de abstrao atravs de anlises multidimensionais dos dados, ou seja, uma viso lgica dos
dados. uma anlise interativa dos dados, permitindo ilimitadas vises atravs de agregaes em todas
intersees de dimenses possveis. Permite obter informaes e mostr-las em tabelas de 2D e 3D, mapas e
grficos, com fcil modificao dos eixos. Alm disso, deriva-se anlises estatsticas (razes, mdias, varincias)
envolvendo quaisquer medidas ou dados numricos entre muitas dimenses. Um OLAP executa queries com um
tempo de resposta pequeno, pois procura-se atravs de otimizao do DW manter as informaes solicitadas com
maior frequncia em memria. Abaixo segue a arquitetura de uma ferramenta OLAP:
1. A arquitetura Lgica OLAP
- 17
ICA Lab. Inteligncia Computacional Aplicada , DEE, PUCRio (Verso 26/08/99)

2.

3.

Viso OLAP multidimensional e apresentao lgica dos dados em um DW para o usurio de


trabalho.
Tecnologia de armazenamento de dados Indica as opes de tecnologia de como e onde os dados
sero armazenados.
Os trs principais componentes de servios
Servios de armazenamento de dados
Servios OLAP
Servios de apresentao para o usurio
Arquiteturas de armazenamento de dados
Multidimensional (MOLAP)
Relacional (ROLAP)

4.2.2. Pr-processamento dos dados


Na Figura 7 nota-se que aps a fase de DW inicia-se o pr-processamento dos dados. Essa fase,
responsvel por consolidar as informaes relevantes para o algoritmo minerador, buscando reduzir a
complexidade do problema, inclui 3 sub-fases chamadas: limpeza dos dados, seleo dos dados e transformao
ou codificao dos dados. Essas fases no necessitam ser executadas nessa ordem, algumas dessas operaes
podem ser parcialmente executadas durante a construo de um DW.

4.2.3. Limpeza dos dados


A limpeza dos dados envolve uma verificao da consistncia das informaes, a correo de possveis
erros e o preenchimento ou a eliminao de valores nulos e redundantes. Nessa fase so identificados e
removidos os dados duplicados e/ou corrompidos. A execuo dessa fase corrige a base de dados eliminando
consultas desnecessrias que seriam executadas pelo algoritmo minerador e que afetariam o seu processamento.
Os mtodos de limpeza dos dados so herdados e dependentes do domnio da aplicao, desse modo a
participao do analista de dados torna-se essencial. Um exemplo simples de limpeza de dados seria a definio
de um intervalo de possveis valores para um determinado atributo, {0..10}. Caso surgisse qualquer valor
diferente dos definidos no intervalo, esse dado seria retirado.

4.2.4. Seleo dos dados


Na seleo dos dados deseja-se escolher apenas atributos relevantes do conjunto de atributos do banco de
dados. Em suma, a seleo de atributos consiste da escolha de um subconjunto de atributos disponveis para o
algoritmo de KDD que seja relevante para o objetivo da tarefa. O subconjunto selecionado ento fornecido
para o algoritmo de minerao dos dados. Uma motivao para essa seleo otimizar o tempo de
processamento do algoritmo minerador, visto que ele apenas trabalhar com um subconjunto de atributos, desse
modo diminuindo o seu espao de busca.
Existem 2 principais mtodos para a seleo de atributos:
Mltiplas iteraes o dado a ser minerado dividido em 2 subconjuntos: treinamento e avaliao,
ento uma busca heurstica iterativa executada no espao dos subconjuntos dos atributos. Cada
iterao dessa busca consiste basicamente de trs passos. Primeiro, um subconjunto de atributos,
chamados atributos candidatos, selecionado de acordo com algum critrio. Segundo, um algoritmo
aplicado no subconjunto de treinamento, composto apenas por atributos candidatos. Terceiro,
medido a qualidade da seleo aplicando-se o resultado obtido no subconjunto de avaliao. Esse
ciclo permanece at que se chegue a um resultado satisfatrio. Os mtodos bsicos mais utilizados
podem ser: Forward Selection (FS) e Backward Elimination (BE). FS inicia com um conjunto vazio
de atributos e iterativamente seleciona um atributo por vez at que nenhuma melhora na medida da
qualidade do resultado seja obtida. BE inicia com um conjunto com todos os atributos e
iterativamente remove um atributo por vez at que nenhuma melhora na medida da qualidade do
resultado seja obtida. Mtodos mais sofisticados para seleo de atributos podem ser encontrados em
[BALA95], utilizando algoritmos genticos e [AHA 95] utilizando outros mtodos de busca.
Iterao simples Este mtodo independente do algoritmo minerador, ou seja o mesmo conjunto de
atributos selecionados pode ser fornecido para qualquer algoritmo minerador. Exemplos podem ser
- 18
ICA Lab. Inteligncia Computacional Aplicada , DEE, PUCRio (Verso 26/08/99)

encontrados em [KIRA92], [KONO94] e [KOLL96]. Esses algoritmos se utilizam de mtodos


estatsticos como probabilidade de distribuio e so menos complexos em eficincia que o mtodo
de mltiplas iteraes.
Uma outra maneira de selecionar os dados de forma determinstica. Nesse caso o analista de dados
escolhe os atributos que segundo sua experincia so essenciais e necessrios para explicar, ou compor, o
objetivo da tarefa de KDD.

4.2.5. Codificao dos dados


Um algoritmo de codificao divide os valores contnuos dos atributos (inteiros ou reais) numa lista de
intervalos representados por um cdigo. Ele efetivamente converte valores quantitativos em valores categricos.
Ou seja, cada intervalo resulta num valor discreto do atributo. Por exemplo, mostra-se uma possvel codificao
para o atributo IDADE: {0..18} Faixa 1; {19..25} Faixa 2; {26..40} Faixa 3 e assim por diante. Nesse
exemplo, os valores contnuos das idades foram discretizados em 3 faixas. Em alguns casos a transformao de
um valor em seu equivalente na base binria pode facilitar o algoritmo minerador a encontrar seu objetivo com
melhor qualidade de resultados. Em resumo essa fase converte os dados para a forma mais adequada para a
construo e interpretao do modelo.
A codificao de dados potencialmente a tarefa onde h a necessidade de grande habilidade no processo
de KDD. Tipicamente essa etapa exige a experincia do analista de dados e do seu conhecimento nos dados em
questo. Embora o processo de KDD possa ser executado sem essa fase, nota-se que quando efetivada os
resultados obtidos so mais intuitivos e valiosos, alm de que, na maioria das vezes, facilita a construo do
modelo.
Os algoritmos de codificao podem ser de dois tipos: cego para a classe, dirigido para a classe.
O algoritmo cego para a classe discretiza um dado atributo sem considerar o atributo objetivo (classe)
[MANN88]. Por exemplo, dividir um intervalo de valores de um atributo em um nmero pr-determinado de
intervalos do mesmo tamanho. Usando o exemplo do atributo IDADE, este mtodo produziria intervalos como:
0-10, 10-20, 20-30, etc.
O algoritmo dirigido para a classe [DOUG95] considera o valor da classe quando discretiza o atributo. A
entrada para esse algoritmo uma relao com o atributo a ser discretizado e o atributo objetivo, cujo valor
indica a que classe a tupla pertence.
As vantagens de se codificar um atributo so: melhorar a compreenso do conhecimento descoberto;
reduzir o tempo de processamento para o algoritmo minerador, diminuindo o seu espao de busca; facilitar o
algoritmo a tomar decises globais, j que os valores dos atributos foram englobados em faixas. Como
desvantagens cita-se a reduo da medida de qualidade de um conhecimento descoberto, perdendo assim
detalhes relevantes sobre as informaes extradas.

4.2.6. Enriquecimento dos dados


Essa fase de enriquecimento consiste em agregar aos dados existentes mais informaes de modo que
essas contribuam no processo de descoberta de conhecimento. Essas informaes sero incorporadas ao processo
como um meta conhecimento do analista de dados, ou seja, informaes que no esto na base de dados, porm
so conhecidas e ratificadas. Em suma, o enriquecimento dos dados qualquer processo capaz de aumentar as
informaes j existentes que acredita-se melhorar o desempenho do algoritmo minerador.

4.2.7. Minerao de Dados (Data Mining)


a etapa mais importante do processo de KDD. Caracteriza-se pela existncia do algoritmo que diante
da tarefa especificada ser capaz de extrair eficientemente conhecimento implcito e til de um banco de dados.
Pode-se dizer que minerao de dados a fase que transforma dados em informaes, consequentemente um
sistema de suporte a deciso baseado em algoritmos de minerao de dados o que transforma os dados em
possveis aes e na percepo de aumento dos lucros.
Nessa fase necessita-se definir a tcnica e o algoritmo a ser utilizado em funo da tarefa proposta. A
Tabela 3 mostra as principais tarefas de KDD e as tcnicas mais utilizadas para minerao de dados.

- 19
ICA Lab. Inteligncia Computacional Aplicada , DEE, PUCRio (Verso 26/08/99)

Tabela 3: Algumas tarefas de KDD e suas tcnicas de minerao de dados


Tarefas de KDD
Associao
Classificao
Clustering
Previso de Sries Temporais

Tcnicas
Estatstica e Teoria dos Conjuntos
Algoritmos Genticos, Redes Neurais e Arvores de
Deciso
Redes Neurais e Estatstica
Redes Neurais, Lgica Nebulosa e Estatstica

Uma vez escolhido o algoritmo a ser utilizado, deve-se implement-lo e adapt-lo ao problema proposto.
Para finalizar essa etapa deve-se executar o algoritmo a fim de obter resultados que sero analisados na fase de
ps-processamento.

4.2.8. Ps-processamento
Finalmente, a sada do algoritmo minerador pode ser refinada numa fase de ps-processamento. Essa fase
envolve a interpretao do conhecimento descoberto, ou algum processamento desse conhecimento. Esse psprocessamento deve ser includo no algoritmo minerador, porm algumas vezes vantajoso implement-lo
separadamente. Em geral, a principal meta dessa fase melhorar a compreenso do conhecimento descoberto
pelo algoritmo minerador, validando-o atravs de medidas da qualidade da soluo e da percepo de um
analista de dados. Esses conhecimentos sero consolidados em forma de relatrios demonstrativos com a
documentao e explicao das informaes relevantes ocorridas em cada etapa do processo de KDD.
Uma maneira genrica de obter a compreenso e interpretao dos resultados utilizar tcnicas de
visualizao [LEE 95]. Existem tambm outros tipos de tcnicas de ps-processamento criados especialmente
para um dado tipo de algoritmo minerador, ou para uma dada tarefa de KDD. Por exemplo, recentemente tm
aparecido pesquisas sobre como converter os pesos das conexes de uma rede neural artificial num conjunto de
regras [FU 94], [LU 95], [VAUG96].
A Figura 8 [FAYY96] mostra uma viso mais ampla do processo de KDD, onde a fase de DW no
evidenciada. Em um processo de KDD, a fase DW no absolutamente necessria, podendo, ser executada pelo
usurio do sistema conforme a necessidade de dados para o algoritmos minerador. O DW importante para
agilizar e organizar o processo de KDD, no sendo imprescindvel para tal. importante notar que no existe um
sistema que implementa um processo de KDD. Existem sistemas intermedirios, controlados por um usurio, e
cada sistema bem definido e com o seu objetivo delineado conforme a tarefa solicitada.

- 20
ICA Lab. Inteligncia Computacional Aplicada , DEE, PUCRio (Verso 26/08/99)

Figura 8: Uma viso mais ampla do processo de KDD

5.

DATA MINING

5.1. INTRODUO
A minerao de dados considerada a principal fase do processo de KDD. Essa fase exclusivamente
responsvel pelo algoritmo minerador, ou seja, o algoritmo que diante da tarefa especificada, busca extrair o
conhecimento implcito e potencialmente til dos dados. A minerao de dados , na verdade, uma descoberta
eficiente de informaes vlidas e no bvias de uma grande coleo de dados [BIGU96].
A proposta de extrair conhecimento de banco de dados surgiu devido a exploso do crescimento da
quantidade de dados armazenados em meios magnticos e da necessidade de aproveit-los, motivada pela fome
de conhecimento. Outro fator que contribuiu em muito para aumento do interesse em minerao de dados foi o
desenvolvimento das tcnicas de machine learning - redes neurais artificiais, algoritmos genticos, entre outras,
que tornaram a descoberta de relaes interessantes em bases de dados mais atrativa.
Quando fala-se de minerao de dados no est se considerando apenas consultas complexas e elaboradas
que visam ratificar uma hiptese gerada por um usurio em funo dos relacionamentos existentes entre os
dados, e sim da descoberta de novos fatos, regularidades, restries, padres e relacionamentos.
Na fase de minerao dos dados o executor da tarefa pode utilizar vrias ferramentas e tcnicas para que o
seu objetivo seja bem sucedido. Uma das ferramentas mais utilizadas so aquelas baseadas em consulta a bases
de dados, linguagem SQL, pois permite que o executor possa obter uma anlise preliminar dos dados.
A minerao de dados envolve diversas reas e tcnicas, alm dos principais algoritmos. A Figura 9
mostra uma taxonomia da fase de minerao de dados. Os algoritmos esto representados pelo smbolo (
),
enquanto que as caixas representam reas e tcnicas.

- 21
ICA Lab. Inteligncia Computacional Aplicada , DEE, PUCRio (Verso 26/08/99)

Figura 9: Taxonomia da fase de Minerao de Dados


Neste captulo, todos os itens da taxonomia so abordados genericamente, de modo a permitir uma viso
ampla de como essas tcnicas e algoritmos so empregados na minerao de dados.
A seguir, so apresentadas as principais tcnicas e algoritmos utilizados em minerao e dados.
5.2. TCNICAS E ALGORITMOS PARA A MINERAO DE DADOS
A minerao de dados possui no s um amplo espectro de aplicaes, mas tambm de tcnicas,
algoritmos e procedimentos. Nas sees a seguir so mostrados, resumidamente, os fundamentos das principais
tcnicas e a sua modelagem para a minerao de dados.

5.2.1. Redes Neurais Artificiais


Introduo s Redes Neurais Artificiais
Uma Rede Neural Artificial (RNA) uma tcnica computacional que constri um modelo matemtico,
emulado por computador, de um sistema neural biolgico simplificado, com capacidade de aprendizado,
generalizao, associao e abstrao. As RNAs tentam aprender padres diretamente dos dados atravs de um
processo de repetidas apresentaes dos dados rede, ou seja por experincia. Dessa forma, uma RNA procura
por relacionamentos, constri modelos automaticamente, e os corrige de modo a diminuir seu prprio erro.
Semelhante ao sistema biolgico, uma RNA possui, simplificadamente, um sistema de neurnios, ou ns,
e conexes ponderadas (equivalente s sinapses), pesos. Numa RNA os ns so arrumados em camadas, com
conexes entre elas. A Figura 10 representa conceitualmente a arquitetura de uma RNA simples. Os crculos
representam os ns e as linhas representam os pesos das conexes. Por conveno, a camada que recebe os dados
chamada camada de entrada e a camada que mostra o resultado chamada camada de sada. A camada interna,
onde localiza-se o processamento interno, tradicionalmente chamada de camada escondida. Uma RNA pode
conter uma ou vrias camadas escondidas, de acordo com a complexidade do problema [HOLL92], [DHAR97].

- 22
ICA Lab. Inteligncia Computacional Aplicada , DEE, PUCRio (Verso 26/08/99)

Figura 10: A arquitetura de uma Rede Neural Artificial simples


Para entender como uma RNA aprende necessrio saber como os pesos da rede afetam sua sada. O
aprendizado de uma RNA envolve os ajustes dos pesos. A Figura 11 mostra o esquema de um neurnio artificial
criado a partir do modelo simplificado do neurnio biolgico [PERE96]. O neurnio artificial possui vrias
entradas, que podem ser estmulos do sistema ou sadas de outros neurnios.

Ativao

Pesos
X1

Propagao
W1

X2

W2

X3

W3

Figura 11: Esquema simplificado de um neurnio artificial


O neurnio artificial dividido em 2 sees funcionais. A primeira seo combina todas as entradas que
alimenta o neurnio. Essa etapa indica como as entradas sero computadas (regra de propagao). A segunda
seo recebe esse valor e faz um clculo determinando o grau de importncia da soma ponderada utilizando uma
funo de transferncia, ou funo de ativao. Essa funo determina a que grau uma soma causar uma
excitao ou inibio do neurnio. Os tipos mais comuns de funes de ativao so sigmide e tangente
hiperblica, pois fornecem a caracterstica de no linearidade para uma RNA.
Uma RNA ajusta seus pesos na fase de treinamento. fornecido um dado de observao, o qual
processado, e uma resposta ser produzida. O resultado fornecido comparado com uma sada desejada, sada
correta. Se a rede acerta essa sada, ento ela no faz nada, entretanto se o resultado no est correto, ocorre um
ajuste dos pesos de modo que o erro seja minimizado.

- 23
ICA Lab. Inteligncia Computacional Aplicada , DEE, PUCRio (Verso 26/08/99)

As topologias mais comuns de RNAs so as de mltiplas camadas feed-forward e as redes recorrentes. O


aprendizado de uma RNA pode ser dividido em 3 grupos: sem treinamento os valores dos pesos sinpticos so
estabelecidos a priori, ou seja, ajustados em um nico passo, por exemplo, Redes de Hopfield [DAYH90];
treinamento supervisionado a rede treinada atravs do fornecimento dos valores de entrada e dos seus
respectivos valores de sada desejados (procura minimizar o erro mdio quadrado); e treinamento nosupervisionado o sistema extrai as caractersticas dos dados fornecidos, agrupando-os em classes (clusters).
Modelagem de Redes Neurais Artificiais em Minerao de Dados
As principais aplicaes de Redes Neurais em minerao so classificao, clustering, aproximao de
funes, previso e verificao de tendncias.
De um modo geral, a arquitetura de uma RNA recebe uma tupla (atributos preditivos, ou seja, atributos
que pertencem a parte SE de uma regra) como entrada atravs da primeira camada da rede (camada de entrada).

Figura 12: Modelo de um Rede Neural Artificial para minerao de dados


Tratando-se de aprendizado no supervisionado, no existe atributos objetivo que possa ser utilizado
para corrigir os pesos da rede. Esse tipo de aprendizado aplica-se em tarefas de clustering. As redes auto
organizveis (por exemplo, Kohonen), baseadas em aprendizado competitivo, destacam-se como um bom
algoritmo [FU 94].
Entretanto, em algoritmos supervisionados, os atributos objetivo so modelados pela camada de sada
da rede. Deste modo o algoritmo pode estimar o quanto a sada desejada est distante da sada real. O algoritmo
mais comum em RNAs com aprendizado supervisionado o back progation. Seu objetivo minimizar a funo
erro entre a sada real da rede e a sada desejada utilizando o mtodo do gradiente descendente [HAYK94].
Back-propagation utilizado para classificar, aproximar funes, prever e verificar tendncias [DHAR97].
Tomando como exemplo a Figura 12, a camada de entrada pode ser tal que cada n representa um determinado
atributo preditivo de uma tupla e a camada de sada decodifica a que classe essa tupla pertence, ativando um
nico n. Maiores detalhes podem ser encontrados em [FREE92].
Para a tarefa de classificao tambm so utilizadas as redes neurais probabilsticas, baseadas em
classificadores bayesianos e as redes RBF (Radio-Basis Function), baseadas em funes gaussianas. Esses
algoritmos geram curvas de densidade de probabilidade, fornecendo resultados com bases estatsticas. Esses
- 24
ICA Lab. Inteligncia Computacional Aplicada , DEE, PUCRio (Verso 26/08/99)

resultados indicam o grau de evidncia sobre o qual se baseia a deciso. Entretanto, essa metodologia s
funciona bem se existir um nmero suficiente de exemplos na base de dados. A Figura 13 se enquadra como
arquitetura desses algoritmos. A principal diferena est na interpretao do resultado, pois cada n da camada
de sada gera um valor que indica a probabilidade da tupla inserida na camada de entrada pertencer a uma
determinada classe.

1.
X1

h( )

y2

u22
X2

h( )

y1/s

y2/s
y8

umm
Xm

y8/s
s

h( )

Figura 13: Uma topologia de uma RNA utilizando bases estatsticas


Nesta topologia, RBF, (Figura 13) o nmero de neurnios da camada escondida exatamente igual ao
nmero de tuplas apresentadas para treinamento. Onde: Xi um atributo preditivo da tupla apresentada, h( ) a
funo de ativao, ui o centro da Gaussiana e i o desvio padro.
As redes Hopfield tambm so utilizadas para classificao. Nesse algoritmo as classes so
consideradas estados. Fornecendo-se uma tupla como entrada para a rede, os pesos so atualizados de modo a
ocorrer uma convergncia para um estado estvel, que ser sua classe.
Tresp destaca o grande interesse em entender o conhecimento intrnseco que a rede neural adquire no
treinamento [TRES97]. Nesse trabalho argumenta-se que redes com funes de base gaussiana podem ser
geradas de simples regras probabilsticas e, tambm, que se regras apropriadas de aprendizados so utilizadas,
regras probabilsticas podem ser extradas das redes treinadas. Nessa pesquisa, apresentam-se mtodos para a
reduo da complexidade da rede com o objetivo de obter regras concisas e significantes.
Towell apresenta um mtodo que eficientemente extrai regras simblicas de uma RNA treinada
[TOWE93]. Os resultados obtidos atravs de testes empricos desse mtodo permitem concluir que as regras
extradas 1) reproduzem com proximidade a acurcia da rede a qual foi extrada; 2) so superiores s regras
produzidas por mtodos que diretamente refinam regras simblicas; 3) so superiores quelas produzidas por
tcnicas anteriores para extrao de regras de RNAs treinadas; e 4) so compreensveis. Conclui-se que esse
mtodo demonstra que uma RNA pode ser utilizada para efetivamente refinar o conhecimento simblico.

5.2.2. Algoritmos Genticos


Algoritmos Genticos so modelos estocsticos e probabilsticos de busca e otimizao, inspirados na
evoluo natural e na gentica, aplicados a problemas complexos de otimizao.
Problemas de otimizao tipicamente envolvem 3 componentes: variveis, restries e objetivos. As
variveis descrevem os vrios aspectos do problema. As restries monitoram os valores que as variveis podem
ter. Por ltimo, as funes objetivas so utilizadas para avaliar a soluo. As funes objetivas geralmente
envolvem a minimizao ou a maximizao de algum tipo de recurso. So as funes objetivas que medem a
qualidade de uma regra gerada num Algoritmo Gentico.
As variveis, as restries e as funes objetivas, descritas em um problema de otimizao definem a
geografia bsica do espao de busca, e determinam que tcnicas podem ser usadas. Tcnicas baseadas em
heursticas como Algoritmos Genticos no podem garantir a soluo tima, porm conseguem solues
- 25
ICA Lab. Inteligncia Computacional Aplicada , DEE, PUCRio (Verso 26/08/99)

prximas, ou aceitveis (sub-timas). Alm disso, Algoritmos Genticos so mais facilmente aplicados em
problemas complexos com muitas variveis e restries ou com grandes espaos de busca.
Introduo a Algoritmos genticos
Um Algoritmo Gentico (AG) um modelo de otimizao inspirado na teoria biolgica, mais
precisamente, no conceito evolucionrio da sobrevivncia do mais apto, a seleo natural.
A menor unidade de um AG chamada gene. Um gene representa uma unidade de informao do
domnio do problema, ou no mbito de minerao de dados, um valor de um atributo. Uma srie de genes, ou um
cromossoma, representa uma possvel soluo completa para o problema, ou seja uma regra candidata.
Solues ou cromossomas so avaliados por uma funo capaz de medir atravs de um valor as
qualidades dessas solues.
Para que um cromossoma seja avaliado necessrio converter o cromossoma numa soluo para o
problema, isto , decodificar o cromossoma.
Uma vez que o cromossoma foi decodificado, o mdulo de avaliao determina o quanto solues so
boas ou ruins. Esses dois mdulos, decodificador e avaliador, so as nicas partes do AG responsveis por
entender o domnio do problema.
Um AG emprega uma populao de cromossomas, executando, assim, uma busca de forma paralela.
Aps a criao da populao inicial (em geral, aleatria), tem inicio um processo iterativo de refinamento ou
evoluo das solues iniciais. O AG cria novas solues atravs da combinao e refinamento das informaes
dos cromossomas usando trs operaes: seleo, crossover e mutao. Essas operaes produzem novas
solues que formam uma nova populao. Cada nova populao chamada de gerao.
Durante a seleo, o AG escolhe os cromossomas, privilegiando aqueles com maiores aptides para
permanecer e se multiplicar na populao. Durante o crossover o AG utiliza as informaes dos cromossomas
selecionados, formando outros cromossomas, enquanto que durante a mutao o AG busca eventualmente
melhor-las.
Uma forma comum de seleo uma onde cada cromossoma tem a probabilidade de permanecer na
prxima gerao proporcional sua aptido (mtodo da roleta). Cromossomas com maiores aptides possuem
mais espao na roleta e consequentemente possuem maiores chances de serem escolhidos para o cruzamento e a
mutao.
Durante o crossover, dois cromossomas basicamente trocam algumas de suas informaes gene a gene.
Ou seja, o crossover permite a combinao dos elementos de uma soluo com os de outra.
O operador de crossover recombina as informaes, porm no capaz de gerar diversidade numa
populao, essa diversidade obtida atravs do operador de mutao. Sua funo alterar o valor de um gene
por um outro valor qualquer no domnio da aplicao
A mutao permite explorar novas reas a procura de melhores solues.
Esses trs operadores, seleo, crossover, e mutao, agem no refinamento das solues e quando
combinados com os mdulos de decodificao e avaliao, podem resolver uma vasta variedade de problemas.

- 26
ICA Lab. Inteligncia Computacional Aplicada , DEE, PUCRio (Verso 26/08/99)

Figura 14: Ciclo Bsico de Algoritmos Genticos


A Figura 14 mostra o ciclo de um AG, para o problema da funo de maximizao f(x) = x2. Nesse caso
os cromossomas so palavras de 6 bits de comprimento. Inicialmente cria-se uma populao inicial aleatria
(cromossoma A, B, C, e D), representados por palavras binrias. Essas palavras so decodificadas (binrio
inteiro) e em seguida avaliadas, conhecendo-se suas aptides. Posteriormente esses cromossomas passam pelo
mdulo de seleo, definindo-se ento os pais que iro se reproduzir. Aps a passagem dos cromossomas pais
pelos mdulos de crossover e mutao, finaliza-se uma gerao e o ciclo reinicia com a avaliao da aptido
dessa nova populao, parando apenas quando algum critrio alcanado (por exemplo: nmero mximo de
geraes).
AGs tm sido empregados com sucesso em numa variedade de problemas de busca e otimizao
[HOLL75], [DASG97]. Trabalhos de AGs em aprendizado tem tradicionalmente sido classificados em uma das
2 aproximaes gerais. A aproximao de Pitt [SMIT80] utiliza um AG de modo tradicional, a qual cada
entidade da populao um conjunto de regras representando uma soluo completa para o problema de
aprendizado. Crossover e mutao so aplicados de modo usual para criar novas geraes a partir de uma
populao. E, a aproximao de Michigan [HOLL86] que tem utilizado distintamente diferentes mecanismos
evolucionrios. A populao consiste de regras individuais, cada uma representando uma soluo parcial para
toda a tarefa de aprendizado. Apenas atravs de cooperao com outras regras da populao o problema
resolvido.
Mais informaes sobre Algoritmos Genticos e sua base matemtica podem ser encontrados em
[GOLD89], [HOLL92], [BELE91].
Modelagem de Algoritmos Genticos para a Minerao de Dados
Os AGs tm sido empregados em minerao de dados para as tarefas de classificao e descrio de
registros de uma base de dados, alm da seleo de atributos de bases de dados que melhor caracterizem o
objetivo da tarefa de KDD proposta [KIRA92], [KOLL96].
Na classificao de registros, os modelos de AGs geram regras que exprimem uma realidade do domnio
da aplicao. Essas regras so de fcil interpretao, o que incentiva o uso dessa tcnica, Algoritmos Genticos.
- 27
ICA Lab. Inteligncia Computacional Aplicada , DEE, PUCRio (Verso 26/08/99)

A Tabela 4 mostra sucintamente os principais trabalhos encontrados na literatura em minerao de dados


por algoritmos genticos.
Tabela 4: Principais trabalhos de Algoritmos Genticos em minerao de dados
Nome
Radcliffe
GA-MINER

Tarefas
Classificao e
Descoberta de
Padres atravs de
regras explcitas

Smith
[SMIT80][SMIT84]
LS-1

Classificao

DeJong
[DEJO93]
GABIL
Greene
[GREE93]
[GREE94]
COGIN
Neri
[NERI95]
[GIOR94]]
REGAL

Classificao por
regras
Classificao por
regras

Classificao por
regras

Representao
Caractersticas
Utiliza descoberta de
Estruturada sem
conhecimento
cadeia de caracteres
direcionada, no
utilizando clusulas
que so descries
direcionada e
de subconjuntos da
refinamento de
base de dados
hipteses utilizando
Subc = Clausula [ou
basicamente
Clusula]
medidas estatsticas
Clusula = Termo [e
Termo]
Termo = Valor do
atributo | intervalo
do atributo
Estruturada na
Manipula regras de
semntica do
produo
domnio do
problema
Aprendizado da
Binria utilizando
descrio de uma
apenas valores
nica classe
discretos
Focaliza o problema
Atributos
de domnios de
codificados em
multi-classes
palavras binrias

Desempenho
As funes de
avaliao mostram
que o mecanismos
de avaliao geram
resultados
qualitativamente
similares

Utiliza lgica de
primeira ordem

Em outros trabalhos, [AUGI95], [NERI95], o AG tem a finalidade de descobrir descries de classes


utilizando lgica de primeira ordem. J em [ANGL97], [JANI93] destaca-se a criao de operadores genticos
no convencionais para a tarefa de classificao. Em [IGLE96] pode-se encontrar uma comparao entre AG e
induo de regras no contexto de KDD.
GA-MINER um sistema que pode ser utilizado para tarefas direcionadas de descoberta de
conhecimento, como tambm para as no direcionadas e, para refinamento de hipteses. Em minerao de dados
no direcionada o ponto chave que no necessrio se especificar o tipo de regra desejada. O usurio pode
perguntar coisas do tipo: Diga-me alguma coisa interessante sobre meus dados. J em minerao de dados
direcionada, existe uma forte especificao que direciona o sistema. Uma pergunta especfica nesse caso pode
ser: Caracterize os clientes que mais consomem em minha empresa. No caso de refinamento de hipteses o
usurio informa uma hiptese, o sistema avalia, e se a evidncia for verdadeira ento ele busca refinar. Um
usurio pode conceitualmente dizer: Eu acho que existe uma correlao positiva entre a venda de pssegos e
creme: Eu estou certo?.
Um outros trabalho de AG baseado em aprendizado o LS-1 [SMIT80], [SMIT84], que apresenta uma
representao estruturada baseada na semntica do domnio do problema com operadores genticos trabalhando
em diferentes nveis de granularidade, refletindo a semntica da representao. LS-1 utiliza a aproximao de
Pitt, cuja base de conhecimento do conjunto de produo de regras (populao) manipulado por operadores
genticos e, em qualquer instante, a melhor regra dessa base armazenada como hiptese corrente da soluo da
tarefa de aprendizado. LS-1 age como uma mquina de estado finito, na qual as regras de produo, que
governam os estados de transio e sua resposta ao ambiente, so envolvidas por um algoritmo Gentico.
GABIL [DEJO93] tambm utiliza a aproximao de Pitt para evoluir o conceito de descrio, o qual
definido como uma coleo de possveis sobreposies de regras de classificao, atravs da interao com o
ambiente. O lado esquerdo das regras de classificao consistem de conjunes de atributos (conjunto de
valores), enquanto o lado direito especifica a classe a qual a regra associar um registro que satisfaa o lado
esquerdo (condio). Apenas atributos discretos so utilizados e o conjunto de valores so codificados em forma
- 28
ICA Lab. Inteligncia Computacional Aplicada , DEE, PUCRio (Verso 26/08/99)

binria. O foco do trabalho est no aprendizado da descrio de uma nica classe. Registros no cobertos por
nenhuma regra de produo do conceito descrito so ditos como no pertencentes ao conceito. Os problemas
frequentemente especificam aprendizados em multi-conceitos, onde mais de uma classe pode existir e, registros
podem ser cobertos por vrias regras de produo conflitantes. O modelo construdo baseado em conceito de
aprendizado simples e possui uma arquitetura unificada com algumas qualidades importantes. Primeiro, o
sistema robusto mesmo com um mnimo bias. Segundo, o sistema pode ser facilmente estendido para
incorporar formas tradicionais de bias encontrados em outros conceitos de sistemas de aprendizado.
Finalmente, a arquitetura do sistema encoraja a representao explcita dos bias, como resultado, prov uma
qualidade adicional: a habilidade de dinamicamente ajustar o sistema de bias. O conceito de descrio (funo
de avaliao) medido como o quadrado da porcentagem de registros corretamente classificados.
COGIN [GREE93], [GREE94] focaliza o problema de domnios de multi-classes atravs da competio
pelas tuplas do conjunto de exemplos, reduzindo sua complexidade. Utiliza a aproximao de Michigan no que
diz respeito a encorajar a populao a trabalhar junta para resolver um problema de aprendizado, entretanto seu
mecanismo evolucionrio distinto da aproximao de Pitt. Cada regra uma conjuno de atributos,
codificados em binrio. Diferente de implementaes de AG tradicionais, regras so escolhidas para
recombinao aleatoriamente. As novas regras criadas, juntas com a populao de regras existentes, so ento
ordenadas em funo da sua aptido e, so inseridas uma por uma ordenadamente na prxima gerao da
populao. As regras so inseridas desde que ainda existam registros no cobertos por regras inseridas
anteriormente. Quaisquer regras redundantes so excludas. O tamanho da populao muda dinamicamente de
acordo com o nmero de regras requeridas para cobrir todo o conjunto de registros. COGIN um AG baseado
em sistemas indutivos que explora as convenes de induo dos exemplos. Sua funo de avaliao baseada
em entropia, modificada de acordo com a acurcia da classificao. So utilizados crossover de um ponto e
uniforme e, a recombinao utilizada apenas no lado esquerdo da regra, enquanto que o lado direito associa a
classe com a maioria dos registros do conjunto de exemplos cobertos pela regra.
REGAL [NERI95] [GIOR94] utiliza uma aproximao baseada em abrangncia para o aprendizado em
mltiplos conceitos, similar ao COGIN. Uma populao de descries conjuntivas para conceitos mantida,
formando um conjunto redundante de solues parciais e, todo o conceito da tarefa de induo executada por
toda a populao de regras. O sistema utiliza lgica de primeira ordem como representao da regra. Foram
utilizadas operadores de crossover de dois pontos e uniforme juntamente com operadores de generalizao e
especializao.
GA/RULE [PEI 95] um AG baseado em aprendizado indutivo combinado com um sistema de produo
de regras. Esse AG tambm baseado na aproximao de Pitt, e seu foco na descoberta de padres atravs de
regras de classificao.
Tratando de seleo de atributos, pode-se dizer que uma seleo apropriada de atributos ajuda a facilitar a
tarefa de classificao, pois elimina dados ruidosos ou atributos no representativos que podem impedir o
reconhecimento do padro. Mesmo quando alguns atributos possuem alguma informao utilizvel, estes podem
reduzir a acurcia do classificador quando a quantidade de dados para treinamento reduzida [TRUN79],
[FERR94].
Siedlecki e Skalanski tem aplicado algoritmos genticos ao problema de seleo de atributos [SIED89].
No seu trabalho, o AG, executa a seleo de atributos combinado com um classificador KNN (k-nearestneighbors), o qual usado para avaliar a performance de classificao para cada subconjunto de atributos
selecionados pelo AG. O AG mantm um vetor binrio de atributos selecionados, onde cada bit representa um
atributo da base. Quando um bit est ativado, valor igual a 1, indica que o atributo correspondente participa na
classificao do KNN, caso contrrio, ele omitido. O AG procura por um vetor de seleo que possui um
mnimo de 1s, de modo que a taxa de erro do classificador KNN permanea abaixo de um valor fornecido
previamente pelo usurio.
Punch e outros e, Kelly e Davis expandiram o modelo de Siedlecki e Skalanski para o uso de AG em
seleo de atributos [PUNC93], [KELL91]. Ao invs de existir um vetor binrio de atributos selecionados, o AG
manipula um vetor de pesos. Nesse vetor, cada atributo esta associado a um valor real discretizado. A meta do
AG encontrar um vetor de pesos que minimize a taxa de erro do classificador KNN, ao mesmo tempo que
procura reduzir os valores dos pesos a zero.

5.2.3. Lgica Indutiva


Nessa seo apresentada uma breve introduo sobre Lgica Indutiva. As referncias citadas detalham
todos os aspectos e fundamentos dessa rea.
Quando se procura aprendizado de grandes bancos de dados, a reduo da complexidade extremamente
importante. Dois extremos na construo do processo de KDD so identificados: o primeiro est na escolha de
uma linguagem de hipteses muito simples e, o extremo oposto selecionar um pequeno conjunto de dados.
- 29
ICA Lab. Inteligncia Computacional Aplicada , DEE, PUCRio (Verso 26/08/99)

Criando-se uma aproximao multi-estratgica, permite-se incluir a maioria das vantagens e excluir grande parte
das desvantagens. Algoritmos simples de aprendizado detectam hierarquias que so usadas para estruturar o
espao de hipteses para um algoritmo de aprendizado mais complexo. Essas caractersticas podem ser obtidas
combinando lgica indutiva diretamente com o sistema de gerenciamento de base de dados relacionais
[MORI97].
Programao por Lgica Indutiva (LI) [MUGG92], [RAED92], [LAVR94], pode ser vista como uma
mquina de aprendizado em lgica de primeira ordem, onde as relaes so apresentadas no contexto de banco
de dados dedutivos [ULLM88]. LI relevante para a descoberta de conhecimento em base de dados relacionais e
dedutivas, pois pode descrever padres envolvendo mais de uma relao.
Desenvolvimentos em aprendizado indutivo focam no problema da construo de uma definio lgica
para uma relao [QUIN90] atravs do conhecimento de tuplas que pertenam ou no a essa relao. Desse
modo novas relaes podem ser especificadas por um nmero menor de tuplas, as quais so ento generalizadas
para induzir uma definio lgica. Alguns sistemas recentes utilizando essa tcnica so FOIL [QUIN90] e
LINUS [LAVR91], que so capazes de manipular rudos e atributos contnuos.

5.2.4. Mtodos Estatsticos


Analisando os mtodos estatsticos, nota-se um foco no trabalho de interpretabilidade como formulaes
alternativas derivadas do modelo linear. A comunidade estatstica est geralmente interessada em interpretar seus
modelos, e possivelmente sacrificando-os de alguma performance para ser capaz de extrair significado de sua
estrutura. Da surgem as teorias da probabilidade penalizada e formulaes Bayesianas [SULL86]. Existem
diversos mtodos estatsticos, alguns clssicos e outros mais recentes, e todos assumem a existncia de uma
varivel (atributo) resposta, y, e uma coleo de variveis preditoras, x = (x1, x2, ... xj), alm da disponibilidade
de dados para treinamento. A meta encontrar um modelo para prever y de x que funcione bem quando aplicado
a um novo dado. [FRIED95] prov um resumo dos principais modelos aplicados todas as tcnicas de induo.
[WEIS91] descreve tcnicas para tarefa de classificao utilizando aprendizado de mquina (machine learning),
incluindo anlise de discriminante linear, rvores de deciso, redes neurais e sistemas especialistas.
A seguir so abordados de maneira concisa alguns dos principais mtodos estatsticos. As formulaes
matemticas e alguns conceitos no sero demonstrados, porm esto a disposio nas referncias citadas.
Classificadores Bayesianos
O princpio bsico desse mtodo est fundamentado na teoria da probabilidade bayesiana [SHEN 93].
Assumindo-se a Equao 1 , que estabelece:
Equao 1
P(AB|C) = P(A|C)P(B|AC) = P(B|C)P(A|BC)
Onde P refere-se a probabilidade de um evento. A, B, e C so subconjuntos do espao de amostras
(universo do problema, ou seja, a base de dados) e a notao P(AB|C) significa a probabilidade dos eventos A e
B acontecerem dado que o evento C acontece. De modo anlogo P(A|C) significa a probabilidade do evento A
acontecer dado que C acontece.
Desse modo, sejam A1, ..., Ak atributos, [a1, ..., ak] uma tupla do banco de dados, e C uma classe a ser
prevista. A previso tima uma classe de valor c tal que:
Equao 2
P(C = c | A1 = a1 ... Ak = ak)
mxima.
Transformado a Equao 2 atravs da regra de bayes, que estabelece:
Equao 3
P(A|B) = P(B|A) * P(A) / P(B), tem-se:
Equao 4
P(A1 = a1 ... Ak = ak | C = c) * P(C = c) / P(A1 = a1 ... Ak = ak)

- 30
ICA Lab. Inteligncia Computacional Aplicada , DEE, PUCRio (Verso 26/08/99)

Pode-se perceber da Equao 4 que:


P(C = c) fcil de estimar atravs do conjunto de treinamento, pois simplesmente a razo do
nmero de vezes em que c ocorre pelo nmero de tuplas do conjunto de treinamento;
P(A1 = a1 ... Ak = ak) irrelevante, pois o mesmo para todos os c, j que independe da
classe a que a tupla pertence, nesse caso uma constante do processo.
Resta ento descobrir como calcular a parcela referente a Equao 5:
Equao 5
P(A1 = a1 ... Ak = ak | C = c)
Assumi-se que os atributos so independentes, nesse caso a Equao 5 transforma-se em:
Equao 6
P(A1 = a1| C = c) * P(A2 = a2| C = c) * ... P(Ak = ak| C = c)
Onde cada termo da Equao 6 pode ser estimado como:
Equao 7
P(Aj = aj| C = c) = Contador(Aj = aj| C = c) / Contador(C = c)
Contador uma funo que conta o nmero de vezes, ou a frequncia, que um dado evento ocorre na base
de dados. A Tabela 5 mostra um exemplo [WEI 98] de um banco de dados que servir como entrada para
extrao de conhecimento utilizando classificadores bayesianos.
Tabela 5: Exemplo de entrada para Classificadores Bayesianos
DIA
D1
D2
D3
D4
D5
D6
D7
D8
D9
D10
D12
D12
D13
D14

APARNCIA
Ensolarado
Ensolarado
Nublado
Chuvoso
Chuvoso
Chuvoso
Nublado
Ensolarado
Ensolarado
Chuvoso
Ensolarado
Nublado
Nublado
Chuvoso

TEMPERATURA
Quente
Quente
Quente
Moderado
Fresco
Fresco
Fresco
Moderado
Fresco
Moderado
Moderado
Moderado
Quente
Moderado

UMIDADE
Alta
Alta
Alta
Alta
Normal
Normal
Normal
Alta
Normal
Normal
Normal
Alta
Normal
Alta

VENTO
Fraco
Forte
Fraco
Fraco
Fraco
Forte
Forte
Fraco
Fraco
Fraco
Forte
Forte
Fraco
Forte

JOGAR TNIS
No
No
Sim
Sim
Sim
No
Sim
No
Sim
Sim
Sim
Sim
Sim
No

Atravs da Tabela 5 pode-se perguntar:


Qual a probabilidade de se jogar tnis dado que o dia est ensolarado, com temperatura quente, umidade
alta e vento fraco? Em termos probabilsticos essa pergunta equivale a P(JOGAR TNIS = Sim |
[Ensolarado, Quente, Alta, Fraco])
Qual a probabilidade de NO se jogar tnis dado que o dia est ensolarado, com temperatura quente,
umidade alta e vento fraco? Em termos probabilsticos essa pergunta equivale a P(JOGAR TNIS =
No | [Ensolarado, Quente, Alta, Fraco])
Calculando-se cada evento por meio da Equao 7, tem-se:

Tabela 6: Clculo das probabilidades dos dados da Tabela 5 utilizando Classificadores Bayesianos
PERGUNTA
P(JOGAR = Sim)
P(JOGAR = No)
P(APARNCIA = Ensolarado | JOGAR = Sim)
P(APARNCIA = Ensolarado | JOGAR = No)
P(TEMPERATURA = Quente | JOGAR = Sim)

PROBABILIDADE
9/14
5/14
2/9
3/5
2/9

- 31
ICA Lab. Inteligncia Computacional Aplicada , DEE, PUCRio (Verso 26/08/99)

P(TEMPERATURA = Quente | JOGAR = No)


P(UMIDADE = Alta | JOGAR = Sim)
P(UMIDADE = Alta | JOGAR = No)
P(VENTO = Fraco | JOGAR = Sim)
P(VENTO = Fraco | JOGAR = No)

2/5
3/9
4/5
6/9
2/5

Uma vez que as probabilidades de cada termo foram calculadas, pode-se estimar atravs da Equao 4
que:
P(JOGAR TNIS = Sim | [Ensolarado, Quente, Alta, Fraco]) = [(2/9) * (2/9) * (3/9)*(6/9)] * (9/14) /
[(5/14) * (4/14) * (7/14) * (8/14)] = (108/6561) * (9/14) / (1120/38416) = 0,3630 = 36,30%
P(JOGAR TNIS = No | [Ensolarado, Quente, Alta, Fraco]) = [(3/5) * (2/5) * (4/5) * (2/5)] * (5/14) /
[(5/14) * (4/14) * (7/14) * (8/14)] = (48/625) * (5/14) / (1120/38416) = 0,9498 = 94,98%
Esse tipo de mtodo bastante utilizado por sua facilidade de interpretao, em [CHEE96] apresenta uma
exposio detalhada de um modelo utilizando mtodos bayesianos, chamado AutoClass.
Redes Bayesianas
Muitas tcnicas de KDD baseiam-se apenas nos dados. Em contraste, o conhecimento codificado em
sistemas especialistas, geralmente, baseia-se unicamente em um especialista. Uma representao de
conhecimento utilizando uma arquitetura baseada em Rede Bayesiana (RB) combina o melhor das duas reas, ou
seja, o conhecimento do domnio do especialista e a estatstica dos dados [HECK96], [ALIF94].
O processo de descoberta de conhecimento utilizando RBs segue os seguintes passos. Primeiro,
codifica-se o conhecimento existente de um especialista ou um conjunto de especialista numa RB.
Posteriormente, utiliza-se uma base de dados para atualizar esse conhecimento, criando uma ou mais novas RBs.
O resultado inclui um refinamento do conhecimento original do especialista e algumas vezes da identificao de
novos relacionamentos.
A descoberta de conhecimento utilizando RB similar a descoberta por Redes Neurais Artificiais. O
processo empregado em RBs, entretanto, possui duas importantes vantagens. Uma, pode-se facilmente codificar
conhecimento de um especialista em RBs e usar esse conhecimento para aumentar a eficincia e a qualidade do
conhecimento descoberto. Dois, os ns e arcos em uma RB treinada geralmente correspondem a distines de
variveis e relacionamentos causais. Consequentemente, pode-se mais facilmente interpretar e entender o
conhecimento codificado na representao. A interpretao de uma probabilidade como uma frequncia numa
srie de repeties de experimentos tradicionalmente referida como sendo uma interpretao objetiva. Em
contraste, a interpretao de uma probabilidade como um grau de certeza chamado de subjetiva, ou
interpretao bayesiana. Nessa ltima interpretao, a probabilidade ou certeza geralmente depender do estado
de conhecimento da pessoa que prov aquela probabilidade. Essa probabilidade pode ser escrita como P(e|),
significando probabilidade de e dado . O smbolo representa o estado de conhecimento da pessoa que prov
a probabilidade e um evento. Uma varivel representa uma distino sobre o mundo. Ela toma valores de uma
coleo de estados mutuamente exclusivos ou coletivamente exaustivos, onde cada estado corresponde a algum
evento. Uma RB um modelo para algum problema de domnio ou universo, o qual consiste de um conjunto de
variveis. Uma RB num determinado domnio U representa uma funo distribuio de probabilidade, P(U|).
Para ilustrar essa representao, considere o domnio para o problema de uma carro que no d partida
[HECK96]. O primeiro passo na construo de uma RB decidir quais so as variveis e estados do modelo.
Uma possvel escolha de variveis para esse domnio bateria com estados bom e ruim, gasolina com
estados no vazio e vazio, manmetro com estados no vazio e vazio, ligado com os estados sim e no, e
partida com os estados sim e no.
O segundo passo construir um grafo acclico que codifica asseres de independncia condicional.
Dado um domnio U = {x1, x2, ..., xn} e uma ordem nas variveis (x1, x2, ..., xn), pode-se gerar o grafo da funo
distribuio de probabilidade de U.

- 32
ICA Lab. Inteligncia Computacional Aplicada , DEE, PUCRio (Verso 26/08/99)

Bateria

Gasolina
Mammetro

Partida
Ligado

Figura 15: Exemplo de grafo de independncia condicional de Redes Bayesianas


A Figura 15 mostra a estrutura em forma de grafo de independncia condicional, nele os arcos so
direcionados da causa para o efeito.
O passo final na construo de um RB avaliar as distribuies locais, ou seja, a distribuio de
probabilidade para cada estado do domnio. O problema de computar as probabilidades de interesse da funo
distribuio de probabilidades chamada inferncia probabilstica. Dada qualquer RB, pode-se utilizar a funo
da distribuio da probabilidade determinada pela rede para fazer a inferncia probabilstica.
Transformando as variveis em atributos do banco de dados e os estados como seus possveis valores,
pode-se ento utilizar RB para extrair independncias condicionais associadas com as asseres de que um banco
de dados um conjunto de exemplos aleatrios para a estrutura x y.
Maiores detalhes sobre RB e mtodos de aprendizados podem ser encontrados em [BUNT95] que uma
guia bem detalhado sobre RB; [CHAR91] apresenta uma introduo de fcil leitura; e [ SPIE93] apresenta
discusses de mtodos de aprendizado por RBs que trabalham em domnios apenas com variveis discretas.
rvores de deciso
Uma rvore de deciso uma rvore com uma estrutura onde cada n interno rotulado com um dos
atributos preditivos; cada seta que sai do n interno rotulado com valores dos atributos de cada n; e todo n
folha rotulado com uma classe (valor do atributo objetivo).

Pas

Alemanha

Inglaterra

Frana
N

Idade
25
S

> 25
N

Figura 16: Uma rvore de deciso construda com os dados da Tabela 2


Por exemplo, a Figura 16 possui uma possvel rvore de deciso para o exemplo da Tabela 2,. Cada
caminho da rvore pode ser convertido numa regra. O n interno e os valores das setas so convertidos no
antecedente da regra (parte SE); o n folha convertido no consequente da regra (Parte ENTO). Uma rvore de
deciso classifica uma nova tupla de maneira top-down. Inicialmente a nova tupla passada para o n raiz da
rvore, o qual testa que valor a tupla tem no atributo rotulado no n. Depois a tupla testada nos ns inferiores
seguindo o caminho das setas em funo do valor da tupla no atributo rotulado no n corrente. Esse processo
recursivamente repetido at que a tupla chegue folha. A tupla <Masculino, Frana, 23, ?>, identifica um
cliente. A ? representa o valor que o atributo objetivo, nesse exemplo particular, o atributo COMPRAR, dever
ter. Esse atributo informa se o cliente compra ou no o novo livro. Ao percorrer essa tupla na rvore da Figura
16, pode-se classific-la como Sim no atributo COMPRAR. O n raiz da rvore representa o atributo PAS,
- 33
ICA Lab. Inteligncia Computacional Aplicada , DEE, PUCRio (Verso 26/08/99)

onde na tupla consta Frana, direcionando ento a classificao para o n representando o atributo IDADE.
Verificando a tupla, esse atributo possui o valor 23, que menor ou igual a 25, novamente o algoritmo
direciona a classificao do atributo COMPRAR, sendo que, dessa vez para o n folha rotulado por S, que
significa Sim.
Uma rvore de deciso geralmente construda de maneira top-down, utilizando um algoritmo baseado
na aproximao dividir para conquistar [QUIN93]. Inicialmente todas as tuplas que esto sendo mineradas so
associadas ao n raiz da rvore. Ento o algoritmo seleciona uma partio de atributos e divide o conjunto de
tuplas no n raiz de acordo com o valor do atributo selecionado. O objetivo desse processo separar as classes
para que tuplas de classes distintas tendam a ser associadas a diferentes parties. Esse processo
recursivamente aplicado a subconjuntos de tuplas criados pelas parties, produzindo subconjuntos de dados
cada vez menores, at que um critrio de parada seja satisfeito. Discusses sobre algoritmos de poda de uma
rvore de deciso podem ser encontrados nas prximas sees e em [AGRA92], [ESPO95], atravs dos quais
busca-se minimizar o tamanho da rvore, sem prejudicar a qualidade da soluo.
As principais vantagens de algoritmos baseados em rvores de deciso so sua eficincia computacional
e simplicidade. Devido ao uso da aproximao dividir para conquistar, entretanto essa aproximao tambm
possui desvantagem. Por exemplo, uma condio envolvendo um atributo que ser includo em todas as regras
descobertas. Essa situao possivelmente produz regras com informaes irrelevantes, alm de desperdcio de
processamento. A seguir so apresentados dois dos principais algoritmos baseados em rvores de deciso.

1.1.1.1.1.

Induo de Regras

Esse tipo de algoritmo baseado em duas noes chaves: estado e operador. Um estado a descrio da
situao de um problema num dado instante, e um operador um procedimento o qual transforma um estado em
outro. Resolver um problema utilizando essa algoritmo consiste em encontrar uma sequncia de operadores os
quais transformam um estado inicial num estado objetivo, ou estado meta, [ PEAR85], [WINS92].
Nesse contexto, um estado corresponde a uma regra candidata e os operadores correspondem a operaes
de generalizao e/ou especializao que transformam uma regra candidata em outra [MICH83], [HOLS94]. A
escolha do operador que ser aplicado a uma dada regra candidata determinada por uma funo heurstica que
avalia a eficcia de cada operador com respeito a cada regra candidata.
Exemplos de operaes de especializao e generalizao utilizando induo de regras esto na Figura 17.
Essa figura refere-se ao exemplo de classificao mostrado na Tabela 2. A parte (a) mostra que a regra pode ser
especializada pela conjuno de IDADE 25 ao antecedente. Note que a nova regra uma especializao da
original porque o antecedente da regra satisfeito por um nmero menor de tuplas no banco de dados. A regra
original acerta 5 registros, enquanto a regra especializada acerta apenas 2.
Na generalizao a idia estender o intervalo de valores cobertos pelo atributo IDADE, relaxando-o de
modo que o antecedente da regra satisfaa um nmero maior de tuplas na base de dados, nesse caso passou de 2
para 3 registros.
Regra original: Se (PAS = Frana) ento COMPRAR = Sim
Regra especializada: Se (PAS = Frana e IDADE 25) ento COMPRAR = Sim
(a) Especializando uma regra pela adio da conjuno em seu antecedente
Regra original: Se (PAS = Frana e IDADE 25) ento COMPRAR = Sim
Regra generalizada: Se (PAS = Frana e IDADE 30) ento COMPRAR = Sim
(b) Generalizando uma regra relaxando uma condio no antecedente
Figura 17: Exemplo da operaes de especializao e generalizao em induo de regras
A principal vantagem dessa tcnica que geralmente ela produz conhecimento compreensvel
[LANG95]. Tipicamente, o conhecimento descoberto est na forma de regras SE-ENTO como mostrado na
Figura 17, desse modo ele pode ser facilmente entendido e validado por um usurio.

1.1.1.1.2.

Algoritmo ID3

Em termos gerais um algoritmo para construo de uma rvore de deciso pode seguir apenas 3 passos.
Dado um n na rvore e todas as tuplas do conjunto de treinamento S;
Selecione o melhor atributo A para esse n;
Para cada valor vi de A, cresa uma sub-rvore (ou uma folha) sob o n.
- 34
ICA Lab. Inteligncia Computacional Aplicada , DEE, PUCRio (Verso 26/08/99)

A definio do melhor atributo, segue o seguinte critrio:


Seja S todas as tuplas do conjunto de treinamento, A um atributo, s uma tupla, v um valor, e c o nmero
de classes, defini-se.
Equao 8
Sv = {s S | A(s) = v}
A Equao 8 representa o conjunto de todas as tuplas do conjunto de treinamento que possuem no
atributo A, o valor v. Defini-se a entropia de S, como:
Equao 9
Entropia(S) = i=1, ..., c -pi * log(pi)
Onde pi a probabilidade de ocorrncia de uma determinada classe. Desse modo pode-se definir o ganho
da escolha de um atributo A com respeito a S como:
Equao 10
Ganho(S, A) = Entropia(S) - v valores(A) (|Sv| / |S|) * Entropia(Sv)
O algoritmo ID3 recebe como entrada um conjunto de tuplas para treinamento, chamado Exemplos, um
atributo objetivo, Meta, e um conjunto de atributos preditivos, Atributos.
Baseando-se nas definies anteriores, o algoritmo caracteriza-se nas seguintes etapas:
ID3(Exemplos, Meta, Atributos) a chamada para a execuo do algoritmo com seus argumentos prdefinidos anteriormente. Como j mencionado antes, esse algoritmo recursivo, ou seja, seu procedimento ser
executado n vezes at que alguma condio seja satisfeita. O texto que segue em itlico um comentrio
resumido sobre a execuo de cada etapa do procedimento.
Criar uma raiz para a rvore Cria um n sempre que o procedimento executado, esse n ser um n
corrente;
Se o conjunto de Exemplos so positivos, retorna a raiz o rtulo Sim; ou No, caso negativo Positivo
significa que todas as tuplas que esto no conjunto de exemplos pertencem a uma mesma classe,
negativo, caso contrrio;
Se o conjunto de Atributos est vazio, retorna a raiz o valor da classe mais comum no conjunto de
Exemplos Analisa se ainda existem atributos no utilizados;
Seleciona o melhor atributo A do conjunto de Atributos, e para cada valor vi de A, executa: - o melhor
atributo selecionado segundo a Equao 10 e seu rtulo colocado no n raiz, ou n corrente;
Adiciona uma nova seta para A = vi e cria um conjunto E com todas as tuplas onde o
atributo A = vi Cria-se links do n raiz com todos os possveis valores do atributo A
para outros ns;
Se o conjunto E for um conjunto vazio, ento adicione um n folha, seno adicione o
n ID3(E, Meta, Atributos - {A}) Ser criada uma nova sub-rvore. Essa a
chamada recursiva do procedimento. Nela pode-se notar que os argumentos de
entrada so sempre diferentes para cada chamada;
Retorne a raiz Quando uma sub-rvore chega a um n folha, o procedimento retorna para o n raiz,
continuando sua execuo at que toda a rvore seja construda.
Alm do algoritmo ID3, podem ser encontrados na literatura os algoritmos CN2 [CLAR91, de aprendizado
para um conjunto de regras de classificao; e FOIDL e CDL3, que utilizam aprendizado com listas de deciso
de primeira ordem [SHEN 92].
[KLOE94] apresenta EXPLORA, uma ferramenta interativa de anlises estatsticas para descoberta em
banco de dados. Nela um nmero de padres so definidos permitindo-se selecionar os padres mais apropriados
para a anlise do problema proposto. Subconjuntos da base de dados so selecionados usando construtores de
lgica proposicional, consistindo de conjunes de testes condicionais nos atributos e valores. A avaliao de
bons padres executado atravs de testes de significado estatstico, e a busca no espao de padres executado
usando uma busca por grafo, combinados com filtros de redundncia que asseguram que apenas regras
verdadeiras e no redundantes so gerados.
FORTY-NINER [ZYTK91], [ZYTK93] procura por regularidades em bases de dados, ou seja, um padro
e os limites ao qual ele se aplica. A representao dos limites um conjunto de valores de um atributo, e o
padro uma funo (uma equao relacionando os atributos) ou uma tabela de contingncia (relacionando
causa e efeito). O algoritmo de busca inicialmente concentra-se nas regularidades entre pares de atributos em
subconjuntos do banco de dados e permite a interao do usurio para aprofundar essa busca, refinando assim as
regularidades descobertas.

- 35
ICA Lab. Inteligncia Computacional Aplicada , DEE, PUCRio (Verso 26/08/99)

6.

REDES NEURAIS

Este captulo define os principais conceitos sobre as Redes Neurais Artificiais e suas
aplicaes. Inicialmente, faz-se um levantamento da histria das RNAs. Em seguida, so
apresentados: uma descrio do funcionamento dos neurnios, as topologias de redes existentes e os
tipos de treinamento utilizados. Por fim, destaca-se as RNAs multi-camadas e o algoritmo de
retropropagao.
6.1. FUNDAMENTOS DAS REDES NEURAIS ARTIFICIAIS

6.1.1. Histrico
Os primeiros conceitos de mquinas baseadas no comportamento das clulas nervosas biolgicas
surgiram no incio da dcada de 40 . Em 1943, Warren McCulloch e Walter Pitts apresentaram a primeira
discusso sofisticada sobre "neuro-logical network" . Em 1947 eles publicaram o segundo estudo, entitulado
"How we know universals" . A partir destas idias, surgiu o movimento intelectual chamado "Cybernetics" , o
qual tentou combinar conceitos de biologia, psicologia, engenharia e matemtica. A dcada terminou com a
publicao do livro de Donald Hebb "The Organization of Behavior".
Aps a era "Cybernetics" ter aberto a perspectiva de se construir mquinas baseadas no conhecimento,
surgiram, no incio da dcada de 50, os primeiros prottipos neste campo, com arquiteturas especficas para
desempenhar tarefas determinadas. Contudo, tendo em vista o fato de que os animais podiam aprender a fazer
muitas coisas para as quais eles no tinham sido "construdos" para fazer, passou-se a ter como meta a
construo de mquinas que fossem capazes de aprender . Com isso, a dcada de 50 presenciou o surgimento de
muitos sistemas que aprendiam baseados em reforo 1 e em formas simples de aprendizado, sendo que o primeiro
deles, provavelmente, foi feito por Minsky em 1951 . No final dos anos 50, o campo de pesquisa em redes
neurais ficou virtualmente dormente, sem nenhuma descoberta de peso na rea, enquanto que importantes
avanos tinham sido alcanados em sistemas especialistas.
O interesse nas redes neurais ressurgiu, dramaticamente, em 1962 com a publicao do livro de Frank
Rosenblatt "Principles of Neurodynamics" . Neste livro Rosenblatt definiu mquinas denominadas de
"perceptrons", e provou muitas teorias sobre as mesmas. Uma onda de entusiasmo dominou a rea e muitos
pesquisadores passaram a crer que os "perceptrons" seriam a base para uma inteligncia artificial. Contudo, esta
iluso foi logo desaparecendo, pois constatou-se que essas redes falhavam na soluo de alguns problemas
simples, similares a outros em que elas tinham sucesso. O rpido entusiasmo foi sepultado em 1969 com o livro
de Marvin Minsky e Seymour Papert chamado "Perceptrons" , onde eles provaram que as redes neurais de uma
nica camada de Rosenblatt eram incapazes de resolver alguns problemas elementares como o do ou-exclusivo.
O prestgio e o brilhantismo de Minsky deram grande credibilidade ao seu livro, levando quase totalidade da
comunidade cientfica a abandonar as pesquisas na rea por um longo perodo.
A dcada de 70 e o incio da de 80 foram marcadas por um silncio quase geral na rea. Alguns poucos
pesquisadores como Grossberg, Kohonen, Anderson, Hopfield, Marr, von der Malsburg e Copper continuaram
pesquisando e desenvolveram trabalhos interessantes, principalmente nas reas de memria associativa
enderevel pelo contedo, sistema visual e reformulaes do problema de aprendizado das redes . Em 1982,
Hopfield deu uma importante contribuio com a introduo da funo energia e pela enfatizao da noo de
memrias como atratores dinamicamente estveis . Entretanto, talvez a maior influncia desta poca ainda tenha
vindo dos "perceptrons" de Rosenblatt pois, baseados em suas teorias, vrios pesquisadores foram
desenvolvendo algoritmos para o ajustes dos pesos das redes neurais multi-camada, culminando com o
surgimento do algoritmo de "Backpropagation" (retropropagao). O "Backpropagation" parece ter sido
primeiramente proposto por Werbos em 1974 e independentemente redescoberto por volta de 1985 por
Rumelhart, Hinton e Williams , tendo Parker e Le Cun tambm propostos algoritmos semelhantes.
Aps a descoberta do "Backpropagation" o interesse na rea voltou a crescer, desta vez de forma mais
madura e consciente. Nos ltimos anos, toda a teoria de redes neurais tem sido transformada em aplicaes,
sendo que novas corporaes dedicadas comercializao desta tecnologia tm aparecido. O crescimento nas
atividades de pesquisa tem sido astronmico e novas reas de atuao das redes neurais tm surgido, tais como:
compresso de imagem e voz , reconhecimento de caracteres manuscritos , diagnsticos mdicos , conservao
de energia e previses de sries temporais, em especial sries econmicas.

Reforo - Idia de reforar aes que tenham sido feitas no passado com sucesso. Conceito, ainda hoje, popular
em psicologia do comportamento.

- 36
ICA Lab. Inteligncia Computacional Aplicada , DEE, PUCRio (Verso 26/08/99)

6.1.2. O Neurnio Artificial


O crebro humano composto por mais ou menos 10 11 neurnios de diversos tipos diferentes. A figura
2.1 mostra o esquema de um neurnio comum.

Neurnio
Artificial

Neurnio
Biolgico
Dendritos

Sinapses

Pesos
Axnio

w1

Propagao

Ativao

w2

Corpo
Somtico

w3

Figura 18: -Exemplo de um neurnio biolgico comum


O ncleo da clula est localizado no corpo da mesma, sendo este ltimo tambm chamado de soma.
Conectados ao corpo da clula esto as fibras nervosas com estruturas similares a razes, chamadas dendritos.
Estendendo-se do corpo da clula existe uma nica fibra nervosa mais grossa chamada axnio, da qual surgem
ramificaes e sub-ramificaes. No fim destas ramificaes esto os pontos de transmisso para os outros
neurnios, chamados de junes sinpticas ou sinapses. Os pontos de recepo onde as sinapses vo se conectar
aos outros neurnios podem ser os dendritos ou mesmo o corpo da clula. O axnio de um neurnio tpico
possui algumas centenas de sinapses que iro se conectar com outros neurnios.
A transmisso do sinal de uma clula para outra um complexo processo qumico, no qual substncias
especficas so liberadas pelo neurnio transmissor. O efeito um aumento ou uma queda no potencial eltrico
no corpo da clula receptora. Se este potencial alcanar o limite de ativao da clula, um pulso ou uma ao
potencial de potncia e durao fixa enviada atravs do axnio. Diz-se ento que o neurnio est ativo.
O neurnio artificial foi projetado para imitar as caractersticas de primeira ordem de um neurnio
biolgico. Essencialmente, um conjunto de entradas so aplicadas ao neurnio artificial, cada uma representando
a sada de outros neurnios (Figura 19). Cada entrada multiplicada por um peso correspondente (Wij), gerando
entradas ponderadas, de forma anloga fora das sinapses. Em seguida todas estas entradas ponderadas so
somadas, obtendo-se um valor NET que ser comparado com o valor limite para ativao do neurnio (F). Caso
este valor alcance o valor limite de ativao do neurnio, ele se ativar, caso contrrio ele ficar inativo. A figura
2.2 mostra o modelo que implementa esta idia.

Wi1

Wi2

Wi3

F
SADA=F(NET)

NEURNIO ARTIFICIAL

Figura 19: Diagrama esquemtico de um neurnio artificial

- 37
ICA Lab. Inteligncia Computacional Aplicada , DEE, PUCRio (Verso 26/08/99)

6.1.3. Funes de Ativao


A funo de ativao F a que processa o sinal NET para produzir a sada final do neurnio, SADA.
Esta funo pode ter vrias formas: uma simples funo linear; uma funo limiar (funo degrau); ou ainda uma
funo que simule mais precisamente as caractersticas no lineares do neurnio biolgico. No caso de F ser
uma funo linear, a sada do neurnio dada por:
Equao 11
SADA=K*(NET)

onde K uma constante. Caso F seja uma funo limiar, a sada seria:
Equao 12
SADA=1

Se NET > T

SADA=0

Caso contrrio

onde T o valor de limiar do neurnio artificial (constante). No caso de se querer imitar com maior preciso os
neurnios biolgicos, usa-se funes no lineares, chamadas funes "squashing". Elas caracterizam-se por no
deixarem a SADA exceder certos valores limites, os quais, em geral, so menores que os valores de NET. A
funo "squashing" mais usada a funo logstica ou sigmide (Figura 20 a), a qual representada
matematicamente por F(x)=1/(1+e -x). Adequando-a ao neurnio artificial tem-se:
Equao 13
SADA=1/(1+e-NET)
Pode-se pensar na funo de ativao como definindo um ganho para o neurnio artificial, fazendo uma
analogia a sistemas eletrnicos analgicos. Este ganho calculado encontrando-se a razo entre a variao da
sada SADA e a variao da entrada NET. Este ganho a inclinao da curva para um nvel de excitao
especfico, podendo variar desde um valor baixo para grandes excitaes negativa, passando por valores altos
para excitao zero, at voltar a cair quando a excitao se torna grande e positiva (Figura 20). Em 1973
Grossberg descobriu que esta caracterstica de ganho no linear resolvia o problema do dilema da saturao com
rudo. Neste dilema, Grossberg questionava como a mesma rede poderia manipular tanto sinais pequenos como
grandes. Pequenos sinais necessitariam de um alto ganho atravs da rede para produzir sadas usveis, exigindo
um grande nmero de estgios de alto ganho. Contudo, estes estgios poderiam saturar a sada, amplificando o
rudo (variveis randmicas) que est presente em qualquer rede criada. Para sinais de entrada com valores altos,
os estgios de alto ganho tambm iriam saturar a sada, eliminando qualquer sada usvel. A regio central de
alto ganho da funo sigmide resolve este problema do processamento de pequenos sinais, enquanto que suas
regies de ganho decrescente nos extremos negativo e positivo so adequadas a grandes excitaes.

F(netj)

F(netj)

netj

Degrau

netj

Pseudo-Linear

netj

Sigmoid

- 38
ICA Lab. Inteligncia Computacional Aplicada , DEE, PUCRio (Verso 26/08/99)

Figura 20: (a) Funo sigmide tpica; (b) Funo tangente hiperblica tpica
Outra funo de ativao "squashing" bastante usada a tangente hiperblica (Figura 20 b). Ela possui
uma forma similar a da sigmide e frequentemente usada por bilogos para o modelo matemtico de ativao
das clulas nervosas. Como funo de ativao dos neurnios artificiais a funo tem a forma:
Equao 14
SADA = tanh(NET)
Apesar da forma semelhante a da sigmide, a tangente hiperblica possui valores de SADA bipolares,
caracterstica que benfica para certos tipos de RNAs .
interessante ressaltar que este modelo simples de neurnio artificial ignora diversas caractersticas do
neurnio natural, tais como a no considerao dos atrasos de tempo que afetam a dinmica do sistema - as
entradas produzem sadas imediatas - e a no incluso dos efeitos de sincronismo ou de modulao de frequncia
- caracterstica que alguns pesquisadores acham de fundamental importncia. Apesar destas limitaes, as RNAs
formadas por simples neurnios artificiais possuem atributos semelhantes aos do sistema biolgico, como a
capacidade de aprendizado e generalizao, podendo-se dizer que a essncia do funcionamento do neurnio
natural foi absorvida.

6.1.4. Topologia das Redes Neurais Artificiais


As vrias topologias de redes neurais esto divididas, basicamente, em duas classes:
No-Recorrentes
Recorrentes
As RNAs no-recorrentes so aquelas que no possuem realimentao de suas sadas para suas entradas e
por isso so tambm ditas "sem memria". A estrutura das RNAs ditas no-recorrentes em camadas, podendo
estas RNAs serem formadas por uma (RNA de camada nica) ou mais camadas (RNA multi-camada). Redes
neurais multi-camadas contm um conjunto de neurnios de entrada, uma camada de sada e uma ou mais
camadas escondidas. A entrada no considerada uma camada da rede, pelo fato de apenas distribuir os padres
, . A camada com os neurnios que fornecem a sada da rede chamada camada de sada. As camadas que no
possuem ligaes diretas nem com a entrada, nem com a sada so chamadas de camadas escondidas. No
existem conexes ligando um neurnio de uma camada a outro de uma camada prvia, nem a um neurnio da
mesma camada (Figura 21). As RNAs de uma camada, tambm chamadas de "perceptrons" , por possurem um
espectro de representaes limitado, no sero tratadas neste trabalho. As RNAs multi-camadas, por suprirem as
deficincias das redes de uma nica camada, so utilizadas neste trabalho e sero estudadas com mais detalhes
na seo 2..2 e no captulo 4.

CAMADA

CAMADA
ENTRADAS

SADA

DE SADA

ESCONDIDA

Figura 21: Exemplo de uma RNA no recorrente


As RNAs recorrentes so redes mais gerais que contm realimentao das sadas para as entradas, sendo
suas sadas determinadas pelas entradas atuais e pelas sadas anteriores. Alm disso, suas estruturas no so
- 39
ICA Lab. Inteligncia Computacional Aplicada , DEE, PUCRio (Verso 26/08/99)

obrigatoriamente organizadas em camadas e quando so, estas redes podem possuir interligaes entre neurnios
da mesma camada e entre camadas no consecutivas, gerando interconexes bem mais complexas que as RNAs
no-recorrentes (Figura 22)

ENTRADAS

SADAS

Figura 22: Exemplo de uma RNA recorrente


As RNAs recorrentes, tambm chamadas de RNAs com memria por possurem realimentao, respondem
a estmulos dinamicamente, isto , aps aplicar uma nova entrada, a sada calculada e ento realimentada para
modificar a entrada. Para as redes estveis, este processo repetido vrias vezes, produzindo pequenas mudanas
nas sadas, at estas ficarem constantes. Todavia, as RNAs recorrentes nem sempre so estveis, mesmo com
entradas constantes. O fato de no se conseguir prever quais redes seriam estveis foi um problema que
preocupou os pesquisadores at o incio da dcada de 80, quando Cohen e Grossberg provaram um poderoso
teorema para definir quando as RNAs eram estveis . Este teorema determina que para as RNAs recorrentes
alcanarem um estado estvel necessrio que possuam conexes simtricas, melhor dizendo, W ij=Wji, sendo
Wii=0. Contribuies importantes tambm foram dadas por John Hopfield , tanto para a teoria como para a
prtica, sendo que algumas configuraes passaram a ser chamadas de redes de Hopfield em sua homenagem.
Hinton e Sejnowski tambm tiveram seus mritos, introduzindo regras gerais de treinamento para redes,
denominadas por eles de mquina de Boltzmann devido ao clculo das sadas dos neurnios artificiais ser
efetuado atravs de probabilidade com distribuio de Boltzmann.

6.1.5. Tipos de Treinamento


De todas as propriedades interessantes das redes neurais artificiais, nenhuma captura to bem a
caracterstica humana como a habilidade de aprender. Ao invs de especificar todos os detalhes de uma
computao tem-se a possibilidade de treinar uma rede para fazer esta computao. Isto significa que pode-se
tratar problemas onde regras apropriadas so muito difceis de se conhecer a priori.
O objetivo do treinamento de uma RNA fazer com que a aplicao de um conjunto de entradas produza
um conjunto de sadas desejado ou no mnimo um conjunto de sadas consistentes. Cada conjunto de entrada ou
sada chamado de vetor. O treinamento realizado pela aplicao sequencial dos vetores de entradas (e em
alguns casos tambm os de sada), enquanto os pesos da rede so ajustados de acordo com um procedimento de
treinamento pr-determinado. Durante o treinamento, os pesos da rede gradualmente convergem para
determinados valores, tal que a aplicao dos vetores de entrada produza as sadas necessrias.
Os procedimentos de treinamento que levam as RNAs a aprender determinadas tarefas podem ser
classificados em duas classes de treinamento:
Supervisionado
No Supervisionado
O treinamento supervisionado necessita de um par de vetores composto do vetor de entrada e do vetor
alvo que se deseja como sada. Juntos, estes vetores so chamados de par de treinamento ou vetor de
treinamento, sendo interessante ressaltar que geralmente a rede treinada com vrios vetores de treinamento.
O procedimento de treinamento funciona da seguinte forma: o vetor de entrada aplicado. A sada da
rede calculada e comparada com o correspondente vetor alvo. O erro encontrado ento realimentado atravs
da rede e os pesos so atualizados de acordo com um algoritmo determinado a fim de minimizar este erro. Este
processo de treinamento repetido at que o erro para os vetores de treinamento tenha alcanado nveis bem
baixos.
- 40
ICA Lab. Inteligncia Computacional Aplicada , DEE, PUCRio (Verso 26/08/99)

O treinamento no supervisionado, por sua vez, no requer vetor alvo para as sadas e, obviamente, no
faz comparaes para determinar a resposta ideal. O conjunto de treinamento modifica os pesos da rede de forma
a produzir sadas que sejam consistentes, isto , tanto a apresentao de um dos vetores de treinamento, como a
apresentao de um vetor que suficientemente similar, iro produzir o mesmo padro nas sadas. O processo de
treinamento extrai as propriedades estatsticas do conjunto de treinamento e agrupa os vetores similares em
classes. A aplicao de um vetor de uma determinada classe entrada da rede ir produzir um vetor de sada
especfico, mas no existe maneira de se determinar, antes do treinamento, qual o padro que ser produzido na
sada para um vetor de entrada de uma determinada classe. Desta forma, a sada de algumas RNAs deve ser
transformada em uma forma compreensiva aps o processo de treinamento, o que um simples problema de
identificao da relaes entrada-sada estabelecidas pela rede.
No que diz respeito aos algoritmos de treinamento usados, existe uma grande variedade, tanto para o
treinamento supervisionado, como para o no supervisionado. Muitos deles baseiam-se no algoritmo proposto
por D. O. Hebb em 1961 entretanto, os algoritmos mais eficientes foram desenvolvidos nos ltimos trinta anos,
baseados nos trabalhos de Rosenblatt (1962), Windrow (1959) e Windrow e Hoff (1960) . Entre estes, o mais
difundido com certeza foi o algoritmo de retropropagao ("Backpropagation"), o qual utilizado neste
trabalho. Sua descrio detalhada apresentada na seo 2.2.

6.2. REDES NEURAIS ARTIFICIAIS MULTI-CAMADAS


A capacidade limitada de representao das RNAs com uma nica camada foi superada na dcada de 60, a
partir do perfeito entendimento do problema da separabilidade linear . Contudo, apesar de se ter descoberto
como aumentar a capacidade de representao da rede com o acrscimo de novas camadas, faltava ainda uma
forma de treinar a rede. Esta forma s foi descoberta em meados da dcada de 70, com a criao de vrios
algoritmos, entre eles o de retropropagao ("Backpropagation"). O "Backpropagation" se tornou um dos
algoritmos mais populares para o treinamento, sendo em parte responsvel pelo ressurgimento do interesse na
rea de Redes Neurais Artificiais.

6.2.1. - Algoritmo de Retropropagao do Erro


A tcnica de Back-Propagation vem sendo utilizada com sucesso em diversas aplicaes de redes neurais
artificiais. O Algoritmo baseia-se no mtodo do gradiente descendente para a minimizao do erro entre a sada
da rede e a sada desejada. O reajuste Wij de cada peso Wij fornecido pela seguinte equao:
Equao 15

Wij = ( E / Wij )
onde E o somatrio dos erros quadrticos da rede, o parmetro a taxa de aprendizado (esta taxa
influencia a velocidade do aprendizado da rede neural) e Wij o peso associado conexo entre um elemento
processador i de determinada camada ao processador j da camada imediatamente posterior (Figura 23).

Wij

Neurnio j

Neurnio i
Figura 23: Peso sinptico associado aos processadores i e j
A expresso para E :

1 n
E = (t j s j ) 2
2 j=1
onde outj a sada do processador j, tj o valor esperado desta sada e n o nmero de neurnios na
camada j.
Como a sada de cada neurnio uma funo do Net, tem-se:

s j = F(Net) = F( s i w ij )
- 41
ICA Lab. Inteligncia Computacional Aplicada , DEE, PUCRio (Verso 26/08/99)

onde n o nmero de entradas do neurnio j.


Como

net j
E
E
=
*
Wij net j Wij
e

net
= si
Wij
e definindo-se

dj =

E
net j
pode-se reescrever a Equao 15 como:

Equao 16

?W ij = ? * s i * d j
onde si a sada no neurnio i da camada anterior.
Para os elementos da camada de sada tem-se:
Equao 17

d j = (t j s j )F
(net j )
e, para os elementos da camada escondida:
Equao 18

d j = d k Wik F
(net j )
k =1

Na Equao 17 e na Equao 18, o termo F(netj) a derivada da funo de ativao e tj o valor


esperado de sada para o processador j.
Conforme foi mencionado, a taxa de aprendizado determina a velocidade do treinamento. Embora um
valor alto possa acelerar consideravelmente o treinamento, o mesmo tambm pode acarretar oscilaes. Para
evitar esse tipo de evento, pode ser utilizado o termo de momento . A Equao 16 torna-se:
Equao 19

dWij = ?d j s i + a?W ij (k)


Neste caso, a atualizao dos pesos no instante atual (k + 1) calculada utilizando-se a atualizao feita
no instante anterior (k). A aplicao do momento tende a filtrar as oscilaes do treinamento da rede, pois tende
a atenuar os efeitos de mudanas no sentido oposto e a reforar mudanas no sentido corrente.
Seu treinamento, apesar de lento, permite uma boa generalizao. Entretanto deve ser mencionado que a
escolha da arquitetura da rede (normalmente feita pelo projetista do sistema) tem uma grande importncia no seu
desempenho final.
A Figura 24 mostra uma rede multicamada apropriada para o treinamento com o algoritmo de
retropropagao.
- 42
ICA Lab. Inteligncia Computacional Aplicada , DEE, PUCRio (Verso 26/08/99)

...

ENTRADAS

..
.

SADA

Figura 24: RNA multi-camada


Como dito anteriormente, o objetivo do treinamento da rede ajustar os pesos, tal que a aplicao de um
conjunto de entradas produza um conjunto de sadas desejadas. Antes de iniciar o processo de treinamento, todos
os pesos devem ser inicializados randomicamente com valores pequenos, garantindo desta forma que a rede no
ficar saturada com grandes valores de pesos e prevenindo-se contra certas patologias de treinamento.
O treinamento pode ser dividido em passos da seguinte forma:
1-Selecionar o prximo par do conjunto de treinamento e aplicar o vetor de entrada a rede.
2-Calcular a sada da rede.
3-Calcular o erro entre a sada da rede e a sada alvo.
4-Ajustar os pesos da rede de maneira a minimizar o erro.
5-Repetir o passo 1 at o passo 4 para cada vetor do conjunto de treinamento, at o erro se
tornar aceitavelmente baixo para o conjunto inteiro.
Pode-se observar que os passos 1 e 2 constituem a etapa de propagao para frente, onde o sinal de
entrada transmitido atravs da rede da entrada at a sada. Os passos 3 e 4, por sua vez, constituem-se na etapa
de retropropagao, onde o erro calculado propagado de volta atravs da rede para ajustar os pesos.
Apesar do grande sucesso das aplicaes do algoritmo de retropropagao e da sua enorme popularidade,
muitos problemas ainda o acompanham. Entre eles, o que mais se destacam so:
wO longo perodo de treinamento, principalmente para problemas complexos, sendo que
no h garantias que depois deste tempo o treinamento tenha sido feito com sucesso;
wMnimos locais, j que a superfcie do erro geralmente cheia de vales e desnveis e o
algoritmo emprega um tipo de gradiente descendente, existe sempre a possibilidade de ficar
preso em um mnimo local;
wParalisia da rede, pois durante o treinamento os pesos podem ser ajustados para valores
muito grandes, os quais vo levar a derivada da funo de ativao a zero (no caso de funes "
squashing"), impedindo a rede de aprender o conjunto de treinamento.
Devido s deficincias do algoritmo de retropropagao, inmeras variaes tm sido propostas nos
ltimos anos , , . Uma alternativa para diminuir o tempo de treinamento, assegurando um maior grau de
estabilidade para rede, chamada "momentum", foi proposta por Rumelhart, Hinton e Williams em 1986 e se
mostrou bastante eficiente em alguns casos. Outras alternativas tambm foram propostas por Parker em 1987,
bem como por Stornetta e Huberman, Todavia, at agora, nenhuma tem solucionado de forma definitiva e
confivel os problemas do "Backpropagation".
6.3. MODELAGEM DE REDES NEURAIS PARA DATA MINING

6.3.1. Seleo de Dados


Uma vez selecionado o banco de dados para treinar a rede neural, o prximo passo decidir que dado
importante para a tarefa que se deseja automatizar. Talvez o bando de dados tenha 100 atributos, mas apenas 10
so utilizados para tomar decises. Esse o problema, na maioria dos casos, no sabe-se exatamente que
parmetros so importantes no processo de deciso. Redes neurais podem ser utilizadas para ajudar a determinar
quais parmetros so importantes e contruir o modelo relativo a esses parmetros.

- 43
ICA Lab. Inteligncia Computacional Aplicada , DEE, PUCRio (Verso 26/08/99)

O processo de seleo de dados possui duas direes (dimenses). A primeira, so as colunas ou


parmetros, os quais sero parte do processo de data mining. A segunda, a seleo de linhas ou registros,
baseado nos valores dos atributos individuais. O mecanismo usado para acessar todos os bancos de dados
relacionais o SQL. Entretanto, muitas ferramentas front-end permitem que usurios especifiquem que dados
acessaro usando formulrios fill-in-the-blanks.
Os passos para seleo de dados requerem algum conhecimento do domnio do problema e do dado.
Frequentemente o dado armazenado num banco de dados para ser manipulado antes que o data mining se
inicie. Esse pr-processamento descrito na prxima seo.

6.3.2. Pr-processamento
Pr-processamento dos dados o passo executado quando tem-se uma base de dados limpa e deseja-se
melhor-la. Algumas vezes esse melhoramento envolve gerar novos dados a partir de um ou mais atributos, e
algumas vezes isso significa trocar vrios atributos por apenas um que contenha mais informao. O nmero de
atributos de entrada no necessariamente uma medida da informao fornecida para o algoritmo de data
mining. Alguns dados podem ser redundantes; ou seja, alguns dos atributos so maneiras diferentes de se medir o
mesmo efeito. Algumas vezes os dados precisam ser transformados para uma forma que aceitvel como
entrada para um algoritmo especfico de data mining, tal como a rede neural.
Atributos derivados
Um requisito em data mining combinar 2 ou mais campos para gerar um novo campo ou atributo. Isto
geralmente criado na forma da razo de 2 valores, mas tambem pode ser soma, produto, ou diferena de valores.
Outras transformaes podem ser do tipo que transforma data em dia da semana ou dia do ano.
Escalamento
Uma outra transformao envolve um propsito mais geral de transformar os dados para serem
apresentados rede neural. A maioria dos modelos neurais aceitam dados numricos apenas no intervalo de [0.0
1.0] ou de [-1.0 +1.0], dependendo das funes de ativao utilizadas no processamento dos elementos.
Consequentemente, os dados precisam ser reduzidos para um intervalo.
Valores escalares que so distribudos mais ou menos uniforme sobre o intervalo podem ser escalados
diretamente para o intervalo [0.0 1.0]. Se os valores dos dados so descorrelacionados, uma funo linear ou
logaritma pode ser utilizada para transformar os dados, os quais podem ser escalados para o intervalo desejado.
Variveis discretas podem ser representadas por tipos codificados com valores 0 ou 1, ou elas podem ser
associadas a valores em um intervalo contnuo desejado.
Normalizao
Vetores de dados numricos podem algumas vezes ser tratados como um grupo de nmeros. Nesses
casos, necessrio normalizar ou escalar os vetores como um grupo. Existem vrios mtodos para se fazer isso.
Talvez o mais comum dos mtodos de normalizao somar os quadrados de cada elemento, tirar a raiz
quadrada da soma, e ento dividir cada elemento pela norma. Este chamado de Normalizao Euclidiana. Um
segundo mtodo de normalizao de um vetor de dados simplesmente somar todos os elementos do vetor e
ento dividir cada nmero pela soma. Deste modo, a soma dos elementos normalizados vale 1.0, e cada elemento
tem um valor que representa percentualmente a sua contribuio nessa soma. Um terceiro mtodo para
normalizar um vetor dividir cada elemento pelo valor do elemento de mximo valor no array. Esse tipo de
normalizao utilizada desde quando se deseja minimizar o custo de processamento.
Mapeamento simblico e taxonomias
Em muitos casos necessrio executar transformaes de smbolos em outros smbolos antes de
transform-los em valores numricos. Um uso comum seria agregar membros de algumas classes ou grupos num
nico smbolo para a proposta de representao do dado. Por exemplo, uma loja pode vender 100 variedade de
sucos, todos com uma nica medida e identificadores alfanumricos. Se nos queremos um modelo que compre
de vrias classes de bebidas, ns precisamos tratar todos esses produtos como apenas um.
Este tipo de mapeamento pode ser utilizado para verificar as categorias em vrios nveis de granularidade.
Por exemplo, nvel de categoria com todos os condimentos, com subcategorias mostarda, catchup, cebolas,

- 44
ICA Lab. Inteligncia Computacional Aplicada , DEE, PUCRio (Verso 26/08/99)

picles; catchup com subcategoria picante e no picante. Ou seja, analisa-se em forma de uma rvore com
hierarquias, ou uma taxonomia que verifica os problemas em vrios nveis de abstrao.
Translaes de simblicos para numricos
Translaes de simblicos para numricos so frequentemente requisitos para transformar smbolos
discretos ou categorias em valores numricos para o processamento dos algoritmos de data mining. A forma
mais bsica de se fazer isso procurar numa tabela, onde o smbolo comparado contra uma lista de smbolos e
quando ele encontrado, o correspondente valor numrico utilizado. Cuidados devem ser tomados para
assegurar que smbolos indefinidos ou ilegais sejam associados a algum valor desconhecido ou irrelevante. Uma
a outra aproximao mais sofisticada utilizar uma funo hashing, no qual um algoritmo pega uma string e
transforma num nico valor numrico.

6.3.3. Representao dos dados


Apesar de existirem muitos tipos de dados suportados no sistema de banco de dados relacional, a maioria
pode ser facilmente mapeado em trs tipos lgicos. Estes tipos incluem valores numricos contnuos, valores
numricos discretos, e categricos ou valores discretos simblicos. Tempo e datas apresentam certos desafios,
mas eles tambm podem ser mapeados em valores numricos utilizando-se funes apropriadas.
Por exemplo: O smbolo ma pode ser mapeado em um inteiro especfico utilizando-se uma tabela de
smbolos, ou pode-se utilizar uma funo hash que transforma a string em um nico inteiro. Isto gera um valor
numrico discreto (inteiro). Este valor pode ser apresentado a uma rede neural de vrias maneiras. Entretanto,
deseja-se geralmente que esse nmero seja codificado ou transformado para um intervalo apropriado. O smbolo
ma pode ser mapeado para o valor 5. Pode ser transformado para 0.5 se desejarmos uma entrada real
contnua ou pode ser convertida para qualquer um dos trs cdigos (1 0 0 0 0; 1 1 1 1 1; 0 0 1 0 1). Na seo
seguinte descrita a converso lgica bsica desses tipos.
Representao Numrica dos dados
Dados numricos podem ser simplesmente valores binrios (0 ou 1) indicando os estados ativado e
desativado, ou pode ser um intervalo de valores discretos (1 a 10) ou um intervalo contnuo de -1000 a +1000.
Em cada caso deve-se decidir como representar cada dado. A maioria das redes neurais aceitam entradas no
intervalo de 0 a 1, ou de -1 a +1. Nesse caso, parmetros binrios podem ser representados pelos extremos do
intervalo de entrada.
Valores Discretos
Variveis discretas so aquelas que se associam a apenas um conjunto fixo de valores. Estas, tipicamente
denotam um conjunto pequeno de classes, ou um conjunto de respostas a questes de mltiplas escolhas (por
exemplo. A a E), ou um intervalo fixo de nmeros inteiros. O desafio para uma rede neural representar valores
discretos apresentar esses valores de modo que a rede seja capaz de discernir as diferenas entre valores e que
possam dizer a magnitude relativa das diferenas se a informao estiver disponvel. Vrios tipos codificados so
utilizados para representar esses valores. Nas seguintes sees so apresentados os cdigos utilizados mais
comuns.
Cdigo 1-de-N
Quando uma varivel pode tomar um conjunto de valores discretos, ela deve ser transformada numa
representao que apresenta em um nico conjunto de entrada, cada valor discreto distinto. Talvez a
representao mais comum seja a 1-de-N. O cdigo 1-de-N tem um comprimento igual ao nmero de categorias
discretas permitidas para a varivel, onde todo elemento no vetor de cdigo 0, exceto para um nico elemento,
que representa o valor do cdigo. Por exemplo, se temos um conjunto com 4 elementos {ma, pssego, uva,
abacaxi}, pode-se representar ma como 1 0 0 0, pssego como 0 1 0 0, uva como 0 0 1 0, e abacaxi como 0 0 0
1. O lado positivo dessa representao que ela simples, fcil de usar, e a rede neural pode facilmente aprender
a discriminar entre os vrios valores. Usando essa representao, uma nica varivel pode expandir de 100 ou
1000 entradas, ocorrendo uma exploso no nmero dos pesos de entrada.
Cdigo binrio

- 45
ICA Lab. Inteligncia Computacional Aplicada , DEE, PUCRio (Verso 26/08/99)

Uma representao alternativa o cdigo binrio padro. Nele, cada categoria discreta a um valor de 1 at
N e representado por uma string de dgitos binrios. Ou seja, se temos 64 possveis valores, podemos
represent-los com um vetor binrio de comprimento 6. Como os valores discretos no so arbitrrios e no so
ordenados, o cdigo binrio um bom modo de representar os dados. Entretanto, note que existem grandes
diferenas nos valores dos bits como nmeros discretos convertidos para cdigo binrio. O stimo item tem o
cdigo 0 0 0 1 1 1, enquanto o oitavo tem 0 0 1 0 0 0. A distncia de hamming uma medida de similaridade ou
diferena entre duas strings binrias. Neste caso, indo de 7 para 8 resulta numa distancia de hamming de 4. Se
desejamos que a rede neural trate os padres de entrada com um 7 ou 8 como sendo similares, ento devemos
escolher o termmetro ou cdigo de temperatura.
Cdigo de temperatura
Cdigo de temperatura utilizado mais frequentemente quando os valores discretos esto relacionados de
algum modo. Por exemplo, uma varivel discreta que pode ter um dos seguintes valores {fraco, regular, bom,
timo}. Nesse caso, desejamos que a diferena entre fraco e timo seja grande (na distncia de hamming) e a
diferena entre bom e timo seja menor. Isto exatamente o que acontece com o cdigo termmetro desde que
fraco representado como 1 0 0 0, enquanto timo representado como 1 1 1 1 (distncia de hamming 4),
enquanto bom representado como 1 1 1 0 (de bom para timo a distncia de hamming de apenas 1).
Existem outros esquemas de cdigos que trabalham com variveis discretas, mas, em geral, o 1-de-N,
binrio e termmetro so os mais utilizados.
Valores contnuos
Para valores contnuos, a forma mais comum de transformar dados fazendo um scaling. Por exemplo,
uma varivel que pode tomar valores de 0 a 100 pode ser linearmente transformada de 0.0 a 1.0. Portanto, 20
tornaria 0.2, enquanto 80 se transformaria em 0.8. Para varivel com distribuio como essa, a transformao
linear funciona bem.
Mas se o dado no se comporta dessa maneira? Por exemplo, suponha 80% dos dados esto abaixo de 50
e precisamos ensinar a rede neural a fazer boas distines entre valores no intervalo de 0 a 50. Uma opo
transformar o dado utilizando uma aproximao linear para que o dado no intervalo de 0 a 50 seja expandido na
representao. Enquanto os menos importantes, intervalo de 50 a 100, sejam comprimidos. Isso pode ser feito
tomando-se o intervalo 0, 50, 100 e transformando-o em 0.0, 0.8 e 1.0. Neste caso, o valor de entrada 50 fica
associado ao valor 0.8, enquanto o valor 75 associado a 0.9. Uma diferena de 25 (75 - 50) no valor de entrada
transformasse em 0.1 (0.9 - 0.8) como entrada na rede neural. Entretanto, uma entrada de 10 teria o valor de
0.16, enquanto 25 seria 0.4. Aqui a rede neural v uma diferena maior no valor de entrada e portanto pode mais
facilmente discriminar entre as diferenas nos valores de entrada. Isso pode ou no pode ser importante. Mas
importante lembrar que se uma diferena pequena na entrada realmente significante, digamos mudar de 31 para
33 graus, ento queremos Ter certeza que a nossa representao mostra essa significncia para a rede neural.
Uma outra necessidade comum um threshold nos dados para que os valores fora do intervalo de
interesse no necessariamente diluam a nossa representao. Por exemplo, suponha que temos um intervalo de 0
a 300000 reais. Mas estamos apenas checando se uma pessoa tem 35000 ou mais. Ns simplesmente inserimos
um threshold para que os valores entre 0 e 35000 sejam transformados para o intervalo de 0.0 a 1.0, enquanto
valores acima de 35000 obtm um threshold de 35000, portanto transformando-se em 1. No necessrio fazer
com que a rede neural tente aprender coisas que ela realmente no precisa, esforo perdido.
Representaes de Dados Simblicos
Ns encontramos dados simblicos com frequncia em aplicaes de redes neurais. O mais comum, e
mais fcil de trabalhar, so as variveis booleanas tais como sim e no e masculino e feminino. Entretanto, ns
devemos adicionar uma terceira condio (mesmo para variveis booleanas), a condio desconhecida. Nesse
caso podemos utilizar a codificao 1-de-N de comprimento 3 (sim, no, desconhecido) ou um cdigo binrio de
comprimento 2 (sim, no, desconhecido, <no usado>). Ou ns podemos decidir representar no como 0, sim
como 1 e desconhecido como 0.5. Todas as representaes so vlidas. Ela depende do que requerida pela
aplicao. O conflito est entre o tamanho da rede (nmero de entradas) versus a facilidade de treinamento
(tempo reduzido de treinamento).
Para representao de dados simblicos no relacionados a valores discretos, ns simplesmente
mapeamos o smbolo num inteiro de 1 a N. Por exemplo, {mas, pssegos, uva, abacaxi} pode ser mapeado
para 1, 2, 3 e 4. Certamente, podamos provavelmente transform-los de 0 a 1, e ento teramos 0, 0.33, 0.66,
1.0. Em essncia ns temos as mesmas opes de representao discutidas anteriormente no caso numrico

- 46
ICA Lab. Inteligncia Computacional Aplicada , DEE, PUCRio (Verso 26/08/99)

discreto. Dependendo da aplicao, podemos ou no tratar smbolos escritos diferentemente (ma versus Ma),
por exemplo, como diferentes smbolos.
Para representao simblica de valores relacionados, tais como {regular, bom, timo} devemos ter
cuidado para mape-los como inteiros consecutivos e usar uma representao de dados que preserve esta
ordenao, tais como termmetro e transformao linear.
Para dados simblicos de natureza contnua, isto mais complexo. Por exemplo, se desejamos ser
sensveis a diferena de um simples caracter em uma string e notar que ela similar a outra string, o
mapeamento de valores numricos torna-se mais difcil.
Impacto da Representao dos Dados no Tempo de Treinamento
A representao dos dados importante. Se as decises sobre a representao dos dados feita
erroneamente, pode tornar-se impossvel que a rede neural aprenda o relacionamento que estamos tentando
ensinar. Entretanto, geralmente existe um conjunto de possveis representao de dados que so suficientes para
treinar a rede. Em todos os casos, importante entender como as decises na representao do dado vai afetar
tanto o treinamento como a acurcia obtida.
Em geral, quanto mais explcita a representao do dado, mais fcil ser para a rede neural aprender. Por
exemplo, tomando uma varivel discreta e uma codificao 1-de-N teremos tipicamente um treinamento mais
rpido. Entretanto, o custo que estamos adicionando N unidades de entrada e um fator N de pesos adicionais a
rede. De novo, em geral, quanto maior a rede em termos de unidades de processamento e conexes dos pesos,
pior ser a generalizao e mais tempo durar o treinamento. Tomando a mesma varivel discreta e associando-a
a uma nica unidade de entrada, onde cada valor discreto representado por uma diferena de 0.1 na magnitude
de entrada, certamente a representao mais compacta. Entretanto, a rede neural demorar muito para ajustar os
seus pesos de uma simples unidade de entrada, dado que preciso reconhecer que um dcimo de diferena
significante e indica completamente um nico valor para a varivel de entrada.

6.3.4. Gerenciando Conjunto de Treinamento de Dados


Um importante aspecto de utilizar redes neurais para data mining e desenvolvimento de aplicaes
como gerenciar seu material, os dados histricos. A aproximao mais comum randomicamente dividir os
dados em dois ou mais conjuntos de dados. Um subconjunto dos dados utilizado para treinar a rede neural, e o
outro subconjunto utilizado para testar a acurcia da rede neural. importante acreditar que a rede neural
nunca v o conjunto de teste quando ela esta no modo de treinamento. Ou seja, ela nunca aprende, ou ajusta os
pesos utilizando os dados de teste. Algumas pessoas sugerem um terceiro conjunto seja gerado that is withheled
even from the developer of the neural network model (not that anyone would cheat!). Nesse terceiro cenrio,
usa-se dados de treinamento e teste para construir o modelo e ento de modo independente testa-se o modelo
com os dados de validao.
Existem alguns casos e, que esse mtodo no apropriado. Um quando o dado temporal. Esse dado
deve ser utilizado de forma contnua de modo a manter a informao que ele contm. Uma seleo aleatria
desses dados pode ser catastrfica. Nesse caso, tpico utilizar os dados de um certo perodo de tempo para
treinamento e os dados mais recentes para a fase de teste e/ou validao.
Um outro caso quando no existem dados suficientes para permitir a criao de um conjunto aleatrio
razovel que possa representar bem todos os dados disponveis. Nesse caso, tcnicas estatsticas devem ser
requisitadas que ambos os conjuntos de treinamento e teste contenham dados representativos do universo
disponvel.

6.3.5. Quantidade de Dados


Desde que dados so os ingredientes mais importantes em dada mining, assegurar que temos suficiente
crucial. Na maioria das aplicaes, a quantidade de dados como um prmio, e muitas tcnicas devem ser
utilizadas para extrair o mximo de utilidade deles.
Uma regra para redes neurais que voc precisa de dois itens de dados para cada conexo. Portanto uma
back propagation com 10 entradas, 5 unidades escondidas, e 5 sadas deve ter aproximadamente 2 * (10 * 5) *
(5 * 5) = 150 exemplos de treinamento para ser capaz de treinar com certa preciso. Na prtica, muitas redes
neurais tiveram sucesso sem o nmero de dados sugeridos.
Quando utilizando dados reais para treinar a rede neural, tpico ter 98% dos dados representando bons
clientes ou condies normais, e em apenas uma pequena porcentagem de exemplos para os casos que realmente
- 47
ICA Lab. Inteligncia Computacional Aplicada , DEE, PUCRio (Verso 26/08/99)

desejamos detectar (isto mau cliente ou condio operacional anormal). Uma tcnica para aumentar a
porcentagem simplesmente duplicar os exemplos do conjunto de treinamento que contm a classe do padro de
treinamento reduzida. Uma outra tcnica pegar um nmero pequeno de casos do conjunto de teste e modificlos adicionando um pequeno rudo nos valores de entrada e ento usando esse rudo de entrada como exemplos
adicionais de treinamento. Uma outra opo criar um conjunto de treinamento na mo.

6.3.6. Qualidade dos dados (Entra Lixo, Sai Lixo)


Em adio ao gerenciamento dos dados, o maior concern em redes neurais para data mining a qualidade
dos dados. A maioria dos banco de dados contm dados incompletos e sem confiana. Dependendo da
quantidade de dados disponvel, voc deve ser capaz de ignorar qualquer registro obviamente duvidoso.
Entretanto, em muitos casos voc tem uma quantidade de dados limitada, e portanto voc tem de tentar melhorar
esse dado. A tcnica mais comum preencher os campo duvidosos com a mdia ou a mediana casos esses
campos sejam numricos ou uma varivel discreta.
Como na maioria das anlises estatsticas, outliers are a concern. Um simples registro com o valor uma
ordem um ou dois valores de magnitude maiores ou menores que o resto dos dados podem severamente impactar
no desempenho da rede neural. Uma anlise grfica ou um pesquisa pode indicar esse tipo de problema.
Uma rede neural para data mining altamente dependente da qualidade e da quantidade de dados. Se
sempre existisse um sistema onde ELSL fosse a regra (Entra Lixo, Sai Lixo), a rede neural ele. Eles so
altamente esquecidos de rudo e dados incompletos, mas eles so apenas to bons quanto os dados que foram
utilizados para treinar.

7.

NEURO FUZZY

7.1. MOTIVAO
Desde os mais remotos tempos, o ser humano vive envolvido com o problema de lidar com o ambiente
que o cerca. A cincia tem evoludo na busca de entender e predizer o comportamento do universo e dos
sistemas que o compe. Muito desta arte baseia-se em encontrar modelos adequados que conciliem as
observaes feitas sobre os sistemas com os resultados obtidos pelos modelos definidos. Neste aspecto, a
modelagem de sistemas tem sido, uma questo importante, seja na rea de engenharia ou fora dela.
A abordagem convencional para a modelagem de sistemas apia-se fortemente em ferramentas
matemticas que enfatizam a preciso e a descrio exata de cada quantidade envolvida. O uso de ferramentas
matemticas (equaes diferenciais, equaes de diferena, funes de transferncia, etc.) apropriado quando o
sistema simples ou bem definido. Contudo, medida que o sistema em foco cresce e torna-se complexo, as
ferramentas matemticas tornam-se menos efetivas e, em alguns casos, imprprias. Isto ocorre devido ao fato das
expresses matemticas se tornarem muito complicadas para serem tratadas, ou as relaes entre as variveis do
sistema tornarem-se pouco claras ou apenas conhecidas com incerteza (impreciso).
Para contornar os problemas encontrados pelos mtodos convencionais de modelagem, propostas
alternativas surgiram nas ltimas dcadas, tais como a modelagem por Lgica Fuzzy (LF) e a modelagem por
redes neurais artificiais (RNA). Essas duas tcnicas de modelagem tm sido empregadas com sucesso em vrias
reas onde a abordagem convencional tem falhado em fornecer solues satisfatrias. Essas duas abordagens
fazem parte do conjunto de tcnicas estudadas na rea de Inteligncia Computacional, juntamente com os
Algoritmos Genticos e Sistemas Especialistas.
As RNAs e a LF apresentam caractersticas comuns, como operao em paralelo e capacidade de
tolerncia a falhas, embora suas origens sejam bem distintas. A modelagem por lgica fuzzy baseada na teoria
de conjuntos fuzzy e em regras fuzzy (do tipo se-ento), propostas por Zadeh e Mamdani, e est intimamente
relacionada lingstica e cincia da cognio. Por outro lado, as redes neurais artificiais tm por inspirao o
sistema de neurnios biolgicos. Por causa de suas origens distintas, suas abordagens na soluo de problemas
de modelagem so em geral complementares. Por exemplo, enquanto as redes neurais so apropriadas para a
criao de modelos a partir de um conhecimento implcito (e no bvio) embutido em um conjunto de dados, os
sistemas fuzzy so adequados para a criao de modelos a partir de um conhecimento explcito (racional e
lingisticamente tratvel), originrio de especialistas humanos. Como conseqncia, muitos pesquisadores tm
tentado integrar essas duas tcnicas de modelagem para gerar um modelo hbrido que possa associar as

- 48
ICA Lab. Inteligncia Computacional Aplicada , DEE, PUCRio (Verso 26/08/99)

vantagens de cada abordagem e minimizar suas deficincias. Com isto, nasceram os sistemas neurofuzzy
hbridos ou, simplesmente, sistemas neurofuzzy (SNF).
Dentre os pesquisadores desta nova rea, podemos destacar Jang (um dos pioneiros), Nauck e Vuorimaa,
que criaram respectivamente os modelos ANFIS, NEFCLASS e FSOM. Todos esses modelos so sistemas
adaptativos, como as redes neurais, e so interpretveis atravs de regras da lgicas fuzzy. Um sistema
adaptativo Aw um sistema com parmetros internos ajustveis W, que realiza um mapeamento entre o espao
de entrada X e o espao de sada Y=Aw (X). Um sistema adaptativo caracterizado por sua estrutura, seu
conjunto de parmetros, e envolve algum paradigma de representao. Os modelos adaptativos so assim
chamados por possurem um algoritmo de aprendizado capaz de ajustar os seus parmetros e/ou sua estrutura a
partir dos dados. Entre os vrios tipos de sistemas adaptativos, os mais interessantes so aqueles capazes de ter
sua estrutura altervel, isto , cujo algoritmo de aprendizado baseado na mudana (crescimento ou decrscimo)
de sua estrutura, alm do ajuste de seus parmetros.
Os modelos neurofuzzy existentes, dentre eles os trs citados anteriormente, ajustam apenas os
parmetros ou tm uma capacidade muito limitada de ajuste em sua estrutura. Alm disso, de modo a evitar o
problema da exploso do nmero de regras, esses modelos tm srias restries quanto ao nmero mximo de
entradas possveis no sistema. Existe, portanto a necessidade de se criar um SNF que seja capaz de suprir essas
deficincias.

7.2. SISTEMAS HBRIDOS

7.2.1. Introduo
H vrias formas de se definir sistemas hbridos. De uma forma simples, sistemas hbridos so aqueles
que utilizam mais de uma tcnica de identificao de sistemas para a soluo de um problema de modelagem.
Este captulo apresenta os sistemas hbridos mais estudados atualmente, dando destaque especial para os
sistemas neurofuzzy.
Os modelos hbridos tm vantagens interessantes sobre as tcnicas de identificao de sistemas
individuais (por ex., redes neurais, sistemas fuzzy, algoritmos genticos, tcnicas de regresso, sistemas
especialistas, tcnicas de agrupamento (clustering), etc). O grande interesse que tais sistemas tm despertado
na comunidade cientfica deve-se ao sinergismo obtido pela combinao de duas ou mais tcnicas de
modelagem. Este sinergismo reflete-se na obteno de um sistema mais poderoso (em termos de poder de
interpretao, de aprendizado, de estimativa de parmetros, de generalizao, etc) e com menos deficincias.
Existem trs formas bsicas de se associarem duas tcnicas de identificao de sistemas para a construo
de sistemas hbridos.

a) Hbrido Seqencial - Neste modelo, um subsistema com paradigma 1 atua como a entrada de outro
subsistema com paradigma 2, como ilustrado na Figura 25 a seguir.

Entrada

Sada
Subsistema 1

Subsistema 2

(paradigma 1)

(paradigma 2)

Figura 25: Modelo Hbrido Seqencial

- 49
ICA Lab. Inteligncia Computacional Aplicada , DEE, PUCRio (Verso 26/08/99)

Um exemplo dessa combinao seria o caso de se usar um pr-processador fuzzy ou estatstico acionando
uma rede neural. Esta a forma mais fraca de hibridizao, sendo que alguns pesquisadores nem a encaram,
efetivamente, como um sistema hbrido.

b) Hbrido Auxiliar - Neste modelo, um subsistema constitudo pela tcnica do paradigma 2 chamado
pelo subsistema implementado pelo paradigma 1, retornando ou realizando alguma tarefa auxiliar. A Figura 26
ilustra este modelo de hibridizao.
Entrada

Sada
Subsistema 1
(paradigma 1)

Subsistema 2
(paradigma 2)

Figura 26: Modelo Hbrido Auxiliar


Como exemplo desta combinao de paradigmas pode-se citar um sistema em que uma rede neural invoca
um algoritmo gentico para a otimizao de seus pesos, ou de sua estrutura. Neste caso, tem-se um maior grau de
hibridizao em comparao com o primeiro caso (Hbrido Sequencial).

c) Hbrido Incorporado - Nesta forma de se combinar os dois paradigmas no h uma separao visvel
entre os dois subsistemas. Pode-se dizer que o primeiro paradigma contm o segundo e vice-versa. A Figura 27
traz uma representao deste modelo.
Entrada

Figura 27: Modelo

Paradigma 1
+
Paradigma 2

Sada

Hbrido Incorporado

Um exemplo deste modelo o caso de um sistema neuro-fuzzy hbrido onde um sistema de inferncia
fuzzy implementado segundo a estrutura de uma rede neural. Aqui a hibridizao a maior possvel. H
sistemas em que a hibridizao de um grau to elevado que no possvel a separao dos dois paradigmas.
A seguir, so descritos os modelos hbridos mais comumente encontrados na rea de Inteligncia
Computacional.

Sistema Neuro-Fuzzy
Os sistemas Neuro-Fuzzy esto entre os sistemas hbridos mais pesquisados na atualidade, por associarem
vantagens de duas tcnicas de modelagem muito populares como as Redes Neurais e a Lgica Fuzzy. Este tipo
de enquadra-se no tipo hbrido incorporado (tipo (c) na classificao anterior).

- 50
ICA Lab. Inteligncia Computacional Aplicada , DEE, PUCRio (Verso 26/08/99)

Sistema Neuro-Gentico
Constitui-se em uma das hibridizaes que ainda carecem de maior ateno dos pesquisadores. Os
mtodos de otimizao evolucionrios podem ser usados para: ajustes dos parmetros (pesos) da rede; definio
da arquitetura da rede; ou ainda para o ajuste dos parmetros de treinamento (ex. taxa de aprendizado e
momentum). Entre os trabalhos que empregam esse tipo de hibridizao podem ser citados: Bengio que otimiza,
via programao gentica, os parmetros dos algoritmos de aprendizado de redes neurais; Whitley e Fogel que
utilizam algoritmos genticos e programao evolucionria para ajuste dos pesos de redes neurais; e Angelint,
Maniezzo que estudam o uso de estratgias evolucionrias na busca de melhores topologias para redes neurais.
Todos estes sistemas neuro-genticos se enquadram no tipo hbrido auxiliar (b).
Sistema Neural e Estatstico
Este um dos campos em que ainda h pouco investimento em pesquisa. A anlise e a previso de sries
temporais uma rea de aplicao com forte interseo entre os mtodos estatsticos e as redes neurais. Os dois
paradigmas, ao seu modo, realizam previses de sistemas. Do lado estatstico esto os mtodos de
amortecimento exponencial, os modelos lineares auto-regressivos e de mdias mveis (ARMA) e suas extenses.
Do lado neural esto as redes do tipo MLPs (MultiLayer Perceptrons), as redes de funes de bases radiais
(RBF - Radial Basis Function), entre outras. Um modelo hbrido (NLARMA/RN) apresentado por Velloso e
envolve a associao de um modelo ARMA com Redes Neurais, onde estas substituem os coeficientes dos
polinmios referentes s partes auto-regressivas e de mdias mveis, gerando um modelo no-linear. Um outro
trabalho interessante nesta rea o de Tiozzo que envolve a identificao de um modelo ARIMA atravs do uso
de redes neurais. Estes dois sistemas se enquadram no tipo hbrido incorporado (c) .
Sistema Fuzzy-Gentico
A associao de Tcnicas Evolucionrias com Sistemas Fuzzy pode-se dar tanto na criao da estrutura e
base de regras deste sistema como no ajuste dos seus parmetros (perfil dos antecedentes, consequentes e pesos
das regras). Karr um dos primeiros a associar as tcnicas de Sistemas de Inferncia Fuzzy (SIF) e Computao
Evolucionria, usou um Algoritmo Gentico (AG) para otimizar os consequentes das regras de um SIF usado no
controle de um pndulo invertido. Os antecedentes eram ajustados manualmente. Evidentemente este sistema
no utilizava toda a potencialidade dos AGs. Lee e Takagi chegaram a um sistema mais complexo em que um
AG desenvolvia uma base de regras para o mesmo problema. Uma descrio detalhada dessas possibilidades
encontrada em Leitch. Estes dois sistemas hbridos se enquadram no tipo hbrido auxiliar (b).
Sistema Gentico-Estatstico
A associao destas duas reas tambm pouco explorada, mas alguns trabalhos j despontam neste
sentido. Um exemplo dessa associao o trabalho de Gomes que trata da estimao dos parmetros de modelos
SARMA ou SARIMA por algoritmos genticos. Outro exemplo o trabalho de Medeiros, que trata da
identificao de modelos lineares por partes, atravs de algoritmos genticos. Estes dois sistemas tambm se
enquadram no tipo hbrido auxiliar (b).
A seguir ser apresentada uma descrio mais detalhada dos sistemas hbridos neuro-fuzzy, objetivo
principal deste trabalho.

7.2.2. Sistemas Neuro-fuzzy


Os Sistemas Neuro-Fuzzy (SNF), conforme mencionado na seo anterior, combinam a capacidade de
aprendizado das Redes Neurais Artificiais (RNA) com o poder de interpretao lingustico dos Sistemas de
Inferncia Fuzzy (SIF). Atualmente, estes sistemas esto sob intensa investigao. Tal fato deve-se
principalmente confluncia dos seguintes fatores: a) aplicabilidade dos algoritmos de aprendizado
desenvolvidos para redes neurais; b) possibilidade de promover a integrao de conhecimentos (implcito e
explcito); e c) possibilidade de extrao de conhecimento, sob o formato de regras fuzzy, a partir de um
conjunto de dados.
- 51
ICA Lab. Inteligncia Computacional Aplicada , DEE, PUCRio (Verso 26/08/99)

A idia bsica de um Sistema Neuro-Fuzzy implementar um SIF numa arquitetura paralela distribuda
de tal forma que os paradigmas de aprendizado comuns s RNAs possam ser aproveitados nesta arquitetura
hbrida. A pesquisa na rea dos Sistemas Neuro-Fuzzy busca, portanto, a maximizao das propriedades
desejveis das RNA e SIF e a minimizao de suas limitaes e deficincias. O esforo para vencer essas
limitaes tem sido umas das principais motivaes na criao desses sistemas hbridos inteligentes.
Na prxima seo proposta uma taxonomia para os SNF baseada na caracterstica dual (Neural e Fuzzy)
que estes sistemas possuem.
Taxonomia dos Sistemas Neurofuzzy
Diversas arquiteturas de SNF tm sido propostas na literatura. Devido natureza dual destes sistemas,
props-se a diviso da taxonomia desses SNF em duas categorias:
quanto s caractersticas fuzzy do sistema;
quanto s caractersticas de aprendizado.

Conforme pode ser observado, uma categoria contempla o lado fuzzy enquanto a outra contempla o lado
neural (referente s caractersticas de aprendizado) dos SNF. Os grficos da Figura 28 e Figura 29 apresentam a
taxonomia proposta de acordo com as duas categorias definidas, isto , de acordo com as caractersticas fuzzy
dos sistemas e com as caractersticas de aprendizado, respectivamente.

S.N.F.

Modelo Fuzzy

- Mamdani
- Takagi-Sugeno
- Tsukamoto
- Classificao

Formato das
funes de
pertinncia (FP)

- Triangular
- Trapezoidal
- Gaussiano
- Sino
- Sigmoidal
- Singleton

(Sistemas
Neuro-Fuzzy)

Figura 28: Taxonomia

Particionamento
do espao de E/S

- Fuzzy Grid
- Adaptive fuzzy Grid
- Fuzzy Boxes
- Fuzzy Clusters
- BSP
- Quad Tree

Mtodo de
Defuzzificao

- Centro de rea
- Mdia Ponderada
- Centro de Somas
- Caixa Preta (Black Box)
- Outros

quanto s caractersticas fuzzy do sistema

- 52
ICA Lab. Inteligncia Computacional Aplicada , DEE, PUCRio (Verso 26/08/99)

Apresentao dos
padres de
treinamento

- Aprendizado On Line
- Aprendizado Off Line

- Com apoio de especialista


- Identificao
Prvia

-Mtodo Auto-Organizado

- Identificao
Automtica

- Incremental

Identificao da
estrutura

SNF

-Mtodo da distribuio Uniforme


das FPs

- Decremental

- Antecedentes
Identificao dos
parmetros

- Antecedentes e Consequentes
- Antecedentes.,Conseqentes., e Peso das regras

Figura 29: Taxonomia

quanto s caractersticas de aprendizado

Taxonomia quanto s caractersticas fuzzy


Com relao s caractersticas fuzzy dos sistemas Neuro-Fuzzy, dividiu-se a taxonomia em quatro subclasses:
Modelo Fuzzy
Formato das funes de pertinncia
Particionamento do espao de entrada/sada
Mtodo de defuzzificao
Essas caractersticas esto descritas a seguir.
Quanto ao Modelo Fuzzy implementado
As regras fuzzy formam a parte fundamental da estrutura de conhecimento em um sistema fuzzy de inferncia.
Os formatos de regras fuzzy podem ser divididos em quatro grupos principais, conforme mostrado na taxonomia
da Figura 28. Os trs primeiros - Mamdani, Takagi-Sugeno e Tsukamoto - correspondem ao modelo de
inferncia fuzzy. A diferena bsica entre esses trs primeiros modelos recai no tipo de consequente e no
procedimento de defuzzificao. O quarto formato foi includo para contemplar os sistemas fuzzy de

classificao. A seguir so descritos os quatro formatos. Por simplicidade, somente modelos


de regras com duas entradas e uma sada so usados nos exemplos.

- 53
ICA Lab. Inteligncia Computacional Aplicada , DEE, PUCRio (Verso 26/08/99)

Mamdani
Regra : If x is A and y is B Then z is C

Este modelo foi proposto, inicialmente, como uma tentativa para controlar um conjunto turbina a
vapor/boiler, usando regras derivadas de um especialista humano. A Figura 30, a seguir, ilustra como a sada z
de um sistema de inferncia do tipo de Mamdani gerada.

Regra 1 -

Regra 2 -

Figura 30: Modelo

de Mamdani com composio Min/Max

A sada precisa (crisp) z obtida pela defuzzificao do conjunto fuzzy de sada resultante da aplicao
da operao de t-conorm* sobre os conjuntos consequentes que, por sua vez, foram modificados via t-norm*
(implicao) pelo grau de disparo (firing strength) do antecedente.
* t-norm e t-conorm so definies genricas de operaes que implementam a interseo (AND) e a unio (OR)
entre conjuntos fuzzy.
Takagi-Sugeno

Regra : If x is A and y is B Then z = f ( x , y )


Neste caso, a sada de cada regra uma funo das variveis de entrada. Geralmente, a funo que mapeia
a entrada e sada para cada regra uma combinao linear das entradas, isto z = px1 + qx2 + r. No caso em que
p=q=0, temos z = r (fuzzy singleton). A sada do sistema obtida pela mdia ponderada (procedimento de
defuzzificao) das sadas de cada regra, usando-se o grau de disparo (firing strength) destas regras como pesos
da ponderao. A Figura 31, a seguir, ilustra este modelo.

- 54
ICA Lab. Inteligncia Computacional Aplicada , DEE, PUCRio (Verso 26/08/99)

Figura 31: Modelo

de Takagi-Sugeno

- 55
ICA Lab. Inteligncia Computacional Aplicada , DEE, PUCRio (Verso 26/08/99)

Tsukamoto

Regra : If x is A and y is B Then z is C (monotnica)

Neste sistema fuzzy de inferncia o consequente de cada regra representado por um conjunto fuzzy com
uma funo de pertinncia monotnica. A Figura 32, a seguir, ilustra este modelo e mostra o procedimento para
o clculo da sada z.

Regra 1

Regra 2

Figura 32: Modelo

de Tsukamoto

Modelo fuzzy para Classificao


Regra : If x is A and y is B Then pattern (x,y) belongs to class i
Este ltimo formato de regras fuzzy foi acrescentado aos modelos clssicos anteriores pelo fato dos
demais no serem adequados aos sistemas de inferncia fuzzy desenvolvidos para tarefas de classificao. Os
modelos clssicos so mais adequados para aplicaes em controle, previso, reconhecimento de padres,
aproximao de funes, sistemas especialistas , etc. A Figura 33, a seguir, ilustra um exemplo de um sistema
fuzzy para classificao com duas entradas e trs classes de sada.

- 56
ICA Lab. Inteligncia Computacional Aplicada , DEE, PUCRio (Verso 26/08/99)

A1

B2

mn
Classe 1

Regra 1

w1 => 0,3

A1

B1

mn

Regra 2

Mx, Z1= 0,3

w2 => 0,15

A2

B2

mn

Regra 3

Classe 2
w3 => 0,9

A2

B3

mn

(Classe vencedora)
Mx, Z2=0,9

Regra 4
w4 => 0,0

A3

Regra 5

mn

B1

Classe 3

w5 => 0,0

B3

A3

Regra 6

mn

Mx, Z3=0,0

w6 => 0,0

xk1

xk2

Figura 33: Sistemas Fuzzy de Classificao com duas entradas e trs classes de sada
Neste caso as sadas so calculadas diretamente pelas operaes de t-conorm aplicadas sobre o grau de
disparo das regras (t-norms). Neste caso no h procedimento de defuzzificao.

Quanto ao formato das Funes de Pertinncia (FPs)


Vrios perfis de FPs so encontrados na implementao de sistemas fuzzy e neuro-fuzzy. Nesta seo
sero apresentados os 5 tipos mais comuns de funes de pertinncia.
Triangular - Esse perfil tem a vantagem de ser computacionalmente simples. descrito por trs variveis : SL,
C e SR (Spread Left, Center e Spread Right) e definido pelas expresses abaixo:

( x ) =
( x ) =

x SR
C SR

( x) = 0

x SL
C SL

, para SL x C

, para C x SR
, caso contrrio

A Figura 34, abaixo, ilustra um exemplo de uma FP de perfil triangular, com seus parmetros
descritores.

(x)

- 57
ICA Lab. Inteligncia Computacional Aplicada , DEE, PUCRio (Verso 26/08/99)

0
SL
Figura 34: Funo

SR

de pertinncia de formato triangular

Trapezoidal - Pode ser descrito por trs variveis: u, v e d que regula a inclinao das bordas da FP
trapezoidal (mais crisp ou mais fuzzy). As expresses a seguir definem este perfil.

( x ) = [1 g ( x v , d ) g (u x , d )]

1 , se s. d > 1

onde, g ( s, d ) = s. d , se 0 s. d 1

0 , se s. d < 0
A Figura 35, a seguir, ilustra uma FP de formato trapezoidal como descrito pelas expresses dadas
acima.

(x)
1.0
tg = d

0.0

u+1/d

v-1/d

Figura 35: Funo de pertinncia com formato trapezoidal


Outras FP trapezoidais utilizam quatro parmetros, permitindo que as bordas do trapzio tenham
diferentes inclinaes. A Figura 36 ilustra um exemplo de tal FP, descrita pelas expresses seguintes.

0, x a
1-(b-x)/(b-a) , a < x b

(x) =

1, b < x c
(d-x)/(d-c), c < x d
0, x>d

Onde a, b, ce d, so parmetros do formato da FP.

- 58
ICA Lab. Inteligncia Computacional Aplicada , DEE, PUCRio (Verso 26/08/99)

(x)
1.0

0.0

Figura 36: Funo de pertinncia com formato trapezoidal descrita por 4 parmetros
Gaussiano - Este perfil descrito pela expresso abaixo, onde m a mdia e v o desvio padro:

( x ) = e

x m 2

Este formato de FP empregado em aplicaes de agrupamentos (clusters) que utilizam medidas de


similaridade (por ex. distncia euclidiana), ou seja, padres semelhantes exibem pequenas distncia entre si.
Quanto mais prximo da mdia m est o padro, maior o grau de pertinncia do mesmo. A Figura 37, a seguir,
ilustra este formato.

(x)

1/e
0

x
c-v

c+v

Figura 37: Funo de pertinncia de formato gaussiano

Sino - Este perfil de funo de pertinncia definido pela expresso abaixo:


onde a varivel c define o centro da FP, a define a largura e b o decaimento da FP. Conforme mostrado na
Figura 38, seu perfil bem parecido com o perfil do formato anterior. Entretanto, o esforo computacional para o
seu clculo menor por no envolver exponenciais.

- 59
ICA Lab. Inteligncia Computacional Aplicada , DEE, PUCRio (Verso 26/08/99)

(x)

tg = -b/2a

1/2

x
c-a c

c+a

Figura 38: Funo de pertinncia com formato sino


Sigmoidal - Este perfil baseado na funo sigmide to conhecida no estudo das redes neurais. As FPs deste
tipo so criadas utilizando-se apenas uma (perfil monotnico) ou duas funes sigmides superpostas (perfil em
formato sino).
Perfil monotnico - Descrito por duas variveis: a que define o grau de nebulosidade (sua inclinao no ponto
de transio) da FP e b que define o ponto de transio. A expresso da FP dada pela equao abaixo e seu
formato ilustrado na Figura 39, a seguir:

( x ) = sig ( x , a , b) =

1
1+ e

a ( x b)

(x)
, tg ~ a

x
x=b

Figura 39: Funo de pertinncia com formato sigmoida

Perfil em Formato Sino - Descrito por quatro variveis a1, a2, b1 e b2 referentes s duas sigmides
superpostas. A definio da FP dada pelas expresses a seguir:
com b1 < b2. A Figura 40, a seguir, mostra um exemplo deste perfil de FP.

- 60
ICA Lab. Inteligncia Computacional Aplicada , DEE, PUCRio (Verso 26/08/99)

(x)

Figura 40: Funo de pertinncia com formato sigmoidal/sino


A principal diferena entre as FPs com formato de sino vistas anteriormente e esta FP implementada por
duas sigmides o fato de que esta permite a construo de FPs no simtricas, ou seja, o decaimento e a largura
de cada lado do sino podem ser diferentes.
As FPs descritas acima podem ser utilizadas tanto nos termos antecedentes quanto nos termos
consequentes das regras. Entretanto, um tipo de FP muito frequente entre os consequentes dos SNF o chamado
Fuzzy Singleton. Este formato compreende uma FP que apresenta o grau de pertinncia igual a 1 apenas em um
ponto de seu domnio, e o grau 0 (zero) nos demais pontos. Sua principal vantagem simplificar o processo de
defuzzificao do sistema fuzzy. A Figura 41 ilustra um exemplo de FP Fuzzy Singleton ou simplesmente
Singleton. Nela o grau de pertinncia da FP assume o valor 1 apenas para x=a.

(x)

0
Figura 41: Funo

x=a

de pertinncia Fuzzy Singleton

Quanto ao Particionamento do espao de E/S


As variveis de entrada/sada dos sistemas de inferncia fuzzy so divididas em vrios termos lingsticos
(por ex. baixo, mdio e alto) que so utilizados pelas regras fuzzy. O particionamento do espao de entrada
indica a forma como as regras fuzzy esto relacionadas com este espao. O particionamento do espao de sada
costuma ser mais simples e est associado aos conseqentes das regras.
A Figura 42, a seguir, mostra vrios tipos de particionamentos possveis para o espao de entrada. Os
exemplos ilustrados nesta figura referem-se a sistemas com duas variveis de entrada, mas podem ser
generalizados. Desta forma, as variveis do espao de entrada correspondem dimenso horizontal e vertical de
cada figura.
- 61
ICA Lab. Inteligncia Computacional Aplicada , DEE, PUCRio (Verso 26/08/99)

(a)Fuzzy Grid

(b) Adaptive Fuzzy Grid

(c)Fuzzy Boxes

(d) Fuzzy Clusters

(e) BSP

(f) Quad Tree

x2

x1,x2 - Variveis de entrada

x1
Figura 42: Particionamentos

possveis para o espao de entrada

O particionamento Fuzzy Grid da Figura 42a fixo, no permitindo ajustes nas funes de pertinncia. Os
sistemas que o utilizam ajustam apenas os parmetros dos conseqentes.
Na Figura 42b, o particionamento Adaptive Fuzzy Grid, como o prprio nome diz, adaptativo, e permite
ajustes nos perfis das funes de pertinncia. Os particionamentos Fuzzy Grid so simples e intuitivos, porm,
medida que o nmero de variveis de E/S aumenta, o nmero de parties cresce combinatoriamente. Em alguns
casos isto pode levar a situaes em que o tamanho da memria torna-se impraticavelmente grande.
A Figura 42c e a Figura 42d mostram os particionamentos Fuzzy Box e Fuzzy Cluster, respectivamente.
O primeiro (Figura 42c) aparece em sistemas que utilizam a verso fuzzy das redes neurais ART, como fuzzy
ART de Carpenter et al., ou no SNF chamado Fuzzy Self-Organized Map - FSOM - de Vuorimaa. O segundo
(Figura 42d) gerado por redes neurais do tipo das Redes de funes de Bases Radiais (Radial Basis Function RBFs), que para alguns pesquisadores da rea podem ser encaradas tambm como um SNF. Tanto o FSOM
quanto as RBFs usam alguma medida de similaridade entre padres para o clculo dos centros de suas funes
de pertinncia.

- 62
ICA Lab. Inteligncia Computacional Aplicada , DEE, PUCRio (Verso 26/08/99)

Os particionamentos das Figura 42e (BSP) e Figura 42f (Quadtree) so flexveis e minimizam, um pouco,
o problema do crescimento exponencial do nmero de regras pois s criam novas regras localmente, conforme o
conjunto de treinamento. Sua vantagem principal permitir a criao de sistemas que constrem sua prpria
estrutura de forma automtica (proposta deste trabalho).

Quanto ao mtodo de defuzzificao


Uma vez feitas as avaliaes das proposies (regras) fuzzy, deve-se determinar o valor real da sada do
sistema fuzzy. Este processo chama-se Defuzzificao.
Vrias estratgias de defuzzificao tm sido propostas. Neste trabalho procurou-se descrever os mtodos
de defuzzificao mais encontrados nos SNF. Estes so descritos a seguir.
COA ( Centro de rea) - um dos mtodos mais utilizados. Supondo-se um universo de discurso discreto, a
sada crisp z produzida pelo clculo do centro de gravidade do conjunto fuzzy consequente c obtido pela
composio das regras. A expresso da sada z dada por:
m

Z=

c ( Zi ) * Zi

i =0

c ( Zi )

i =0

onde m o nmero de intervalos de quantizao da sada, Zi o valor da varivel de sada para o intervalo de
quantizao ie c(Zi) seu grau de pertinncia.
MP (Mdia Ponderada) - Quando apenas singletons so usados como consequentes das regras fuzzy, este o
mtodo naturalmente indicado, pois combina os consequentes das regras fuzzy com o nvel de disparo de cada
uma delas, gerando uma sada z de acordo com a expresso:
n

Z=

i =1

i * Zi
n

i =1

onde n o nmero de regras fuzzy, i o nvel de disparo da regra i, e Zi o valor do singleton i. Este
mtodo tambm utilizado na defuzzificao dos modelos fuzzy de Takagi-Sugeno de 1 a ordem (sada
combinao linear das entradas), conforme ilustrado na figura 2.7, e Tsukamoto que utiliza funes monotnicas
nos conseqentes das regras, conforme mostrado na figura 2.8.
Centro de Somas - Este mtodo uma simplificao do mtodo do centro de gravidade. Sua vantagem o
menor esforo computacional no clculo da sada quando comparado ao mtodo do COA. A sada z dada pela
expresso:
n

Z=

C u ( Bi

i =1
n

i =1

Area ( Bi i )

onde,
Bi (i =1, ....,n) so os termos lingusticos dos consequentes,

i o nvel de disparo da regra i,


Bii o conjunto fuzzy obtido atravs do mtodo de implicao de Mamdani, ou seja, Bi cortado em
icomo na Figura 43 abaixo.

u
C ( Bi i ) = Centroid ( Bi i ) x Area ( Bi i ).

- 63
ICA Lab. Inteligncia Computacional Aplicada , DEE, PUCRio (Verso 26/08/99)

Bi

i
Bii
x
Figura 43: Conjunto fuzzy Bi

obtido pelo corte de Bi no patamar dado por i

Defuzzificao Caixa Preta - Este mtodo faz uso de uma rede neural para implementar a etapa de
defuzzificao de um SNF. Os mtodos mais comuns de defuzzificao (por ex. centro de rea) podem ser
implementados atravs de redes neurais. Neste mtodo, os valores dos nveis de disparo de cada regra so
ponderados e somados em neurnios com funo de ativao sigmide, ou seja, so entradas da RNA que realiza
a defuzzificao.
Um estudo sobre as propriedades das redes neurais utilizadas para defuzzificao encontrado em Song.
Halgamuge utiliza um mtodo de defuzzificao black-box em seu sistema neuro-fuzzy FuNe I.
Taxonomia quanto s caractersticas de aprendizado
Dividiu-se em trs subclasses a taxonomia quanto s caractersticas de aprendizado dos sistemas neurofuzzy:
quanto apresentao dos padres de treinamento;
quanto ao mtodo de identificao da estrutura;
quanto ao aprendizado dos parmetros.

Essas caractersticas esto descritas a seguir.


Quanto apresentao dos padres de treinamento
A apresentao dos padres de treinamento pode ser realizada de duas formas diferentes: o aprendizado
Off-line e o aprendizado On-line.
Aprendizado Off-line
A atualizao dos parmetros/estrutura acontece somente aps a apresentao de todo o conjunto de
treinamento, isto , aps uma poca ou varredura. Esta forma requer um conjunto de dados de treinamento
disponvel antes da identificao da estrutura e dos parmetros, o que em certas situaes pode se constituir em
um problema.
Aprendizado On-line
A atualizao dos parmetros acontece logo aps cada par de treinamento ter sido apresentado. Esta
estratgia de aprendizado indicada para sistemas com caractersticas variantes ou quando no se tem mo,
previamente, um conjunto de dados de treinamento.

- 64
ICA Lab. Inteligncia Computacional Aplicada , DEE, PUCRio (Verso 26/08/99)

Quanto ao mtodo de identificao da estrutura


A identificao da estrutura est relacionada determinao de um nmero adequado de regras fuzzy e de
um particionamento de E/S satisfatrio, com o esboo inicial das FPs. H duas vertentes principais para
promover a identificao da estrutura de um SNF: Identificao Prvia e Identificao Automtica.

Identificao Prvia
Este tipo de identificao precede o ajuste dos parmetros do sistema. Utiliza-se para tal um
conhecimento prvio do sistema a ser desenvolvido. Pode-se destacar trs mtodos para realizar tal tarefa:
a)Mtodo com apoio do especialista
Neste mtodo, o conhecimento prvio explcito e proveniente de especialista(s). A criao das regras e o
esboo preliminar das FPs envolve um domnio de conhecimento de interesse especfico, o apoio de um ou mais
especialistas neste domnio e um engenheiro do conhecimento capaz de extrair este conhecimento do especialista
e express-lo em termos de proposies fuzzy e variveis lingusticas.
b)Mtodo Auto-Organizado e Aprendizado Competitivo
Aqui o conhecimento prvio implcito e proveniente de um conjunto de dados de treinamento. Utilizase, inicialmente, um algoritmo neural no-supervisionado e auto-organizado (por ex. SOM de Kohonen) para
determinar os valores iniciais dos centros das FPs, ou algum outro mtodo estatstico de agrupamento
(clustering). Uma vez achados os centros das FPs, seus parmetros referentes largura podem ser
determinados heuristicamente por algoritmos como por exemplok-nearest-neighbors ou first-nearestneighbors. Em seguida, criam-se algumas regras, a partir dos primeiros padres apresentados no treinamento. O
antecedente das regras criado tomando-se os conjuntos fuzzy que tiverem maior grau de pertinncia para o
padro sob treinamento. Havendo conflito entre as regras, aplica-se um processo baseado em competio entre
estas. Por exemplo aplica-se um padro na entrada do sistema e verifica-se qual regra exibe maior grau de
disparo. Esta regra ser a regra vencedora, daquele padro, para o algoritmo de aprendizado.
c)Mtodo da Distribuio Uniforme das FPs
Neste mtodo as FPs so criadas atravs de uma distribuio uniforme sobre o universos de discurso das
caractersticas do espao de E/S (particionamento fuzzy grid). Aps esta etapa o aprendizado competitivo
usado para a criao das regras fuzzy.
Nada impede que se utilize um dos dois mtodos acima descritos (b e c) mesclados com o primeiro (a),
promovendo o que se pode chamar de integrao do conhecimento.
Identificao Automtica
Na identificao/gerao automtica o aprendizado das regras pode ser feito de forma incremental ou
decremental.
O aprendizado incremental das regras significa partir inicialmente de uma base de regras vazia (camada de
regras vazia) ou de uma regra default (Vuorimaa) e adicionar novas regras segundo uma determinada heurstica.
Geralmente isto s possvel com o conhecimento da sada desejada (aprendizado supervisionado).
O aprendizado decremental das regras inicia-se com um conjunto superestimado de regras, o que pode gerar um
sistema inconsistente. Segue-se ento um processo de eliminao de regras suprfluas, tornando o sistema
consistente. Tal procedimento computacionalmente dispendioso, mas pode ser feito quando no h informao
disponvel sobre a sada desejada (o reinforcement learning aplicvel).
Quanto ao aprendizado dos parmetros
Como identificao dos parmetros entende-se o ajuste dos parmetros do sistema, tais como os pesos
fuzzy que definem os perfis das FPs dos antecedentes e consequentes das regras fuzzy, e o peso ou importncia
relativa destas regras. Nem todos os SNF utilizam ajuste do peso das regras. Neste caso, o peso fixo e de valor

- 65
ICA Lab. Inteligncia Computacional Aplicada , DEE, PUCRio (Verso 26/08/99)

unitrio, o que permite uma boa interpretao semntica das regras fuzzy levantadas pelo processo de
aprendizado.
Aps a definio da estrutura (ou durante esta), os pesos fuzzy e, se for o caso, os pesos das regras do
sistema NF, devem ser ajustados por algum critrio para minimizar o erro. No que se refere a este item da
taxonomia, pode-se dividir os SNF em trs tipos:

Sistemas com identificao apenas dos antecedentes


So encontrados entre os sistemas voltados para tarefas de classificao. Neste caso no h consequentes
a ser ajustados. O perfil das FPs dos antecedentes das regras fuzzy geralmente ajustado por um algoritmo
supervisionado de retropropagao do erro. Um exemplo tpico o NEFCLASS de Nauck.

Sistemas com identificao dos antecedentes e consequentes


Representam a grande maioria dos SNF. Neste caso o peso de cada regra fixo e de valor unitrio, o que
permite uma fcil interpretao do significado das regras. O aprendizado dos antecedentes e consequentes pode
ser feito simultaneamente, ou em dois passos. Um exemplo inovador desse tipo de SNF o FSOM (Fuzzy SelfOrganized Map) de Vuorimaa. Este utiliza um algoritmo supervisionado chamado LVQ (Learning Vector
Quantization) no ajuste dos antecedentes e um algoritmo gradiente decrescente no ajuste dos consequentes.
Sistemas com identificao dos antecedentes, consequentes e peso das regras
Nesses sistemas o aprendizado de todos os parmetros realizado de uma forma global atravs de um
algoritmo supervisionado que os ajusta num mesmo passo. Geralmente utilizado o algoritmo de
retropropagao do erro, em uma verso modificada que visa permitir o treinamento com funes de ativao
no diferenciveis, como por exemplo a operao de mnimo usado como T-norm. No instante da
retropropagao do erro verifica-se que antecedente gerou o valor mnimo e ajusta-se apenas o conjunto fuzzy
deste antecedente pelo mtodo Gradient Descent.
Exemplos de Modelos Neuro-Fuzzy
Nesta seo descrevem-se, de forma sucinta, trs dos sistemas Neuro-Fuzzy mais conhecidos: ANFIS,
FSOM e NEFCLASS. Com isto espera-se tornar mais clara a compreenso de um sistema Neuro-Fuzzy
qualquer.
ANFIS
O sistema Neuro-Fuzzy ANFIS foi criado por Jang e sua sigla significa Adaptive Network-based Fuzzy
Inference System. Sua popularidade j o levou a ser inserido no MATLAB. A figura 2.20, abaixo, ilustra um
exemplo de uma arquitetura ANFIS. Esta arquitetura pode ser usada na implementao de sistemas para previso
e aproximao de funes, embora o autor tenha proposto variantes para outras aplicaes.
Funcionalmente esta arquitetura equivalente a um sistema de inferncia fuzzy de Tsukamoto, embora se
possa implementar, tambm, um sistema de inferncia fuzzy de Takagi-Sugeno. Para um melhor entendimento
desta arquitetura as suas camadas so descritas a seguir:
Camada1
Computa o grau de pertinncia com que as entradas precisas (crisp) x1 , x2 , x3 , satisfazem os termos
lingusticos (Ai = Alto e Bi = Baixo) associados a estes ns. Os parmetros que definem os perfis de cada termo
so encarados como pesos fuzzy. Assim, se o conjunto fuzzy A1 na Figura 44 for de formato sigmide, os
parmetros a e b correspondero aos pesos do 1o. processador fuzzy da camada 1. No exemplo da Figura 44,
cada entrada tem apenas dois termos lingsticos (alto e baixo), porm, nada impede que este nmero seja maior.

Camada2

- 66
ICA Lab. Inteligncia Computacional Aplicada , DEE, PUCRio (Verso 26/08/99)

Cada n desta camada corresponde a uma regra e computa o nvel de disparo (firing strength) da regra, ou
seja, calcula com que grau de pertinncia o consequente da regra est sendo atendido. Os neurnios desta
camada simbolizam a operao de t-norm. No exemplo da Figura 44 as sadas dos neurnios da camada 2 so
dadas por:
S1=A1(x1) * A2(x2) * A3(x3)
S2=B1(x1) * B2(x2) * A3(x3)
S3=B1(x1) * B2(x2) * B3(x3)
Onde *representa o operador t-norm.

A1

x1

S1

S1

C1

B1

h1

A2
S2

x2

S2

C2

h2

B2

A3

x3

S3

S3

C3

h3

B3

Camada1
Figura 44: Arquitetura

Camada2

Camada3

Camada4

Camada5

Neuro-Fuzzy (ANFIS)

Camada3
Esta camada realiza uma normalizao (nem sempre existente em outras arquiteturas) nos nveis de
disparo das regras. Por isso, cada um de seus ns est rotulado pela letra N. A normalizao neste sistema
utilizada como um pr-processamento para a defuzzificao. As sadas dos ns desta camada, referentes Figura
44, so dadas por:
S1=S1/(S1+S2+S3)
S2=S2/(S1+S2+S3)
S3=S3/(S1+S2+S3)
Camada4
Aqui as sadas dos neurnios so calculadas pelo produto entre os nveis de disparo normalizados (Si,
i=1,2 e 3) e o valor do conseqente da regra em si. Os valores de sada de cada n desta camada (Figura 44) so
dados por:
h1=S1. C1
h2=S2. C2
h3=S3. C3

- 67
ICA Lab. Inteligncia Computacional Aplicada , DEE, PUCRio (Verso 26/08/99)

onde os valores Ci correspondem aos conseqentes singletonsou aos conseqentes de Sugeno de primeira
ordem (combinaes lineares das entradas).

Camada5
O n desta ltima camada da arquitetura da Figura 44 calcula a sada do sistema e, juntamente com os ns
das camadas 3 e 4, promove a defuzzificao. Sua sada dada por:
Z = h1+h2+h3 =
S1. C1 (S1) + S2. C2 (S2) + S3. C3 (S3)
Z=
S1 + S2 + S3
Este sistema utiliza o particionamento Fuzzy-grid Adaptativo. Seu aprendizado (identificao da estrutura
e parmetros) feito em duas etapas que se repetem at que o critrio de parada seja alcanado:
Etapa 1 - fixam-se os parmetros das premissas (antecedentes) e os conseqentes so ajustados pelo mtodo
MQO, estimao por mnimos quadrados ordinrios.
Etapa 2 - fixam-se os parmetros dos conseqentes e os parmetros dos antecedentes so ajustados pelo
algoritmo GD.

FSOM
O sistema Neuro-Fuzzy FSOM (Fuzzy Self-Organized Map) foi desenvolvido por Vuorimaa e utiliza o
particionamento fuzzy-box no espao de entrada. As funes de pertinncia utilizadas nos antecedentes das
regras tm perfil triangular e so descritas por trs parmetros: centro (c), largura esquerda (sl) e largura direita
(sr). Os conseqentes das regras so singletons ou combinaes lineares das entradas. O formato de uma regra
fuzzy i, neste sistema, como visto abaixo:
if x1 Ui,1 and x2 Ui,2 and x3 Ui,3 and then y = ai
onde cada condio (xj Ui,j ) interpretada como o grau de pertinncia Ui,j(xj) do valor xj no conjunto fuzzy
Ui,j . O nvel de disparo (firing strength) de cada regra calculado de acordo com:
i = min { Ui,1(x1), Ui,2(x2), .... Ui,n(xn) }
O mtodo de defuzzificao empregado o mtodo da mdia ponderada. Desta forma, o valor de sada
calculado pela equao abaixo.
m

y=

s
i=1

i=1

onde,

Si so os singletons referentes sada de cada regra;


i so os nveis de disparo das regras;

m o nmero de regras.

O mtodo de treinamento deste sistema Neuro-Fuzzy realizado em trs etapas:

- 68
ICA Lab. Inteligncia Computacional Aplicada , DEE, PUCRio (Verso 26/08/99)

1) primeiro os parmetros dos centros (Ci) dos conjuntos fuzzy so auto-organizados pelo algoritmo SOM de
Kohonen;
2) em seguida, os conjuntos fuzzy so formados em volta destes centros, usando-se para tal uma largura
constante w 0, de forma que: sl = c - w0 e sr = c + w0. Os valores dos conseqentes singletons da regras so
calculados inicialmente segundo a equao abaixo:
M

si =

k =1

i, k

y k

k =1

i,k

onde,

yk - a sada desejada para o padro k;


M - o nmero de padres no conjunto de treinamento;
i,k - o nvel de disparo da regra i para o padro k;
Si - o conseqente (singleton ou comb. linear) da regra i ;
3) por fim, os conjuntos fuzzy dos antecedentes so ajustados por um algoritmo semelhante ao LVQ 2.1 tambm
criado por Kohonen.
A figura 2.21, a seguir, mostra um sistema FSOM com duas entradas e uma sada. Este modelo usa
como conseqentes combinaes lineares das entradas x1 e x2 (camada 4 da Figura 45). A descrio das camadas
deste SNF semelhante s do sistema ANFIS, exceto pelo fato deste sistema utilizar o particionamento do tipo
fuzzy box.

x1 x2

Entradas

regra 1

x1

mn
regra 2

x2

mn

C1

C2

norm

x1 x2

C4

C5

Sada

norm

C3

Figura 45: Arquitetura de um FSOM com duas entradas e uma sada


H dois trabalhos relatando a aplicao do FSOM em aproximao de funes e controle.
NEFCLASS
O sistema Neuro-Fuzzy NEFCLASS foi desenvolvido por Nauck e Kruse e sua aplicao bsica em
sistemas de classificao. Nauck desenvolveu tambm dois outros sistemas Neuro-Fuzzy, um para aplicaes em
- 69
ICA Lab. Inteligncia Computacional Aplicada , DEE, PUCRio (Verso 26/08/99)

controle - NEFCON e outro para aplicaes em previso e aproximao de funes - NEFPROX. Todos eles
esto disponveis (cdigo e artigos) na internet. Um exemplo de arquitetura desse sistema ilustrado na Figura
46.
As quatro camadas desta arquitetura esto descritas conforme se segue.
Camada de Entrada - Esta camada tem apenas a funo de direcionar os valores das entradas x1 e x2 para as
entradas das funes de pertinncia dos antecedentes das regras.

Camada de Antecedentes - Esta camada gera os graus de pertinncia dos antecedentes das regras. O universo de
discurso de cada varivel de entrada est dividido em trs conjuntos fuzzy (baixo, mdio e alto). O
particionamento do espao de entrada implementado por esta camada o adaptive fuzzy-grid.

Camada de Regras - Esta camada gera o nvel de disparo de cada regra atravs da operao T-norm realizada
entre os graus de pertinncia dos conjuntos fuzzy que antecedem cada elemento desta camada.

Camada de Sada - Esta camada gera cada uma das sadas do classificador. As sadas so obtidas pela operao
de T-conorm entre os nveis de disparo da camada de regras. Os pesos que interligam a camada de regras e a
camada de sada (todos iguais a 1, no caso do NEFCLASS) indicam que cada regra tem um mesmo grau de
importncia entre si.
As regras fuzzy que descrevem os dados tm a forma:
if x1 1 and x2 2 and ....and xn n then pattern (x1,x2,....xn) belongs to class i
onde i so conjuntos fuzzy.
O modelo NEFCLASS descobre regras e ajusta o perfil das funes de pertinncia dos antecedentes. O
aprendizado deste sistema realizado em duas etapas separadas. A primeira utiliza um algoritmo para criar a
camada de regras. Esta camada pode ser inicializada a partir de um conhecimento prvio ou ser inicializada com
um conjunto vazio de regras e crescer com aprendizado incremental de regras. A segunda etapa utiliza um
algoritmo supervisionado de Gradient Descent para ajustar os perfis das funes de pertinncia dos
antecedentes das regras.

- 70
ICA Lab. Inteligncia Computacional Aplicada , DEE, PUCRio (Verso 26/08/99)

c1

r1

r2

11

21

r3

31

x1

Figura 46: Sistema

c2

Camada de
Sada

r5

r4

12

22

32

Camada de
Regras

Camada de
Antecedentes

Camada de
Entrada

x2

NEFCLASS com duas entradas, cinco regras e duas classes de sada

Taxonomia dos trs sistemas estudados

Apresentam-se, a seguir, duas tabelas que resumem a classificao dos trs sistemas Neuro-Fuzzy
anteriormente abordados segundo a taxonomia vista na seo neste captulo.
Tabela 7 apresenta a classificao dos sistemas ANFIS, FSOM e NEFCLASS segundo suas
caractersticas fuzzy: modelo fuzzy implementado, formato das funes de pertinncia (A - para antecedentes e
C para conseqentes), mtodo de particionamento e mtodo de defuzzificao.
Tabela 7: Caractersticas fuzzy dos trs sistemas em estudo. * Mtodo de deffuzificao: No existe
defuzzificao neste caso
Autor/
Sistema/
Referncia
Jang/
ANFIS/

Vuorimaa/
FSOM/

Modelo
Fuzzy

Formato
das
FPs

TakagiSugeno

Formato Sino (A)

TakagiSugeno

Triangular (A)
Singleton (C)

Particionamen
to de E/S

Mt.
de
Defuzz.

Aplicao

Fuzzy Grid

Mdia
Ponderada

Previso e
Aprox. de
funes

Fuzzy Box

Mdia
Ponderada

- 71
ICA Lab. Inteligncia Computacional Aplicada , DEE, PUCRio (Verso 26/08/99)

Aprox. de
funes e
controle

Nauck/
NEFCLASS/

Classificao

Triangular (A)

Adptive Fuzzy
Grid

Nenhum *

Classificao

A Tabela 8 apresenta a classificao dos trs sistemas segundo as caractersticas de aprendizado


(caractersticas neurais) : forma de apresentao dos padres, mtodos de identificao da estrutura e de
identificao dos parmetros.
Tabela 8: Caractersticas de aprendizado dos trs sistemas em estudo
Autor/
Sistema/
Referncia

Apres.
dos
padres

Identificao
da
estrutura

Identificao dos parmetros


Antecedentes
Conseqentes
Peso das

Regras
Passo
backward:
Conseqent
Gerao
prvia,
com
OFF line
e fixo
particionamento fuzzy
ou
gradiente
grid.
ON line
decrescente
ajusta
antecedente
.
Usa o
Centro das FPs achados
algoritmo
por SOM. FPs
LVQ2.1
OFF line
formadas em torno dos
para ajuste
centros. Regras geradas
dos
a partir dos
antecedente
agrupamentos
s.
(clusters).

Jang/
ANFIS/

Vuorimaa/
FSOM/

Nauck/
NEFCLASS/

Particionamento do
espao de entrada por
ON line
fuzzy grid. Regras so
ou
criadas atravs da
OFF line
heurstica de manter as
Rmelhores regras.

Passo
forward:
Antecedente
fixo. MQO
ajusta o
consequente

Usa um
mtodo de
ajuste por
gradiente
decrescente
p/ ajuste dos
consequente
s.

Usa
algoritmo
de
retropropag -------------ao do
erro
(modificad
o) para
ajuste dos
antecedente
s

Utiliza
normaliz
ao do
nvel de
disparo
das
regras

--------

Pesos
fixos e
iguais a
1.

Observaes

Ajuste dos
parmetros
realizado em
dois passos :
backward e
forward.

Sistema inova
no uso de um
algoritmo
supervisionado
(LVQ) para
ajuste dos
antecedentes.
No h
consequentes a
ajustar. Pesos
das regras
podem ser
ajustveis sob
pena de perda
de significado
semntico das
mesmas.

7.2.3. LIMITAES DOS SNF


De uma forma geral pode-se atribuir aos SNF duas principais limitaes:

1) o nmero reduzido de entradas com que eles trabalham;


2) e a forma limitada (em alguns casos inexistente) de criar sua prpria estrutura e regras.
A primeira limitao ocorre em funo da chamada de exploso combinatorial das regras devido ao
particionamento em forma de grade (fuzzy grid). Por exemplo, suponha que um determinado SNF tenha cinco
variveis de entrada e cada uma delas tenha seu universo de discurso subdividido em quatro conjuntos fuzzy,
conforme ilustrado na Figura 47.
- 72
ICA Lab. Inteligncia Computacional Aplicada , DEE, PUCRio (Verso 26/08/99)

1,00,01,00,01,00,01,00,01,0-

1b

1mb

1ma

1a
x1

2b

2mb

2ma

2a
x2

3b

3mb

3ma

3a
x3

4b

4mb

4ma

4a

Legenda
ib = baixoi
imb = mdio baixoi
ima = mdio altoi
ia = altoi

x4
5b

5mb

5ma

5a
x5

0,0-

Figura 47: Particionamento fuzzy grid em quatro conjuntos fuzzy para cinco variveis de entrada

Com este sistema de particionamento, pode-se chegar a um total de 1024 (4 5) regras. Suponha agora que
se tenha 20 entradas. Usando-se a mesma diviso nos universos de discurso para cada varivel de entrada, chegase a um total impraticvel de 1.099.511.627.776 (420) regras. Outras formas de particionamento como fuzzy
box, fuzzy clusters e formas recursivas podem minimizar este problema. A forma que desponta como mais
promissora para vencer esse problema o particionamento recursivo.
A segunda limitao est presente nos SNF atuais porque eles exibem (quando tal) uma capacidade
limitada de criar sua prpria estrutura. Alguns tm estrutura fixa, arbitrada a priori, e no permitem que ela varie.
Outros SNF, mais flexveis, tm alguma capacidade de alterar sua estrutura, permitindo que se altere o nmero
de divises no universo de discurso de algumas de suas variveis de entrada e, consequentemente, o nmero de
regras. Entretanto, esta habilidade reduzida e ainda o mantm refm do primeiro tipo de limitao. Uma
soluo para isto o uso, novamente, das formas de particionamento recursivas, que permitem a criao de SNF
com uma capacidade ilimitada de crescimento em sua estrutura.

8.

ALGORITMOS GENTICOS

8.1. RESUMO
Algoritmos Genticos so inspirados no princpio Darwiniano da evoluo das espcies e na gentica
[GOLD89]. So algoritmos probabilsticos que fornecem um mecanismo de busca paralela e adaptativa baseado
no princpio de sobrevivncia dos mais aptos e na reproduo. Este captulo apresenta os princpios bsicos dos
Algoritmos Genticos.

8.2. ALGORITMOS GENTICOS: PRINCPIOS E APLICAES


Algoritmos Genticos constituem uma tcnica de busca e otimizao, altamente paralela, inspirada no
princpio Darwiniano de seleo natural e reproduo gentica [GOLD89].

- 73
ICA Lab. Inteligncia Computacional Aplicada , DEE, PUCRio (Verso 26/08/99)

Os princpios da natureza nos quais os GAs se inspiram so simples. De acordo com a teoria de C.
Darwin, o princpio de seleo privilegia os indivduos mais aptos com maior longevidade e, portanto, com
maior probabilidade de reproduo. Indivduos com mais descendentes tm mais chance de perpetuarem seus
cdigos genticos nas prximas geraes. Tais cdigos genticos constituem a identidade de cada indivduo e
esto representados nos cromossomas.
Estes princpios so imitados na construo de algoritmos computacionais que buscam uma melhor
soluo para um determinado problema, atravs da evoluo de populaes de solues codificadas atravs de
cromossomas artificiais.
Em GAs um cromossoma uma estrutura de dados que representa uma das possveis solues do
espao de busca do problema. Cromossomas so ento submetidos a um processo evolucionrio que envolve
avaliao, seleo, recombinao sexual (crossover) e mutao. Aps vrios ciclos de evoluo a populao
dever conter indivduos mais aptos.
A analogia entre Algoritmos Genticos e o sistema natural apresentada atravs da tabela abaixo:
Tabela 9
Natureza
Cromossoma
Gene
Alelo
Loco
Gentipo
Fentipo
Indivduo
Gerao

Algoritmos Genticos
Palavra binria, vetor, etc
Caracterstica do problema
Valor da caracterstica
Posio na palavra, vetor
Estrutura
Estrutura submetida ao problema
Soluo
Ciclo

Podemos caracterizar os Algoritmos Genticos atravs dos seguintes componentes:


1.
2.
3.
4.
5.
6.
7.

Problema a ser otimizado


Representao das Solues de Problema
Decodificao do Cromossoma
Avaliao
Seleo
Operadores Genticos
Inicializao da Populao

Algoritmos Genticos tm sido bem sucedidos em diversas reas de aplicaes, principalmente em


problemas de otimizao [DASG97]. Um problema de otimizao caracteriza-se fundamentalmente em
encontrar uma ou uma srie de boas solues entre um nmero muito grande de possveis solues (espao de
busca). Para alguns problemas, algoritmos de busca baseados em tcnicas matemticas so capazes de encontrar
solues timas. Entretanto, em problemas onde o espao de busca intratvel ou em problemas complexos de
difcil modelagem matemtica, estas tcnicas podem falhar [ DHAR97]. Nestes casos, tcnicas heursticas como
Algoritmos Genticos podem oferecer uma soluo tima ou sub-tima para o problema. Um Algoritmo
Gentico resolve problemas baseando-se no princpio de Darwin para a sobrevivncia dos indivduos mais aptos
(seleo natural), onde indivduos so solues que recombinam-se gerando novas solues que tendem a ser
melhores que as anteriores [DAVI96].
Algoritmos Genticos tornaram-se particularmente interessantes devido ao fato de no ser necessrio se
descrever como encontrar uma boa soluo. Tais solues podem ser encontradas de forma paralela, avaliandose e percebendo-se em que direo devem estar localizadas as melhores solues, ou solues potenciais.
O conceito de soluo em um Algoritmo Gentico na rea de minerao de dados pode ser caracterizado
por uma regra de associao [AGRA93]. Esta regra, representada num cromossoma, da forma SE (A1 e A2 e
A3 e ... An) ENTO P, onde os itens ou atributos do banco de dados {A1, A2, ,A3, ..., An} esto representados
simbolicamente como condies para que a concluso da regra, caracterizada por (P), seja verdadeira.
Representando regras dessa forma, pode-se ento procurar obter padres que caracterizem um banco de dados
atravs da evoluo gentica. A busca dessas regras o ponto crucial desta pesquisa, visto que o espao de busca
em geral muito grande e no se conhece, a princpio, mtodos no exaustivos de encontrar uma boa soluo.
Diante deste cenrio, onde tecnologias de banco de dados, minerao de dados e visualizao de dados
esto intrinsecamente ligadas, a descoberta de padres em forma de regras de associao, utilizando Algoritmos
Genticos, mostra-se como mais um mtodo promissor de extrair conhecimento.

- 74
ICA Lab. Inteligncia Computacional Aplicada , DEE, PUCRio (Verso 26/08/99)

A seguir apresentada uma breve discusso sobre cada um desses aspectos, exemplificando-se quando
apropriado.
1 Problema
GAs so particularmente aplicados em problemas complexos de otimizao: problemas com diversos
parmetros ou caractersticas que precisam ser combinadas em busca da melhor soluo; problemas com muitas
restries ou condies que no podem ser representadas matematicamente; e problemas com grandes espaos
de busca.
GAs tm sido aplicados a diversos problemas de otimizao, tais como: [MICH94] Otimizao de
Funes Matemticas, Otimizao Combinatorial, Otimizao de Planejamento, Problema do Caixeiro Viajante,
Problema de Otimizao de Rota de Veculos, Otimizao de Layout de Circuitos, Otimizao de Distribuio,
Otimizao em Negcios e Sntese de Circuitos Eletrnicos.
2 Representao
A representao de possveis solues do espao de busca de um problema define a estrutura do
cromossoma a ser manipulado pelo algoritmo. Tipicamente, a representao binria a mais empregada por ser
simples, fcil de manipular atravs dos operadores genticos, fcil de ser transformada em inteiro ou real e,
ainda, por facilitar a prova de teoremas.
Por exemplo, seja o problema de encontrar o valor mximo da funo f(x) = x2 , x inteiro [0,63].
Podemos representar as solues do problema atravs de um cromossoma de 6 bits.
C1
C2

0 0 1 0 0 1
0 0 0 1 0 0

representa x=9
representa x=4

Um binrio tambm pode representar um nmero real X R [Xmin,Xmx], com preciso de p casas
decimais. Para isso so necessrios K bits estimados pela relao:
Equao 20
2k (Xmx - Xmin) x 10p
A representao binria, entretanto, nem sempre pode ser empregada; o problema muitas vezes exige
um alfabeto de representaes com mais smbolos. Qualquer que seja a representao ela deve ser capaz de
representar todo o espao de busca que se deseja investigar.
3 Decodificao
A decodificao do cromossoma consiste basicamente na construo da soluo real do problema). O
processo de decodificao constri a soluo para que esta seja avaliada pelo problema. A vantagem da
representao binria a fcil transformao para inteiro ou real.
Na transformao para nmero real considera-se o intervalo de valores ou comprimento contnuo do
domnio (C) dos reais de tal forma que
Equao 21

X R = Xb

C
X min
2 1
n

Onde XR [Xmin,Xmx]; Xb o inteiro correspondente ao binrio; n o nmero de bits de do cromossoma; e


C, o comprimento do domnio da varivel X, dado por C = |Xmx Xmin|.
4 Avaliao
A avaliao o elo entre o GA e o mundo externo. A avaliao feita atravs de uma funo que melhor
representa o problema e tem por objetivo fornecer uma medida de aptido de cada indivduo na populao
corrente. A funo de avaliao para um GA o que o meio ambiente para seres humanos. Funes de
avaliao so especficas de cada problema. No exemplo, a funo matemtica f(x) = x2 mede aptido de cada
indivduo. C1 um indivduo mais apto que C2.
- 75
ICA Lab. Inteligncia Computacional Aplicada , DEE, PUCRio (Verso 26/08/99)

Tabela 10
Cromossoma
0 0 1 0 0 1
0 0 0 1 0 0

C1
C2

x
9
4

f(x)
81
16

5 Seleo
O processo de seleo em algoritmos genticos seleciona indivduos para a reproduo. A seleo
baseada na aptido dos indivduos: indivduos mais aptos tm maior probabilidade de serem escolhidos para
reproduo.
Assim, se fi a avaliao do indivduo i na populao corrente, a probabilidade pi do indivduo i ser
selecionado proporcional a
Equao 22

pi =

fi
n

j =1

fi

Onde n o nmero de indivduos na Populao.


A seleo em GAs tipicamente implementada por uma roleta onde cada indivduo representado por
uma fatia proporcional a sua aptido relativa.
5 Operadores Genticos
Indivduos selecionados (e reproduzidos na populao seguinte) so recombinados sexualmente atravs
do operador de crossover. O operador de crossover considerada a caracterstica fundamental dos GAs. Pares de
genitores so escolhidos aleatoriamente e novos indivduos so criados a partir da troca do material gentico. Os
descendentes sero diferentes de seus pais, mas com caractersticas genticas de ambos os genitores. Por
exemplo:
ponto de corte aleatrio
G1
1 1 0 0 0 0
G2
0 0 0 1 0 0

D1
D2

1 1 0 1 0 0
0 0 0 0 0 0

Na sua forma mais simples o crossover de um ponto de corte (one-point crossover) corta os dois genitores
em uma posio aleatoriamente escolhida, criando dois possveis descendentes:
D1 um cromossoma mais apto que seus genitores, todavia D2 um indivduo medocre (baixa avaliao
em f(x) = x2).
Os cromossomas criados a partir do operador de crossover so ento submetidos a operao de mutao.
Mutao um operador exploratrio que tem por objetivo aumentar a diversidade na populao.
O operador de mutao altera o contedo de uma posio do cromossoma, com uma determinada
probabilidade, em geral baixa (<1%).
C1
C1

1 1 1 1 0 0
1 1 1 1 0 1

antes
depois da mutao

H ainda um terceiro operador gentico denominado inverso, que troca de posio dois genes
aleatoriamente escolhidos. A importncia deste operador , no entanto, restrita a problemas com epistasia (forte
interao entre genes de um cromossoma) [MICH94].
7 Inicializao da Populao
A inicializao da populao determina o processo de criao dos indivduos para o primeiro ciclo do
algoritmo. Tipicamente, a populao inicial formada a partir de indivduos aleatoriamente criados. Populaes
- 76
ICA Lab. Inteligncia Computacional Aplicada , DEE, PUCRio (Verso 26/08/99)

iniciais aleatrias podem ser semeadas com bons cromossomas para uma evoluo mais rpida, quando se
conhece, a priori, o valor de boas sementes.
8 Parmetros e Critrios de Parada
Em um algoritmo gentico vrios parmetros controlam o processo evolucionrio:

Tamanho da Populao nmero de pontos do espao de busca sendo considerados em paralelo.


Taxa de Crossover probabilidade de um indivduo ser recombinado com outro.
Taxa de Mutao probabilidade do contedo de cada posio/gene do cromossoma ser alterado.
Nmero de Geraes total de ciclos de evoluo de um GA.
Total de Indivduos total de tentativas (tamanho da populao x nmero de geraes)

Os dois ltimos parmetros so em geral empregados como critrio de parada de um algoritmo gentico.
Um algoritmo gentico pode ser descrito como um processo contnuo que repete ciclos de evoluo controlados
por um critrio de parada, conforme apresentado pela figura abaixo:
Representao

F(x)
Problema

Populao
Inicial/
Corrente
Seleo

Critrio de
Trmino

Operadores
Genticos
Descendentes

Genitores

Figura 48
8.3. FUNDAMENTOS MATEMTICOS DE ALGORITMOS GENTICOS
Podemos compreender melhor o princpio de funcionamento de algoritmos genticos a partir da Teoria de
Schema (padres) formulada por John Holland em 1975.
John Holland definiu schema como um padro que descreve um conjunto de cromossomas com
similaridades em algumas posies.
Para representar schemata (plural de schema) utiliza-se um smbolo adicional "S".
Assim, para um espao de busca representado por KL existem (K+1) L schemata.
K nmero de smbolos do alfabeto
L comprimento do cromossoma
Seja K = 2 e L = 3 definido em espao de busca de 8 pontos. Seja o schema H = 11S. H descreve o
conjunto de elementos 111 e 110. H refere-se a conjectura que a razo pela qual 111 (ou 110) um bom (ou mal)
indivduo so os dois bits mais significativos iguais a 1, no importando (don't care) os demais. Esta conjectura
possui dois possveis representantes que podem ou no estar presentes em determinada gerao do GA.
Para compreendermos melhor porque os GAs funcionam, basta analisarmos o efeito dos processos de
seleo, recombinao e mutao sobre schemata. Utiliza-se nesta anlise duas definies:
O(H): ordem ou especificidade de um schema, como o nmero de posies fixas diferentes de S; e
d(H): comprimento do schema, como a distncia entre a 1 a e a ltima posies fixas.

8.3.1. Anlise do Efeito da Seleo

- 77
ICA Lab. Inteligncia Computacional Aplicada , DEE, PUCRio (Verso 26/08/99)

Seja m(H, t) o nmero de representaes de H em um ciclo t do algoritmo com n indivduos na


populao. Assim, podemos calcular o nmero provvel de representantes de H no prximo ciclo, seguinte
como:
Equao 23

m(H, t + 1 ) = n

fi

fj

i H
n
j =1

Define-se f(H) como a aptido mdia do schema H, dada por:


Equao 24

fi

f(H) =
m(H,t)
i H

Assim, podemos rescrever m(H, t+1) atravs da equao abaixo:


Equao 25

m(H, t + 1 ) = m(H, t) n

f(H)
n

j =1

fj

A aptido mdia da populao, dada pela equao a seguir, nos permite fazer uma ltima transformao
na frmula de m(H, t+1).
Equao 26
n

f =

j =1

fj

Equao 27

m( H , t + 1) = m( H , t )

f (H )
f

A interpretao desta equao reflete o efeito da seleo em GAs:


1) Schemata (padres) com aptido acima da mdia tendem a proliferar nas geraes seguintes.
2) Schemata com aptido abaixo da mdia tendem a desaparecer.
Para estimarmos a eficincia do processo de evoluo, suponha um schema H acima (ou abaixo) da
mdia de um fator C estacionrio, a partir de t = 0. Assim temos:
Equao 28

m(H , t ) = m(H , t )

f + Cf
= m(H , t ) (1 + C)
f

portanto,
Equao 29

m( H , t ) = m( H ,0) (1 + C ) t
- 78
ICA Lab. Inteligncia Computacional Aplicada , DEE, PUCRio (Verso 26/08/99)

Isto significa que o nmero de representantes de H em geraes sucessivas cresce (ou decresce)
exponencialmente durante a evoluo.

8.3.2. Anlise do Efeito do Crossover


Seja pd a probabilidade de destruio de um schema H pelo crossover de um ponto:
Equao 30

pd ( H ) =

( H )
L 1

Portanto,
Equao 31

ps (H ) = 1

( H )
L 1

a probabilidade de sobrevivncia desse padro.


Sendo pc a taxa de aplicao de crossover e considerando-se que o par genitor de um cromossoma pode
recuperar parte de um padro destrudo pelo crossover, temos a desigualdade:
Equao 32

p s 1 pc

( H )
L 1

Isto significa que schemata curtos tem maior probabilidade de sobrevivncia (se manter intacto) aps o
crossover.

8.3.3. Anlise do Efeito da Mutao


Seja pm a probabilidade do operador de mutao ser aplicado a uma determinada posio do cromossoma.
Assim a probabilidade de sobrevivncia do cromossoma
Equao 33

p s = (1 pm ) O ( H )
Para taxas de mutao pm << 1, temos
Equao 34

p s 1 p m O( H )
Isto significa que cromossomas de baixa ordem tem maiores chances de no serem destrudos pela
mutao.
Combinando o efeito da seleo, crossover e mutao, temos
Equao 35

f (H)

(H)
m(H,t + 1) m(H,t)
1 pc [1 pm O(H)]
L 1
f
Teorema fundamental de GAs:
- 79
ICA Lab. Inteligncia Computacional Aplicada , DEE, PUCRio (Verso 26/08/99)

Schemata curtos e de baixa ordem tendem a se proliferar ou desaparecer nas geraes seguintes, de
acordo com a aptido mdia.
8.4. DESEMPENHO DE ALGORITMO GENTICOS
Algoritmos genticos so sistemas no lineares com comportamento fortemente ecolgico. GAs
combinam mudanas aleatrias com processos probabilsticos. GAs so, portanto, estocsticos: dificilmente
repetem um resultado de um experimento para outro.
O desempenho de um algoritmo gentico medido pelo grau de evoluo alcanado durante todo o
processo evolucionrio (experimento). Devido natureza estocstica dos GAs necessrio se avaliar o resultado
mdio de vrios experimentos de um GA, para se ter uma idia de seu desempenho.
As principais medidas de desempenho so:
1.
2.
3.

Curva da mdia dos melhores cromossomas a cada ciclo em vrios experimentos.


Curva on-line da mdia da avaliao de todos os indivduos at um determinado instante t em um
experimento.
Curva off-line da mdia da avaliao do melhores indivduos at um instante t em um experimento.

A curva mdia dos melhores indivduos em vrios experimentos apresenta o desempenho mdio de um
GA e serve para ajuste de parmetros.
A curva on-line mede a velocidade com que o GA consegue produzir boas solues para o consumo "online" das solues.
A curva off- line mede o grau de convergncia do GA na criao de solues mais aptas, geradas off- line
em relao ao problema.
8.5. TCNICAS, PARMETROS E OPERADORES GENTICOS
Tcnicas, parmetros e tipos de operadores genticos afetam significativamente o desempenho de um
algoritmo gentico. Em geral, o algoritmo gentico extremamente sensvel a introduo ou combinao de
tcnicas empregadas. A escolha de tcnicas, parmetros e tipos de operadores emprica, porm em sintonia
com o problema.
Podemos classificar as tcnicas empregadas em GAs nas seguintes classes:
1- Tcnica de Reproduo
2- Tcnica de Aptido
3- Tcnica de Interpolao de Parmetros
Quanto aos operadores genticos, os principais tipos so:
1- Crossover de Um- ponto
2- Crossover de Dois- pontos
3- Crossover Uniforme.

8.5.1. Tcnicas de Reproduo:


Essas tcnicas determinam o critrio de substituio dos indivduos de uma populao para a prxima
gerao. Existem basicamente os seguintes mtodos:
1- Troca de toda populao:
A cada ciclo, N novos indivduos so criados substituindo a populao anterior: N/2 pares so escolhidos
para o acasalamento, gerando N descendentes.
2- Troca de toda a populao com elitismo:
Todos os cromossomas so substitudos, sendo o cromossoma mais apto da populao corrente copiado
na populao seguinte.
3- Troca parcial da populao:
- 80
ICA Lab. Inteligncia Computacional Aplicada , DEE, PUCRio (Verso 26/08/99)

Gera M indivduos (M<N), que substituem os piores indivduos da populao corrente. Tcnica elitista
que mantm populao mais esttica, permitindo, portanto, a utilizao de operadores menos conservadores
como o crossover uniforme.
4- Troca parcial da populao sem duplicados:
No permite a presena de indivduos duplicados na populao. Garante, assim, o melhor aproveitamento
do paralelismo intrnseco dos GAs (N pontos diferentes do espao de busca sendo avaliados a cada ciclo), porm
implica em overhead para a deteco de duplicados.

8.5.2. Tcnicas de Aptido:


Diz respeito a maneira pela qual as aptides dos cromossomas em uma populao so numericamente
atribudas.
Intuitivamente, o mtodo mais simples de atribuir uma aptido a um cromossoma utilizar o valor
numrico do resultado da avaliao deste cromossoma pela funo de avaliao. H, no entanto, dois problemas
importantes associados a este mtodo:
-

competio prxima: indivduos cuja a aptido relativa so numericamente prximas.


super indivduos: indivduos com avaliao muitas vezes superior a mdia, capaz de dominar o processo de
seleo, fazendo com que o GA convirja prematuramente para um timo local.

Para contornar esses problemas utilizam-se mtodos de transformao da avaliao numrica dos
cromossomas em uma aptido. Os mtodos mais empregados so: windowing, "rank- based" e a normalizao
linear.[DAVI96]. Dentre estes a normalizao linear a mais simples, eficiente nos dois problemas e, ainda,
parametrizvel.
O mtodo de normalizao linear consiste em ordenar os cromossomas em ordem crescente de avaliao
(i = 0 corresponde ao indivduo menos apto) e atribuir valores de aptides aos cromossomas, linearmente, entre
um valor mnimo e um mximo, distanciados de um valor fixo (taxa de decremento) Equation 17.
Equation 17

Ai mn +

(mx mn)
(i 1)
n 1

No exemplo da Tabela 11 o mtodo reduz o domnio exercido por super indivduos (6) e aumenta a
presso seletiva entre indivduos com avaliao prxima (5, 4, 3, 2) em funo da taxa de decremento, em
funo da taxa de incremento.
Tabela 11
CROMOSSOMA
6
Avaliao
200
Aptido (taxa=1) 100
Aptido (taxa=20) 100

5
15
99
80

4
14
98
60

3
13
97
40

2
10
96
20

1
9
95
1

8.5.3. Tcnicas de Interpolao de Parmetros:


A interpolao de parmetros de um GA tem por objetivo buscar o valor ideal de um determinado
parmetro para cada ciclo, durante toda a evoluo. Durante a evoluo de um GA alguns aspectos esto
fortemente relacionados:
- a convergncia do algoritmo
- a aptido dos cromossomas
- as taxas e parmetros
Por exemplo, intuitivamente bvio que a taxa de aplicao do crossover seja maior nas primeiras
geraes quando a populao se apresenta dispersar no espao de busca. Aps vrias geraes os indivduos

- 81
ICA Lab. Inteligncia Computacional Aplicada , DEE, PUCRio (Verso 26/08/99)

tendem a apresentar, na sua maioria, caractersticas muito similares. Um aumento da taxa de mutao nesta fase
de evoluo ir dispersas a populao, trazendo novo material gentico para a formao de melhores indivduos.
A interpolao de parmetros pode ser linear ou adaptativa. Na interpolao linear uma taxa ou um
parmetro variado entre um valor inicial e final, atravs de ajustes fixos, linearmente a cada K geraes.
A interpolao adaptativa, normalmente empregada para ajuste da taxa de aplicao de operadores,
considera o desempenho destes operadores nos ciclos anteriores. Este desempenho medido em funo do
sucesso destes operadores na criao de melhores indivduos. Este esquema requer um processo de pontuao a
indivduos e seus descendentes, envolvendo razovel overhead computacional. O efeito, no entanto, atingir
trajetrias quase timas para parmetro, durante toda a evoluo.

8.5.4. Operadores Genticos


-

Operadores genticos se classificam em:


operadores de recombinao (crossover)
operadores de mutao
operadores de inverso (usados em problemas com epistasia)
operadores especficos ao domnio do problema.

Dentre estes, os operadores de crossover, devido a sua importncia fundamental nos GAs, apresentam
variaes que merecem destaque.
Crossover de Dois Pontos:
Executa a recombinao de dois indivduos a partir de dois pontos escolhidos aleatoriamente. Este
operador capaz de combinar schemata com posies fixas nas extremidades, como no exemplo abaixo.
1 1 S S S S S 0
S S S 1 0 1 S S

H1
H2

Crossover Uniforme:
O crossover de dois pontos tambm apresenta limitaes na recombinao de schemata.
O crossover uniforme, por sua vez, capaz de recombinar quaisquer posies entre dois genitores. Este
operador utiliza um padro (palavra binria) escolhida aleatoriamente para designar os bits selecionados em cada
genitor na criao dos descendentes. Por exemplo:
G1
G2

1 1 0 0 1 0 1
0 1 1 1 1 1 0

Padro

0 1 1 0 1 0 0

D1
D2

0 1 0 1 1 1 0
1 1 1 0 1 0 1

O crossover uniforme apresenta um poder de destruio maior que o crossover de um ponto e dois pontos
que preservam os cdigos (schemata curtos) compactos. O crossover uniforme pode prejudicar a formao de
padres a partir de schemata curtos. Sua utilizao deve ser, portanto, em ambientes altamente elitistas como na
reproduo parcial da populao, que garantem a permanncia dos melhores indivduos.
8.6. MODELAGEM DE ALGORITMOS GENTICOS PARA DATA MINING

8.6.1. CLASSIFICAO POR EVOLUO DE REGRAS DE ASSOCIAO


Uma regra de associao caracteriza um relacionamento de atributos preditivos com um atributo objetivo,
ou atributo meta. Os atributos preditivos compem a condio de uma regra (parte SE) e o atributo objetivo, a
- 82
ICA Lab. Inteligncia Computacional Aplicada , DEE, PUCRio (Verso 26/08/99)

consequncia (parte ENTO). O objetivo do algoritmo gentico nesta tarefa evoluir regras de associao, de
modo que uma regra possa representar cada vez melhor as caractersticas de um determinado grupo de registros.
Uma regra considerada melhor que outra sempre que esta gerar solues com mais qualidade. As medidas de
qualidade so discutidas a seguir.

ACURCIA E ABRANGNCIA DE UMA REGRA


A acurcia de uma regra mede o quo boa a sua soluo em funo do grau de certeza, ou confiana,
obtido atravs do conjunto de exemplos. Ou seja, o grau que mede o quo bem a teoria descoberta (neste caso,
uma regra) se aplica aos dados [KLS96].
Considere C um conjunto de atributos preditivos (condio da regra) e P, a previso, ou classe do registro.
Uma regra de associao da forma SE C ENTO P tem uma boa acurcia, sempre que a Equao 36 tiver um
valor aceitvel.
Equao 36
Acurcia = |C P| / (|C P| + |C ~P|)
A interpretao dessa equao pode ser compreendida como o nmero de registros que satisfazem C e P
dividido pelo total de registros que satisfazem C. Desse modo o melhor resultado (resultado mximo) 1
(100%), significando que todos os registros que uma determinada regra abrange so da mesma classe, ou seja,
no existem conflitos. Entretanto, na ocorrncia de conflitos, representado por |C ~P|, uma regra abrange
registros que satisfazem C, porm no caracterizam a classe meta/objetivo, P. Nessa situao o valor da acurcia
pode compreender o intervalo [0 a 100] e, o usurio, segundo algum critrio, perceber se esse valor aceitvel,
ou no.
A abrangncia de uma regra definida como sendo o nmero de registros que satisfazem C e P dividido
pelo total de registros que satisfazem P. A Equao 37 representa essa definio.
Equao 37
Abrangncia = |C P| / (|C P| + |~C P|)
A interpretao da abrangncia indica quantos registros uma determinada regra cobriu. Semelhante a
acurcia, seu valor mximo 100%, significando que todos os possveis registros de uma determinada classe
meta foram cobertos por essa regra. Sempre que a parcela |~C P| for diferente de zero, o valor da abrangncia
estar no intervalo [0, 100], indicando que ainda existem registros da classe meta no capturados por essa regra.
Baseado nessas definies, acurcia e abrangncia, percebe-se que a qualidade de uma regra a
combinao destes dois valores, que quanto maiores melhor. Portanto, a qualidade de uma regra diretamente
proporcional s estatsticas de acurcia e abrangncia.
MODELAGEM DO ALGORITMO GENTICO
A modelagem do algoritmo gentico envolve principalmente a definio da representao de
cromossomas, operadores, e funo de avaliao. Nas prximas sees so apresentados cada um desses
componentes do modelo, e ainda mtodos de inicializao da populao, tcnicas evolucionrias e alguns
parmetros que buscam ajustar o modelo para a busca de regras com solues de boa qualidade.

8.6.2. Representao de Cromossomas


Um cromossoma representa uma regra de associao entre os atributos preditivos e o atributo objetivo, ou
classe. Uma regra de associao da forma SE (A1 e A2 e ... An) ENTO P. O conjunto {A1, A2 , ... An}
representa os atributos preditivos e, P o valor da classe meta. Os atributos so representados categoricamente ou
quantitativamente. Atributos categricos, ou discretos representam um conjunto finito de valores, ou valores
mapeados num conjunto de nmeros inteiros [KLS96]. Um atributo categrico numa determinada tupla s
pode assumir um nico valor. Por exemplo, supe-se o atributo SEXO numa tupla que representa dados de uma
pessoa; esse atributo s pode assumir os valores Masculino ou Feminino. Entretanto, atributos quantitativos,
ou contnuos, representam faixas de valores no domnio do atributo, os quais so coerentes com um subconjunto
de nmeros reais [KLS96]. Supe-se agora o atributo RENDA SALARIAL; uma tupla ou um conjunto de
tuplas podem representar faixas de renda. Por exemplo, 1 a 5 salrios mnimos, 6 a 10, 11 a 15, e assim por
- 83
ICA Lab. Inteligncia Computacional Aplicada , DEE, PUCRio (Verso 26/08/99)

diante. Baseado nessas duas definies de atributos, categricos e quantitativos, que so suficientes para
representar os possveis domnios do problema, o cromossoma do modelo desenvolvido possui a seguinte
representao:

Atributo 1

mm

Atributo 2

Mx

mm

Mx

Atributo N

mm

Mx

Limite superior
Valor mximo
Limite inferior
Valor mnimo

Figura 49: Representao do cromossoma para a tarefa de classificao


Na Figura 49 um gene representa um atributo preditivo. Cada gene possui dois campos: um valor mnimo
e um valor mximo. Os valores mnimo e mximo representam os limites inferiores e superiores da faixa em que
um atributo preditivo definido como quantitativo est inserido. No caso de atributos categricos o campo de
valor mximo no tem utilidade.
Com essa representao pode-se formular regras da seguinte forma:
SE [ (Atributo 1 mm 1) e (Atributo 1 mx 1)
e (Atributo 2 mm 2) e (Atributo 2 mx 2)
e (Atributo 3 = mm 3)
...
e (Atributo N mm N) e (Atributo N mx N)
] ENTO Atributo Objetivo = P, onde mm X e mx X indicam os valores mnimos e mximos de
cada atributo preditivo definido como quantitativo, e P o valor do Atributo Objetivo informado como meta no
incio do processo. Nesse exemplo o Atributo 3 considerado categrico e, consequentemente, no aparece um
limite superior.
A escolha dessa representao se deve, principalmente, a sua facilidade de interpretao, visto que
intuitiva a visualizao de um domnio de variveis na forma de intervalo. Alm disso, uma representao
simples, capaz de aceitar a utilizao de operadores genticos notoriamente conhecidos, facilitando assim, uma
fcil manipulao estrutural do modelo. Outro fator importante a possibilidade caracterizar os dois tipos de
atributos, categricos e quantitativos, em um nico tipo de gene. Ou seja, o gene se adapta a qualquer uma das
duas definies.

8.6.3. Operadores Genticos


Os operadores genticos atuam no processo de reproduo criando e/ou alterando indivduos.
Operadores genticos (crossover e mutao) atuam em sintonia com a representao dos cromossomas.
O operador de crossover, proveniente da reproduo de sexuada, foi adaptado aos Algoritmos Genticos
com o intuito de permitir a recombinao das informaes contidas em duas solues distintas (cromossomas),
fazendo com que novas solues sejam geradas pela mistura de material gentico dos pais [COST97].
Os tipos de operadores utilizados neste trabalho foram:
Crossover de um ponto
Crossover de dois pontos
Crossover uniforme
Crossover de mdia
O crossover de um ponto recombina duas solues em um nico ponto de corte; no crossover de dois
so dois os pontos escolhidos como referncia para a troca de valor dos atributos (genes); enquanto que no
- 84
ICA Lab. Inteligncia Computacional Aplicada , DEE, PUCRio (Verso 26/08/99)

uniforme utilizada uma mscara determinando em que posies haver a troca do valor dos genes. J no
crossover de mdia, dois genitores recombinam-se gerando um nico filho. Os genes a partir dos quais
calculada a mdia, especificamente nesse trabalho, so genes que representam atributos preditivos quantitativos.
Tabela 12: Exemplo de crossover de mdia

Pai (1)

Filho (1)

12 26 80 10 4 0

21 18 80 15 4 1

30 10 32 20 0 2

21 18 32 15 0 1

Pai (2)

Filho (2)

Antes

Depois

Nota-se que a Tabela 12 mostra 2 filhos gerados, que so: Filho (1) e Filho (2), entretanto, nesse modelo
foi escolhido apenas um filho. Os valores sublinhados representam valores de atributos quantitativos, que so
passveis de clculo de mdia.
Dois operadores de mutao foram implementados neste trabalho:
Mutao Simples
Mutao dont care
Na mutao simples um gene alterado, inserindo-se um novo valor pertencente ao seu domnio; o
operador de mutao dont care seleciona aleatoriamente um gene, e este passa a conter valores que representam
todo seu domnio. Em minerao de dados, isso significa que o gene escolhido considerado dont care, isto ,
no contribui para a representatividade de uma regra. Por exemplo, suponha um banco de dados de empregados
com os atributos SEXO e IDADE. Observa-se que na regra SE SEXO masculino ou SEXO feminino e
IDADE maior que 20 e menor que 30 ENTO funcionrio novo o atributo SEXO pode ser omitido, pois
um conhecimento sem valor.
Tais operadores foram implementados em funo de suas caractersticas notoriamente conhecidas.
Entretanto, nesse trabalho de minerao de dados, no se conhecia a priori quais operadores eram mais ou menos
adequados para a tarefa proposta. Deste modo, o modelo permite que a cada reproduo, um nico operador seja
selecionado, em funo de uma taxa de probabilidade informada pelo usurio. Esta caracterstica fornece ao
modelo a liberdade de poder utilizar todos os operadores disponveis durante o processo evolutivo.
Outro fator importante na escolha desses operadores genticos nesse trabalho se deve a sintonia com a
estrutura do modelo, visto que um cromossoma, representa uma regra de maneira explicita e, o fato de um gene
representar um intervalo de nmeros inteiros, todos os operadores implementados se ajustam s caractersticas
desejadas como objetivo da tarefa de KDD.

8.6.4. Inicializao da Populao


Foram implementados diversos mtodos de inicializao da populao. Tais mtodos ajudam a
restringir o espao de busca do algoritmo gentico. A seguir segue os mtodos de inicializao implementados.
Inicializao aleatria sem sementes:
Na faixa de valores do atributo que ocorrem para o atributo objetivo especificado;
Na faixa de valores do atributo que ocorrem para o atributo objetivo especificado, incluindo
o valor mdio;
Na faixa de valores do atributo que ocorrem para o atributo objetivo especificado, incluindo
o valor mediano.
Inicializao aleatria com sementes de evolues anteriores;
Sementes de registros aleatrios do Banco de Dados.
Ao especificar o atributo objetivo, que a parte ENTO da regra de associao, pode-se identificar quais
so os valores mximo e mnimo de cada atributo preditivo para registros cujo o atributo objetivo tem valor igual
ao especificado. Os valores mximo e mnimo de todas as tuplas do banco de dados resulta, em geral, numa faixa
de valores mais extensa. Desse modo, ao inicializar-se a populao apenas com genes na faixa de valores que
- 85
ICA Lab. Inteligncia Computacional Aplicada , DEE, PUCRio (Verso 26/08/99)

ocorrem para o atributo objetivo, evita-se a gerao de regras cujos valores dos genes no so representativos. A
Tabela 13 mostra um banco de dados ilustrativo onde o atributo objetivo representado pelo atributo CLASSE.
Os valores mximo e mnimo calculados para o ATRIBUTO 1 so:
(1, 100) considerando-se todas as tuplas, indiferente ao valor de sua respectiva classe;
(17; 33) considerando-se apenas as tuplas com valor do atributo objetivo (CLASSE) igual a 1.
Supondo que a parte ENTO da regra especifica o valor 1, nota-se que o domnio do ATRIBUTO 1
bem menor, diminuindo assim o espao de busca do AG.
Tabela 13: Banco de dados exemplo para clculo da inicializao da populao
ATRIBUTO 1
20
18
1
25
30
28
33
100
23
17

ATRIBUTO 2
99
3
200
3
800
2
3
1
3
8

CLASSE
1
1
2
1
2
1
1
2
1
1

Na incluso do valor mdio, calcula-se a mdia encontrada para todos os atributos preditivos apenas
considerando-se as tuplas que possuem o valor do atributo objetivo igual ao valor especificado. A Figura 50
representa esquematicamente a inicializao de um atributo preditivo.

Valor Mximo
Limite Superior Aleatrio

Faixa de
Valores do
gene

Valor Mdio

Limite Inferior Aleatrio


Valor Mnimo
Figura 50: Representao esquemtica da inicializao de um atributo preditivo
Uma vez calculado os valores mximo e mnimo e o valor mdio de um atributo preditivo, escolhe-se
aleatoriamente um valor na faixa [Valor Mximo; Valor Mdio] e um valor na faixa [Valor Mdio; Valor
Mnimo]. Esses dois valores so os valores superior e inferior escolhidos para inicializar um determinado
atributo preditivo em um cromossoma (Figura 50). Essa inicializao possui a vantagem de incluir o valor mdio
de um determinado atributo preditivo, restringindo o espao de busca. Referindo-se a Tabela 13, o valor mdio
do ATRIBUTO 1 23,43. Desse modo, o AG procura valores de inicializao que sempre incorporem esse
valor.
A vantagem dessa inicializao est diretamente relacionada probabilidade dos valores dos atributos
ocorrerem dentro da faixa de valores dos genes e, particularmente englobando o valor mdio. Dessa forma,
torna-se mais provvel a escolha de valores afinados com a instncia real da base de dados.
A mediana de um conjunto de medidas um valor x tal que, no mximo metade das medidas so menores
do que x e no mximo metade das medidas so maiores do que x. Para encontrar-se o valor mediano de cada
atributo preditivo, primeiro, ordena-se os valores encontrados em cada tupla do banco de dados que possui o
atributo objetivo igual ao especificado. Segundo, escolhe-se o valor mediano como sendo o valor encontrado na
posio [inteiro(n/2) + 1], onde inteiro representa uma funo que retorna a parte inteira do argumento n/2 e, n
- 86
ICA Lab. Inteligncia Computacional Aplicada , DEE, PUCRio (Verso 26/08/99)

o nmero de tuplas. Utilizando o ATRIBUTO 2 da Tabela 13 e, a CLASSE como atributo objetivo de valor 1,
tem-se o seguinte procedimento:
Tabela 14: Passos para encontrar o valor mediano de um determinado atributo
ATRIBUTO 2
CLASSE
INSTNCIA DO BANCO DE DADOS
99
3
200
3
800
2
3
1
3
8

1
1
2
1
2
1
1
2
1
1

SELECIONAR
Passo 1
99
3

ATRIBUTO 2
ORDENAR
Passo 2
2
3

2
3

3
3

3
8

8
99

VALOR
MEDIANO

O primeiro passo selecionar apenas os valores dos registros do atributo especificado que possuem o
atributo CLASSE com valor 1. O passo seguinte consiste em ordenar esses nmeros. E, no terceiro e ltimo
passo, escolhe-se o valor da posio [inteiro(7/2) + 1] = valor[4] = 3.
Percebe-se que os valores mximo e mnimo para o ATRIBUTO 2, considerando-se o valor especificado
para o atributo CLASSE = 1 est no intervalo (2; 99), enquanto que os limites considerados para a base completa
est no intervalo (1, 800). Entretanto, o valor com maior frequncia 3. Desse modo, deseja-se que o AG gere
valores para os genes que probabilisticamente estejam com maior proximidade desse valor, sem que o restante
do domnio seja afetado. Esquematicamente, a Figura 50 representa essa inicializao, a nica diferena est na
troca do Valor Mdio pelo Valor Mediano.
A mdia mede o centro de gravidade de uma conjunto de dados e consequentemente influenciada por
valores extremos, ao contrrio da mediana que os ignora. A mediana qualifica-se como um mtodo de
inicializao que busca a localizao do ponto que divide os dados em dois grupos: os superiores e os inferiores
a x.
O outro tipo de inicializao atravs de sementes. Uma semente um cromossoma evoludo em
execues anteriores do algoritmo gentico. Ao iniciar-se um novo experimento, esse cromossoma inserido na
populao inicial de modo a contribuir com o seu material gentico j refinado. Neste procedimento de
inicializao apenas n cromossomas so inseridos, o restante dos cromossomas (Tamanho_pop n) que
completam uma populao so escolhidos aleatoriamente incluindo o valor mediano.
O ltimo mtodo de inicializao atravs da escolha aleatria de registros do banco de dados. Um
percentual da populao, fornecido pelo usurio, ser povoado com os valores dos registros do banco de dados.
Nesse caso, ao preencher um cromossoma, os valores dos campos mnimo e mximo so iguais ao valor do
atributo correspondente no bando de dados. O restante da populao escolhido aleatoriamente incluindo o valor
mediano. A vantagem dessa inicializao est no fato de inicialmente apresentar regras com abrangncia
diferente de zero, acelerando o processo de busca do AG.

8.6.5. Tcnicas e Parmetros


Vrias tcnicas e parmetros foram utilizados na construo do modelo com o objetivo de melhorar o
desempenho do algoritmo gentico.
As principais tcnicas e parmetros empregados so:
Normalizao Linear;
Multiplicador do Valor Mximo na Normalizao Linear;
Elitismo
Sementes para prximos experimento;
Valores inicial e final para interpolao de taxas de probabilidade;
Parmetros bsicos.
A primeira delas foi a Normalizao Linear, que classifica os cromossomas de acordo com a ordem de
avaliao, atribuindo aptides linearmente distribudas entre os valores: Valor Mnimo a Valor Mximo, que so
parmetros da tcnica. Desta forma, o cromossoma com pior avaliao tem aptido igual ao valor mnimo, e o de
melhor avaliao, valor mximo. A probabilidade de um cromossoma ser selecionado aumenta linearmente de
- 87
ICA Lab. Inteligncia Computacional Aplicada , DEE, PUCRio (Verso 26/08/99)

acordo com sua posio no ranking [COST97]. Essa tcnica reduz a influncia de super indivduos, que so
cromossomas que possuem uma avaliao muito melhor que a dos demais e que portanto, tendem a dominar
rapidamente a populao e ainda reduzem a competio prxima entre cromossomas quando a populao tende a
convergir. Um parmetro, chamado multiplicador, foi criado para multiplicar o Valor Mximo em funo do
Tamanho da Populao de modo a alterar a presso seletiva sobre os melhores.
Outra tcnica conhecida e implementada foi a do elitismo, que fora a permanncia do melhor
cromossoma de uma gerao, ou dos n melhores cromossomas, na gerao seguinte. Essa tcnica foi estendida,
fazendo-se com que esse, ou esses, melhores cromossomas tambm permaneam no prximo experimento,
atravs de um parmetro chamado semente.
A interpolao de parmetros procura enfatizar diferentes aspectos da busca em diferentes momentos da
convergncia. Dessa forma, os valores das taxas de probabilidade para escolha de cada operador gentico na
reproduo so alterados linearmente no decorrer da execuo do AG, a partir de um valor inicial at um valor
final, especificados como parmetros.
Alm dos parmetros j citados, foi implementado o conjunto de parmetros bsicos citados abaixo e so
pressupostos conhecido pelo leitor. Mais detalhes sobre esses parmetros podem ser encontrados em [COST97],
[DASG97].

Parmetros bsicos de um Algoritmo Gentico


NOME
Tamanho da Populao
Taxas de Operadores (crossover, mutao, ...)
Total de rodadas/nmero de experimentos
Total de geraes

FUNO
Nmero de indivduos ou solues que so produzidas
a cada gerao
Taxa de probabilidade de um operador ser escolhido
para reproduo de indivduos
Nmero de experimentos ou de evolues completas
do algoritmo gentico
Nmero de populaes avaliadas a cada experimento

Por exemplo, supondo um algoritmo gentico parametrizado com 40 rodadas, 80 geraes e 100
indivduos na populao, esse cria 8000 indivduos durante uma evoluo completa e 320000 durante todo o
processo.
Tratando-se de objetivos do modelo, criou-se dois tipos. O primeiro busca a evoluo da melhor
regra, enquanto que o segundo busca todas as regras que caracterizam o conjunto de exemplos especificado.
O primeiro tipo fornece as medidas visuais de performance para avaliar o modelo, tais como: grficos da mdia
das aptides dos melhores indivduos, de toda a populao, e do melhor indivduo; alm da mdia da acurcia e
abrangncia dos melhores indivduos e, do melhor. No segundo tipo esses dados visuais j no refletem o
desempenho do modelo, pois em funo da existncia de critrios de parada do AG, atravs de parmetros
fornecidos pelo usurio, esses dados no possuem consistncia para avaliao.
Os critrios de parada do algoritmo gentico so:
Tolerncia da melhor regra o usurio informa o nmero de geraes cujo o algoritmo gentico deve
monitorar o melhor indivduo, a fim de perceber se a melhor regra at o momento no sofreu
nenhuma alterao. Caso a melhor regra tenha se mantido constante, ou seja, no evoluiu durante as
n geraes, essa ser armazenada em um banco de regras.
Nmero mximo de regras armazenadas no banco de regras O usurio informa o nmero mximo de
regras que descrevem o conjunto de exemplos especificado. Logo, a medida que a evoluo vai
ocorrendo, regras vo sendo armazenadas e, caso no nmero de regras armazenadas chegue ao valor
mximo, o AG ser finalizado.
A no existncia de registros no conjunto de exemplos especificado Caso todos os registros j tenham
sido cobertos pelas regras no banco de regras, ento o processo finalizado.
Sempre que uma regra inserida no banco de regras, o modelo retira os registros cobertos por ela e,
inicia uma nova evoluo/experimento. Uma regra inserida no banco de regras sempre que o critrio de parada
Tolerncia da melhor regra for atingido, ou pela finalizao de um experimento atravs dos parmetros
Tamanho da Populao, Total de Rodadas e Total de geraes. Um detalhe importante que so inseridas apenas
regras que possuem abrangncia diferente de zero. Em funo desses critrios, apenas a visualizao textual das
regras refletem a performance do modelo.

8.6.6. Funes de Avaliao


- 88
ICA Lab. Inteligncia Computacional Aplicada , DEE, PUCRio (Verso 26/08/99)

A funo de avaliao de um Algoritmo Gentico oferece uma medida de aptido que determina a
adequabilidade de uma soluo para um problema particular. Portanto, de modo geral, a performance de um AG
depende da medida da aptido [SANK96]. As sees a seguir descrevem as funes de avaliao utilizadas no
modelo do algoritmo gentico para classificao de registros em minerao de dados.

Nmero-Atributos

Essa funo de avaliao acumula ou subtrai o nmero de atributos cobertos por uma determinada regra
no banco de dados, dependendo do valor do atributo objetivo. Ou seja, se o valor do atributo objetivo num
determinado registro satisfaz a especificao do lado direito da regra (parte ENTO), adiciona-se nmero de
atributos cobertos pela regra, caso contrrio, subtrai. A Tabela 15 mostra um banco de dados exemplo para o
clculo da aptido de uma regra, composto por dois atributos preditivos (1 e 2) e um atributo meta, chamado
CLASSE.
Tabela 15: Exemplo fictcio de um BD utilizado para clculo de funo de avaliao
ATRIBUTO_1
10
15
20

ATRIBUTO_2
5
38
9

CLASSE
1
2
1

Suponha a regra:
SE ATRIBUTO_1 8 e ATRIBUTO_1 18
e ATRIBUTO_2 3 e ATRIBUTO_2 10
ENTO CLASSE = 1
Suponha A, o valor da aptido dessa regra, inicialmente com valor zero. Essa regra acerta o primeiro e o
segundo atributo do primeiro registro, alm do atributo CLASSE, que satisfaz o atributo objetivo especificado,
logo A adicionado do valor 2 (A = 2). No segundo registro apenas o segundo atributo satisfeito, porm o
atributo CLASSE no o especificado, logo A subtrado do valor 1 (A = 1). No terceiro registro o segundo
atributo e o valor da classe so satisfeitos, incrementando A de mais 1, resultando como aptido final para essa
regra o valor dois (A = 2).
Distncia-tima
A funo de avaliao Distncia-tima considera o nmero de atributos satisfeitos por uma regra como
um ponto no espao N-dimensional. N representa o nmero de atributos envolvidos na evoluo gentica. No
exemplo da Tabela 15, N possui o valor 2, visto que apenas 2 atributos preditivos so considerados. Nesse
cenrio, ao estabelecer o valor do atributo objetivo (parte ENTO), conhece-se a priori qual o ponto timo, pois
sabe-se exatamente quantos registros do banco de dados satisfazem o valor do atributo objetivo especificado.
Supondo CLASSE igual a 1, a Tabela 15 identifica que 2 registros so satisfeitos. A funo Distncia-tima
calcula a distncia da regra corrente em relao ao ponto timo.

No. Registros com


ATRIBUTO 2 correto
Ponto timo
2

Distncia

No. Registros com


ATRIBUTO 1 correto

- 89
ICA Lab. Inteligncia Computacional Aplicada , DEE, PUCRio (Verso 26/08/99)

Figura 51: Diagrama esquemtico para a interpretao da funo de avaliao Distncia-tima

A Figura 51 mostra um grfico que interpreta o clculo da distncia tima para a funo de avaliao.
Considerando o exemplo representado pela regra de associao da seo anterior, SE ATRIBUTO_1 8 e
ATRIBUTO_1 18 e ATRIBUTO_2 3 e ATRIBUTO_2 10 ENTO CLASSE = 1, pode-se calcular o
ponto no espao 2D, que (0; 2). A primeira clusula da regra, que se relaciona com o ATRIBUTO_1, embora
acerte dois registros do banco de dados, apenas um refere-se a CLASSE 1. Ou seja, o contador de atributos
corretos referente ao ATRIBUTO_1, foi incrementado de 1 por ter acertado o primeiro registro e por satisfazer a
classe especificada; entretanto foi decrementado de 1 por ter acertado o segundo registro que no satisfaz a
classe especificada. Na segunda clusula, dois registros so cobertos e os dois pertencem a mesma classe, que
a especificada na parte ENTO da regra. Uma vez conhecido o ponto da regra corrente no espao NDimensional, calcula-se a distncia Euclidiana desse ponto ao ponto timo. A distncia Euclidiana calculada
pela Equao 38.
Equao 38: Distncia Euclidiana

D=

(Ptimoi PCorrentei )
i

Recompensa-Atributos
Semelhante a funo Nmero-Atributos, a funo Recompensa-Atributos tem o mesmo propsito,
maximizar o nmero de atributos cobertos por uma regra, entretanto sempre que uma regra acerta todos os
atributos de um registro e sua respectiva classe, sua avaliao recompensada, caso contrrio, penalizada.
Quando uma regra acerta parcialmente os atributos, sua avaliao incrementada da seguinte parcela: Nmero
de atributos corretos dividido pelo total de atributos, caso a classe do registro seja a especificada na parte
ENTO da regra; caso contrrio a avaliao penalizada por essa mesma parcela.
CBayesianos
Essa funo de avaliao a Equao 6. Nela so consideradas as probabilidades de um determinado
valor de atributo ocorrer dado que um valor especificado como atributo objetivo ocorre.
P(A1 = a1| C = c) * P(A2 = a2| C = c) * ... P(Ak = ak| C = c)
Nmero-Registros
A funo de avaliao Nmero-Registros contabiliza a quantidade de registros cobertos por uma
determinada regra. Considerando o exemplo SE ATRIBUTO_1 8 e ATRIBUTO_1 18 e ATRIBUTO_2 3
e ATRIBUTO_2 10 ENTO CLASSE = 1, sua avaliao 1, pois apenas um registro satisfeito.
FAcurcia
Essa funo de avaliao est definida na seo, acurcia = |C P| / (|C P| + |C ~P|). Ela busca por
regras que no gerem situaes de conflitos, isto , situaes em que registros satisfazem a mais de uma classe.
Essa funo por si s, de difcil evoluo, j que existe uma dificuldade inicial de se encontrar uma regra que j
cubra algum registro, porm capaz de gerar boas sementes para experimentos futuros.
FAbrangncia
Essa funo de avaliao tambm est definida na seo 0, abrangncia = |C P| / (|C P| + |~C P|).
Seu objetivo buscar cada vez mais uma quantidade maior de registros satisfeitos por uma regra. Tanto a funo
FAcurcia quanto a funo FAbrangncia so utilizadas como noes descritivas que so facilmente
compreendidas, entretanto elas no so geralmente interessantes como funes de avaliao em sua forma no
modificada [Erro! Indicador no definido.]. Nesse trabalho, buscou-se experimentar essas funes para
identificar suas qualidades.
- 90
ICA Lab. Inteligncia Computacional Aplicada , DEE, PUCRio (Verso 26/08/99)

Rule Interest
Essa funo de avaliao foi sugerida por [PIAT91] e essencialmente representada pela Equao 39.
Equao 39: Rule Interest

RuleIntere st = C P

(S C S P )
S

Nela S, C, e P so subconjuntos descritivos que representam especificidade, condio e previso.


Entenda-se especificidade como sendo o banco de dados. Essa funo deriva da seguinte situao. Suponha R
uma populao, P um grupo de previso, e C uma condio. Defini-se p = |C P| / |C|, p0 = |P| / |R|, g = |C| / |R|.
Assume-se que C, P R. Regras que pertencem a um R e P fixos so avaliadas no espao p-g, onde p a
tendncia (fator de certeza) e g a generalidade (cobertura) de uma condio C. Baseado nisso Piatersky
[PIAT91] introduziu 3 axiomas que as funes de avaliao devem satisfazer.
E(p0, g) = 0
E(p, g0) cresce monotonicamente em p para um g 0 fixo
E(p, g) decresce monotonicamente em g para p = constante/g
Onde E representa o valor esperado. Mais detalhes podem ser encontrados em [FAYY96].
Chi-Square
Dada uma tabela de contingncia 2x2, contendo os contadores n11, n12, n21 e n22 de registros que
pertencem a cada um dos subconjuntos, pode-se calcular as somas da coluna c 1 e c2, a soma das linhas l1 e l2 e, o
nmero total de registros n respectivamente, como mostrado na Tabela 16.
Tabela 16: Tabela de contingncia da funo de avaliao Chi-Square
~P
n11
n21
c1 = n11 + n21

S
~C
C

P
n12
n22
c2 = n12 + n22

l1 = n11 + n12
l2 = n21 + n22
n = n11 + n12 + n21 + n22

Onde ~ significa negao, S o banco de dados, C a condio e P a previso. Assumindo a independncia


de 2 variveis C e P, o nmero esperado de registros em cada subconjunto e11, e12, e21, e e22 respectivamente
pode ser calculado pelo produto de sua respectiva linha e coluna, utilizando a lei da probabilidade multiplicativa.
Uma aritmtica simples mostra que o nmero esperado de registros em cada subconjunto :
Equao 40:Valor esperado de registros

e ij =

ri c
n

, i , j = 1,2 .

Pode ser mostrado que assumindo a independncia de C e P tem-se:


Equao 41: Chi-Square
2

ChiSquare =

i =1 j =1

(nij eij ) 2
eij

8.6.7. Recompesa nas funes de avaliao


Todas as funes de avaliao descritas anteriormente, podem ter suas aptides acrescidas de uma
recompensa. As recompensas podem ser por:
Acurcia
- 91
ICA Lab. Inteligncia Computacional Aplicada , DEE, PUCRio (Verso 26/08/99)

Abrangncia
Acurcia e/ou Abrangncia
O primeiro tipo de recompensa multiplica a aptido da regra pela sua respectiva acurcia, similarmente o
segundo tipo multiplica pela sua abrangncia. Enquanto que o terceiro tipo multiplica por ambos. As
recompensas so acrescentadas avaliao se a acurcia ou abrangncia forem diferentes de zero. As
recompensas ajudam o modelo na busca por melhores regras.

- 92
ICA Lab. Inteligncia Computacional Aplicada , DEE, PUCRio (Verso 26/08/99)

9.

APNDICE

9.1. SOFTWARES COMERCIAIS E SITES


Segue uma lista de alguns softwares disponveis na rea de minerao de dados:

9.1.1. AC2 (www.isoft.fr)


AC2 um conjunto de bibliotecas em C/C++ que permite a desenvolvedores e profissionais da rea
de TI embutir as funcionalidades de DM em seus prprios softwares. AC2 cobre todos os passos do
processo de data mining, da modelagem (modelo OO) at a validao cruzada.

9.1.2. ALICE dISoft (www.isoft.fr)


uma poderosa ferramenta de data mining e de fcil utilizao. Utiliza rvores de deciso para
explorar os dados. Gera relatrios, queries, anlise What if, etc.

9.1.3. AutoClass C (ic-www.arc.nasa.gov/ic/projects/bayesgroup/group/autoclass/autoclass-c-program.html)


AutoClass C uma verso de domnio pblico do AutoClass III, com algumas melhoras do
AutoClass X, implementada na linguagem C. AutoClass um sistema de classificao bayesiana no
supervisionada que procurar a maior probabilidade de classificao. As entradas consistem de atributos de
um banco de dados, de valor real ou discreto, e um valor para a classe.

9.1.4. Clementine (www.isl.co.uk/clem.html)


Clementine uma ferramenta para data mining vencedora por duas vezes do UK Governments
(Department of Trade & Industry) SMART award for innovation. As aplicaes do Clementine incluem
segmentao de clientes, deteo de fraudes, anlise de crdito, etc.

9.1.5. Data Surveyor (www.ddi.nl)


Data Surveyor uma ferramenta de DM para usurios especializados. Consiste de vrios algoritmos
e prov suporte para todos os passos do processo de KDD. Data Surveyor permite que o usurio descubra
conhecimento interativamente, inspecione os resultados durante a descoberta e guie o processo de
descoberta. As aplicaes do Data Surveyor incluem banco de dados de marketing, anlise de crdito e
risco.

9.1.6. Data Engine (www.mitgmbh.de)


Data Engine um software para anlise de dados usando tecnologias fuzzy, redes neurais, e
estatstica convencional. Tem sido aplicada com sucesso nas reas de planejamento, banco de dados de
marketing, controle de qualidade, anlise de processos, e diagnsticos.

- 93
ICA Lab. Inteligncia Computacional Aplicada , DEE, PUCRio (Verso 26/08/99)

9.1.7. Datasage (www.datasage.com)


Prov mdulos em C++ que controlam os dados num BD relacional facilitando o seu
gerenciamento. Datasage usa as rotinas de C++ para ler e processar os dados em modo batch. Como
resultado, esse produto pode manipular BDs muito grande. Datasage inclui transformao dos dados,
modelagem e anlises, com tecnologias de redes neurais e anlises de fatores.

9.1.8. DataScope (http://www.tiszanet.hu/cygron/datascp.htm)


A chave para o conhecimento mostrar e gerenciar os seus dados da maneira mais compreensiva.
difcil utilizar a intuio se estamos perdidos numa montanha de nmeros. Entretanto, desde que o
pensamento e a compreenso humana baseada em informaes anlogas, DataScope transforma um
contedo orientado a nmeros de um banco de dados em um diagrama. Estes diagramas permitem que se
utilize as habilidades intuitivas mais efetivamente.

9.1.9. Outros softwares e sites


C5.0 / See5 - www.rulequest.com
Commercial tools for data mining - www.cs.bham.ac.uk/~anp/dm_docs/oudshoff.tools.posting
DataDetective www.smr.nl
dbProphet: neural network data mining tool by Trajecta www.trajecta.com
Explora - http://orgwis.gmd.de/projects/explora/
IBM Visualization Data Explorer www.almaden.ibm.com/dx/
LEVEL5 Quest www.l5r.com
ModelQuest Enterprise www.abtech.com
ModelQuest Enterprise www.data-mine.com
PV-WAVE www.vni.com
SE-Learn - http://www.isp.pitt.edu/~rymon/SE-Learn.html
SPSS Data Mining Software www.spss.com/datamine/
SuperQuery www.azmy.com
WizRule for Windows www.wizsoft.com
XpertRule www.attar.com
9.2. EMPRESAS DE DATA MINING NO BRASIL

- 94
ICA Lab. Inteligncia Computacional Aplicada , DEE, PUCRio (Verso 26/08/99)

9.2.1. http://www.execplan.com.br/
9.2.2. http://vidaconsultores.com.br/infovida/
9.2.3. http://www.rio.com.br/~extend/
9.2.4. http://www.geocities.com/WallStreet/District/2108/ricvill.htm
9.3. EMPRESAS E PRODUTOS EM DATA MINING

9.3.1. American Heuristics/Profiler www.heuristics.com

9.3.2. Angoss Software/Knowledge Seeker www.angoss.com

9.3.3. Business Objects/BusinessMiner www.businessobjects.com

9.3.4. DataMind/DataMindProfessional www.datamind.com

9.3.5. HNC Software/DataMarksman www.hncs.com

9.3.6. HiperParallel/Discovery www.hiperparallel.com

9.3.7. Information Discovery Inc.(IDI)/Information Discovery System


www.datamining.com

9.3.8. Lucent Technologies/Interactive Data Visualization www.lucent.com

9.3.9. Nestor/Prism www.nestor.com

9.3.10. Pilot Software/pilot Discovery Server www.pilotsw.com

9.3.11. Seagate Software Systems/Holos 5.0 www.holossys.com

- 95
ICA Lab. Inteligncia Computacional Aplicada , DEE, PUCRio (Verso 26/08/99)

9.3.12. Thinking Machines/Darwin www.think.com

REFERNCIAS
[PIAT91] G. Piatetsky-Shapiro. Knowledge discovery in real databases: A report on the IJCAI-89
Workshop. AI Magazine, Vol. 11, No. 5, Jan. 1991, Special issue, 68-70.
[KELL95] S. Kelly. Data Warehouse applications in the telecommunications industry. Proc. Conf.
Commercial Parallel Processing. London, IBC, 1995.
[SRIK95] R. Srikant and R. Agrawal. Mining generalized association rules. Proc. 21st Very Large
Databases (VLDB) Conf., Zurich, Switzerland, 1995.
[MICH94] D. Michie, D. J. Spiegelhalter and C. C. Taylor. Machine Learning, Neural and Statistical
Classification. New York: Ellis Horwood, 1994.
[FISH87] D. H. Fisher. Knowledge acquisition via incremental conceptual clustering . Machine Learning,
2, 1987, 139-172.
[FAYY96] Fayyad, U. M., Piatetsky Shapiro, G., Smyth, P. & Uthurusamy, R. Advances in Knowledge
Discovery and Data Mining, AAAIPress, The Mit Press, 1996.
[LANG96] P. Langley. Elements of Machine Learning. Morgan Kaufmann, 1996.
[SHAV90] J. W. Shavlik and T. G. Diettrich. (Eds.) Readings in Machine Learning. San Mateo, CA:
Morgan Kaufmann, 1990.
[ELDE96] J. F. Elder IV and D. Pregibon. A statistical perspective on knowledge discovery in data bases.
In: U. M. Fayyad et al. (Ed.) Advances in Knowledge Discovery and Data Mining, 83-113. AAAI/MIT
Press, 1996.
[LEE 95] H-Y. Lee, H-L. Ong and L-H. Quek. Exploiting visualization in knowledge discovery. Proc. 1st
Int. Conf. Knowledge Discovery and Data Mining (KDD-95), 198-203. AAAI, 1995.
[HAYK94] Haykin, S., Neural Networks: A Comprehensive Foundation, Macmillan College Publishing
Company, New York, NY, 1994.
[RUME86] D. Rumelhart and McClelland. (Eds.) Parallel Distributed Processing: Explorations in the
Microstructure of Cognition. Cambridge, MA: MIT Press, 1986.
[NILS80] N. J. Nilsson. Principles of Artificial Intelligence. Palo Alto, CA: Tioga, 1980.
[GOLD89] D. E. Goldberg. Genetic Algorithms in Search, Optimization, and Machine Learning. Reading,
MA: Addison-Wesley, 1989.
[MARCO] Marco Aurlio Pacheco, Notas de Aula em Computao Evolucionria, (www.ica.ele.pucrio.br).
[ADRI97] Adriaans, P., Zantinge, D., Data Mining. Addison-Wesley, 1996.
[FREI98] Freitas, A. A., and Lavington, S. H., Mining Very Large Databases with Parallel Processing.
Kluwer Academic Publishers. 1998.
- 96
ICA Lab. Inteligncia Computacional Aplicada , DEE, PUCRio (Verso 26/08/99)

[AGRA97] R. Srikant, Q. Vu, R. Agrawal: Mining Association Rules with Item Constraints, Proc. Of 3rd
Intl Conference on Knowledge Discovery in Databases and Data Mining, Newport Beach, California,
August 1997.
[AGRA94] R. Agrawal, R. Srikant: Fast Algorithms for Mining Association Rules in Large Databases,
VLDB-94, Santiago, Chile, Sept. 1994.
[AGRA95] R. Agrawal, H. Mannila, R. Srikant, H. Toivonen and A. I. Verkamo: Fast Discovery of
Association Rules, In Knowledge Discovery in Databases, Volume II, U. M. Fayyad, G. Piatetsky-Shapiro,
P. Smyth, R. Uthurusamy (Eds.), AAAI/MIT Press, 1995.
[HAN 97] E. H. Han, G. Karypis, V. Kumar: Scalable Parallel Data Mining for Association Rules,
SIGMOD-97, Tucson, Arizona, May 1997.
[FUKU96] T. Fukuda, Y. Morimoto and S. Morishita. Data mining using two-dimensional optimazed
association rules: scheme, algorithms and visualization. Proc. 1996 ACM SIGMOD Int. Conf. Management
of Data, 13-23. 1996.
[MEHT96] M. Mehta, R. Agrawal, J. Rissanen: SLIQ: A Fast Scalable Classifier for Data Mining, EDBT96, Avignon, France, March 1996.
[SHAF96] J. Shafer, R. Agrawal, M. Mehta: SPRINT: A Scalable Parallel Classifier for Data Mining,
VLDB-96, Bombay, India, September 1996.
[SHOL91] Sholon M. Weiss and Casimir A. Kulikowsky, Computer Systems that Learn: Classificationn
and Prediction Methods from Statistics, Neural Nets, Machine Learning, and Expert Systems, Morgan
Kaufman, 1991.
[JAIN88] A. K. Jain and R. C. Dubes: Algoritms for Clustering Data, Prentice Hall, 1988.
[ARAB96] Phipps Arabie and Lawrence J. Hubert: An overview of combinatorial data analysis, In P.
Arabie, L. J. Hubert, and G. De Soete, editors, Clustering and Classification, pages 5-63. World Scientific
Puc., New Jersey, 1996.
[RAYM94] Raymond T.Ng and Jiawei Han: Efficient and effective clustering methods for spatial data
mining, Proc. Of VLDB Conference, Santiago, Chile, September 1994.
[KING81] J. J. King. QUIST: a system for semantic query optimization in relational databases. Proc. 7th
Int. Conf. Very Large Databases (VLDB-81), 510-517. Cannes, France, Sep. 1981.
[FAGI86] R. Fagin and M. Y. Vardi. The theory of data dependencies a survey. In: M. Anshel & W.
Gewirtz (Ed.) Mathematics of Information Processing, 19-71. American Mathematical Society, 1986.
[QUIN93] J. R. Quinlan. C4.5: Programs for Machine Learning. San Mateo, CA: Morgan Kaufmann, 1993.
[INMO93] W. H. Inmon. Building the Data Warehousing. John Wiley & Sons, 1993.
[POE 96] V. Poe. Building a Data Warehousing for Decision Suport. Prentice-Hall, 1996.
[BALA95] J. Bala, J. Huang, H. Vafaie, K. Dejong and H. Wechsler. Hybrid learning using genetic
algorithms and decision trees for pattern classification. Proc. 14th Int. Joint Conf. AI (IJCAI-95), 719-724.
1995.

- 97
ICA Lab. Inteligncia Computacional Aplicada , DEE, PUCRio (Verso 26/08/99)

[AHA 95] D. W. Aha and R. L. Bankert. A comparative evaluation of sequential feature selection
algorithms. Proc. 5th Int. Workshop on Artif. Intel. And Statistics, 1-7. Ft. Lauderdale, FL. 1995.
[KIRA92] K. Kira and L. Rendell. The feature selection problem: traditional methods and a new
algorithm. Proc 10th Nat. Conf. Artificial Intelligence (AAAI-92), 129-134. Menlo Park, CA: AAAI, 1992.
[KONO94] I. Kononenko. Estimating attributes: analysis and extensions of RELIEF. Proc. 1994. European
Conf. Machine Learning., LNAI 784, 171-182. 1994.
[KOLL96] D. Koller and M. Sahami. Toward optimal feature selection. Proc. 13th Int. Conf. Machine
Learning, 1996.
[MANN88] M. V. Mannino, P. Chu and T. Sager. Statistical profile estimation in database systems. ACM
Computing Surveys, 20(3), Seo./88, 191-221.
[DOUG95] J. Dougherty, R. Kohavi and M. Sahami. Supervised and unsupervised discretization of
continuos features. Proc. 12th Int. Conf. Machine Learning, 194-202. 1995.
[FU 94] L. Fu. Neural Networks in Computer Intelligence. MacGraw-Hill, 1994.
[LU 95] H. Lu, R. Setiono and H. Liu. NeuroRule: a connectionist approach to Data Mining. Proc. 21st
Very Large Databases Conf. (VLDB-95). Zurich, 1995.
[VAUG96] M. L. Vaughn. Interpretation and knowledge discovery from de multilayer perceptron network:
opening the black box. Neural Comput. & Applic. (1996) 4: 72-82.
[BIGU96] Bigus, J. P., Data Mining with Neural Network Solving Business Problems from Application
Development to Decision Support, McGraw-Hill, 1996.
[PERE96] Perelmuter, G., Redes Neurais Aplicadas ao Reconhecimento de Imagens Bi-dimensionais.
Dissertao de Mestrado, DEE, PUC Rio, 1996.
[DAYH90] Dayhoff, J., Neural Network Architectures: Na Introduction, Van Nostrand Reinhold, New
York, NY: 1990.
[FREE92] Freeman, J. A., and D. M. Skapura, Neural Networks: Algorithms, Applications, and
Programming Techniques, Addison-Wesley, Reading, MA: 1992.
[TRES97] V. Tresp, J. Hollatz, and S. Ahmad. Representing Probabilistic Rules with Networks of Gaussian
Basis Functions. Machine Learning, 27, Page 173, 1997. Kluwer Academic Publishers, Boston.
[TOWE93] G. G. Towell, and J. W. Shavlik. Extracting Refined Rules from Knowledge-Based Neural
Networks. Machine Learning, 13, Page 71, 1993. Kluwer Academic Publishers, Boston.
[HOLL75] John H. Holland, 1975. Adaptation in Natural and Artificial Systems. University of Michigan
Press (Ann Arbor).
[HOLL86] John H. Holland, 1986. Escaping brittleness: the possibilities of general purpose learning
algorithms applied to parallel rule-based systems. Machine Learning, an artificial intelligence approach, 2.
[HOLL92] Holland, J. H., Adaptation in Natural and Artificial Systems, MIT Press, Cambridge, MA: 1992.
[BELE91] Belew, R. and L. Booker, ed., Genetic Algorithms: Proceedings of the Fourth International
Conference, Morgan Kaufmann, CA: 1991.

- 98
ICA Lab. Inteligncia Computacional Aplicada , DEE, PUCRio (Verso 26/08/99)

[AUGI95] S. Augier, G. Venturini and Y. Kodratoff. Learning first order logic rules with genetic
algorithm. Proc. 1st Int. Conf. Knowlede Discovery & Data Mining, 21-26. AAI Press, 1995.
[NERI95] F. Neri and A. Giordana. A parallel genetic algorithm for concept learning. Proc. ICGA-95, 436443.
[ANGL97] C. Angalno, A. Giordana, G. Lo Bello and L. Saitta. A network genetic algorithm for concept
learning. Proc. 7th Int. Conf. On Genetic Algorithms, 434-441. Morgan Kaufmann, 1997.
[JANI93] C. Z. Janikow. A knowledge-intensive genetic algorithm for supervised learning. Machine
Learning, 13, 1993, 189-228.
[IGLE96] B. de la Iglesia, J. C. W. Debuse and V. J. Rayward-Smith. Discovering knowledge in
commercial databases using modern heuristic techniques. Proc. 2nd Int. Conf. Knowledge Discovery &
Data Mining. AAAI, 1996.
[SMIT80] Stephen F. Smith, 1980. A Learning System Based Based on Genetic Adaptative Algorithms.
Phd Thesis, University of Pittsburgh.
[SMIT84] Stephen F. Smith, 1984. Adaptative learning systems. In Richard Forsyth, editor, Expert
Systems, Principles and case studies. Chapman and Hall Ltd.
[DEJO93] Kenneth A. DeJong, William M. Spears, and Diana F. Gordon, 1993. Using genetic algorithms
for concept learning. Machine Learning, 13: 161-188.
[GREE93] David Perry Greene and Stephen F. Smith, 1993. Competition-Based Induction of Decision
Models from Examples. Machine Learning, 13, Page 229. Kluwer Academic Publishers, Boston.
[GREE94] David Perry Greene and Stephen F. Smith, 1994. Using coverage as a model building constraint
in learning classifier systems. Evolutionary Computation, 2(1).
[GIOR94] A. Giordana, F. Neri, and L. Saiat, 1994. Search-intensive concept induction. Technical report,
Universit de Torino, Dipartimento de Informatica, Corso Svizzera 185, 10149 Torino, Italy.
[PEI 95] M. Pei, E. D. Goodman, W. F. Punch III, 1995. Pattern Discovery from data using Genetic
Algorithms. Michigan State Universitys Center for Microbial Ecology and Beijing Natural Science
Foundation of China. GARAGe Genetic Algorithms Research and Applications Group.
[TRUN79] G. V. Trunk, A Problem of Dimensionality: A Simple Example, IEEE Trans. Pattern Anal.
Mach. Intelligence, vol. 1, pp. 306-307, 1979.
[FERR94] J. F. Ferri, P. Pudil, M. Hatef, and J. Kittler. Comparative study of techniques for large-scale
feature selection. In: Pattern Recognition in Practice IV, Multiple Paradigms, Comparative Studies and
Hybrid Systems, eds. . S. Gelsema and L. S. Kanal. Amsterdam: Elsevier, 1994. pp. 403-413.
[SIED89] W. Siedlecki and J. Sklansky, A note on Genetic Algorithms for Large-Scale Selection, Pattern
Recognition Letters, vol. 10, pp. 335-347, 1989.
[PUNC93] W. F. Punch, E. D. Goodman, M. Pei, L. Chia-Shun, P. Hovland, and R. Enbody, Further
Research on Feature Selection and Classification Using Genetic Algorithms, International Conference on
Genetic Algorithms 93, pp. 557-564, 1993.
[KELL91] J. D. Kelly and L. Davis, Hybridizing the Genetic Algorithm and the K Nearest Neighbors
Classification Algorithms, Proc. Fourth Inter. Conf. Genetic Algorithms and their Applications (ICGA), pp.
377-383, 1991.
- 99
ICA Lab. Inteligncia Computacional Aplicada , DEE, PUCRio (Verso 26/08/99)

[MORI97] K. Morik, P. Brockhausen. A Multistrategy Approach to Relational Knowledge Discovery in


Databases. Machine Learning, 27, Page 287. Kluwer Academic Publishers, Boston. 1997.
[MUGG92] Muggleton, S., ed. 1992a. Inductive Logic Programing. London: Academic Press.
[RAED92] DE Raedt, L. 1992. Interative Theory Revision: An Inductive Logic Programing Approach.
London: Academic Press.
[LAVR94] Lavrac, N.; and Dzeroski, S. 1994. Inductive Logic Programing: Techniques and Applications.
Chichester, UK: Ellis Horwood.
[ULLM88] Ullman, J. 1988. Principles of Database and Knowledge Base Systems, Volume I. Rockville,
Mass.: Computer Science Press.
[QUIN90] Quinlan, J. 1990. Learning Logical Definitions from Refations. Machine Learning, 5(3): 239266.
[LAVR91] Lavrac, N.; Dzeroski, S.; and Grobelnik, M. 1991. Learning Nonrecursive Definitions of
Relations with LINUS. In Proceedings of the Fifth European Working Session on Learning, 265-281.
Berlin: Springer-Verlag.
[SULL86] OSullivan F., Yandell, B. S., and Raynor, W. J. Jr. 1986. Automatic Smoothing of Regression
Functions in Generalized Linear Models. Journal of the American Stastical Association 81: 96-103.
[FRIED95] Friedman, J. H. 1995. An Overview of Predictive Learning and Function Approximation. In
From Statistics to Neural Networks: Theory and Pattern Recognition Applications, ed. V. Cherkassky, J. H.
Friedman, and H. Wechsler. Berlin: Springer.
[WEIS91] Weiss, S. M.; and Kulikowsky, C. A. 1991. Computer Systems that Learn: Classification and
Prediction Methods from Statistics, Neural Networks, Machine Learning, and Expert Systems. San Mateo,
Calif.: Morgan Kaufmann.
[SHEN 93] Shen W. M. 1993. Bayesian probability theory A general method for machine learning MCCCarnot-101-93. Microelectronics and Computer Technology Corporation, Austin, TX.
[WEI 98] Wei-Min Shen, Information Sciences Institute, University of Southern California. UCLA Data
Mining Short Course, 1998.
[CHEE96] Cheeseman P, Stutz, J., Bayesian Classification (AutoClass): Theory and Results. Advances in
Knowledge Discovery and Data Mining, U. M. Fayyad, G. Piatetsky-Shapiro, P. Smyth, and R.
Uthurusamy Editors, 6:153-180, 1996.
[HECK96] Heckerman D., Bayesian Networks for Knowledge Discovery. Advances in Knowledge
Discovery and Data Mining, U. M. Fayyad, G. Piatetsky-Shapiro, P. Smyth, and R. Uthurusamy Editors,
11:273-305, 1996.
[ALIF94] Aliferes, C.; and Cooper, G. 1994. An Evaluation of an Algorithm for Indutive Learning of
Bayesian Belief Networks Using Simulated Data Sets. In Proceedings of Tenth Conference on Uncertainty
in Artificial Intelligence, 8-14. San Francisco: Morgan Kaufmann.
[BUNT95] Buntine, W. 1995. A Guide to the Literature on Learning Graphical Models. Technical Report
IC-95-05, NASA, Ames Research Center.
[CHAR91] Charniak, E. 1991. Bayesian Networks Without Tears. AI Magazine, 12: 50-63.
- 100
ICA Lab. Inteligncia Computacional Aplicada , DEE, PUCRio (Verso 26/08/99)

[SPIE93] Spieglhalter, D.; Dawid, A.; Lauritizen, S.; and Cowel, R. 1993. Bayesian Analysis in Expert
Systems. Statistical Science, 8: 219-282.
[AGRA92] R Agrawal, S. Ghosh, T. Imielinsky, B. Yer and A. Swami. An interval classifier for database
mining applications. Proc. 18th Int.. Conf. Very Large Databases, 560-573. Vancouver, 1992.
[ESPO95] F. Esposito, D. Malerba and G. Semeraro. Simplifying decision trees by prunning and grafting:
new results. Proc. 8th European Conf. Machine Learning, ECML-95, 287-290. LNAI-912.
[PEAR85] J. Pearl. Heuristics: Intelligeny Search Strategies for Computer Problem Solving. Reading, MA:
Addison-Wesley, 1985.
[WINS92] P.H. Winston. Artificial Intelligence . 3rd Ed. Reading, MA: Addison-Wesley, 1992
[MICH83] R. W. Michalski. A theory and methodology of inductive learning. Artificial Intelligence, Vol.
20, 1983, 111-161.
[HOLS94] M. Holsheimer and A. Siebes. Data mining: the search for knowledge in databases. Report CSR9406. Amsterdam, the Netherlands: CWI, Jan. 1994.
[LANG95] P. Langlay and H. A. Simon. Applications of Machine Learning and Rule Induction. Comm. of
the ACM 38(11), Nov./95, 55-64
[CLAR91] Clark, P.; and Boswell, R. 1991. Rule Induction with CN2: Some Recent Improvements. In
Proceedings of Fifth European Working Session on Learning, 151-163. Berlin: Springer-Verlag.
[SHEN 92] Shen W. M. 1992. Complementary discrimination learning with decision lists. Proceedings of
Tenth National Conference on Artificial Intelligence. MIT Press.
[KLOE94] W. Klsgen, 1994. Exploration of simulation experiments by discovery. In Proceedings of
KDD-94 Workshop. AAAI.
[ZYTK91] Jam M. Zytkow and John Baker, 1991. Interative mining of regularities in databases. In Gregory
Piatetsky-Shapiro and Willian J. Frawley, editors, Knowledge Discovery in Databases, pages 31-53. MIT
Press.
[ZYTK93] Jam M. Zytkow and Robert Zembowicz, 1993. Database exploration in search of regularities.
Journal of Intelligence Information Systems, 2: 39-81.
[DASG97] D. Dasgupta, Z. Michalewicz, Evolutionary Algoritms in Engineering Applications, (Eds.)
Springer, 1997.
[DHAR97] V. Dhar, R. Stein, Seven Methods for Transforming Corporate Data into Business Intelligence,
Prentice-Hall, 1997.
[DAVI96] L. Davis. (Ed.) Handbook of Genetic Algorithms. Int. Thomson Comp. Press 1996.
[AGRA93] R. Agrawal, T. Imielinski and A. Swami. Mining Association rules between sets of itens in
large databases. Proc. 1993 Int. Conf. Management of Data (SIGMOD-93), 207-216. May/93.
[MICH94] Z. Michalewicz, Genetic Algorithms+Data Structures=Evolution Programs, Springer-Verlag1994.

- 101
ICA Lab. Inteligncia Computacional Aplicada , DEE, PUCRio (Verso 26/08/99)

[KLS96] Willi Klsgen and Jan M. Zytkow. Knowledge Discovery in Databases Terminology. Advances
in Knowledge Discovery and Data Mining, Usama. M. Fayyad, Gregory. Piatetsky-Shapiro, Padhraic
Smyth, and Ramasamy Uthurusamy Editors, 573-592, 1996.
[COST97] Rodrigo M. L. de A. Costa. Um Estudo Sobre o Desempenho e a Convergncia de Algoritmos
Genticos. Dissertao de Mestrado. Pontifcia Universidade Catlica do Rio de Janeiro, Departamento de
Engenharia Eltrica, 1997.
[SANK96] Sankar K. Pal and Paul P. Wang. Genetic algorithms for pattern recognition. CRC Press, Inc.
1996.

- 102
ICA Lab. Inteligncia Computacional Aplicada , DEE, PUCRio (Verso 26/08/99)