Buscar

Redes Neurais Artifíciais

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 50 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 50 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 50 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

REDES NEURAIS - UMA FERRAMENTA 
PARA KDD E DATA MINING 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Antonio Carlos Gay Thomé 
 
 
Redes Neurais – Uma Ferramenta para KDD e Data Mining 
 
 
SUMÁRIO 
 
Introdução ____________________________________________________________________ 4 
Data Warehouse _______________________________________________________________ 6 
Data Mart __________________________________________________________________ 9 
KDD – Knowledge Discovery ____________________________________________________ 11 
Data Mining _________________________________________________________________ 13 
Principais Objetivos de um Data Mining _______________________________________ 14 
Aplicações para Data Mining _________________________________________________ 15 
Marketing ________________________________________________________________ 15 
Vendas __________________________________________________________________ 16 
Finanças _________________________________________________________________ 16 
Manufatura _______________________________________________________________ 16 
Saúde ___________________________________________________________________ 16 
Energia __________________________________________________________________ 17 
Redes Neurais ________________________________________________________________ 18 
O Paradigma do modelo neural _______________________________________________ 18 
Um Breve Histórico _________________________________________________________ 19 
Alguns Conceitos Básicos ____________________________________________________ 20 
O Neurônio Artificial _______________________________________________________ 21 
O Modelo Neural __________________________________________________________ 23 
Estrutura de uma Rede Neural ________________________________________________ 23 
Projeto de um Sistema Neural ________________________________________________ 25 
Treinamento de uma Rede Neural _____________________________________________ 26 
Aprendizado ______________________________________________________________ 27 
PRW – Uma Ferramenta para Data Mining ________________________________________ 28 
Como obter uma cópia_______________________________________________________ 28 
Tutorial On-Line ___________________________________________________________ 28 
Componentes do PRW_______________________________________________________ 28 
Guia para Utilização ________________________________________________________ 29 
Como Carregar (importar) a base de dados ______________________________________ 29 
Como criar um experimento__________________________________________________ 29 
Como selecionar as variáveis de entrada e de saída ________________________________ 29 
Como selecionar o conjunto para treinamento e para teste __________________________ 29 
Como monitorar os experimentos _____________________________________________ 30 
Como configurar um modelo _________________________________________________ 30 
Como especificar os parâmetros do algoritmo de treinamento _______________________ 31 
Redes Neurais – Uma Ferramenta para KDD e Data Mining 
Antonio Carlos Gay Thomé Inteligência Computacional 3 
Como especificar os parâmetros de configuração dos relatórios ______________________ 31 
Como executar um experimento (treinamento da rede) _____________________________ 31 
Como verificar o desempenho do modelo _______________________________________ 32 
Como preparar a rede para operação – configurando uma função_____________________ 32 
Como usar a rede sobre novos dados___________________________________________ 32 
Como Salvar um Experimento ________________________________________________ 33 
Como sair do PRW_________________________________________________________ 33 
Estudo de Casos_______________________________________________________________ 34 
Caso 1 – Planejamento de Vendas _____________________________________________ 34 
Caso 2 – Planejamento de Marketing I _________________________________________ 37 
Caso 3 – Planejamento de Marketing II ________________________________________ 41 
Caso 4 – Diagnóstico Médico _________________________________________________ 45 
Caso 5 – Aplicação Financeira ________________________________________________ 47 
Referências Bibliográficas ______________________________________________________ 49 
 
Redes Neurais – Uma Ferramenta para KDD e Data Mining 
Antonio Carlos Gay Thomé Inteligência Computacional 4 
Introdução 
O crescimento explosivo das bases de dados, sejam elas administradas pelo 
governo, pela sociedade civil ou pelas entidades de pesquisa, vem ultrapassando em 
muito, a capacidade humana de interpretar e digerir o volume de dados disponível. Esta 
realidade vem fazendo surgir a demanda por uma nova geração de ferramentas e técnicas, 
que possibilitem uma análise automática e mais inteligente destas bases de dados. 
 
“We’re interested in techniques that automatically find fundamental properties 
and principles that are original and useful.” 
Toshinori Munakata[Toshinori99] 
 
Nesta última década, graças aos avanços nas técnicas de aquisição e de 
armazenamento, presenciamos um crescimento explosivo na capacidade das pessoas em 
gerar e coletar dados. Avanços nas técnicas de aquisição de dados científicos 
incorporando, por exemplo, sensores remotos e satélites; a introdução do código de 
barras, que possibilitou a automatização comercial e o surgimento dos pontos de venda e, 
mais recentemente, as técnicas de gerenciamento eletrônico de documentos, são fontes 
geradoras de grandes volumes de dados. 
No lado do armazenamento, os avanços tecnológicos dos computadores, cada vez 
mais velozes, relativamente mais baratos e com maior capacidade de armazenamento, 
dotados de sistemas de gerenciamento de banco de dados cada vez melhores e a 
tecnologia de data warehouse, vêm possibilitando o acúmulo de verdadeiras montanhas de 
dados corporativos. 
Hoje já é relativamente comum encontrar-se bases de dados da ordem de trilhões 
de bytes (terabytes). Na área comercial, um dos maiores bancos de dados do mundo, com 
mais de 20 milhões de transações por dia, é o administrado pela cadeia Wal-Mart. A Mobil 
Oil está desenvolvendo um data warehouse com informações relativas a exploração de 
petróleo, com capacidade de armazenamento acima de 100 terabytes. 
 
“As wave after wave of new information technology hits the market and slowly 
gets assimilated into daily operations, the risks (and rewards) grow higher for 
those who have placed their bets on the technology roulette wheel.” 
Joseph P. Bigus [Bigus96] 
 
Nestas últimas três décadas o computador evoluiu de uma posição de uso limitado 
a automação de algumas operações rotineiras, principalmente nas áreas administrativa e 
financeira, para um uso mais abrangente e profundo, oferecendo soluções e respostas para 
os mais diferentes níveis do processo empresarial. Não apenas a tecnologia computacional 
Redes Neurais – Uma Ferramenta para KDD e Data Mining 
Antonio Carlos Gay Thomé Inteligência Computacional 5 
mudou, mas também, e principalmente, a forma como ela é vista e usada no mundo dos 
negócios. 
Em 1981 tivemos o nascimento do IBM PC que, usando um processador Intel 8088 
de 16 bits, uma memória RAM de 64Kbytes e apenas um floppy disk de 5 ½”, foi lançado 
no mercado pelo singelo valor de US$3000. O primeiro disco rígido a aparecer no mercado 
foi o Seagate 5.25”, com capacidade de armazenar apenas 5Mbytes de dados. Hoje, 
passados vinte anos, com os mesmos US$3000, podemos adquirir um computador dual 
com dois processadores Pentium III de 1GHz, 512Mbytes de RAM, 40Gbytes de 
armazenamento em disco rígido e mais um número de outros recursos inexistentes na 
época, como CD-ROM, DVD, Zip Drive, placa de rede, etc. 
As bases de dados hoje ganharam status e passaram a ser vistas como bem de 
capital da empresa. Os dados operacionais representam o estado corrente dos negócios e, 
quando combinados com dados históricos, podem dizeronde estamos, de onde viemos e 
para onde vamos. Premidos pela necessidade de tomar decisões em tempo cada vez mais 
curto, os executivos atuais precisam dispor de informações rápidas e precisas que lhes 
sirvam de suporte. Segundo a revista HSM Management, o planejamento estratégico é a 
ferramenta mais utilizada pelos executivos nesta última década. 
Ter informações on line apenas não é mais o suficiente. Há tempos que as 
tradicionais consultas e relatórios gerenciais perderam a capacidade de proporcionar ao 
executivo algum diferencial competitivo. Ferramentas avançadas de análise de dados, 
conhecidas como OLAP (OnLine Analytical Processing), oferecem a possibilidade de uma 
análise interativa através de diferentes formas de agregação dos dados e apresentação dos 
resultados na forma de tabelas (2D) ou na forma de gráficos em 3D. Porém, o que observa 
é que mesmo estas ferramentas já não respondem aos desafios impostos pelo cotidiano da 
competitividade empresarial. 
O que o mercado procura hoje são maneiras ou técnicas que permitam tirar maior 
proveito do investimento feito na coleta e no armazenamento de montanhas de dados 
sobre o seu negócio. O desafio está em descobrir e extrair conhecimento novo a partir dos 
dados, que este conhecimento seja útil e que ao ser usado no processo de tomada da 
decisão, possa representar um diferencial competitivo e um ganho real para a empresa. 
Nesta área, de forma ainda nebulosa, isto é, sem um consenso, surgem ferramentas, 
metodologias e mesmo paradigmas, cujas definições muitas vezes se confundem, mas que 
apontam todas para a multiplicidade de bases de dados e para o caminho do 
processamento inteligente destas bases. Data Warehouse, KDD – Knowledge Discovery in 
Databases, Data Mining, Inteligência Computacional e Redes Neurais são alguns dos nomes 
encontrados neste novo segmento. 
No texto a seguir fazemos uma breve exposição dos principais conceitos e 
definições sobre os termos acima citados:Data Warehouse, KDD e Data Mining. Sobre Redes 
Neurais fazemos uma apresentação um pouco mais detalhada porém sem muita 
profundidade. A seguir apresentamos a ferramenta PRW – Pattern Recognition Workbench, 
que será utilizada em apoio ao curso e, finalmente, apresentamos alguns problemas que 
serão explorados como estudo de casos. 
 
