Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original
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 dizer onde 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ário Operadores 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ão constitui 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 marketing a 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óxima sessã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 na sua 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 os neurô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, ou seja, 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 e variedade dos produtos e serviços colocados à disposição do consumidor faz com que as empresas tenham que diminuir suas margens de lucro, repensarem seus processos de produção e de distribuição e, eventualmente, procurarem novos nichos de mercado. A HOLE-IN-ONE Ò é uma pequena fábrica de acessórios para prática de Golf, produzindo sacolas, luvas calçados, camisas, calças, etc. A fábrica está localizada em San José Del Cabos, uma cidade próxima a Acapulco. Até que o México se tornasse membro do NAFTA - North America Free Trade Agreement, a empresa conseguia colocar facilmente seus produtos em dezenas de lojas de Acapulco. Num pique de vendas ocorridos alguns anos atrás, ela chegou a ter uma clientela substancial em cidades afastadas como Cancun, Campeche, Veracruz e Tampico. Hoje em dia, no entanto, com a abertura do mercado para importação de acessórios da China, Malásia, Vietnã e Singapura via Estados Unidos, o mercado para os acessórios comercializados pela HOLE-IN-ONEÒ diminuiu substancialmente. Há alguns meses os pedidos de compras começaram a escassear e várias posições da linha de montagem tiveram que ser desativadas. Diante destes fatos, Juan Montoya , principal executivo da empresa, adotou uma série de medidas estratégicas na tentativa de recolocar seus produtos na cabeça do consumidor: mudou o nome da empresa, antes ela se chamava Calçados JM, abriu uma empresa virtual na Califórnia, da qual a fábrica mexicana passou a ser uma subsidiária, mudou o lema da empresa (En la variedad está el gusto) e passou a colocar seus produtos Hole-in-OneÓ Highly advanced golf wear that capture one’s imagination 1325 Sunset Blvd, Silicon Redes Neurais – Uma Ferramenta para KDD e Data Mining Antonio Carlos Gay Thomé Inteligência Computacional 35 em sacolas de um tecido poroso especial e acondicioná-los em caixas hexagonais feitas com uma mistura de papelão negro e alumínio reciclado. Os canais de distribuição utilizados pela empresa também tiveram que mudar. Os produtos que antes eram encontrados em lojas de segunda categoria, agora só podem ser adquiridos através de demonstradores, que comparecem regularmente aos principais clubes de golf e hotéis da cidade, encomendados diretamente à fábrica através do telefone ou solicitados através da Internet. Descrição do Problema Um dos problemas que aflige Senhor Montoya são os custos associados a divulgação de seus produtos nos clubes de golf da cidade. Embora a estratégia de contratar demonstradoras em agências de modelos tenha se revelado extremamente eficaz, ela é muito onerosa. Se o número de gringos jogando golf for reduzido a operação resulta em prejuízo. O centro do problema é que a hora paga pelas demonstradoras é muito alta e aparentemente não pode ser reduzida face a outras ofertas de trabalho que estão disponíveis. Ao contar seu problema para Don José Diaz, um velho amigo da família e grande aficionado do golf, Senhor Montoya foi convencido a tentar encontrar um que lhe permitisse determinar com precisão razoável, quando deveria e quando não enviar suas demonstradoras para os clubes de golf. Don José argumentou que os dados necessários para a construção deste modelo já estavam disponíveis. Bastava cruzar os dados históricos do faturamento diário com variáveis tais como temperatura, vento, umidade, etc., que podem ser facilmente recuperadas dos arquivos dos principais jornais da cidade ou diretamente do serviço de meteorologia. Construção do Modelo Neural Você e seu grupo são os especialistas que a HOLE-IN-ONEÒ contratou para analisar as informações contidas nos bancos de dados da empresa e criar um modelo neural capaz de indicar quando as promotoras devem ser enviadas ou não para os clubes de golf da cidade. No arquivo Profile você encontrará as informações coletadas junto ao serviço de meteorologia de Acapulco e uma observação adicionada pelo Senhor Montoya indicando, com base no faturamento obtido nas respectivas datas, se as vendedoras deveriam ter sido enviadas naquele dia (casos de sucesso) ou não (casos de insucesso). Construa seu modelo e depois avalie seu desempenho. Para isto considere que sem a existência do modelo, o Senhor Montoya não teria outra alternativa que não a de enviar as promotoras para os clubes de golf de Acapulco em todas as ocasiões e torcer pelo melhor. Considerando que cada excursão infrutífera das demonstradoras causa um prejuízo entre US$ 340 e US$ 480 verifique a eficácia do seu modelo, isto é, estime o montante que a HOLE-IN-ONEÒ poderá economizar no decorrer dos próximos 360 dias. Aplicação do Modelo O quadro abaixo mostra a previsão do tempo em Acapulco para os próximos 4 dias. Diante destas informações aplique seu modelo e mostre ao Senhor Montaya como ele Redes Neurais – Uma Ferramenta para KDD e Data Mining Antonio Carlos Gay Thomé Inteligência Computacional 36 deveria proceder em relação ao envio de demonstradoras para os clubes de golf da cidade? Dia Previsão do Tempo Temperatura Umidade Vento 23 de Agosto Ensolarado 92 oF 80% Fraco 24 de Agosto Nublado 88 oF 82% Médio 25 de Agosto Nublado 86 oF 84% Médio 26 de Agosto Chuvoso 85 oF 88% Fraco Generalização do Modelo Como todo empresário de sucesso, o Senhor Montaya está sempre a procura de novas idéias para expandir seus negócios. Uma maneira que lhe parece óbvia é usar seu modelo para reproduzir a mesma estratégia de venda construída para Acapulco em outras cidades mexicanas. Com essa idéia em mente o Senhor Montaya solicitou que sua equipe verificasse a eficácia do modelo para a cidade Cacun, onde a HOLE-IN-ONEÒ mantém uma equipe de vendas que já vem atuando há algum tempo. No arquivo Prospect você encontra os dados referentes aos negócios e ao clima de Cancun. Verifique se o modelo que construiu pode ser estendido para Cancun ou se precisa ser refeito. Layout dos Arquivos Profile e Prospect a) Previsão do Tempo Valor Código Ensolarado 1 Nublado 2 Chuvoso 3 d) Vento Valor Código Parado 1 Fraco 2 Médio 3 Forte 4 f) Envio das Demonstradoras b) Temperatura (0F) Mínimo Máximo 60 100 c) Umidade (%) Mínimo Máximo 65 96 e) Mês do ano Valor Código Janeiro 1 Fevereiro 2 Março 3 Redes Neurais – Uma Ferramenta para KDD e Data Mining Antonio Carlos Gay Thomé Inteligência Computacional 37 DOSTOY’S Capitalist cood at comunist prices1 1 Valor Código Sim 1 Não 0 Abril 4 Maio 5 Junho 6 Julho 7 Agosto 8 Setembro 9 Outubro 10 Novembro 11 Dezembro 12 Caso 2 – Planejamento de Marketing I O CASO DA DOSTOY’S (*) Contribuição de Antonio Juarez Alencar Que toda crise gera oportunidades não é fato novo. Na Rússia, por exemplo, o término da União das Repúblicas Socialistas Soviéti- cas, fez surgir um novo paradigma econô- mico onde empresas estatais recentemente privatizadas passaram a competir com a má- fia pela preferência de compra da população. Antevendo que num país de dimensões continentais como a Rússia, o eminente colapso do sistema de transporte de massa e de comunicação colocaria uma parcela significativa destes compradores em potencial fora do mercado de consumo, Claire Martin e Penelope Johnson, duas inglesas do condado de Yorkshire, resolveram se mudar para a St. Petersburg e fundar a DOSTOY’S, uma empresa especializada na venda de produtos por catálogo. O que parecia ser uma idéia sem pé nem cabeça de duas recém formadas, se tornou num estrondoso sucesso comercial. Nos meses seguiram ao envio dos primeiros lotes de catálogos pelo correio, para pessoas cujos nomes haviam sido literalmente retirados de listas telefônicas desatualizadas de cidades do interior do país, milhares de pedidos chegaram a então despreparada sede da empresa na avenida Kronichenco 1635. Com o passar do tempo a empresa foi se organizando, os processos produtivos foram sendo criados, a empresa adquiriu uma franquia dos correios, os primeiros sistemas informatizados foram desenvolvidos e implementados, etc. Hoje o principal catálogo da empresa, o “DOSTOY’S big show”, contém mais de 10.000 itens. Descrição do Problema Um dos problemas mais importantes com que a empresa se depara no momento é o da redução dos custos do processo de vendas de seus produtos. Cada catálogo que é postado e que não resulta em vendas de pelo menos R$ 42,00 (quarenta e dois rublos) Redes Neurais – Uma Ferramenta para KDD e Data Mining Antonio Carlos Gay Thomé Inteligência Computacional 38 causam um prejuízo considerável a DOSTOY’S. Não são somente os custos associados a confecção impressão, manipulação e envio do catálogo que causam este prejuízo, mais principalmente o custo pela perda de oportunidade. Afinal se o catálogo tivesse sido enviado para a “pessoa certa”, ele teria gerado lucro, movimentado o estoque, divulgado a empresa, fortalecido o relacionamento com o cliente, etc. Por mais irônico que possa parecer, a saúde financeira do negócio está sendo afetada negativamente pela idéia que viabiliza a existência do empreendimento em si, ou seja, o catálogo de produtos que é remetido pelo correio. As diretoras da DOSTOY’S estão cientes de que qualquer pedido espontâneo ou mesmo induzido de envio de seus catálogos tem que ser atendido. O que elas estão procurando são alternativas que venham a contribuir para a redução dos custos de captação de novos clientes, especialmente nos casos de insucessos decorrentes do envio de catálogos não solicitados, uma atividade crucial para o crescimento da base de clientes da empresa. Diversas alternativas foram levantadas e as diretoras optaram por aquela que sugeria contratar uma equipe para conceber e desenvolver um sistema inteligente que fosse capaz de identificar e classificar os possíveis novos clientes antes do envio do catálogo. Este sistema formaria um expertise a partir das informações sobre os atuais clientes, armazenadas nos bancos de dados da empresa e o extrapolaria sobre dados de clientes potenciais. A idéia básica por trás disto estaria alicerçada na tese de que pessoas com perfis parecidos também apresentam preferências parecidas. Construção do Modelo Neural Suponha que você e seu grupo são os especialistas contratados para analisar as informações contidas nos bancos de dados da DOSTOY’S e criar um modelo que permita calcular o valor de compra a priori de potenciais clientes que forem contatados de forma não solicitada. No arquivo Profile você ira encontrar os dados relativos a um conjunto de first buyers da DOSTOY’S, selecionado aleatoriamente no banco de dados da empresa. Utilize estes dados para construir o modelo que a DOSTOY’S precisa. Avaliação do Modelo Construído a) Verifique se é possível reduzir o número de variáveis do modelo que você construiu mantendo a mesma precisão das respostas que ele fornece. b) As diretoras da DOSTOY’S estão um pouco cépticas quanto a eficácia do modelo construído. Para testá-lo elas enviaram um novo lote de catálogos para uma lista de clientes em perspectiva que elas obtiveram junto ao governo municipal de uma cidade vizinha, estes dados estão armazenados no arquivo Prospects. Clair e Penelope desejam que você exponha seu modelo a estes dados e calcule o percentual de vezes que o modelo indicou erroneamente que o catálogo deveria ser enviado e o percentual de vezes que o modelo indicou erroneamente que o catálogo não deveria ser enviado. A taxa de erro foi diferente daquela obtida durante a utilização do arquivo Profile ? Justifique a sua resposta. c) Sem o auxílio do modelo a DOSTOY’S não teria outra opção senão enviar catálogos pelo correio para qualquer lista de clientes na qual ela coloque a mão. Considerando a lista contida no arquivo Prospects e que compras abaixo de R$42,00 causam um prejuízo equivalente a diferença entre este valor e o valor da compra, estime as quantias prevista e efetiva que a DOSTOY’S estaria economizando ao utilizar seu modelo. Redes Neurais – Uma Ferramenta para KDD e Data Mining Antonio Carlos Gay Thomé Inteligência Computacional 39 Layout dos Arquivos Profile e Prospect a) Identificador do Cliente Número ³ 1 b) Valor da primeira compra Mínimo +Provável Máximo R$ 0 R$ 54 R$ 143 c) Idade Mínimo +Provável Máximo 18 36 65 d) Sexo Valor Código Masculino 1 Feminino 2 e) Estado Civil Valor Código Solteiro 1 Junto 2 Casado 3 Viúvo 4 f) Número de Filhos Valor Código 0 0 1 1 2 2 3 3 ³ 4 4 g) Escolaridade Valor Código Sem Educação Formal 0 1o Grau 1 2o Grau 2 j) Nível Gerencial Curso Superior 3 Pós-graduação 4 h) Ocupação Valor Código Liberal/ Autônomo 1 Funcionário Público 2 Assalariado 3 Empresário 4 Aposentado 5 Estudante 6 Dona Casa 7 Outro 0 i) Atuação Profissional Valor Código Economia, Finanças e Contabilidade 1 Marketing, Inovação ou Vendas 2 Recursos Humanos ou Treinamento 3 Estratégia ou Planejamento 4 Tecnologia 5 Operações 6 Jurídica 7 Segurança ou Seguros 8 Saúde 9 Outro 0 n) Valor do Imóvel Residencial Valor Código £ R$50mil 1 R$51m a R$100m 2 Redes Neurais – Uma Ferramenta para KDD e Data Mining Antonio Carlos Gay Thomé Inteligência Computacional 40 Valor Código Operacional /Técnico 1 Gerência Júnior 2 Gerência Média 3 Diretor ou Superintendente 4 Presidente / Vice- presidente 5 Sócio / Proprietário. 6 k) Faturamento da Empresa Valor Código £ R$10milhões 1 de R$10m a R$100m 2 de R$100m a R$500m 3 de R$500m a R$1B 4 ³ R$1Bilhões 5 l) Tipo de Residência Valor Código Quarto 1 Apartamento 2 Casa 3 m) Condição da Residência Valor Código Emprestada 1 Alugada 2 Própria c/Financiamento 3 Própria 4 R$101m a R$150m 3 R$150m a R$200m 4 ³ R$200 mil 5 o) Automóveis na Residência Valor Código 0 0 1 1 2 2 3 3 p) Computador na Residência Valor Código Sim 1 Não 2 q) Local da Residência Valor Código Apatity 1 Gatchina 2 Kostomuksha 3 Lahdenpohja 4 Karelia 5 Pskov 6 Segezha 7 Sosnovy Bor 8 Syktyvkar 9 Vyborg 10 Redes Neurais – Uma Ferramenta para KDD e Data Mining Antonio Carlos Gay Thomé Inteligência Computacional 41 Caso 3 – Planejamento de Marketing II O CASO DA mBOOKS (*) Contribuição de Antonio Juarez Alencar A mBooks é uma empresa californiana especializada na publicação de livros e revistas voltadas para o grande público. Ao contrário de outras editoras que atuam no mercado norte americano a mBooks não publica livros e revistas de forma generalizada. Quando os objetivos da empresa foram estabelecidos pelos seus criadores, John Wodsworth e Philips Easywriting, no início dos anos sessenta, ficou decidido que a empresa atuaria apenas em cinco áreas estratégicas: atividades ao ar-livre, esportes, negócios, automóveis, moda e decoração. Esforços na organização em temas específicos, aliado a uma obstinação ferrenha pela qualidade de suas publicações e respeito pelos leitores, funcionou maravilhosamente. Ao longo dos anos a clientela da mBooks vem aumentando com uma constância que parece ignorar as recessões ocorridas durante o período. Muitos especialistas apontam a empresa como destinada a se tornar uma das maiores organizações do ramo na próxima década. Hoje a mBooks, uma organização que começou praticamente como uma empresa de fundo de quintal, com um capital de apenas US$ 1000, publica centenas de livros e revistas que são lidos por milhões de norte americanos. As revistas que a mBooks publica são as seguintes: Sports Illustrated Revista de circulação semanal voltada para os esportes em geral. Tem como força principal a qualidade e ineditismo das fotografias, assim como a divulgação de informações privilegiadas sobre as equipes e principais figuras do mundo esportivo. Business Intelligence É uma revista semanal, voltada para o mundo dos negócios. Os artigos comentados explicando e explorando o impacto dos últimos acontecimentos políticos e econômicos sobre o mercado de bens e serviços são o carro chefe da revista. Four Wheels Revista quinzenal voltada para o universo dos automóveis de passeio. Os testes e estudos comparativos realizados com os últimos lançamentos do mercado automobilístico são o que mais chama a atenção do leitor. Great Outdoors Revista quinzenal voltada para atividades executadas ao ar livre tais como caminhada, ciclismo, alpinismo, canoagem, etc. A qualidade das fotografias e os mapas comentados são sempre elogiados pelos seus leitores. mBooks OUR BEST REWARD IS YOUR FULL SATISFACTION Redes Neurais – Uma Ferramenta para KDD e Data Mining Antonio Carlos Gay Thomé Inteligência Computacional 42 The Stylist Revista mensal voltada para o mundo da moda. Mostra e discute as principais tendências do mercado pret-a-porte. As entrevistas com estilistas famosos e as fotografias altamente elaboradas são os destaques da revista. Interior Design Revista mensal voltada para decoração de interiores. As fotos do interior de residências de pessoas famosas e de ambientes especialmente preparados em maquetes de tamanho natural são os elementos que mais agradam os leitores. Descrição do Problema Com o intuito de aumentar o market share da mBooks a diretoria da empresa decidiu lançar uma grande campanha de marketing para atrair novos assinantes para suas revistas. A primeira parte desta campanha consiste em levantar o perfil das pessoas que subscrevem as revistas publicadas pela empresa. Numa segunda etapa, de posse do perfil dos assinantes de suas revistas a mBooks espera encontrar possibilidades de ampliar suas vendas dentro do próprio conjunto de assinantes e pretende também, lançar diversas campanhas promocionais capturando informações pessoais e psicográficas de prospects (clientes em potencial). Como resultado destas campanhas será criado um banco de dados cuja análise deverá identificar aqueles prospects mais propensos a assinarem cada uma das revistas publicadas pela mBooks. Existem ainda duas fontes adicionais de informações que a mBooks deverá estar utilizando para prospectar clientes. A primeira tem origem nos bancos de dados de campanhas promocionais de empresas que não competem no mesmo segmento. A outra consiste no aluguel de banco de dados de empresas especializadas na captação de informações psicográficas junto ao grande público, tais como Data Demografics, America Data, Data General entre outras. Construção do Modelo Você e seu grupo de trabalho são os especialistas que a mBooks contratou para identificar o perfil dos assinantes das revistas publicadas pela empresa e para indicar que revistas são mais prováveis de serem subscritas por um determinado prospect. Você e seu grupo de especialistas estão trabalhando a todo vapor. O grupo projetou o formulário com as informações em anexo que foi enviado aos assinantes das revistas publicadas pela mBooks. A empresa especializada em fulfilment que a mBooks contratou, seguindo a indicação que vocês fizeram, acaba de informar que centenas destes formulários já foram devolvidos pelos assinantes. Todos os formulários recebidos até o momento foram digitados e conferidos. Estas informações estão disponíveis no arquivo Profile. Eles informaram também que o primeiro lote de informações de prospects oriundos das campanhas promocionais se encontra disponível no arquivo Prospec. Cabe a você e a seu grupo de trabalho, identificarem que revistas, se alguma, estes prospects estariam propensos a assinarem. Layout dos Arquivos Profile e Prostect Redes Neurais – Uma Ferramenta para KDD e Data Mining Antonio Carlos Gay Thomé Inteligência Computacional 43 a) Ano de Nascimento Mínimo +Provável Máximo 1983 1965 1936 b) Sexo Valor Código Masculino 1 Feminino 2 c) Estado Civil Valor Código Casado 1 Junto 1 Solteiro 2 Viúvo 3 d) Filhos Menores (até 3 anos) Valor Código Sim 1 Não 2 e) Filhos (entre 4 e 7 anos) Valor Código Sim 1 Não 2 f) Filhos Pré-adolescentes Valor Código Sim 1 Não 2 g) Filhos Adolescentes Valor Código Sim 1 Não 2 h) Filhos Adultos Valor Código Sim 1 Não 2 i) Netos Valor Código Sim 1 Não 2 j) Escolaridade Valor Código Sem Educação Formal 0 1o Grau 1 2o Grau 2 Curso Superior 3 Pós-graduação 4 k) Ocupação Valor Código Liberal/ Autônomo 1 Funcionário Público 2 Assalariado 3 Empresário 4 Aposentado 5 Estudante 6 Dona Casa 7 Outro 0 l) Atuação Profissional Valor Código Área Finançeira 1 Marketing 2 Recursos Humanos 3 Estratégia ou Planejamento 4 Tecnologia 5 Operações 6 Jurídica 7 Segurança ou Seguros 8 Saúde 9 Outro 0 Redes Neurais – Uma Ferramenta para KDD e Data Mining Antonio Carlos Gay Thomé Inteligência Computacional 44 m) Nível Gerencial Valor Código Operacional /Técnico 1 Gerência Júnior 2 Gerência Média 3 Diretor ou Superintendente 4 Presidente / Vice- presidente 5 Sócio / Proprietário. 6 n) Faturamento da Empresa Valor Código £ R$10milhões 1 de R$10m a R$100m 2 de R$100m a R$500m 3 de R$500m a R$1B 4 ³ R$1Bilhões 5 o) Tipo da Residência Valor Código Quarto 1 Apartamento 2 Casa 3 p) Condição da Residência Valor Código Emprestada 1 Alugada 2 Própria c/Financiamento 3 Própria 4 q) Valor do Imóvel Valor Código £ R$50mil 1 R$51m a R$100m 2 R$101m a R$150m 3 R$150m a R$200m 4 ³ R$200 mil 5 r) Número de Automóveis Valor Código 0 0 1 1 2 2 3 3 s) Computador na Residência Valor Código Sim 1 Não 2 t) Usuário da Internet Valor Código Sim 1 Não 2 u) TV por Assinatura Valor Código Sim 1 Não 2 v) Cartões de Crédito Internacional Valor Código Sim 1 Não 2 w) Programa de Milhagem Valor Código Sim 1 Não 2 x) Código das Revistas Revista Código Sports Illustrated 1230 Business Intelligence 1220 Four Wheels 9103 Great Outdoors 1534 The Stylist 1002 Interior Design 2012 Redes Neurais – Uma Ferramenta para KDD e Data Mining Antonio Carlos Gay Thomé Inteligência Computacional 45 Caso 4 – Diagnóstico Médico O CASO DA CLÍNICA PRÓ-SAÚDE Há pouco mais de três anos um conjunto de médicos altamente especializados se reuniram e montaram uma clínica dedicada ao tratamento e prevenção do câncer de mama. A clínica, embora nova no mercado, já possui uma boa reputação, resultante do currículo dos sócios fundadores e do sucesso alcançado nos casos já tratados. A clínica agora almeja aumentar o número de clientes e assim firmar-se no mercado. Uma reunião de diretoria foi convocada com a finalidade de definir uma estratégia de ação. O diretor presidente, após algumas palavras de ordem, explicou o ponto básico e o objetivo principal a ser atingido. Lembrou aos demais membros que em sua opinião, a divulgação pura e simples de um comercial através dos meios de comunicação seria um processo oneroso para o porte da empresa e, além disto, não seria especificamente eficaz por não focar diretamente o público alvo. O gerente de marketing sugeriu então o lançamento de uma campanha promocional visando a ampliação do cadastro de pacientes, onde, em espaços estrategicamente reservados nos principais centros comerciais da cidade, a clínica oferecesse gratuitamente a realização de exames preventivos. Um dos médicos especialistas levantou o argumento de que o exame de toque é relativamente demorado, requer sala e condições especiais e, alem do mais, iria tomar um tempo muito grande e precioso do corpo médico da clínica. O médico responsável pelo laboratório lembrou que com os equipamentos recentemente adquiridos pela clínica é possível realizar o diagnóstico preventivo através do exame laboratorial de uma pequena amostra de tecido retirado da mama da paciente. Argumentou ainda, que a coleta desta amostra poderia ser feita de uma forma muito rápida, sem a necessidade de um ambiente sofisticado e a um custo muito menor. O gerente de informática sugeriu a possibilidade de desenvolver um sistema para processar automaticamente os valores produzidos pelos equipamentos do laboratório e gerar, automaticamente, um pré-diagnóstico. Alegou que desta forma, seria possível atender um número maior de exames sem onerar o tempo dos médicos da clínica. O gerente de marketing observou que com este sistema não seria possível apenas agilizar o processo de diagnóstico, mas também ampliar o número de coletas de material para exame e ainda reduzir os custos da campanha, caso fosse emitido também automaticamente, uma comunicação padrão para aquelas pacientes cujos pré-diagnóticos apontam para a existência de um possível cancer de mama. Construção do Modelo A idéia foi aprovada e o gerente de informática encarregou sua equipe de apresentar um sistema para processar os dados, emitir o pré-diagnóstico e, se possível, desenvolver um esquema capaz de reduzir o custo das malas diretas a serem enviadas, focando-as apenas ao conjunto das pessoas que apresentem um pré-diagnóstico positivo. O desafio maior da equipe não está na emissão das malas diretas, mas sim na confiabilidade do pré- Redes Neurais – Uma Ferramenta para KDD e Data Mining Antonio Carlos Gay Thomé Inteligência Computacional 46 diagnóstico e na possibilidade de reduzir ao mínimo ou mesmo eliminar a participação da equipe médica na elaboração do pré-diagnóstico. Layout do Arquivo de Dados No arquivo denominado "cancer.xls", você dispõe de uma amostra real contendo 683 registros laboratoriais e seus respectivos pré-disgnósticos. Cada registro contém as seguintes informações: Descrição Valor Código seqüencial inteiro Espessura da massa celular real de 1 a 10 Uniformidade do tamanho da célula real de 1 a 10 Uniformidade do formato da célula real de 1 a 10 Adesão marginal real de 1 a 10 Tamanho de uma célula epitelial real de 1 a 10 Núcleo vazio real de 1 a 10 Cromatina branda real de 1 a 10 Normalidade do nucléolo real de 1 a 10 Mitose real de 1 a 10 Pré-diagnóstico 2 - Positivo 4 - Negativo Avaliação do Modelo Construído Considerando a tabela de custos abaixo e o conjunto de exames reservados para teste, procure montar uma forma ou esquema que permita avaliar o desempenho alcançado pelo modelo que construiu: a) hora do médico para coleta de material - $130,00 b) hora do médico para analisar os resultados laboratoriais - $100,00 c) hora do atendente para coleta de material - $30,00 d) custo da mala direta por pessoa - $1,00 e) tempo do médico ou do atendente gasto na coleta de material – 15’ / pessoa f) tempo do médico para emitir um diagnóstico – 30’ g) tempo do médico para analisar um pré-diagnóstico – 10’ h) gasto médio de um tratamento por paciente - $2000,00 Redes Neurais – Uma Ferramenta para KDD e Data Mining Antonio Carlos Gay Thomé Inteligência Computacional 47 Caso 5 – Aplicação Financeira O CASO DA FINANCEIRA LUCREMAIS A Lucremais é uma empresa formada por profissionais que ocupavam cargos de direção em algumas das empresas governamentais privatizadas e que deixaram seus empregos movidos pelos planos de incentivo à aposentadoria. Fundada há pouco mais de 05 anos para atuar na área de mercado de capitais, a Lucremais está sempre a busca de novos métodos e procedimentos operacionais que possam lhe trazer alguma vantagem competitiva e melhorar seu desempenho financeiro e dos seus associados. Um dos segmentos cobertos pela empresa é o de mercado de ações, onde ela atua aplicando recursos recebidos de seus clientes ou associados como os denomina. O associado aplica no fundo Lucremais, cuja remuneração é variável e dependente do resultado alcançado pela empresa com sua atuação na bolsa de valores de São Paulo. A política adotada pela Lucremais é repassar como rendimento bruto para seu cliente um percentual de 50% do resultado líquido alcançado com as operações de venda e compra das ações contidas em seu portfólio. O rendimento ou débito é repassado aos associados em períodos de 30 dias. Dentre as ações geralmente negociadas pela Lucremais estão a Vale do Rio Doce ON, a Telebrás RCTB ON, a Petrobrás ON e a Eletrobrás ON. Seus analistas de investimento, além de acompanhar estas ações, também mantém um acompanhamento diário do comportamento dos índices Bovespa, Down Jones e Nikey. Recentemente alguns dos diretores da Lucremais lançaram, em reunião de diretoria, a questão de que vários concorrentes têm divulgado o uso de redes neurais para a previsão do valor futuro de uma ação. A técnica é nova, mas pelo zum-zum-zum do mercado, parece que tem gerado resultados bastante interessantes, além de apresentar um atrativo e um apelo novo para a captação de um maior volume de recursos junto aos associados. Construção do Modelo Considere a possibilidade de construir um modelo capaz de prever o valor futuro da ação de uma das empresas disponíveis na base de dados: Vale do Rio Doce, Telebrás, Petrobrás ou Eletrobrás. O sistema pode ser concebido inicialmente para prever com o horizonte de um dia e depois estendido para um horizonte de cinco dias. Layout do Arquivo de Dados A base de dados disponível para concepção e avaliação do modelo cobre o período de 2 de janeiro de 1996 até 01 de fevereiro de 1999, com um total de 764 pregões. Os valores estão todos expressos em moeda americana (dólar) e além dos valores de abertura, fechamento, máximo e mínimo, são também fornecidos o volume comercializado e a data do pregão. Avaliação do Modelo Construído Redes Neurais – Uma Ferramenta para KDD e Data Mining Antonio Carlos Gay Thomé Inteligência Computacional 48 Avalie o modelo construído sob dois aspectos: um teórico e outro prático. Para a avaliação teórica você deve calcular o erro médio quadrático normalizado, isto é: some o erro quadrado sobre todos os pontos do conjunto de teste, extraia a raiz quadrada do resultado e o divida pelo desvio padrão (calculado sobre a série usada para treinamento) e pelo número de pontos do conjunto de teste menos um (observe a fórmula abaixo). t ed yy n Desempenho d 2)( 1 1 - * - = Para a avaliação prática, financeira, considere a seguinte regra de negócio: a) não há falta de recursos para comprar ações; b) há sempre compradores interessados nas ações postas a venda; c) toda operação de compra e venda será sempre de um lote de 1000 ações; d) a cada operação de compra ou venda haverá uma taxa de corretagem no valor de 1% do valor do negócio; e) a tentativa de lucro deve ser buscada tanto nas operações de compra (quando a estimativa do valor futuro superar o valor presente) como nas operações de venda (quando a estimativa do valor futuro for para um valor menor que o presente); f) as operações de compra e venda devem ser realizadas sempre que o lucro estimado superar a taxa de corretagem em pelo menos 5%; g) o valor da operação deve ser calculado com base nos valores reais da série, e o desempenho do modelo deve ser levantado sobre todo o conjunto de teste e comparado com a hipótese de ganho máximo, isto é, aquela em que se consegue realizar sempre a melhor operação de venda ou de compra. Redes Neurais – Uma Ferramenta para KDD e Data Mining Antonio Carlos Gay Thomé Inteligência Computacional 49 Referências Bibliográficas [BAR01] Barbieri, Carlos – BI – Business Intelligence, Modelagem & Tecnologia, Axcel Books, 2001. [BAR96] Barquini, Ramon - Planning and designing the Warehouse, New Jersey, Prentice-Hall, 1996, 311 pg. [BAT86] Batini, C. E Lenzerini, M. - Comparative Analysis Of Methodologies For Database Schema Integration, ACM Computing Surveys, New York, v.18, nº 4, pg.323-364, Dezembro 1986. [Bigus96] Joseph P. Bigus, Data Mining with Neural Networks – Solving Business Problems – from Application Development to Decision Support, McGraw-Hill, 1996. [Cha97] Chaudhuri, S. e Dayal, U. – An Overview of Data Warehousing and Olap Tecnology, SIGMOD Record, New York, v.26, nº 1, pg.65-74, Março 1997. [Cod95] Codd, E. F. Twelve Rules for On Line Analytical Processing, Computerworld, Abril 1995. [Fayyad99] Usama M. Fayyad, Gregory Piatetsky-Shapiro and Padhraic Smyth, From Data Mining to Knowledge Discovery – An Overview. [Flo97] Flohr, U. – OLAP by Web. Byte, Peterborough, v.22, nº 9, pg.81-84, Setembro 1997. [Har96] Harjinder, G. E Rao, P. C. – The Officil Guide to Data Warehousing, Que Corporation, 1996. [INM96] Inmon, W. H. – Building the Data Warehouse, John Wiley & Sons Inc., New York, 1996. [INM97a] Inmon, W. H. & Richard D. Hackathorn – Como usar o Data Warehouse, Infobook, Rio de Janeiro, 1997. [KIM96] Kimball, Ralph – The Data Warehouse Toolkit, John Wiley & Sons Inc., New York, 1996. [ONE97] Oneil, B. – Oracle Data Warehousing. Indianapolis, Sams Publishing, 1997. [Toshinori99] Toshiro Munakata, Discovery, Communication of the ACM, November 1999/ Vol. 42, Nr. 11, pág. 27-29. [Zurada98] Jacek M. Zurada, Introduction to Neural Systems, Redes Neurais – Uma Ferramenta para KDD e Data Mining Antonio Carlos Gay Thomé Inteligência Computacional 50