Академический Документы
Профессиональный Документы
Культура Документы
Minerao de Dados
Apostila
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)
- 4
ICA Lab. Inteligncia Computacional Aplicada , DEE, PUCRio (Verso 26/08/99)
1.
INTRODUO
Inspirao
Neurnios biolgicos
Evoluo biolgica
Proc. lingstico
Inferncia
- 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
M e ta-Dados
D e fi ni o
BD
A r maze nado
- 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
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)
4.
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.
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
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
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)
- 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.
- 19
ICA Lab. Inteligncia Computacional Aplicada , DEE, PUCRio (Verso 26/08/99)
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)
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)
- 22
ICA Lab. Inteligncia Computacional Aplicada , DEE, PUCRio (Verso 26/08/99)
Ativao
Pesos
X1
Propagao
W1
X2
W2
X3
W3
- 23
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( )
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)
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
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.
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.
- 30
ICA Lab. Inteligncia Computacional Aplicada , DEE, PUCRio (Verso 26/08/99)
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
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)
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
Pas
Alemanha
Inglaterra
Frana
N
Idade
25
S
> 25
N
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)
- 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)
Neurnio
Artificial
Neurnio
Biolgico
Dendritos
Sinapses
Pesos
Axnio
w1
Propagao
Ativao
w2
Corpo
Somtico
w3
Wi1
Wi2
Wi3
F
SADA=F(NET)
NEURNIO ARTIFICIAL
- 37
ICA Lab. Inteligncia Computacional Aplicada , DEE, PUCRio (Verso 26/08/99)
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.
CAMADA
CAMADA
ENTRADAS
SADA
DE SADA
ESCONDIDA
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
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.
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)
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
...
ENTRADAS
..
.
SADA
- 43
ICA Lab. Inteligncia Computacional Aplicada , DEE, PUCRio (Verso 26/08/99)
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.
- 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.
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.
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.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)
- 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)
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
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.
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)
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
- 52
ICA Lab. Inteligncia Computacional Aplicada , DEE, PUCRio (Verso 26/08/99)
Apresentao dos
padres de
treinamento
- Aprendizado On Line
- Aprendizado Off Line
-Mtodo Auto-Organizado
- Identificao
Automtica
- Incremental
Identificao da
estrutura
SNF
- Decremental
- Antecedentes
Identificao dos
parmetros
- Antecedentes e Consequentes
- Antecedentes.,Conseqentes., e Peso das regras
- 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 -
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
- 54
ICA Lab. Inteligncia Computacional Aplicada , DEE, PUCRio (Verso 26/08/99)
de Takagi-Sugeno
- 55
ICA Lab. Inteligncia Computacional Aplicada , DEE, PUCRio (Verso 26/08/99)
Tsukamoto
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
de Tsukamoto
- 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
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.
( 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
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
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
- 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
(x)
1/e
0
x
c-v
c+v
- 59
ICA Lab. Inteligncia Computacional Aplicada , DEE, PUCRio (Verso 26/08/99)
(x)
tg = -b/2a
1/2
x
c-a c
c+a
( x ) = sig ( x , a , b) =
1
1+ e
a ( x b)
(x)
, tg ~ a
x
x=b
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)
(x)
0
Figura 41: Funo
x=a
(a)Fuzzy Grid
(c)Fuzzy Boxes
(e) BSP
x2
x1
Figura 42: Particionamentos
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).
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,
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
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.
- 64
ICA Lab. Inteligncia Computacional Aplicada , DEE, PUCRio (Verso 26/08/99)
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:
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,
m o nmero de regras.
- 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,
x1 x2
Entradas
regra 1
x1
mn
regra 2
x2
mn
C1
C2
norm
x1 x2
C4
C5
Sada
norm
C3
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
c2
Camada de
Sada
r5
r4
12
22
32
Camada de
Regras
Camada de
Antecedentes
Camada de
Entrada
x2
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
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
Apres.
dos
padres
Identificao
da
estrutura
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.
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.
- 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
- 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
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
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:
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.
- 77
ICA Lab. Inteligncia Computacional Aplicada , DEE, PUCRio (Verso 26/08/99)
m(H, t + 1 ) = n
fi
fj
i H
n
j =1
fi
f(H) =
m(H,t)
i H
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
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.
pd ( H ) =
( H )
L 1
Portanto,
Equao 31
ps (H ) = 1
( H )
L 1
p s 1 pc
( H )
L 1
Isto significa que schemata curtos tem maior probabilidade de sobrevivncia (se manter intacto) aps o
crossover.
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.
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.
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.
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
- 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.
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
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.
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
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.
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
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.
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].
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.
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.
Distncia
- 89
ICA Lab. Inteligncia Computacional Aplicada , DEE, PUCRio (Verso 26/08/99)
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
S
~C
C
P
n12
n22
c2 = n12 + n22
l1 = n11 + n12
l2 = n21 + n22
n = n11 + n12 + n21 + n22
e ij =
ri c
n
, i , j = 1,2 .
ChiSquare =
i =1 j =1
(nij eij ) 2
eij
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
- 93
ICA Lab. Inteligncia Computacional Aplicada , DEE, PUCRio (Verso 26/08/99)
- 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
- 95
ICA Lab. Inteligncia Computacional Aplicada , DEE, PUCRio (Verso 26/08/99)
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)
[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)