Redes Neurais – Uma Ferramenta para KDD e Data Mining 
Antonio Carlos Gay Thomé Inteligência Computacional 6 
Data Warehouse 
Nos anos 80 a sociedade presenciou o surgimento e o apogeu dos 
microcomputadores que não só viraram objeto de consumo mas também revolucionaram 
a forma de se fazer computação no meio empresarial. Os antigos e paquidérmicos 
sistemas centralizados deram lugar a sensação de que cada setor ou mesmo funcionário 
tem agora o poder de resolver seus próprios problemas e necessidades – finalmente 
alcançada a tão almejada independência da área de TI. 
O desenvolvimento de diversas ferramentas de software, como planilhas 
eletrônicas, gerenciadores de pequenos bancos de dados, interfaces gráficas com ícones e 
menus e sofisticados ambientes de programação, estimulou ao extremo a veneração pelo 
conceito do “faça você mesmo”. 
Embora interessantes e estimuladoras da criatividade e da auto-suficiência, a 
proliferação desta prática gerou uma nova classe de problemas para o mundo dos 
negócios. É muito comum hoje uma empresa ter um número elevado de pequenas bases 
de dados espalhadas por diversas áreas ou setores. Bases estas completamente 
desconectadas uma das outras, possivelmente com redundância de informações e, não 
raramente, contendo valores inconsistentes. 
A falta de um procedimento integrado para concepção e administração do dado 
como patrimônio corporativo da empresa começou a ser questionada no princípio da 
década de 90, principalmente por aqueles com tendência à nostalgia. Voltar no entanto aos 
grandes e pesados sistemas centralizados, em plena era da teleinformática, seria um 
retrocesso grande demais. É neste contexto que surge um novo conceito - o de Data 
Warehouse (ou Armazém de Dados em português) - cuja proposta maior é estabelecer um 
telhado virtual sob o qual se integram as diferentes bases de dados da empresa que agora, 
sob a perspectiva dos usuários, passam a ser vistas como uma grande base corporativa. 
Um Data Warehouse, como o nome indica, constitui-se de um grande aglomerado de 
dados provenientes das mais diversas bases de dados existentes e mantidas por uma 
empresa. A qualidade e a integridade dos dados no Data Warehouse deve ser mantida por 
uma equipe centralizada de profissionais competentes. Por outro lado, desenvolvedores 
de aplicações não precisam mais se preocupar com o layout das diferentes bases, nem com 
possíveis incompatibilidades em termos de formas e meios de armazenamento, 
redundâncias ou inconsistências. Em outras palavras, eles precisam apenas saber que todo 
e qualquer dado pode ser facilmente encontrado através dos recursos oferecidos pela 
interface de gerenciamento do Data Warehouse. 
Na bibliografia encontramos conceitos e definições as vezes um pouco distintas 
sobre DW , tais como: 
 
Redes Neurais – Uma Ferramenta para KDD e Data Mining 
Antonio Carlos Gay Thomé Inteligência Computacional 7 
¨ Segundo Inmon [INM97a], que é tido como o pai do conceito, Data Warehouse é 
uma coleção de dados integrados, orientados por assunto, variáveis com o 
tempo e não voláteis, usados para dar suporte ao processo gerencial de tomada 
de decisão. 
¨ Conforme Harjinder [HAR96], Data Warehouse é um processo que aglutina 
dados de fontes heterogêneas, incluindo dados históricos e dados externos a 
empresa, usados para atender à necessidade de consultas estruturadas e ad-hoc, 
relatórios analíticos e de suporte à decisão. 
¨ Para Barquini [BAR96], Data Warehouse é uma coleção de técnicas e tecnologias 
que juntas disponibilizam um enfoque pragmático e sistemático para tratar com 
o problema do usuário final que precisa acessar informações que estão 
distribuídas em vários sistemas da organização. 
 
Fazendo uma comparação com o conceito tradicional de banco de dados, este pode 
ser visto como uma coleção de dados operacionais armazenados e utilizados pelos 
diferentes sistemas de aplicação de uma determinada empresa [BAT86]. Os dados 
mantidos nesta forma são chamados de "operacionais" ou "primitivos". No caso do DW, 
tem-se uma coleção de dados derivados dos dados operacionais que servem a sistemas de 
suporte à decisão. Estes dados são, muitas vezes, referidos como dados "gerenciais", 
"informacionais" ou "analíticos" [INM96]. 
Os bancos de dados operacionais armazenam as informações necessárias para as 
operações do dia-a-dia da empresa. São utilizados por todos os funcionários para registrar 
e executar operações pré-definidas e seus dados podem sofrer constantes mudanças 
conforme as necessidades atuais da empresa. Por não ocorrer redundância num banco de 
dados e as informações históricas não ficarem armazenadas por muito tempo, este tipo de 
estrutura não exige grande capacidade de armazenamento. 
 Já um DW armazena dados analíticos, tanto detalhados como resumidos, e 
destinados às necessidades da gerência no processo de tomada de decisões. Isto pode 
envolver consultas complexas que necessitam acessar um grande número de registros, por 
isso é importante a existência de muitos índices criados para acessar as informações da 
maneira mais rápida possível. Um DW armazena informações históricas de muitos anos e 
por isso deve ter uma grande capacidade de processamento e de armazenamento. 
Na Tabela abaixo, estão relacionadas algumas diferenças entre um banco de dados 
convencional e um DW [INM96] [BAR96] [KIM96] [ONE97]: 
 
Características Bancos de dados Operacionais Data Warehouse 
Objetivo Operações diárias do negócio Analisar o negócio 
Uso Operacional Informativo 
Tipo de processamento OLTP OLAP 
Unidade de trabalho Inclusão, alteração, exclusão Carga e consulta 
Número de usuários Milhares Centenas 
Tipo de usuárioOperadores Comunidade gerencial 
Interação do usuário Somente pré-definida Pré-definida e ad-hoc 
Condições dos dados Dados operacionais Dados Analíticos 
Volume Megabytes – gigabytes Gigabytes – terabytes 
Redes Neurais – Uma Ferramenta para KDD e Data Mining 
Antonio Carlos Gay Thomé Inteligência Computacional 8 
Histórico 60 a 90 dias 5 a 10 anos 
Granularidade Detalhados Detalhados e resumidos 
Redundância Não ocorre Ocorre 
Estrutura Estática Variável 
Manutenção desejada Mínima Constante 
Acesso a registros Dezenas Milhares 
Atualização Contínua (tempo real) Periódica (em batch) 
Integridade Transação A cada atualização 
Número de índices Poucos/simples Muitos/complexos 
Intenção dos índices Localizar um registro Aperfeiçoar consultas 
Tabela 1 – Comparação entre Banco de Dados Operacionais e Data Warehouse. 
Com base nestes conceitos podemos concluir que o DW não é um fim, mas sim um 
meio para que as empresas possam dispor e analisar informações históricas com vistas a 
melhoria dos processos e dos negócios. Um DW é construído com base em resumos 
retirados de múltiplos sistemas de computação normalmente utilizados há vários anos e 
que continuam em operação. São construídos para que tais dados possam ser 
armazenados e acessados de forma que não sejam limitados por tabelas e linhas 
estritamente relacionais. Os dados de um DW podem ser compostos por um ou mais 
sistemas distintos e sempre estarão separados de qualquer outro sistema transacional, ou 
seja, deve existir um local físico onde os dados desse sistema sejam armazenados. A 
Figura abaixo ilustra o esquema de emprego de um DW, mostrando que entre as fontes de 
dados e os aplicativos está o DW. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Esquema de Emprego de um Data Warehouse 
A tecnologia de DW mostra-se muito interessante para empresas que possuam 
grandes volumes de dados gerados e acumulados durante anos, e que necessitem 
Base 
de 
Base 
de 
Base 
de 
Integrador 
Extrator Extrator Extrator 
 
Data Warehouse 
Consultas Consultas 
Redes Neurais – Uma Ferramenta para KDD e Data Mining 
Antonio Carlos Gay Thomé Inteligência Computacional 9 
recuperar estes dados de uma forma que eles possam auxiliar os administradores na 
tomada de decisões estratégicas de maneira rápida, eficiente e segura. 
Apesar de possuir uma arquitetura relativamente simples, os processos de extração, 
filtragem, carga e recuperação dos dados são bastante complexos, exigindo que pessoas 
altamente capacitadas façam parte do projeto para que os objetivos sejam atingidos no 
menor espaço de tempo possível e sem gastos desnecessários de recursos. 
Além dos benefícios relativos a qualidade e a segurança dos dados, um DW abre 
toda uma gama de novas possibilidades em termos de sistemas de informações 
estratégicas e gerenciais para a tomada da decisão. Um DW mantém a história dos 
negócios e torna os dados facilmente acessáveis, abrindo assim, caminho para todo um 
novo paradigma que visa a geração de conhecimento novo e útil para a empresa a partir 
da busca de padrões e correlações desconhecidas envolvendo partes das bases de dados. 
Esta nova área é conhecida por KDD – Knowledge Discovery in Databases. 
Data Mart 
Trata-se de uma alternativa mais modesta aos data warehouse. Menores e mais 
baratos, os data marts são menos abrangentes limitando-se, na maioria das vezes, ao 
contexto de um departamento. Pela complexidade que envolve um DW, sua construção é 
geralmente lenta e cara. Para equilibrar os custos e oferecer resultados em prazos mais 
curtos, é possível construir Data Marts, que são pequenos DW departamentais. Entre as 
principais vantagens da utilização de um Data Mart está a redução do tempo de 
implementação, em média de 120 dias cada, e o fator preço. Segundo estimativas, 
enquanto um Data Mart departamental custa de US$ 100 mil a US$ 1 milhão, um DW 
completo começa na casa dos US$ 2 milhões e leva cerca de um ano para estar 
consolidado. 
Conforme [INM97], data marts são subconjuntos de dados da empresa armazenados 
fisicamente em mais de um local, geralmente divididos por departamento (data marts 
"departamentais"). Existem diferentes alternativas de se implementar um data mart 
[ONE97], sendo que a proposta original é a aquela onde os Data Marts são desenvolvidos 
a partir de um DW central. A abaixo exemplifica esta situação. 
 
 
 
 
 
 
Data Marts departamentais. 
Nesta arquitetura, grupos de usuários acessam diretamente os Data Marts de seus 
respectivos departamentos. Somente aquelas análises que necessitam de uma visão global 
 
Data Warehouse 
Vendas 
Compras 
Estoque 
Data Mart 
Data Mart 
Data Mart 
Redes Neurais – Uma Ferramenta para KDD e Data Mining 
Antonio Carlos Gay Thomé Inteligência Computacional 10 
da empresa são realizadas sobre o DW. Os Data Marts se diferenciam do DW pelos 
seguintes fatores [INM97]: 
¨ São personalizados: Atendem às necessidades de um departamento específico 
ou grupos de usuários; 
¨ Menor volume de dados: Por atenderem a um único departamento, armazenam 
um menor volume de dados; 
¨ Histórico limitado: Os Data Marts raramente mantém o mesmo período 
histórico que um DW, que geralmente mantém um histórico de 5 a 10 anos; 
¨ Dados sumarizados: Os Data Marts geralmente não mantém os dados no 
mesmo nível de granularidade do DW, ou seja, os dados são, quase sempre, 
sumarizados quando passam do DW para os Data Marts. 
Um dos problemas dos Data Marts é o grande risco de desvio do modelo original, 
pois pode acontecer um crescimento desestruturado. Por ser muito utilizado e estar em 
constante aperfeiçoamento pode ocorrer a replicação das mesmas informações em vários 
locais o que dificulta uma futura integração de todos os Data Marts em um único DW. 
 
Redes Neurais – Uma Ferramenta para KDD e Data Mining 
Antonio Carlos Gay Thomé Inteligência Computacional 11 
KDD – Knowledge Discovery 
A literatura até o momento, não apresenta um consenso e o que se verifica é a 
existência de diversas denominações distintas para caracterizar as atividades de busca por 
padrões (ou oportunidades de conhecimento) em conjuntos de dados brutos. A confusão é 
relativamente grande, e sob este guarda-chuvas encontramos nomes tais como: knowledge 
discovery in database, data mining, knowledge extraction, information discovery, data archaelogy, 
information harvesting e ainda data pattern processing. 
O termo KDD – Klnowledge Discovery in Databases (descoberta de conhecimento em 
bases de dados), foi cunhado em 1989 com o objetivo de representar todo o processo de 
busca e extração de conhecimento que, em seu nível mais operacional, inclui a aplicação 
de técnicas e algoritmos de data mining (mineração de dados) para manipular e encontrar 
indícios de correlação ou de implicação em grandes volumes de dados. 
Como mencionado, ainda não há um consenso sobre o assunto e o que se observa é 
a comunidade formada por estatísticos, analistas de dados e desenvolvedores de sistemas 
de informação gerencial adotar o termo data mining para denominar as mesmas atividades 
e procedimentos que a comunidade de inteligência artificial descreve como KDD. 
 Nesta apostila preferimos adotar o termo KDD para se referir ao processo 
completo, que incorpora a preparação e análise prévia dos dados, o uso de conhecimento 
prévio, a interpretação dos resultados e, também, o data mining, que se refere às técnicas e 
algoritmos para a extração de padrões das bases de dados. 
 
“KDD, portanto, se caracteriza por ser um processo não trivial, que busca 
gerar conhecimento que seja novo e potencialmente útil para aumentar os ganhos, 
reduzir os custos ou melhorar o desempenho do negócio, através da procura e da 
identificação de padrões a partir de dados armazenados em bases muitas vezes 
dispersas e inexploradas.” 
 
KDD segundo este enfoque, envolve a avaliação e interpretação dos resultados 
visando a tomada de decisões sobre o que constitui conhecimento e o que nãoconstitui 
conhecimento. Ele também inclui a escolha do esquema de modelagem do problema e de 
codificação, amostragem, pré-processamento e projeção dos dados. 
Data mining, por outro lado, será considerada nesta apostila como uma etapa do 
KDD, consistindo de algoritmos e técnicas específicas que, dentro das limitações e de uma 
eficiência computacional aceitável, é capaz de produzir como resultado um modelo e a 
enumeração de padrões que se correlacionem com determinados fatos ou fenômenos. 
O processo de KDD é interativo e iterativo, envolvendo uma série de etapas onde 
cada uma pode requerer do usuário capacidade de análise e de tomada de decisão. As 
principais fases do processo são: 
Redes Neurais – Uma Ferramenta para KDD e Data Mining 
Antonio Carlos Gay Thomé Inteligência Computacional 12 
 
 
 
 
 
 
 
 
 
 
a) Seleção – é a etapa que consiste na análise dos dados existentes e na seleção 
daqueles a serem utilizados na busca por padrões e na geração de conhecimento 
novo. 
b) Pré-processamento – consiste no tratamento e na preparação dos dados para uso 
pelos algoritmos. Nesta etapa devemos identificar e retirar valores inválidos, 
inconsistentes ou redundantes. 
c) Transformação – consiste em aplicar, quando necessário, alguma transformação 
linear ou mesmo não linear nos dados, de forma a encontrar aqueles mais 
relevantes para o problema em estudo. Nesta etapa geralmente são aplicadas 
técnicas de redução de dimensionalidade e de projeção dos dados. 
d) Mineração – consiste na busca por padrões através da aplicação de algoritmos e 
técnicas computacionais específicas. 
e) Interpretação – consiste na análise dos resultados da mineração e na geração de 
conhecimento pela interpretação e utilização dos resultados em benefício do 
negócio. 
O processo de descoberta de conhecimento (KDD) é interativo e, em geral, envolve 
diversos laços de repetição dentro de uma mesma etapa e também entre fases, até que um 
resultado útil seja alcançado. Como induz a figura, KDD envolve a aplicação de diferentes 
tecnologias que devem ser adequadamente escolhidas dependendo do problema em 
questão. Data Mining, ou seja, a busca por padrões, como será mostrado a seguir, pode ser 
implementada por intermédio de diferentes algoritmos e, dependendo do algoritmo 
adotado, diferentes formas de pré-processamento, transformação e representação dos 
dados pode ser necessário. 
 
 
 
 
Data Warehouse 
Seleção 
Pré-processamento 
Transformação 
Mineração 
(Data Mining) 
Interpretação 
Redes Neurais – Uma Ferramenta para KDD e Data Mining 
Antonio Carlos Gay Thomé Inteligência Computacional 13 
Data Mining 
Data Mining - DM, ou mineração de dados, é uma das principais etapas de um 
processo de KDD. Consiste na construção de modelos computacionais para a descoberta 
automática de novos fatos e relacionamentos entre dados, a partir da aplicação repetida e 
muitas vezes interativa, de algoritmos de busca. A eficiência de um processo de data 
mining está no potencial de ganho para a empresa a ser gerado pelas informações 
extraídas. 
É importante não confundir data mining com complexas estruturas de consulta a 
bases de dados, onde o usuário já possua alguma hipótese e deseja apenas extrair material 
para manualmente verificar e confirmar a validade de sua hipótese. A idéia central em 
data mining é a de que seus algoritmos atuem eles próprios como mineiros e sejam capazes 
de automaticamente identificar a existência de padrões e relacionamentos desconhecidos, 
que ao serem analisados posteriormente, possam suscitar e induzir a geração de hipóteses 
úteis e relevantes para o usuário. 
 
“Data Mining é a concepção de modelos computacionais capazes de identificar e 
revelar padrões desconhecidos mas existentes entre dados pertencentes a uma ou 
mais bases de dados distintas – um Data Warehouse”. 
 
A distinção entre um modelo e um padrão pode ser explicada como o padrão 
sendo um caso específico de um modelo, ou o modelo sendo a generalização de um 
padrão. Exemplo: a equação 953)( 2 -+= xxxf representa uma função de segundo grau 
determinada e específica; já a equação cbxaxxf ++= 2)( representa a família ou o modelo 
das funções de segundo grau. 
O processo de KDD e mais especificamente o de DM representa uma forma de 
capitalizar o investimento necessário para o armazenamento de grandes volumes de 
dados, tentando, por exemplo, descobrir padrões de comportamento de clientes para fins 
de concessão de crédito, ou identificando estilos de ações fraudulentas em 
administradoras de cartão de créditos. Através da mídia, alguns exemplos clássicos se 
popularizaram como o da associação de produtos comprados em uma mesma cesta de 
supermercados (fraldas com cerveja). 
O grande problema nesta abordagem é que além da possibilidade de garimpar 
relacionamentos inúteis, o número de correlações possíveis de serem obtidas tende a ser 
muito grande, o que impede a análise exaustiva de cada uma. A solução é usar algoritmos 
e técnicas inteligentes que possam identificar e selecionar automaticamente os casos mais 
relevantes para cada aplicação. 
Redes Neurais – Uma Ferramenta para KDD e Data Mining 
Antonio Carlos Gay Thomé Inteligência Computacional 14 
O processo de data mining difere das técnicas de OLAP já bastante difundidas na 
literatura, enquanto estas oferecem meios para consolidar os dados em vários níveis, 
trabalhando-os em múltiplas dimensões, a técnica de data mining busca mais do que a 
interpretação dos dados existentes, visa fundamentalmente inferir e generalizar possíveis 
fatos e correlações não percebidas nem facilmente deduzidas. 
Principais Objetivos de um Data Mining 
O termo “minerar” pressupõe o garimpo por alguma preciosidade, “minerar 
dados” pressupõe o garimpo entre bases de dados por algo que possa trazer algum valor 
ou vantagem competitiva para a empresa. Em geral este garimpo tem como objetivo 
descrever ou prever o comportamento futuro de algum fenômeno. Descrever tem como 
foco encontrar algo que faça sentido e que consiga explicar os resultados ou valores 
obtidos em determinados dados ou negócios. Prever, por outro lado, tem como foco 
antecipar o comportamento ou o valor futuro de algum fenômeno ou variável de 
interesse, com base no conhecimento de valores do passado. 
Na busca de tais objetivos diferentes estratégias podem ser utilizadas para 
garimpar as bases de dados disponíveis na busca por indícios que possam relacionar 
dados ou fatos. As principais estratégias empregadas nesta tarefa incluem a classificação, 
a agregação, a associação, a regressão e a predição. Em todas estratégias, o objetivo maior 
é o de poder generalizar o conhecimento adquirido para novas ocorrências do fenômeno 
ou para outros contextos ou situações parecidas com a utilizada na construção do modelo 
computacional. Em cada uma destas estratégias diferentes técnicas e algoritmos podem 
ser aplicados. 
Classificação é a estratégia que consiste na busca por uma função que consiga 
mapear (classificar) uma determinada ocorrência em uma dentre um conjunto finito e pré-
definido de classes. A construção do modelo segundo esta estratégia, pressupõe o 
conhecimento prévio das possíveis classes e a correta classificação dos exemplos usados 
na modelagem. Várias são as aplicações para este tipo de abordagem, em análise de risco 
por exemplo, o objetivo pode ser o de classificar um potencial cliente entre as classes de 
excelente, bom ou mau pagador. 
Agregação (ou clustering) consiste na busca de similaridades entre os dados tal que 
permita definir um conjunto finito de classes ou categorias que os contenha e os descreva. 
A principal diferença entre esta abordagem e classificação é que em agregação não se tem 
conhecimento prévio sobre o número de classes possíveis nem a possível pertinência dos 
exemplos usados na modelagem. Descobrir grupos homogêneos de clientes é uma das 
possíveis aplicações e pode ser usada para ajudar na definição da estratégia de marketinga ser adotada. 
Associação por outro lado, consiste em identificar fatos que possam ser direta ou 
indiretamente associados. Esta estratégia é geralmente usada em aplicações onde se busca 
identificar itens que possam ser colocados juntos em um mesmo pacote de negociação. Por 
exemplo, a constatação de que vendas de cerveja e de fraldas descartáveis apresentam um 
comportamento ascendente às sextas-feiras pode levar à construção de uma hipótese que 
associe ambos os itens a um tipo especial de cliente. Associação também pode ser usada 
para avaliar a existência de algum tipo de relação temporal entre os itens constantes de 
uma base de dados. 
Redes Neurais – Uma Ferramenta para KDD e Data Mining 
Antonio Carlos Gay Thomé Inteligência Computacional 15 
Regressão consiste na busca por uma função que represente, de forma aproximada, 
o comportamento apresentado pelo fenômeno em estudo. A forma mais conhecida de 
regressão é a linear, por exemplo, uma reta que minimiza o erro médio entre todos os 
valores considerados, mas também pode ser não linear. 
Predição envolve uma componente temporal, isto é, representa aquela classe de 
problemas nos quais estamos interessados em prever o comportamento ou valor futuro de 
uma determinada variável com base em valores anteriores desta mesma variável (mono-
variável) ou em valores anteriores da variável de interesse e de outras variáveis (multi-
variável). 
Como mencionado, várias são as técnicas que podem ser utilizadas na 
implementação destas estratégias, onde as principais são: 
 
Estratégia Algoritmos 
Classificação árvores de decisão e redes neurais 
Agregação métodos estatísticos e redes neurais 
Associação métodos estatísticos e teoria de conjuntos 
Regressão métodos de regressão e redes neurais 
Predição métodos estatísticos e redes neurais 
 
Tabela 2 – Estratégias de Data Mining 
 
Dentre as técnicas listadas podemos notar que redes neurais é a que apresenta 
maior abrangência, podendo ser aplicada em praticamente todas as estratégias. 
Aplicações para Data Mining 
 Não há na prática limite ou área específica para aplicação dos conceitos até aqui 
apresentados, tudo depende da capacidade de modelar o problema para a aplicação de uma das 
estratégias listadas e da criatividade em analisar e utilizar os resultados alcançados. Dentre as que 
mais têm explorado o uso de data mining encontramos as áreas de marketing, vendas, finanças, 
manufatura, saúde e energia. 
Marketing 
Database marketing é um segmento emergente que vem revolucionando a forma de 
encarar e fazer a divulgação dos produtos de uma empresa. Quando aliado às técnicas de 
data mining amplia suas potencialidades abrindo novas e diferentes formas de avaliar e 
alavancar a relação entre o cliente e o faturamento da empresa. 
O esforço de marketing geralmente é elevado, nem sempre é efetivo, mas fatalmente 
influi no preço final de venda. Qualquer tecnologia que seja capaz de tornar mais efetivo o 
resultado da propaganda ou de reduzir seus custos, tem impacto direto no faturamento e 
no sucesso do empreendimento. 
A manutenção de grandes bancos de dados onde são armazenadas as transações de 
vendas, operações de crédito ao cliente, de compra a prazo e de pagamento, tem feito do 
Redes Neurais – Uma Ferramenta para KDD e Data Mining 
Antonio Carlos Gay Thomé Inteligência Computacional 16 
database marketing uma das áreas mais ricas e promissoras para aplicação dos conceitos 
de KDD e data mining. As principais aplicações estão na seleção de candidatos para 
propaganda seletiva ou na seleção de produtos a serem oferecidos num mesmo pacote. 
Numa campanha de marketing a possibilidade de identificar antecipadamente aqueles 
clientes que apresentam maiores chances de responder positivamente a abordagem reduz 
os custos da propaganda, o mesmo ocorre quando a cesta de produtos a ser oferecida é 
otimizada para cada cliente em potencial. 
Vendas 
 No setor de vendas a aplicação provavelmente de maior interesse seja a de 
identificar produtos que possam ser colocados em uma mesma cesta ou pacote. Isto 
envolve a garimpagem por associação entre produtos, que pode revelar afinidades ou 
aversões nunca imaginadas e como conseqüência, sugerir estratégias para maximizar o 
lucro. 
 A descoberta de que dois ou mais produtos têm suas vendas fortemente associadas 
pode, por exemplo, ser usada no sentido de não colocá-los em promoção ao mesmo 
tempo, de organizá-los de uma forma que facilite o cliente a encontrá-los ou de organizá-
los de maneira que no caminho entre eles o cliente seja exposto a outros produtos cuja 
venda seja estimulada. 
Outra aplicação é a busca por associações que envolvam uma componente temporal, 
isto é, aquela que revela, por exemplo, que a compra de um produto hoje induz, com alta 
probabilidade, a compra de outro algum tempo depois. Tal descoberta pode sugerir uma 
estratégia de venda que busque efetivar a venda de ambos logo na primeira 
oportunidade. 
Finanças 
Em finanças as aplicações têm sido várias envolvendo associação, classificação, 
agregação e também predição. Análise de crédito, potencial transações fraudulentas em 
cartões de crédito, avaliação de risco, constituição de bolsa de ações (portfólio), previsão 
de transferência de numerário entre agencias bancárias, previsão de flutuações nos 
mercados de ações e de commodities e previsão de falências, são algumas das aplicações 
mais comumente encontradas. 
 Nesta área as transações podem envolver volumes financeiros efetivamente 
elevados, os riscos e a concorrência também são altos e neste cenário, qualquer 
oportunidade de ganho é considerada e pode representar, por menor que seja a margem 
de ganho, um diferencial efetivo. 
Manufatura 
A complexidade dos modernos parques de produção e a pressão pela eficiência e 
pela qualidade tem possibilitado o uso de data mining e de automação em diversas áreas. 
CAD/CAM e robôs são algumas das aplicações de maior demanda na área. 
Saúde 
São basicamente duas frentes distintas de trabalho nesta área: administração e 
diagnóstico. Na administração os sistemas lidam com os serviços oferecidos aos pacientes, 
com os seguros, com as ações potencialmente fraudulentas, etc. 
Redes Neurais – Uma Ferramenta para KDD e Data Mining 
Antonio Carlos Gay Thomé Inteligência Computacional 17 
Em termos de diagnóstico o emprego de data mining visa o desenvolvimento de 
sistemas capazes de realizar diagnósticos (classificações) automaticamente, com base em 
dados obtidos de exames laboratoriais. Sistemas de diagnóstico apresentam a vantagem 
de atender rapidamente grandes volumes de pacientes, o que facilita a ação pública em 
epidemias ou campanhas sanitárias. 
Energia 
Previsão de consumo e previsão de falhas em sistemas de transmissão ou de 
distribuição são as duas aplicações mais comuns, embora muitas outras tenham sido 
pesquisadas e difundidas na literatura. 
Conforme visto na tabela 2, a tecnologia de maior emprego atualmente em data 
mining é a de redes neurais, assunto ao qual dedicamos o próximo capítulo. Nele 
tentaremos proporcionar ao leitor uma visão geral sobre o paradigma das redes neurais e 
capacitá-lo a utilizá-las na resolução de alguns problemas reais. 
Redes Neurais – Uma Ferramenta para KDD e Data Mining 
Antonio Carlos Gay Thomé Inteligência Computacional 18 
Redes Neurais 
Como mencionado na sessão anterior, redes neurais têm sido cada vez mais 
intensamente utilizadas em aplicações de data mining. Este fato deve-se não só a 
possibilidade de aplicação do paradigma em praticamente todas as diferentes estratégias 
de data mining mas também pela relativa simplicidade de uso das redes neurais quando 
comparadas às demais tecnologias. Existem várias ferramentas neurais oferecidas 
comercialmente, que são relativamente fáceis de serem usadas e que permitem o usuário 
final aplicar redes neurais a diversos problemas reais. O PRW – Pattern Recognition 
Workbench é uma destas ferramentas, que descrevemos na próximasessão e que será 
usada como suporte aos exercícios práticos preparados para este curso. 
O Paradigma do modelo neural 
Redes Neurais são sistemas computacionais formados pela integração de inúmeros 
elementos de processamento (EP), funcionalmente muito simples, altamente 
interconectados e trabalhando maciçamente em paralelo. Originalmente concebidas com 
base no estudo do cérebro humano, redes neurais são radicalmente diferentes de todos os 
demais modelos computacionais. 
O paradigma neural não faz uso dos conceitos que até então caracterizam os demais 
algoritmos e sistemas computacionais. Uma rede neural pode ser integralmente 
implementada em Hardware, os chips neurais são objeto de intenso estudo em grandes 
centros de pesquisa e muito em breve serão realidade em muitas aplicações e produtos 
comerciais. No Japão é comum encontrar-se hoje eletrodomésticos sendo lançados com 
recursos de autocontrole, por eles chamados neuro-fuzzy (Sistemas híbridos combinando 
redes neurais e lógica nebulosa - fuzzy). 
Numa rede neural não se tem a idéia de programa, onde o programador introduz e 
codifica a estratégia de solução do problema, também não se tem a idéia de um 
conhecimento explicitamente armazenado que conduza a busca durante o processo de 
resolução do problema. A rede neural é dinâmica, não possui memória, “pelo menos no 
estilo convencional que conhecemos”, não acessa nem possui arquivos de dados e não é 
programável. 
Os modelos neurais foram concebidos com base na estrutura do sistema nervoso, 
mais especificamente na estrutura do cérebro humano e, assim, sua principal característica 
está na capacidade de aprender com base na exposição a exemplos. A construção de uma 
rede neural se constitui portanto, na configuração da sua arquitetura interna (uma rede 
interligada de neurônios) e no treinamento desta rede com base em exemplos, até que ela 
própria consiga aprender como resolver o problema. 
Redes Neurais – Uma Ferramenta para KDD e Data Mining 
Antonio Carlos Gay Thomé Inteligência Computacional 19 
Uma rede neural é portanto, uma abstração computacional que busca emular o 
funcionamento do sistema nervoso do ser humano. Nosso sistema nervoso é uma rede por 
onde fluem sinais eletroquímicos e suas principais partes são: o cérebro, a medula 
espinhal e os nervos. O cérebro e a medula espinhal formam o sistema nervoso central 
(SNC) — centro de controle e coordenação do corpo. Bilhões de neurônios, a maioria 
agrupados em nervos, formam o sistema nervoso periférico, transmitindo impulsos 
nervosos entre o SNC e as demais regiões do corpo. Cada neurônio possui três partes: o 
corpo celular — composto por um núcleo e um citoplasma, onde os estímulos recebidos 
são integrados e onde a maioria do metabolismo celular é realizado, o axônio — que é 
encarregado da transmissão dos impulsos gerados pela célula para outros neurônios e os 
dendritos — que recebem os impulsos provenientes dos axônios de outros neurônios e os 
levam ao corpo celular para integração, reiniciando assim, um novo ciclo. 
Pesquisadores estimam a existência de aproximadamente 100 bilhões de neurônios 
no córtex cerebral do ser humano. Cada neurônio podendo tratar até 1000 estímulos 
simultâneos de entrada, o que traduz na capacidade do cérebro processar até 100 trilhões 
de estímulos simultâneos. Cada neurônio pode disparar até 100 vezes por segundo e, 
assim, o cérebro humano apresenta uma singela capacidade de processar até 10 000 
trilhões de estímulos/seg. Mais veloz que os maiores supercomputadores até hoje 
construídos pelo homem. Esta imensa capacidade de processamento torna-se ainda mais 
expressiva ao se constatar que o cérebro não pesa mais que 1.5 Kg e ocupa 
aproximadamente 300 cm3 (menos de 1/2 litro). 
Um Breve Histórico 
As primeiras pesquisas para o desenvolvimento de computadores baseados no 
comportamento das células nervosas (os neurônios) datam da década de 40 [Minsk88]. Em 
1943 Wax Ten McCulloch e Walter Pitts propõem um modelo matemático (artificial) para 
o neurônio biológico. O campo de atuação estava limitado ao entendimento do 
funcionamento do cérebro para aplicações em medicina e psicologia [McCulloch43]. Em 
1947 publicaram um segundo estudo intitulado “How we know universal”. Dois anos 
depois, em 1949, Donald Hebb, observando o que ocorria nas sinapses dos neurônios, 
desenvolveu a “Teoria do Aprendizado Neural” a qual determina que quanto mais 
correlacionadas estiverem as saídas de dois neurônios em cascata, maior deverá ser o 
nível ou a intensidade da ligação entre eles (sinapse). 
No período entre 1951 e 1958, pouco se evoluiu no campo das redes neurais. Porém 
em 1959, dois grandes trabalhos foram apresentados: Bernard Widrow desenvolveu o 
elemento linear adaptativo chamado ADALINE (“ADAptative LINear Element”), capaz de 
auto ajustar-se de forma a minimizar o erro entre a resposta desejada e a resposta gerada 
pelo sistema. A primeira aplicação prática de um sistema de computação neural foi a 
utilização do ADALINE para o desenvolvimento de filtros digitais adaptativos com a 
função de eliminar ecos em linhas telefônicas. 
Ainda em 1959, paralelamente a Widrow, Franck Rosemblatt concluia o projeto do 
“Perceptron”, iniciado em 1958, que resultou num livro publicado em 1962. O fato causou 
excitação no meio científico da época e expectativas muito acima das possibilidades foram 
espalhadas e divulgadas no seio da sociedade — “O cérebro humano finalmente chegava aos 
computadores”. O “Perceptron” de Rosemblatt consistia em um sistema de classificação de 
padrões, utilizando apenas uma camada de neurônios. 
Redes Neurais – Uma Ferramenta para KDD e Data Mining 
Antonio Carlos Gay Thomé Inteligência Computacional 20 
A publicação de um livro intitulado “Perceptrons” feita por Marvin Minsk — 
conhecido e renomado pesquisador da área — e Seymour Papert no ano de 1969, 
criticando o trabalho de Rosemblat, provocou uma parada e um grande atraso no 
desenvolvimento das Redes Neurais Artificiais (RNAs). Neste livro os autores provaram 
que o “Perceptron” apresentava sérias restrições conceituais, sendo capaz apenas de 
solucionar problemas dentro do universo dos linearmente separáveis. 
O reaquecimento das pesquisas em redes neurais se deu em 1982 quando John 
Hopfield [Hopfield82] concebeu um modelo de rede adaptativa para memórias 
associativas e introduziu o conceito de função de energia às redes, associando a 
convergência da rede à estabilidade dessa função em seu mínimo global. O fator 
definitivo de reaquecimento da área foi a publicação feita por James McClelland e David 
Rumelhart em 1986 [Zurada98] criando as redes MLP – Multi Layer Perceptron e o 
algoritmo de treinamento conhecido por Backpropagation. 
As redes neurais hoje existentes ainda sofrem de algumas restrições, principalmente 
aquelas de cunho tecnológico, uma vez que simuladas em software demandam uma 
capacidade computacional ainda não disponível nos computadores atuais. Mesmo com 
estas restrições, a área de redes neurais tem demonstrado sua potencialidade em diversas 
aplicações, superando expectativas e gerando resultados até então não alcançados com 
qualquer outra técnica, seja computacional ou convencional. 
Muito ainda tem que ser feito até que possamos ser capazes de criar o computador 
com reais condições de simular a estrutura cerebral e o raciocínio do ser humano, uma vez 
que mesmo animais inferiores como a minhoca e a sanguessuga, são capazes de 
apresentar reações que o mais rápido dos supercomputadores hoje existente é incapaz de 
fazer. As redes neurais, apesar das limitações tecnológicas, são vistas hoje como a 
estratégia computacional com maior possibilidade de abrir novos caminhos e áreas de 
aplicação para a informática. 
Alguns Conceitos Básicos 
As redes neurais foram concebidas de forma a emular em um computador, a 
estrutura e a funcionalidade do cérebro. Para isto os pesquisadores tiveram que buscar 
alternativas para modelar o neurônio biológico, tanto nasua estrutura como na sua 
funcionalidade, na conectividade, na interatividade dos neurônios e, principalmente, na 
dinâmica operacional do sistema biológico. 
Este tipo de rede necessita de arquiteturas paralelas, de algoritmos adequados na 
fase de aprendizado e alta capacidade de processamento. Não necessitam de modelos 
precisos da realidade física do problema e possuem alta capacidade de adaptação. Suas 
principais vantagens são: tolerância a falhas; alta capacidade de adaptação; capacidade de 
resolver problemas práticos sem a necessidade da definição de listas, de regras ou de 
modelos precisos. 
Na sua tarefa de emular a estrutura e o funcionamento básico do cérebro, as redes 
neurais fazem uso de um modelo abstrato (matemático) do neurônio cerebral. No modelo 
de neurônio artificial, a intensidade das ligações entre neurônios (sinapses) são emuladas 
através de pesos, que são ajustáveis durante o processo de evolução do treinamento e 
aprendizado da rede. O corpo celular é emulado pela composição de duas funções, 
chamadas geralmente na literatura de funções de ativação e de propagação. Estas funções 
realizam o mapeamento, ou seja a transferência dos sinais de entrada em um único sinal 
Redes Neurais – Uma Ferramenta para KDD e Data Mining 
Antonio Carlos Gay Thomé Inteligência Computacional 21 
de saída. Este sinal de saída é então, propagado para os neurônios seguintes da rede, 
como no modelo biológico. 
 
 
 
 
 
O Neurônio Artificial 
O modelo matemático de um neurônio artificial foi primeiramente idealizado pelos 
pesquisadores W. S. McCulloch e W. H. Pitts [McCulloch43] no ano de 1943. Compõe-se 
basicamente de conexões emulando os dendritos, pesos emulando as sinapses, uma 
função de mapeamento emulando o corpo celular, e uma saída emulando o axônio, 
conforme exemplificado na figura abaixo. 
Função
 de
Ativação
Função
de
Propagação
w1
w2
w3
x1
x2
x3
y
( ) ( )y f X W P A X W= = ·, ,
 
 
A função de transferência geralmente se compõe de duas outras funções, a de 
ativação e a de propagação. A função de ativação é aplicada sobre os sinais de entrada e 
gera uma saída intermediária, normalmente chamada de net, que estabelece o estado de 
ativação do neurônio e sua capacidade de disparar algum sinal de excitação ou de inibição 
para os neurônios à sua frente. A função de propagação é aplicada sobre o estado de 
ativação — net — e gera o sinal de saída do neurônio. Os pesos, na maioria das 
arquiteturas de rede hoje propostas, são ajustáveis e representam a memória e o 
conhecimento usado na solução do problema. 
A função de ativação a(.) processa os estímulos ponderados pelos respectivos pesos 
(sinapses) e mede o estado de ativação para o neurônio. A função de propagação p(.) se 
encarrega de propagar o estado de ativação como estímulo para outros neurônios. Dentre 
as funções de ativação mais utilizadas temos: 
· Linear (utilizada em 99% dos casos) 
Modelo matemático do neurônio artificial 
Mapeamento 
x1 
x2 
. 
. 
xn Saída 
y 
Entradas 
Corpo Celular 
Redes Neurais – Uma Ferramenta para KDD e Data Mining 
Antonio Carlos Gay Thomé Inteligência Computacional 22 
a x w w x w xi
T
ij j
j
n
( , )= =
=
å
1
 (1.1) 
· Esférica 
a x w x wi j
j
n
ij( , ) ( )= -
-
=
år 2
1
2 (1.2) 
· Mahalanobis 
)()(),( 1 i
T
ii wxwxwxa -W-=
- (1.3) 
W = X X T (1.4) 
· Polinomial 
a x w xi j
w
j
n
ij( , )=
=
å
1
 (1.5) 
A função de propagação p(.) também conhecida como limiar lógico — “threshold” — 
é quem define e envia para fora do neurônio o valor do estímulo a ser passado adiante, 
para os próximos neurônios da rede. Dentre as funções de propagação as mais 
encontradas na literatura estão na tabela a seguir. A restrição, no caso das funções não 
lineares, é que sejam limitadas, monotônicas e continuamente deriváveis em todos os seus 
pontos. 
Função Equação com Polarização Sem polarização Com polarização 
Degrau y 
x b
x b=
> -
< -
ì
í
î
1
0
,
,
 +1
 0 x 
 +1
0 x-b 
 
Degrau 
Simétric
o 
y =
> -
< -
ì
í
î
1
0
,
,
x b
x b 
+1
 0 x
 -1 
 +1
 0 x -b -1
 
 
Linear 
 
y = x + b 
+1
 0 x +1
 
 +b
 0 x -b
 -b
 
Logística 
Sigmoid
al 
y =
+ - +
1
1 e n b( )
 
 +1
 0 x 
 +1
 0 x -b 
Redes Neurais – Uma Ferramenta para KDD e Data Mining 
Antonio Carlos Gay Thomé Inteligência Computacional 23 
 
 
Tangente 
Sigmoid
al 
 
y = 
( ) ( )
( ) ( )=
-
+
+ - +
+ - +
e e
e e
x b x b
x b x b 
 +1
 0 x
 -1
 
 +1
 0 x
 -1
 -b
 
 
· Função degrau — limita a saída do neurônio a apenas dois valores (binário: 0 ou 
1, ou bipolar: –1 ou 1). Normalmente é utilizada para criar neurônios que tomem decisões 
binárias, como nos classificadores. É limitada (“bounded”), porém não é derivável; 
· Função linear —não é limitada. Neurônios com esta função de propagação podem 
ser utilizados como aproximadores lineares; 
· Função sigmoidal (logística) — permite que a entrada assuma qualquer valor no 
intervalo (- ¥ e + ¥) e os comprime para o intervalo [0, +1]. É a função geralmente 
adotada em redes neurais em virtude de ser contínua, monotônica, não linear e facilmente 
diferenciável em qualquer ponto; 
· Função tangente hiperbólica — mapeia a entrada dos neurônios no intervalo [-1, 
+1]. Possui as mesmas características e emprego da função logística sigmoidal, 
possibilitando que as saídas sejam simétricas. 
O Modelo Neural 
A concepção básica dos modelos neurais está centrada na figura do neurônio. A 
potencialidade do modelo para solução de problemas complexos se baseia no paralelismo, 
na capacidade de processamento advinda da integração, na não linearidade 
proporcionada pela atividade operacional de cada elemento da rede e pela capacidade da 
mesma de buscar a solução através de um método próprio de treinamento e auto-
aprendizado. 
Diversos são os modelos de rede propostos na literatura, cada qual advindo de uma 
linha de pesquisa diferente e visando um melhor desempenho na solução de um tipo 
específico de problema. 
Basicamente, os modelos neurais podem ser classificados segundo: 
a) a estratégia de treinamento: em supervisionados (quando a rede dispõe de um 
instrutor apontando erros e acertos) ou não-supervisionados (caso contrário). 
b) a forma de treinamento: em incremental (quando o conhecimento da rede se ajusta 
após a apresentação de cada padrão de entrada (estímulo)) ou lote (onde o ajuste do 
conhecimento só é realizado após “visão” de todos os estímulos), e 
c) a forma de operação: em unidirecional (os sinais internos se propagam apenas na 
direção entrada/saída - feedforward) e recorrente (quando há realimentação - recurrent). 
Estrutura de uma Rede Neural 
Infelizmente não existe qualquer método ou procedimento sistemático e 
determinado para a configuração e especificação dos parâmetros envolvidos em uma rede 
neural. O número de parâmetros e detalhes de projeto é grande e o maior ou menor 
Redes Neurais – Uma Ferramenta para KDD e Data Mining 
Antonio Carlos Gay Thomé Inteligência Computacional 24 
sucesso na especificação dos mesmos depende da experiência e do sentimento do 
projetista. 
Tudo começa pela escolha adequada da representação dos dados a serem usados na 
caracterização do problema e no treinamento da rede. A capacidade de resolução do 
problema, o desempenho do treinamento e a fidelidade dos resultados estão intimamente 
ligados à qualidade da representação adotada. 
A rede é organizada geralmente em camadas e o padrão de conexão mais 
freqüentemente utilizado é o de conexão completa inter-camadas (full connected), apenas 
na direção entrada-saída (feedforward), e nenhuma conexão intra-camada. Isto é, um 
neurônio situado em uma determinada camada tem sua saída conectada a todos osneurônios da camada seguinte (a sua direita) e a nenhum outro neurônio de qualquer 
outra camada, seja ela anterior, posterior ou a sua própria. A figura abaixo exemplifica 
esta topologia. 
Estrutura de uma Rede Neural
E
n
t
r
a
d
a
s
S
a
í
d
a
s
Parâmetros de Projeto:Parâmetros de Projeto:
• nr. de camadas
• nr. de neurônios / camada
• topologia das interconexões
• função de transferência
• representação dos dados
• dinâmica de aprendizado
Aprendizado
 
Cabe ressaltar que o aumento do número de camadas acarreta o aumento da 
complexidade e do tempo de processamento da rede. Aumentando o número de 
neurônios por camada, acarreta o aumento do grau de liberdade da função de 
transferência, e quanto maior a quantidade de variáveis livres, menor será a capacidade 
de generalização da rede. Logo, o objetivo de projeto deve ser o de resolver o problema 
com a menor topologia possível. 
Dois principais tipos de estrutura compõem o universo de modelos de redes neurais: 
as do tipo unidirecional (feedforward) e as do tipo recorrente (recurrent). 
· Unidirecional - nesta topologia todas as conexões entre neurônios diferentes — 
intercamada — obedecem necessariamente a direção entrada Þ saída, não havendo 
conexões entre neurônios de uma mesma camada. Esta estrutura é totalmente conectada 
“fully connected”, uma vez que todas as saídas dos neurônios de uma camada são 
conectadas com as entradas de todos os neurônios da camada seguinte (imediatamente a 
direita). A figura abaixo apresenta uma estrutura unidirecional com quatro camadas: uma 
de entrada, duas escondidas e uma de saída. Cada camada possuindo respectivamente 4, 
2, 3 e 1 neurônios. Os neurônios da camada de entrada diferem de todos os demais, 
operando apenas como curto ou ponto de ligação, uma vez que desempenham a função de 
conectar o mundo exterior com o mundo interior da rede neural. 
 
Redes Neurais – Uma Ferramenta para KDD e Data Mining 
Antonio Carlos Gay Thomé Inteligência Computacional 25 
 w 
 X 
 Y 
 
 
· Recorrente – nesta topologia as redes possuem realimentação, onde um neurônio 
pode ser direta ou indiretamente retroalimentado pela sua saída. Cada camada pode 
conter conexões entre os elementos de processamento da mesma camada (estímulos 
laterais), das camadas anteriores e das camadas posteriores. Na topologia recorrente não 
existe um sentido único para o fluxo dos sinais entre neurônios ou entre camadas. A 
figura a seguir apresenta uma estrutura recorrente de 1 camada. 
 
 
 
 
 
Projeto de um Sistema Neural 
O Projeto de um sistema neural consiste de diversas etapas que devem ser 
executadas em seqüência, de forma interativa e, não raramente, com diversos ciclos de 
repetição. A construção do sistema começa pela identificação e coleta dos dados históricos, 
que serão utilizados para treinar a rede e também para avaliar seu desempenho. O passo 
seguinte é a preparação e adequação dos dados ao formato requerido pela rede neural. O 
projetista agora deve escolher o modelo neural a ser adotado e definir a topologia da rede. 
Depois vem a etapa do treinamento e, finalmente, a da avaliação dos resultados. 
 
 
 
Coleta dos 
Dados 
Preparação e 
Adequação 
Escolha do modelo 
Definição da topologia e 
Treinamento 
Avaliação dos 
Resultados 
 
PP
rr
ee
PP
oo
ss
Pré-processamento 
do dados 
Pós-processamento 
do dados 
Redes Neurais – Uma Ferramenta para KDD e Data Mining 
Antonio Carlos Gay Thomé Inteligência Computacional 26 
Treinamento de uma Rede Neural 
É na fase de treinamento que a rede neural aprende o problema e tenta resolvê-lo 
auto ajustando seus parâmetros internos. Uma vez que a rede tenha aprendido, isto é, ela 
tenha chegado a uma condição de erro considerada satisfatória, seus parâmetros são 
congelados e ela, a partir de então, está pronta para ser usada com dados da situação 
corrente. 
Existem várias arquiteturas e várias técnicas de treinamento de rede neural 
propostas na literatura. Cada uma com características vantajosas e desvantajosas, 
dependendo do problema e da aplicação específica a que se destinam. Na etapa do 
treinamento é escolhido o algoritmo de aprendizado juntamente com os parâmetros de 
aprendizado – taxa de aprendizado (learning rate), momento (momemtum), condição de 
parada e dinâmica de treinamento. O aprendizado é o processo pelo qual a rede adapta 
seus parâmetros (em geral os pesos das conexões entre os neurônios) de forma a satisfazer 
os requisitos de mapeamento estabelecidos. A dinâmica de treinamento representa a 
freqüência com que estes parâmetros (pesos) são atualizados, ela pode ser: 
· do tipo Batch - os parâmetros são ajustados somente ao final de cada ciclo “epoch” 
— processamento de todo o conjunto de observações —, ou seja, os parâmetros da rede 
são ajustados somente ao final de cada ciclo. Nesta dinâmica, o treinamento é menos 
influenciado pela ordem de apresentação dos padrões, é menos suscetível à oscilações, 
porém a velocidade de aprendizado (convergência) geralmente é mais baixa. 
· Do tipo Incremental - os parâmetros são ajustados ao final do processamento de 
cada observação (padrão), ou seja os pesos da rede são ajustados ao final do 
processamento de cada observação. Nesta dinâmica, a ordem da apresentação dos 
padrões é importante para a velocidade de aprendizado da rede e, em alguns casos, deve-
se reorganizar esta ordem, de forma a acelerar o treinamento. 
A taxa de aprendizado é um valor positivo, geralmente menor do que 1.0, que regula 
a intensidade com que as atualizações dos parâmetros (pesos) serão efetuadas. Taxas 
muito baixas, próximas de zero, tendem a fazer com que o aprendizado seja bastante 
lento, porém taxas muito altas, próximas de 1.0, podem fazer com que a rede oscile, como 
se estivesse aprendendo e desaprendendo, e as vezes nem consiga chegar a um patamar 
aceitável de aprendizado. O valor da taxa de aprendizado não precisa permanecer fixo 
durante todo o treinamento. Em algumas implementações ela pode ser adaptativa e 
controlada pela própria rede. 
A taxa de momento é um parâmetro de uso opcional, de valor também positivo e 
menor do que 1.0, cuja utilização visa imprimir uma dinâmica no treinamento tal que, 
eventualmente, possibilite o algoritmo livrar-se de mínimos locais durante o processo de 
busca pelo mínimo global (ponto de menor erro). Fazendo um paralelo com o mundo real, 
a taxa de momento aplica um fator de inércia no processo de evolução do treinamento, 
que se mantém acelerando enquanto o permanecer diminuindo e, assim, eventualmente 
faz com que o processo adquira velocidade suficiente para livrar-se de pequenos buracos 
(mínimos locais) que possam ser encontrados pelo caminho. 
A condição de parada é geralmente estipulada com base na ocorrência de dois 
eventos: erro mínimo e número de ciclos. A parada pelo erro mínimo ocorre se e quando o 
algoritmo de treinamento levar a rede a convergir para um erro menor que o mínimo 
estipulado como critério de término. A parada pelo número de ciclos de treinamento 
encerra o processo independentemente do nível de aprendizado alcançado pela rede. A 
Redes Neurais – Uma Ferramenta para KDD e Data Mining 
Antonio Carlos Gay Thomé Inteligência Computacional 27 
parada por este critério deve sempre ser utilizada em conjunto com qualquer outro, com 
vistas a evitar processos de treino intermináveis. 
Aprendizado 
Redes neurais “aprendem” por experiência, como uma criança que aprende a andar, 
falar, associar objetos e nomes, através de exemplos ou tentativa e erro. Assim, após a 
escolha de uma representação para os dados do problema, deve-se montar um conjunto 
de treinamento. Este conjunto é gerado a partir de dados históricos, ouseja, a partir de 
experiências e fatos ocorridos no passado. 
O aprendizado geralmente se constitui no ajuste do conjunto de pesos de modo a 
que a rede consiga executar uma tarefa específica. O aprendizado pode ser realizado, 
basicamente, de duas formas distintas: 
· aprendizado supervisionado - é aquele que utiliza um conjunto de pares (entrada - 
saída), em que para cada padrão de entrada é especificado um padrão de saída desejado 
(resposta desejada). O aprendizado ocorre no momento em que a saída gerada pela rede, 
a partir dos cálculos efetuados com o padrão de entrada e os pesos correntes, for diferente 
da saída desejada e o algoritmo de treinamento, segundo alguns critérios, ajusta os pesos 
da rede de forma a reduzir o erro. Essa dinâmica é repetida para todo conjunto de dados 
(entradas e saídas) inúmeras vezes, até que a taxa atinja uma faixa considerada 
satisfatória. 
O processo básico do aprendizado supervisionado pode ser resumido pelos 
seguintes passos (para um treinamento incremental): 
Passo 1: Escolha inicial dos pesos, em geral esses valores são pequenos e escolhidos 
aleatoriamente; 
Passo 2: Apresentação de uma nova entrada cuja saída correspondente é conhecida; 
Passo 3: Cálculo da saída gerada pela rede; 
Passo 4: Cálculo do erro (saída desejada x saída gerada); 
Passo 5: Verificação do erro e do número de ciclos, se satisfatório encerra o treinamento. 
Passo 6: Atualização do ponteiro para a próxima observação a ser apresentada a rede, caso seja 
a última observação do conjunto de treinamento, reinicializa o ponteiro; 
Passo 7: Ajuste dos pesos; 
Passo 8: Retorno ao passo 2; 
· aprendizado não-supervisionado - este tipo de aprendizado também é conhecido 
como aprendizado auto-supervisionado, e classifica os padrões similares sem utilizar 
pares (entrada - saída), isto é, no treinamento da rede são usados apenas valores de 
entrada. A rede trabalha essas entradas e se organiza de modo a classificá-las mediante 
algum critério de semelhança. Esse tipo de rede utiliza os neurônios como classificadores, 
e os dados de entrada como elementos de classificação. 
 
Redes Neurais – Uma Ferramenta para KDD e Data Mining 
Antonio Carlos Gay Thomé Inteligência Computacional 28 
PRW – Uma Ferramenta para Data Mining 
Trata-se de um ambiente para concepção, construção e avaliação de modelos 
computacionais para data mining. A ferramenta oito diferentes algoritmos do tipo 
supervisionado e um do tipo não supervisionado. Dentre os algoritmos supervisionados 
encontram-se dois modelos neurais, um MLP – Multi Layer Perceptron, treinado com o 
algoritmo conhecido como backpropagation, e outro RBF – Radial Basis Function, que usa 
gaussianas para fazerem o papel de funções de propagação. Todos os algoritmos podem 
ser utilizados para realizar tanto classificação como estimação (previsão). 
Nesta apostila nos restringimos apresentar um tutorial apenas sobre o modelo neural 
MLP com vista à concepção e uso em aplicações tanto de classificação como de predição. 
Como obter uma cópia 
à Página do produto na Internet: http://www.unica-usa.com/prwdemo.htm 
à Kit de demonstração: na página encontra-se disponível um kit de demonstração 
para “download” e uma chave para registro com validade para 30 dias 
à Procedimentos de instalação: 
o Baixe o executável – prwdem32.exe 
o A partir do Windows, execute o programa 
o Forneça a chave de registro encontrada na Página 
Tutorial On-Line 
à O PRW possui um tutorial simples mas que fornece ao usuário algumas 
informações sobre a funcionalidade e conceitos empregados no aplicativo. Para 
usar o tutorial, o usuário de iniciar o aplicativo e escolher a opção “tutorial” dentre 
as duas disponíveis. 
à O tutorial se divide em duas partes: 
o Part I: A Simple Classification Problem 
o Part II: PRW Basics 
Componentes do PRW 
à Uma planilha de dados (tipo Excel) – para onde devemos importar a matriz de 
dados a ser utilizada na construção do modelo 
Redes Neurais – Uma Ferramenta para KDD e Data Mining 
Antonio Carlos Gay Thomé Inteligência Computacional 29 
à Um gerenciador de experimentos – onde escolhemos o tipo de aplicação - 
classificação ou aproximação de função; e o tipo de experimento – treinamento, 
teste, treinamento e teste ou validação. 
 
Guia para Utilização 
Como Carregar (importar) a base de dados 
 (os procedimentos a seguir consideram que sua base esteja em uma planilha Excel) 
o Abrir a planilha Excel com os dados do problema; 
o Na opção “Edit” da barra de ferramentas do PRW, escolha o comando “create 
DDE links...”; 
o Na primeira janela (Service) aparecerão algumas opções de origem para os 
dados, escolha a linha “Excel”; 
o Neste instante aparecerão na janela do meio (Service Topics), as planilhas 
existentes no arquivo Excel, escolha aquela que corresponder aos dados 
desejados; 
o Na janela da direita (Topic items) deve-se fornecer as linhas e colunas que se 
deseja importar da planilha Excel. O formato depende da versão do Excel, se 
inglês deve ser da forma: rxcy:rzcw (from row x column y to row z column w), se 
em português, da forma: lxcy:lzcw (da linha x coluna y até a linha z coluna w); 
Como criar um experimento 
o Use a janela ExpMgr1 – Setup Screen, já aberta no canto direito do vídeo 
o Escolha e forneça um nome para o experimento 
o Defina a atividade – se classificação ou estimação de função 
o Defina a opção de uso – treinamento / teste / treinamento e teste / validação 
(selecione a opção treinamento e teste). 
o Siga para a próxima etapa teclando “Next” 
Como selecionar as variáveis de entrada e de saída 
o Na coluna central spreadsheet variables aparece uma lista com todas as variáveis 
(colunas) da planilha de dados. Com o cursor marque as variáveis de entrada e, 
usando a seta da esquerda, mova-as para a coluna apropriada (esquerda). Faça o 
mesmo com as variáveis de saída, movendo-as para a coluna da direita. 
o Em caso de dúvida, recorra ao help. 
o Siga para o próximo passo do experimento. 
Como selecionar o conjunto para treinamento e para teste 
 (os conjuntos devem ser disjuntos) 
o Escolha a quantidade de variáveis para os conjuntos de treinamento (70% é um 
bom numero) e teste (30%). 
Redes Neurais – Uma Ferramenta para KDD e Data Mining 
Antonio Carlos Gay Thomé Inteligência Computacional 30 
o Escolha o método de seleção – aleatório para o conjunto de treinamento e o 
restante para teste é uma boa opção. 
o Se o problema é de classificação, você pode dar uma olhada na distribuição final 
das classes para ambos os conjuntos – treinamento e teste (show class count) 
o Em caso de dúvida, recorra ao help. 
o Siga para o próximo passo do experimento. 
Como monitorar os experimentos 
o Você se encontra agora na janela Control Experiments Screen 
o É a janela onde todos os modelos que você criar e experimentos que realizar 
estarão presentes e serão executados. Possui quatro regiões distintas – 
§ na região superior esquerda aparece um retângulo com a indicação dos 
diferentes modelos (protótipos) criados. 
§ na parte superior direita aparecem informações sobre a execução de um 
experimento qualquer. 
§ na parte inferior esquerda aparece uma barra de comandos com as 
opções de criar um novo modelo (o primeiro já está automaticamente 
criado para você), abrir um modelo existente, copiar um modelo 
existente, eliminar um modelo ou ativar um dos modelos existentes para 
ser usado no próximo experimento. 
§ na região inferior direita aparece o estado do experimento selecionado 
(para selecionar um modelo basta clicar sobre a figura do mesmo). Você 
pode executar, suspender a execução temporariamente, ou parar a 
execução. 
Como configurar um modelo 
o clique duas vezes sobre a figura do modelo desejado na região superior 
esquerda da janela de monitoramento dos experimentos. Uma outra janela 
(Experiment # Configuration) vai se abrir — ela vai permitir que você configure 
seu modelo. 
o esta janela apresenta três abas: Algorithm,Experiment Parameters e Reporting. 
o na aba Algorithm você definira o algoritmo a ser implementado. Observe que a 
direita aparece uma breve explicação sobre cada algoritmo que selecionar. 
o dentre os algoritmos existentes, aquele de interesse para este curso é o da rede 
neural do tipo MLP — Multi Layer Perceptron, treinada com o algoritmo 
backpropagation. 
o escolha agora a aba Experiment Parameters, observe que duas opções já estão 
selecionadas por default— normalização das entradas e configuração do 
algoritmo de treinamento, são as que você deve usar. 
o para configurar o algoritmo de treinamento, clique duas vezes sobre a opção 
configure algoritm na janela que está aberta. Na mesma janela, à direita, vai 
aparecer um conjunto de opções sob o título Back Propagation / MLP Parameters. 
Redes Neurais – Uma Ferramenta para KDD e Data Mining 
Antonio Carlos Gay Thomé Inteligência Computacional 31 
Como especificar os parâmetros do algoritmo de treinamento 
o A meia janela Back Propagation / MLP Parameters é subdividida em quatro 
quadrantes – no canto superior esquerdo você define o número de camadas 
internas (hidden layers) que deseja para o seu modelo. 
o no canto inferior esquerdo você define o número de elementos de 
processamento (neurônios) que deseja colocar em cada camada escondida 
escolhida anteriormente, observe que o número de neurônios das camadas de 
entrada e de saída já se encontra definido. Isto ocorre em função do número de 
variáveis que você definiu no início do experimento. Você também pode definir 
se as variáveis de saída devem ou não ser normalizadas. Nos caso de 
aproximação de funções a saída normalizada é o default. Já nos casos de 
classificação de padrões, o software automaticamente aloca um número de 
saídas para a rede igual ao número de variáveis de saída do problema. 
o no canto superior direito você define a taxa de aprendizado, a taxa de momento 
e a taxa de ajuste dos pesos. A escolha de uma taxa de aprendizado e de 
momento pode ser crítica para a capacidade de aprendizado (convergência) da 
rede. Inicie a primeira com um valor relativamente alto (em torno de 0.5), e a 
segunda com um valor baixo (em torno de 0.2 ou 0.1). Durante o treinamento 
você pode parar o algoritmo (pause), alterar estes valores e continuar o treino. A 
taxa de ajuste dos pesos pode ser a cada padrão (per pattern) ou a cada conjunto 
completo de padrões (per epoch). O treino per epoch é menos suscetível a 
oscilações e por isto o mais indicado nos casos dos exercícios usados neste curso. 
o no canto inferior direito você define as condições de parada do treinamento que 
podem ser: por tempo; por número de ciclos; por percentual do erro ou pelo 
valor absoluto do erro médio quadrático – RMS. O mais indicado é usar um 
critério de parada combinando por exemplo, o número de ciclos e o erro médio 
quadrático (nos casos de aproximação de funções) ou percentual do erro (nos 
casos de classificação de padrões). Outra opção oferecida nesta região é o 
critério da escolha pelo melhor modelo verificado a cada número de ciclos que 
você determinar (deixe esta opção inicialmente desligada). 
Como especificar os parâmetros de configuração dos relatórios 
o você deve ir para a opção Reporting da janela Experiment # Configuration 
o observe que você pode definir uma variedade de diferentes opções para 
acompanhamento do treinamento e para verificação dos resultados do teste. 
o escolha a opção detailed report que ela selecionará automaticamente um conjunto 
de opções que melhor lhe atenderá em função do tipo de experimento que está 
realizando (classificação ou estimação). 
o Clique agora em Apply e a seguir em OK, voltando para a janela de 
monitoramento do experimento. 
Como executar um experimento (treinamento da rede) 
o uma vez que tenha selecionado todos os parâmetros, você está pronto para 
iniciar o treinamento da rede clicando no botão start. 
o ao iniciar o treinamento, no quadrante dos modelos, ao lado do modelo que 
estiver usando (selecionado), aparecerá um retângulo com o formato de um 
Redes Neurais – Uma Ferramenta para KDD e Data Mining 
Antonio Carlos Gay Thomé Inteligência Computacional 32 
relatório. Clique duas vezes nesta figura e uma outra janela, de 
acompanhamento do treino, se abrirá. 
o esta janela apresenta uma barra de comandos com as opções: report, T, auto, 
manual, options e help. 
§ Report – permite você escolher o tipo de relatório que deseja visualizar, 
dentre os tipos que tiver previamente selecionado para serem gerados. 
§ T – permite você mudar a apresentação da evolução do treinamento do 
modo numérico para o modo gráfico. 
§ Auto – retorna a apresentação para o modo numérico. 
§ Options – oferece funções para você definir formas de visualizar o display 
gráfico. 
o concluído o treinamento você deve verificar os relatórios com o desempenho 
alcançado. 
Como verificar o desempenho do modelo 
o na opção report você pode avaliar o resultado do teste (test summary) através da 
matriz de confusão (no caso de classificação) ou do padrão das saídas (em 
qualquer dos casos – classificação ou estimação). 
o no relatório experiment summary você encontra a opção summary for this report, 
que lhe permite realizar a análise de sensibilidade sobre as variáveis de entrada. 
Esta análise possibilita identificar as variáveis mais relevantes para o problema. 
§ uma vez que você opte por realizar a redução de dimensionalidade do 
problema, será necessário treinar a rede novamente com o novo conjunto 
de variáveis de entrada e avaliar o desempenho com o modelo original, 
completo. 
Como preparar a rede para operação – configurando uma função 
o a rede, após treinada, deve ser transformada em uma função para que possa ser 
aplicada a outros dados: 
§ na barra de ferramentas tecle na opção build — uma janela se abrirá com 
a opção default já estabelecida — build function based on an experiment, tecle 
ok e siga adiante. 
§ na nova janela que se abre, você precisa apenas definir o nome que deseja 
dar para identificar a rede (função) que acabou de implementar, por 
exemplo, “mlp_teste1”. 
Como usar a rede sobre novos dados 
o você precisa abrir uma nova planilha de dados e estabeleçer os links com a 
planilha do Excel que deseja carregar ou importar os dados, caso já estejam no 
formato do PRW (.dat). 
o escolha agora uma coluna vazia na nova planilha, clique no cabeçalho da 
coluna, por exemplo “V33”, no espaço para comandos situado na barra de 
ferramentas do PRW, aparecerá o rótulo da coluna, no caso v33. Escreva a partir 
deste rótulo o comando para utilizar a função criada na fase anterior, no caso 
Redes Neurais – Uma Ferramenta para KDD e Data Mining 
Antonio Carlos Gay Thomé Inteligência Computacional 33 
deste exemplo, o comando ficaria: v33=mlp_teste1(v2:v23). Os argumentos 
dentro dos parênteses representam as colunas onde estão os dados de entrada. 
o tecle entre e observe que, a partir da coluna especificada – v33, serão 
acrescentadas as saídas correspondentes para as novas entradas fornecidas. 
Como Salvar um Experimento 
o use a opção file da barra de ferramentas e em seguida a opção save ou save as. 
Como sair do PRW 
o use a opção file da barra de ferramentas e em seguida a opção exit, salvando ou 
não o arquivo com os experimentos já realizados. 
 
 
Redes Neurais – Uma Ferramenta para KDD e Data Mining 
Antonio Carlos Gay Thomé Inteligência Computacional 34 
Estudo de Casos 
Neste capítulo são apresentados alguns casos para estudo e aplicação de redes 
neurais. Todos os casos são fictícios porém alguns são construídos a partir de dados reais. 
Caso 1 – Planejamento de Vendas 
O CASO DA HOLE-IN-ONE Ò 
 
(*) Contribuição de Antonio Juarez Alencar 
Quem está sintonizado com o 
que anda acontecendo pelo mundo 
sabe que o processo de globalização 
por que passa a economia mundial 
tende a colocar as organizações sob 
enorme pressão para se tornarem 
competitivas. O aumento da 
qualidade

Continue navegando