Universidade de Caxias do Sul Centro de Ciências Exatas e Tecnologia Departamento de Informática Curso de Bacharelado em Ciência da Computação



Documentos relacionados
DATA WAREHOUSE. Introdução

ADM041 / EPR806 Sistemas de Informação

No mundo atual, globalizado e competitivo, as organizações têm buscado cada vez mais, meios de se destacar no mercado. Uma estratégia para o

Na medida em que se cria um produto, o sistema de software, que será usado e mantido, nos aproximamos da engenharia.

TRABALHO DE DIPLOMAÇÃO Regime Modular ORIENTAÇÕES SOBRE O ROTEIRO DO PROJETO FINAL DE SISTEMAS DE INFORMAÇÕES

Complemento II Noções Introdutória em Redes Neurais

Banco de Dados Aula 1 Introdução a Banco de Dados Introdução Sistema Gerenciador de Banco de Dados

Módulo 4: Gerenciamento de Dados

Roteiro para a escrita do documento de Especificação de Requisitos de Software (ERS)

Aula 2 RNA Arquiteturas e Treinamento

ISO/IEC 12207: Gerência de Configuração

PROCESSO DE DESENVOLVIMENTO DE SOFTWARE. Modelos de Processo de Desenvolvimento de Software

Aprendizagem de Máquina

Planejamento Estratégico de TI. Prof.: Fernando Ascani

CONCURSO PÚBLICO ANALISTA DE SISTEMA ÊNFASE GOVERNANÇA DE TI ANALISTA DE GESTÃO RESPOSTAS ESPERADAS PRELIMINARES

O que é a ciência de dados (data science). Discussão do conceito. Luís Borges Gouveia Universidade Fernando Pessoa Versão 1.

MINERAÇÃO DE DADOS APLICADA. Pedro Henrique Bragioni Las Casas

04/08/2012 MODELAGEM DE DADOS. PROF. RAFAEL DIAS RIBEIRO, MODELAGEM DE DADOS. Aula 1. Prof. Rafael Dias Ribeiro. M.Sc.

Extração de Requisitos

CHECK - LIST - ISO 9001:2000

Projeto de Redes Neurais e MATLAB

IW10. Rev.: 02. Especificações Técnicas

UNIVERSIDADE FEDERAL DE SANTA CATARINA GRADUAÇÃO EM SISTEMAS DE INFORMAÇÃO DEPARTAMENTO DE INFORMÁTICA E ESTATÍSTICA DATA MINING EM VÍDEOS

Figura 5.1.Modelo não linear de um neurônio j da camada k+1. Fonte: HAYKIN, 2001

Instituto de Educação Tecnológica Pós-graduação Gestão e Tecnologia da Informação - Turma 25 20/03/2015. Big Data Analytics:

Interatividade aliada a Análise de Negócios

Exemplo de Aplicação do DataMinig

GARANTIA DA QUALIDADE DE SOFTWARE

Gerenciamento de Problemas

Planejamento Estratégico de TI. Prof.: Fernando Ascani

DATA WAREHOUSE NO APOIO À TOMADA DE DECISÕES

Pós-Graduação em Gerenciamento de Projetos práticas do PMI

Conteúdo. Disciplina: INF Engenharia de Software. Monalessa Perini Barcellos. Centro Tecnológico. Universidade Federal do Espírito Santo

Unidade VI. Validação e Verificação de Software Teste de Software. Conteúdo. Técnicas de Teste. Estratégias de Teste

ALESSANDRO RODRIGO FRANCO FERNANDO MARTINS RAFAEL ALMEIDA DE OLIVEIRA

Fases para um Projeto de Data Warehouse. Fases para um Projeto de Data Warehouse. Fases para um Projeto de Data Warehouse

Projeto de Sistemas I

Módulo 4. Construindo uma solução OLAP

FACULDADE DE ENGENHARIA DE COMPUTAÇÃO. PROJETO FINAL I e II PLANO DE TRABALHO <NOME DO TRABALHO> <Nome do Aluno> <Nome do Orientador>

Administração de dados - Conceitos, técnicas, ferramentas e aplicações de Data Mining para gerar conhecimento a partir de bases de dados

7.Conclusão e Trabalhos Futuros

Data Mining. Origem do Data Mining 24/05/2012. Data Mining. Prof Luiz Antonio do Nascimento

Prof. Marcelo Machado Cunha

Multiplexador. Permitem que vários equipamentos compartilhem um único canal de comunicação

UNIVERSIDADE REGIONAL DE BLUMENAU CENTRO DE CIÊNCIAS EXATAS E NATURAIS CURSO DE CIÊNCIAS DA COMPUTAÇÃO (Bacharelado)

Planejando o aplicativo

ROTEIRO PARA ELABORAÇÃO DE PROJETOS

Banco de Dados I. Apresentação (mini-currículo) Conceitos. Disciplina Banco de Dados. Cont... Cont... Edson Thizon

Aula 03 Teoria Geral dos Sistemas: Dados x Informação x Conhecimento

Processos de gerenciamento de projetos em um projeto

FLUXO DE CAIXA: Módulo BI (Business Intelligence)

PALAVRAS-CHAVE: Massas Nodulares, Classificação de Padrões, Redes Multi- Layer Perceptron.

Universidade Paulista

PLANEJAMENTO OPERACIONAL - MARKETING E PRODUÇÃO MÓDULO 3 O QUE É PLANEJAMENTO DE VENDAS E OPERAÇÕES?

Conteúdo. Disciplina: INF Engenharia de Software. Monalessa Perini Barcellos

Referências internas são os artefatos usados para ajudar na elaboração do PT tais como:

Seção 2/E Monitoramento, Avaliação e Aprendizagem

ARCO - Associação Recreativa dos Correios. Sistema para Gerenciamento de Associações Recreativas Plano de Desenvolvimento de Software Versão <1.

Professor Severino Domingos Júnior Disciplina: Gestão de Compras e Estoques no Varejo

FATEC Cruzeiro José da Silva. Ferramenta CRM como estratégia de negócios

Entendendo como funciona o NAT

APOO Análise e Projeto Orientado a Objetos. Requisitos

Conceitos de Banco de Dados

Simulação Computacional de Sistemas, ou simplesmente Simulação

3 Metodologia de Previsão de Padrões de Falha

Feature-Driven Development

ASSUNTO DO MATERIAL DIDÁTICO: SISTEMAS DE INFORMAÇÃO E AS DECISÕES GERENCIAIS NA ERA DA INTERNET

Unidade III GESTÃO EMPRESARIAL. Prof. Roberto Almeida

CRM. Customer Relationship Management

11 de maio de Análise do uso dos Resultados _ Proposta Técnica

Gestão da Qualidade Políticas. Elementos chaves da Qualidade 19/04/2009

UNG CIC Tópicos Especiais de TI. Aula 13

Tecnologia em Gestão Pública Desenvolvimento de Projetos - Aula 9 Prof. Rafael Roesler

ROTEIRO PARA TREINAMENTO DO SAGRES DIÁRIO Guia do Docente

Manual SAGe Versão 1.2 (a partir da versão )

Governança de TI. ITIL v.2&3. parte 1

2 Diagrama de Caso de Uso

Planejamento Estratégico de TI. Prof.: Fernando Ascani

Fábrica de Software 29/04/2015

Rotinas de DP- Professor: Robson Soares

Glossário Apresenta a definição dos termos, siglas e abreviações utilizadas no contexto do projeto Citsmart.

1. CONCEITOS BÁSICOS DE BD, SBD E SGBD

4 Segmentação Algoritmo proposto

APLICACAÇÃO DE METRICAS E INDICADORES NO MODELO DE REFERENCIA CMMI-Dev NIVEL 2

Concepção e Elaboração

Gestão do Conhecimento A Chave para o Sucesso Empresarial. José Renato Sátiro Santiago Jr.

)HUUDPHQWDV &RPSXWDFLRQDLV SDUD 6LPXODomR

Do neurônio biológico ao neurônio das redes neurais artificiais

PLANEJAMENTO ESTRATÉGICO

CAPÍTULO 3 - TIPOS DE DADOS E IDENTIFICADORES

Podemos encontrar uma figura interessante no PMBOK (Capítulo 7) sobre a necessidade de organizarmos o fluxo de caixa em um projeto.

QUALIDADE DE SOFTWARE. Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 27 Slide 1

MODELAGEM DE DADOS MODELAGEM DE DADOS. rafaeldiasribeiro.com.br 04/08/2012. Aula 7. Prof. Rafael Dias Ribeiro.

O que é a estatística?

INTRODUÇÃO. Diferente de Bando de Dados

TÉCNICAS DE PROGRAMAÇÃO

UNIDADE 4. Introdução à Metodologia de Desenvolvimento de Sistemas

Transcrição:

Universidade de Caxias do Sul Centro de Ciências Exatas e Tecnologia Departamento de Informática Curso de Bacharelado em Ciência da Computação APLICAÇÃO DE REDES NEURAIS ARTIFICIAIS À MINERAÇÃO DE DADOS por Daniel Luís Notari Trabalho de Conclusão para a obtenção do grau de Bacharel em Ciência da Computação. Orientadora: Sandra Rovena Frigeri Caxias do Sul, Dezembro 1997.

AGRADECIMENTOS Um agradecimento muito especial eu faço aos meus pais pela sua dedicação, esforço, apoio e compreensão expressados ao longo dos anos. Eu agradeço, a minha namorada Rafaela, pela compreensão e carinho dedicados ao longo do tempo que estamos namorando. A minha orientadora, Sandra Rovena Frigeri, eu agradeço de coração todos os ensinamentos transmitidos, pela paciência e compreensão dedicados a mim. A Lia Cláudia Matté, eu agradeço as sugestões que foram muito úteis ao desenvolvimento deste trabalho. E, agradeço aos professores do Departamento de Informática da Universidade de Caxias do Sul e funcionários do Laboratório de computação a ajuda, de qualquer forma que tenha sido, prestada ao longo destes seis anos que eu estou cursando o curso de computação.

SUMÁRIO LISTA DE FIGURAS...6 LISTA DE TABELAS...7 LISTA DE SÍMBOLOS...8 LISTA DE ABREVIATURAS...10 RESUMO...11 ABSTRACT...12 1. INTRODUÇÃO...13 2. DESCOBERTA DO CONHECIMENTO EM BANCO DE DADOS (DCBD)...17 2.1 CONCEITOS RELACIONADOS À DESCOBERTA DO CONHECIMENTO EM BD...27 2.1.1 Modelos...27 2.1.2 Classes...27 2.2 TIPOS DE DESCOBERTA...28 3. MINERAÇÃO DE DADOS...30 3.1 MODELOS DE MINERAÇÃO DE DADOS...30 3.2 TÉCNICAS DE MINERAÇÃO DE DADOS...31 3.2.1 Agrupamento...31 3.2.2 Classificação...32 3.2.3 Regressão...32 3.2.4 Modelagem de Dependência...33 3.2.5 Detecção de Desvios...33 3.2.6 Sumarização...33 3.2.7 Associação...34 3.2.8 Seqüência...34 3.2.9 Agrupamentos por Séries Temporais...35 3.3 MÉTODOS DE MINERAÇÃO DE DADOS...35 3.3.1 Regressão Não Linear e Métodos de Classificação...36 3.3.2 Árvores de Decisão e Regras...36 3.3.3 Regras de Indução...36 3.3.4 Visualização dos Dados...37 3.3.5 Métodos Baseados em Exemplos...37 3.3.6 Modelos Probabilísticos de Gráficos de dependência...37

4 3.3.7 Modelos de Aprendizado Relacional...38 3.4 APLICAÇÕES DE MINERAÇÃO DE DADOS...38 3.4.1 Marketing...38 3.4.2 Vendas a Varejo...38 3.4.3 Finanças...39 3.4.4 Saúde e Medicina...39 3.4.5 Ciências...39 3.5 DATA WAREHOUSE (ARMAZÉM DE DADOS)...40 4. REDES NEURAIS ARTIFICIAIS...41 4.1 CARACTERÍSTICAS DO CÉREBRO HUMANO...41 4.2 COMPUTAÇÃO INTELIGENTE: MANIPULAÇÃO DE SÍMBOLOS OU RECONHECIMENTO DE PADRÕES...43 4.3 CONCEITOS E ELEMENTOS DE REDES NEURAIS ARTIFICIAIS...44 4.4 PARADIGMAS DE APRENDIZAGEM...47 4.4.1 Aprendizado Supervisionado...47 4.4.2 Aprendizado Não Supervisionado...48 4.4.3 Aprendizado de Reforço...49 4.5 PROCESSO DE APRENDIZAGEM DE UM ÚNICO NEURÔNIO...50 4.5.1.1 Definição de um neurônio único...51 4.5.1.2 Treinar um único neurônio...52 4.6 TOPOLOGIAS DE REDES NEURAIS ARTIFICIAIS...52 4.6.1 Redes Feedforward...52 4.6.2 Redes Recorrentes Limitadas...53 4.6.3 Redes Completamente Recorrentes...53 4.7 MODELOS DE REDES NEURAIS ARTIFICIAIS...54 4.7.1 Modelos Adaptativos...54 4.7.1.1 Perceptron...55 4.7.1.2 Adaline...56 4.7.1.3 Madaline...57 4.7.1.4 Rede Multinível...58 4.7.1.5 Função Básica Radial (RBF)...59 4.7.1.6 Teoria da Ressonância Adaptativa (ART)...59 4.7.1.7 Redes Neurais Probabilísticas (RNP)...60 4.7.2 Modelos Competitivos...60 4.7.2.1 Redes Kohonen...61 5. REDES NEURAIS ARTIFICIAIS E MINERAÇÃO DE DADOS...63 5.1 FUNÇÕES BÁSICAS DE REDES NEURAIS ARTIFICIAIS...65 5.1.1 Classificação...65 5.1.2 Agrupamento...66

5 5.1.3 Memória Associativa...67 5.1.4 Regressão ou Modelagem...68 5.1.5 Previsão de Séries Temporais...68 5.2 TREINAMENTO DE UMA REDE NEURAL ARTIFICIAL...68 5.2.1 Monitorar o treinamento de uma RNA...70 5.2.2 Controle do processo de treinamento através de parâmetros de aprendizagem...71 5.2.3 Processo iterativo de desenvolvimento...72 5.2.4 Evitar a Saturação da RNA...74 5.2.5 Automação do Processo...75 5.3 ANÁLISE DO APRENDIZADO DE UMA REDE NEURAL ARTIFICIAL...75 5.3.1 Análise Sensitiva...76 5.3.2 Geração de Regras para Redes Neurais Artificiais...76 5.3.3 Visualização...77 5.4 EXTRAÇÃO DE REGRAS...77 5.4.1 Métodos de Extração de Regras Baseados em Procura de Regras...78 5.4.2 Um Método de Extração de Regras Baseado no Aprendizado...81 6. DESCRIÇÃO DO PROTÓTIPO...83 6.1 OBJETIVOS DO PROTÓTIPO...83 6.2 ETAPAS REALIZADAS DO PROCESSO DE DCBD...83 6.2.1 Compreensão...84 6.2.2 Seleção dos Dados...84 6.2.3 Pré-Processamento dos Dados...85 6.2.4 Transformação...86 6.2.5 Escolher a Tarefa da Mineração de Dados...86 6.2.6 Escolher o Algoritmo de Mineração de Dados...86 6.3 DESENVOLVIMENTO DO PROTÓTIPO...87 6.3.1 Menu Principal...88 6.4 RESULTADOS...92 7. CONCLUSÃO...93 8. BIBLIOGRAFIA...95

LISTA DE FIGURAS Figura 2.1 : Contexto do DCBD [FEL96]... 17 Figura 2.2 : Modelo de Sistema de DCBD [FEL96]... 26 Figura 4.1 : Neurônio Humano... 43 Figura 4.2 : Topologia Linear [BIG96]... 45 Figura 4.3 : Topologia Retro-Alimentada [BIG96]... 45 Figura 4.4 : Topologia Totalmente Conectada [BIG96]... 45 Figura 4.5 : Topologia Multinível [BIG96]... 46 Figura 4.6 : Neurônio Artificial... 47 Figura 4.7 : Aprendizado Supervisionado [BIG96]... 48 Figura 4.8 : Aprendizado Não Supervisionado [BIG96]... 49 Figura 4.9 : Aprendizado de Reforço [BIG96]...50 Figura 4.10 : Redes Neurais Feedforward [BIG96]... 53 Figura 4.11 : Redes Completamente Recorrentes [BIG96]... 54 Figura 4.12 : Algoritmo de Aprendizado da Regra Delta [OSO91]... 57 Figura 5.1 : Processo Iterativo para Treinamento de RNA [BIG96]... 73 Figura 5.2 : Uma regra de Procura [CRA]... 79 Figura 6.1 : Menu Principal... 88 Figura 6.2 : Formulário de Treinamento... 89 Figura 6.3 : Formulário de Atributos de uma tabela... 90 Figura 6.4 : Formulário contendo o nome das tabelas... 91 Figura 6.5 : Formulário com os dados da tabela selecionada pelo usuário... 91

LISTA DE TABELAS Tabela 5.1 : Aplicações Comerciais de RNA [BIG96]... 64 Tabela 5.2 : Parâmetros de Aprendizado para RNA ([BIG96])... 69

LISTA DE SÍMBOLOS D d E Er F Valor do disparo (ativação) de um neurônio de uma RNA. Padrão de Aprendizagem. Vetor de valores de entrada. Erro estimado. Função de ativação de uma rede neural artificial. f(a) Valor da função de ativação para o valor do parâmetro a. I/i Io k L P S t Número de entradas de uma rede neural artificial. Saída desejada (mentor input). Número de camadas de uma RNA. Representa um rótulo. Vetor de Pesos. Saída atual da rede neural artificial. Variável que indica tempo. t+n Indica uma quantidade de tempo maior que t. x X Xi/xi matriz. xo Xt X 1 X 2 X 3 y Representa um conjunto de valores de entrada para uma RNA. Conjunto de itens. Valor de entrada para a RNA. O i representa o índice do vetor ou Primeiro valor de entrada para a RNA. Conjunto de itens de uma transação. Representa um neurônio. Representa um neurônio. Representa um neurônio. Valor de saída de uma RNA.

9 RNA. Yt+n w Conjunto de itens de uma transação t+n. Representa o valor de uma conexão de peso de um neurônio de uma Wi/wi matriz. wo β Conjunto de pesos de uma RNA. O i representa o índice do vetor ou Representa o bias de uma RNA. Fator de ajuste de convergência.

10 LISTA DE ABREVIATURAS ADALINE ART BD DCBD IBM KDD LMS Adaptive Linear Element Teoria da Ressonância Adaptativa Banco de Dados Descoberta de Conhecimento em Banco de Dados International Business Machine Knowledge Discovery in Databases Least Mean Square MADALINE Multiples Adaptive Linear Element MLP NPDU RBF RMS RNA RNP SGBD SQL Multilayer Perceptron Núcleo de Processamento de Dados da Universidade de Caxias do Sul Função Básica Radial Root Mean Square Redes Neurais Artificiais Redes Neurais Probabilísticas Sistema Gerenciador de Banco de Dados Structured Query Language

11 RESUMO O objetivo deste trabalho é estudar a utilização de redes neurais artificiais na etapa de mineração de dados do processo de descoberta do conhecimento em banco de dados. O processo de descoberta do conhecimento em banco de dados (DCDB) tem por objetivo extrair conhecimento útil para uma determinada empresa ou aplicação a partir de bases de dados transacionais. A mineração de dados é uma das etapas do processo de DCBD que tem por objetivo realizar a extração de padrões. Neste sentido, as redes neurais artificiais podem ser usadas para realizar esta tarefa, já que elas permitem reconhecimento de padrões.

12 ABSTRACT The goal of this work is to study the artificial neural networks used in the data mining step in the process of knowledge discovery in database (KDD). The purpose of the KDD process is the extraction of useful knowledge from transactional databases of specific business or applications. The data mining is one step of the KDD process that executes the patterns extraction. In this sense, the neural networks can be used to accomplish this task, since they allow patterns recognition.

1. INTRODUÇÃO Muitas empresas em todo o mundo, não importando o tipo de negócio em que trabalham, utilizam os serviços de informática. Cada uma destas empresas possui um grande volume de dados armazenados que são as bases dos seus sistemas administrativos e de produção. Além disso, essas empresas possuem um grande volume de dados históricos, que já não são necessários a atividade fim da empresa, mas que devem ser mantidos por razões legais e fiscais. Toda esta informação armazenada representa um fonte de conhecimento não explorada, que poderia ser útil tanto para a empresa conhecer melhor a dinâmica do seu negócio, como para fazer o seu planejamento, ou seja, ter maior conhecimento na hora de tomar decisões. Os sistemas gerenciadores de banco de dados (SGBD) fornecem recursos de recuperação de dados, muito potentes, mas que retornam apenas a informação explicitamente armazenada, não sendo capazes de deduzir e nem de induzir conhecimento. A recuperação tradicional de dados em um SGBD fornece ao usuário consultas sobre os dados na forma como os dados estão gravados, isto é, uma consulta pode listar vários atributos de uma tabela, gerar um relatório com diversos formatos diferentes ou gerar gráficos sobre a soma total de vendas de um determinado produto num período. Basicamente, estas consultas acessam o SGBD de acordo com o que o cliente solicita e fornece uma visualização destes dados de várias maneiras como gráficos e relatórios. Esta grande quantidade de dados históricos que pode parecer um desperdício de espaço e dinheiro, juntamente com o grande volume de dados manipulados diariamente pela empresa podem se tornar muito mais úteis do que são atualmente. Desde que se possa realizar cruzamentos entre todas essas informações para procurar padrões ou relações entre as informações. Entretanto, manipular um grande volume de dados com esse objetivo é uma tarefa não trivial que tem um alto custo de processamento. Existem diversas técnicas desenvolvidas para que se possa manipular grandes volumes de dados, de forma eficiente e, a partir destes, se possa extrair conhecimento ou algum outro tipo de informação. Neste sentido, o processo de descoberta de conhecimento em base de dados (DCBD) tem por principal objetivo fazer uma exploração em grandes bases de dados com o intuito de descobrir padrões que possam ser úteis à empresa, principalmente, para ampliar o conhecimento da empresa sobre o seu próprio negócio. Uma empresa com maior

14 conhecimento tem melhor capacidade de tomada de decisão e, isso pode ser um diferencial no mercado mundial que está tão competitivo. As decisões no mundo dos negócios precisam ser tomadas cada vez mais com agilidade, rapidez e precisão. Por isso, cada vez mais são necessárias ferramentas que suportem este trabalho e apresentem o conhecimento de forma compreensível, o que é alvo de estudo da área de DCBD. O termo descoberta do conhecimento em banco de dados, foi usado pela primeira vez em 1989 para referenciar o processo para encontrar conhecimento em dados e para enfatizar o alto nível de aplicação de métodos particulares de mineração de dados [FAY96]. O processo de descoberta do conhecimento pode ser compreendido como o processo não trivial de identificação de padrões válidos, potencialmente úteis, recentes e enfim compreensíveis dos dados [FRA92]. O processo de DCBD se difere de consultas tradicionais realizadas em um SGBD porque pesquisa por padrões nos dados, isto é, procura informações escondidas em uma base de dados. Em uma consulta tradicional, se o usuário quer que uma consulta liste o total de vendas por clientes num mês; o usuário sabe que o sistema gerará o relatório porque há dados suficientes em sua base de dados para tanto. Mas, se o usuário quiser saber se existe alguma relação entre os produtos comprados por seus clientes, terá que utilizar o processo de DCBD ao invés de utilizar as consultas tradicionais. O processo de DCBD não tem por objetivo a geração de novos dados para satisfazer alguma necessidade específica de alguma aplicação em particular (como por exemplo, o controle de acesso por cartão magnético das pessoas que freqüentam um teatro). Na realidade, o processo de DCBD possibilita que o usuário pesquise por informações úteis em um banco de dados, as quais não poderiam ser fornecidas por sistemas específicos. O enfoque principal do processo de DCBD é trabalhar com as base de dados existentes e fornecer informações desconhecidas a priori pela empresa, informações que se encontram "escondidas" nos dados. A validade do conhecimento descoberto somente poderá ser avaliada com base nos objetivos que a empresa tem ao aplicar o processo de DCBD. Portanto uma etapa muito importante neste processo é a definição dos objetivos, ou seja, que tipo de conhecimento que se deseja descobrir, onde será aplicado esse conhecimento, etc. Estas informações irão orientar o processo de descoberta, definindo a forma de extração de conhecimento a ser utilizada na etapa de mineração de dados. Uma das etapas do processo de DCBD é a mineração de dados que consiste na aplicação de algoritmos, baseados em técnicas de extração de padrões dos dados. Esta é uma

15 das etapas mais automatizadas do processo de DCBD, onde os dados que já foram pré-processados são agora processados por algum algoritmo que irá ou classificar padrões, ou identificar padrões, ou descobrir relacionamentos, etc, que existem na base de dados. Há diversos tipos de algoritmos que podem ser utilizadas para realizar esta tarefa, entre eles encontram-se as redes neurais artificiais. As redes neurais artificiais são modelos matemáticos que são constituídos de neurônios (projetados de forma análoga aos neurônios humanos), os quais são unidos através de conexões de peso. Uma unidade de processamento ou neurônio recebe sinais de pesos de outros neurônios, combina-os, transforma-os e produz um resultado numérico como saída. [BIO97] A principal característica das redes neurais artificiais é a grande capacidade de classificação. Isto é possível pois uma RNA pode ser treinada para aprender um determinado padrão através da modificação e correção de seus pesos (estímulos). Além do reconhecimento de padrões, as RNA são eficientes para a classificação de padrões. Uma característica muito importante das RNA é a sua capacidade de trabalhar com dados ruidosos (com erros) e, mesmo assim, conseguem executar a sua tarefa, inclusive sendo capazes de eliminar o ruído dos dados. [FRE94] O objetivo do desenvolvimento de aplicações utilizando a tecnologia de redes neurais artificiais é trabalhar em conjunto com os sistemas de desenvolvimento tradicionais. As redes neurais artificiais utilizadas na etapa de mineração de dados do processo de DCBD não estão e nem vão ser usadas para substituir os sistemas tradicionais existentes, neste sentido pode-se perceber que redes neurais artificiais utilizadas na etapa de mineração de dados do processo de DCBD podem ser adaptadas facilmente a diversos tipos de aplicações. Este trabalho tem por objetivo o estudo do processo de descoberta de conhecimento de banco de dados, mas especificamente estudar a etapa de mineração de dados e compreender a aplicação da tecnologia de RNA para reconhecimento e classificação de padrões. A seguir descreve-se a estrutura deste trabalho. O processo de DCBD é descrito no capítulo 2, onde se apresenta uma breve descrição das etapas do processo de DCBD; os possíveis problemas encontrados em um banco de dados; problemas do processo de DCBD; uma arquitetura hipotética do processo de DCBD e diversos conceitos relacionados ao processo de DCBD.

16 A etapa de mineração de dados que consiste na extração de padrões da base de dados é apresentada no capítulo 3. Neste capítulo são apresentados os modelos de conhecimento, as técnicas de mineração, os métodos de mineração e algumas aplicações. O capítulo 4 apresenta a definição e descrição de RNA. São apresentados diversos tópicos relacionados com as redes neurais artificiais, tais como, características do cérebro humano, manipulação de símbolos, reconhecimento de padrões, conceitos, elementos, paradigmas de aprendizagem, topologia, modelos e processo de aprendizagem de uma RNA. A aplicação de redes neurais artificiais na etapa de mineração de dados é apresentada no capítulo 5. Neste sentido, são descritas algumas formas de utilização de redes neurais artificiais dentro dos objetivos de mineração de dados, funções básicas de redes neurais artificiais adaptadas a mineração de dados, os tipos de treinamentos de uma RNA adequados ao processo de mineração, análise do aprendizado de uma RNA e extração de regras. O capítulo 6 apresenta a descrição de um protótipo de mineração de dados desenvolvido utilizando uma rede neural feedforward treinada através do algoritmo back propagation para realizar a classificação de padrões que serão aprendidos através de aprendizado supervisionado. No capítulo 7 são apresentadas as conclusões sobre o desenvolvimento deste trabalho.

17 2. DESCOBERTA DO CONHECIMENTO EM BANCO DE DADOS (DCBD) O termo "Descoberta do Conhecimento em Banco de Dados" é uma tradução literal do termo utilizado na língua inglesa "Knowledge Discovery in Databases" (KDD). O processo de DCBD pode ser definido como uma área emergente da ciência da computação que tem por objetivo automatizar o processo de extração de conhecimento útil em grande volumes de dados. Todo o conhecimento a ser extraído encontra-se escondido nos dados. O processo de DCBD é uma área de interesse para pesquisadores de diversas áreas, entre elas, inteligência artificial, estatística, banco de dados e aprendizado de máquina. Independente da área de interesse do pesquisador, o desenvolvimento do processo de DCBD combina técnicas, algoritmos e definições de todas estas áreas. A figura 2.1 demonstra a relação existente entre as diversas áreas envolvidas no processo de descoberta do conhecimento. Inteligência Artificial Banco de Dados Estatística Processo de Descoberta do Conhecimento em Base de Dados Figura 2.1 : Contexto do DCBD [FEL96] O processo de DCBD não tem por objetivo a geração de novos dados para satisfazer alguma necessidade específica de alguma aplicação em particular (como por exemplo, o controle de acesso por cartão magnético das pessoas que freqüentam um teatro). Na realidade, o processo de DCBD possibilita que o usuário pesquise por informações úteis em uma base de dados, as quais não poderiam ser fornecidas por sistemas específicos. O processo de descoberta de conhecimento em banco de dados possui duas categorias de objetivos: verificação e descoberta, os quais são descritos a seguir:

18 Verificação: o objetivo do processo de DCBD é verificar as hipóteses que o usuário propõe ao processo de DCBD. Descoberta: o objetivo do processo de DCBD é descobrir novos padrões nos dados sem a interferência do usuário. O processo de descoberta pode ser dividido em modelo preditivo ou modelo descritivo [TER96]: Descoberta através de Modelos Preditivos: o sistema acha padrões com o objetivo de predizer o comportamento futuro de algumas entidades. A partir dos conhecimentos já obtidos sobre os dados, a aplicação de descoberta do conhecimento tenta modelar o seu comportamento no futuro. Descoberta através de Modelos Descritivos: o sistema acha padrões com o objetivo de apresentá-los ao usuário de uma maneira que este tenha a capacidade de compreendê-los. Além de tentar prever o comportamento futuro, este modelo tem por objetivo fornecer resultados facilmente compreensíveis pelo usuário para que este possa, por exemplo, utilizar essas informações no processo de tomada de decisão. O processo de DCBD é composto por diversas etapas. Estas etapas envolvem diversas tomadas de decisões (realizadas pelo usuário) e repetições destas etapas, se necessário. A visão do processo de DCBD formulada por Brachman [BRA96] e Anand [ANA96] envolve as seguintes etapas: compreensão, seleção, pré-processamento dos dados, transformação, escolha da tarefa da mineração de dados, escolha do algoritmo de mineração de dados, mineração de dados, interpretação dos padrões minerados e verificação, as quais serão descritas a seguir. 1. Compreensão: desenvolver a compreensão do domínio da aplicação e conhecimento prévio relevante e, identificar os objetivos do processo do ponto de vista de quem participará do processo de DCBD. É muito importante para o processo de DCBD o conhecimento do domínio da aplicação para a extração de informações relevantes. Nesta etapa, deve-se conhecer as metas do usuário e quais são os objetivos a serem atingidos pelo processo de DCBD. A participação e conhecimento do usuário no processo de DCBD é de vital importância para o seu sucesso. 2. Seleção: consiste em criar um conjunto de dados para ser utilizado no processo de DCBD. Pode-se selecionar ou segmentar um conjunto de dados de acordo com

19 algum critério ou focalizar-se sobre um subconjunto de variáveis ou exemplos de dados, nos quais a descoberta será executada. Nesta etapa é importante definir quais os sistemas existentes, ou parte deles, que serão utilizados ao longo deste processo. O principal objetivo desta etapa deve ser a definição do volume de dados. Isto é necessário porque grandes volumes de dados requerem grandes recursos computacionais, além de seu gerenciamento ser difícil. 3. Pré-processamento dos dados: nesta etapa realiza-se uma limpeza no banco de dados. O principal objetivo desta etapa é fornecer dados com alta qualidade para serem manipulados nas próximas etapas do processo de descoberta do conhecimento. Os dados em um banco de dados podem ter diversos problemas relacionados com a qualidades dos dados, tais como: informações incompletas, dados esparsos, informações redundantes, ruídos, incertezas e dados dinâmicos (estes problemas serão apresentados mais adiante neste capítulo). Para se eliminar estes problemas, pode-se realizar algumas operações básicas, tais como, remoção de ruído, coleta de informações, definição de estratégias para manipular os atributos, remoção ou alteração dos dados inconsistentes, retirada de dados desnecessários e escolha das estratégias para manipular campos de dados perdidos, considerando-se as informações de seqüência de tempo com as trocas de conhecimento. 4. Transformação: consiste na redução de dados e projeção. Utiliza-se a redução dimensional ou métodos de transformação para reduzir o número efetivo de variáveis a serem consideradas ou para encontrar uma representação invariante dos dados. O enfoque desta etapa é deixar os dados no formato e limitações exigidos pelos algoritmos de extração de dados. Para atingir este objetivo, a base de dados é analisada no sentido de se verificar se contém apenas dados úteis, o que evitará a ocorrência de problemas posteriores quando as consultas forem realizadas. 5. Escolha da tarefa da mineração de dados: o objetivo deste passo é enquadrar os objetivos do processo de DCBD em um método particular de mineração de dados. No capítulo 3 serão apresentados técnicas e algoritmos de mineração de dados. 6. Escolha do algoritmo de mineração de dados: nesta etapa escolhe-se um algoritmo de mineração de dados, ou seja, seleciona(m)-se o(s) método(s) a ser(em) utilizado(s) para procurar padrões nos dados. Isto inclui decidir quais modelos e

20 parâmetros podem ser apropriados para as etapas de mineração de dados integrantes do processo de DCBD. O objetivo principal desta etapa é a escolha do algoritmo, o que determinará como deve ser a entrada dos dados para o algoritmo. Em outras palavras, aqui será definida a estrutura de dados a ser utilizada na aplicação para o processo de descoberta do conhecimento. 7. Mineração de dados: o algoritmo escolhido na etapa anterior será utilizado para descobrir padrões nos dados. Na pesquisa por padrões pode ser utilizada uma forma particular de representação de dados ou um conjunto de representações como, por exemplo, árvores de classificação, regressão ou agrupamento. O sucesso do processo de mineração de dados depende da execução correta dos passos anteriores e depende significativamente da participação ativa do usuário. 8. Interpretação dos padrões minerados: nesta etapa realiza-se a interpretação dos padrões extraídos. A avaliação dos padrões encontrados poderá provocar um retorno a alguma das etapas anteriores para uma nova iteração. Esta etapa pode envolver também a visualização de dados conforme os modelos extraídos. Os resultados encontrados estão em alguma representação computacional na forma de estruturas de dados. Estas estruturas de dados podem dificultar a interpretação do conhecimento obtido. Para facilitar a interpretação dos resultados pode ser importante o desenvolvimento de um aplicativo para visualizar os resultados. A visualização dos dados pode ser feita através de gráficos de exibição dos dados na tela ou da geração de relatórios impressos. 9. Verificação: o conhecimento obtido no processo de DCBD deve ser incorporado ao sistema, documentado e repassado às partes interessadas. O objetivo principal desta etapa é validar os resultados obtidos. Conforme apresentado em [HER95], muitas das pesquisas em DCBD têm se concentrado em aplicar métodos de descoberta de conhecimento a dados armazenados em banco de dados relacionais. Com isso, o usuário tem significativa importância no processo de DCBD para fornecer uma orientação sobre os dados do banco de dados a serem utilizados, ou seja, selecionar os dados a serem explorados, identificar linhas e colunas de uma tabela relevantes à pesquisa e definir objetivos.

21 Os conteúdos dos bancos de dados, geralmente, apresentam dificuldades de utilização como dados dinâmicos, dados ruidosos, dados incompletos, informações redundantes, bases de dados muito grandes, base de dados distintas, tipos de dados e incerteza. Estes problemas são descritos a seguir e devem ser resolvidos para o sucesso do processo de descoberta de conhecimento. Dados dinâmicos são assim chamados por terem seus conteúdos alterados com muita freqüência. Para o processo de descoberta do conhecimento é necessário criar uma visão ou replicação dos dados que fazem parte dos sistemas on-line. Dados ruidosos causam um grave problema ao processo de descoberta de conhecimento. Este problema é que pode-se descobrir um padrão na base de dados correto para os dados atuais, mas que na verdade, está incorreto. Isto acontece pela presença de dados errados na base de dados. Quando se trabalha com grandes volumes de dados deve-se procurar minimizar ao máximo a taxa de erros encontradas em pesquisas em uma base de dados. Dados incompletos ou incorretos acontecem pela falta de valores em colunas de uma tabela de forma individual ou coletiva. Podem acontecer, também, através da entrada de valores incorretos na qual não houve algum tipo de verificação nos dados. Outro fator que contribui para o aparecimento de dados incompletos é o uso de um banco de dados relacional onde não foram utilizadas adequadamente as técnicas do modelo entidade-relacionamento ou as restrições de integridade não foram corretamente construídas. Com dados incorretos acontece a mesma situação descrita para dados ruidosos. Informações redundantes podem ocorrer por causa da dependência funcional dos dados na qual um atributo é definido como uma função de outros atributos. Trabalhar com este tipo de informação no processo de descoberta do conhecimento pode gerar uma descoberta enganosa de conhecimento. Quando se trabalha no processo de descoberta do conhecimento com bases de dados muito grandes, torna-se necessário exaustivas análises empíricas sobre os dados para criar amostras de dados ou criar um armazém de dados (Data Warehouse). É difícil e tem um custo muito grande gerenciar volumosas bases de dados.

22 Quando se trabalha com bases de dados distintas é necessário que os algoritmos de extração estejam preparados para trabalhar com bancos de dados heterogêneos. Isto pode aumentar a complexidade e o custo de todo o processo de DCBD. Os tipos de dados contidos em uma tabela podem ser bem diferentes e requererem tratamento diferenciado. Por exemplo, um atributo do tipo imagem e outro do tipo texto necessitam ser tratados de forma diferente. Com isso, o algoritmo deve estar preparado ou ser preparado para trabalhar com diferentes estruturas de dados. Este fator pode aumentar a complexidade e o custo do desenvolvimento do algoritmo a ser utilizado no processo de DCBD. [FEL96] descreve a incerteza como "a necessidade de se lidar no processo de DCBD com modelos não determinísticos. Para que tais padrões sejam encontrados é importante que se trabalhe com formalismos de representação de conhecimento probabilísticos e muitas vezes tirar proveito de técnicas estatísticas para estimar a cobertura e validade do modelo". Como qualquer outra tecnologia em ascensão, o processo de descoberta do conhecimento em banco de dados possui alguns problemas, citados a seguir, que somente com a maturidade desta tecnologia serão superados: Custo, Tempo e Esforço: todo o processo de DCBD pode custar ao redor de centenas de milhares de reais. Muitas horas para as pessoas trabalharem são necessárias, envolvendo complexos procedimentos e escolha de produtos. Tem-se a necessidade de selecionar dados ou limpar programas, e não existe um sistema poderoso que faça isso. É necessário o envolvimento do usuário final para que este tenha conhecimento sobre no que o processo de DCBD irá trabalhar. Escrever consultas SQL pode ser complexo e difícil, mesmo utilizando o um ambiente gráfico. Treinamento extensivo e prática são ainda necessários para muitos usuários. Software para uso final: alguns sistemas para uso final disponíveis como ferramentas de análise de data warehouse estão disponíveis por alguns milhares de reais, mas estes são apenas alguns módulos, não uma solução completa que é necessária para as operações do processo de DCBD e de negócios. Estes sistemas possuem capacidades de consultas limitadas e não estão habilitados a realizar análise multidimensional, ou seja, é impossível executar uma tarefa que encontre

23 associações entre os itens de diversas tabelas. Muitos dos sistemas atuais de processo de DCBD não são verdadeiramente interativos e, a priori, não podem incorporar conhecimento sobre o problema exceto de uma forma simples. Grandes Bancos de Dados: o tamanho dos bancos de dados das empresas é normalmente muito grande e este fato revela-se como um problema em termos de se encontrar algoritmos eficientes para gerar regras de associação num espaço tão grande de pesquisa. Além disso, a quantidade de atributos nas tabelas contribui para o aumento da complexidade dos algoritmos e dos dados a serem manipulados. Esses fatores aumentam as chances dos algoritmos de mineração de dados encontrarem nos padrões inválidos nos dados durante a execução das etapas do processo de DCBD. Além dos problemas existentes no processo de DCBD, é importante que alguns tópicos sejam levados em consideração para o melhor aproveitamento do processo de descoberta de conhecimento em banco de dados: O desenvolvimento de sistemas de computador com alta performance deve integrar o processo de DCBD. Deve-se dar ênfase ao uso de arquiteturas paralelas e multiprocessadores para que os algoritmos de mineração de dados possam executar mais rapidamente a pesquisa em terabytes de dados. Treinamento e educação dos usuários deve ser enfatizado, pois os algoritmos de mineração de dados trabalham com consultas não muito amigáveis. O treinamento fornecerá ao usuário condições para entender as consultas e conceitos sobre DCBD. A eficiência do processo de descoberta do conhecimento em banco de dados depende muito da tecnologia disponível. Mas, depende muito da interação com o usuário para seu contínuo desenvolvimento e chegar ao final do processo com resultados positivos. Para tanto, o processo de DCBD deve ser interativo e responder rapidamente aos objetivos do usuário. As ferramentas computacionais utilizadas durante o processo de DCBD devem ser de fácil uso (uma interface gráfica pode fornecer uma visão dos relacionamentos dos dados, qualidade de predições e as bases para modelos diretos e intuitivos). Em [FAY96] pode-se encontrar alguns critérios de seleção para aplicação do processo de DCBD. O autor divide os critérios em dois grupos:

24 1. Critérios práticos: os critérios práticos dividem-se em impacto potencial na aplicação, falta de alternativa, suporte organizacional e problemas legais. Os quais são citados abaixo. Impacto Potencial na Aplicação: a maior expectativa na utilização do processo de DCBD em uma empresa é em torno dos resultados do processo de descoberta do conhecimento. Os resultados obtidos podem ter um grande impacto em futuras decisões a serem tomadas pela empresa. O impacto poderia ser medido por critérios como maiores vendas, menores custos, maior qualidade ou economia de tempo [TER96]. A empresa deve maximizar ou otimizar os seus processos em função dos resultados obtidos pelo processo de DCBD. Falta de Alternativa: supondo que uma empresa não tenha uma alternativa para resolver um problema e, a única solução encontrada é o desenvolvimento do processo de DCBD. A expectativa em torno dos resultados do processo de DCBD é muito grande normalmente. Neste caso, a expectativa será muito maior. Para que esta expectativa não se torne uma grande decepção, as etapas do processo de descoberta do conhecimento devem ser realizadas com muito mais cuidado e atenção de todos, em especial dos usuários. Suporte Organizacional: o processo de DCBD deve ser realizado pelos profissionais de informática em conjunto com pelo menos um representante da empresa. Isto se torna necessário porque a empresa é a maior interessada em obter resultados importantes. O representante da empresa é necessário nas tomadas de decisões durante o processo de DCBD para auxiliar na validação dos resultados ou na decisão de se realizar novas minerações. Como o processo de DCBD pode custar muito caro para a empresa, é necessário um acompanhamento de alguém da empresa para verificar o andamento do processo de DCBD e evitar situações em que chegue-se à conclusão que foi gasto muito dinheiro sem se obter os resultados esperados.

25 Problemas Legais: "bancos de dados que utilizam informações pessoais devem ser investigados somente com autorização das pessoas cujas informações particulares estão armazenadas. Isto porque existe uma questão legal referente à privacidade destas informações" [TER96]. Esta questão é levada mais a sério nos Estados Unidos da América e na Europa. Enquanto que esta questão é pouco comentada e divulgada ainda no Brasil. "Enquanto que a descoberta de padrões de grupos aparentemente não violarem as restrições de uso de dados pessoais, podem ser feitas combinações ingênuas de padrões de grupos de dados, especialmente em pequenos conjuntos de dados, que podem identificar informações pessoais específicas. Soluções que permitem descoberta de padrões de grupos incluem a retirada ou substituição de atributos de identificação, a realização de pesquisas em subconjuntos aleatórios de dados e a combinação de indivíduos em grupos e, a partir disso, permitir somente pesquisas em grupos" [FAY96]. 2. Critérios técnicos: Os critérios técnicos, descritos a seguir, dividem-se em disponibilidade de dados suficientes, atributos relevantes, baixo nível de ruído, intervalos de confiança e conhecimento prévio. Disponibilidade de Dados Suficientes: o processo de descoberta de conhecimento somente produzirá resultados interessantes se tiver um conjunto considerável de dados confiáveis a serem pesquisados. Atributos Relevantes: os sistemas devem possuir atributos com significativa importância que demonstrem ao processo de DCBD como pode-se esperar que seja a saída do conhecimento obtido no processo de DCBD. Baixo Nível de Ruído: bancos de dados com muito ruído podem prejudicar o processo de DCBD, portanto é importante utilizar técnicas para eliminá-lo. Intervalos de Confiança: os intervalos de confiança podem ser usados para corrigir desvios existentes nas etapas do processo de DCBD.

26 Conhecimento Prévio: baseado no conhecimento sobre o sistema atual e sobre as estruturas de dados utilizadas no banco de dados pode-se determinar quais os sistemas que serão utilizados no processo de mineração; quais os atributos que são importantes; determinar relacionamentos prévios; além de já se possuir padrões conhecidos. Enfim, tudo isso pode acelerar e auxiliar o processo de DCBD. Matheus, Chan e Piatetsky-Shapiro em [MAT93] propuseram uma arquitetura hipotética sobre o funcionamento de um processo genérico de DCBD. A figura 2.2 ilustra esta arquitetura hipotética. Entrada do Usuário Controlador SGBD Interface com o BD Foco Extração de Padrões Avaliação Descobertas Conhecimento do Domínio Base de Conhecimento Figura 2.2 : Modelo de Sistema de DCBD [FEL96] Na figura 2.2, a entrada que o usuário fornece para o controlador são informações para a configuração do sistema. Nesta arquitetura, o SGBD pode ser o utilizado pela empresa em seus sistemas tradicionais, ou um SGBD pode ser montado a partir de uma aplicação de Data Warehouse. Na base de conhecimento podem ser informados padrões ou regras já conhecidos sobre os dados. Aqui, pode-se identificar seis módulos responsáveis para trabalho e manipulação das entradas fornecidas: controlador, interface com o BD, base de conhecimento, foco, extração de padrões e avaliação, os quais são explicados a seguir. 1. Controlador: este módulo comanda todo o processo de manipulação dos dados e é o responsável por invocar os demais módulos. Os demais módulos podem ser disparados em seqüência ou a partir de alguma estratégia definida pelo controlador para otimizar a pesquisa por novas descobertas ao longo de todo o processo. 2. Interface com o BD: realiza a comunicação com o SGBD.

27 3. Base de Conhecimento: local onde está armazenado o conhecimento do domínio. Este conhecimento será de grande ajuda no processo de descoberta de conhecimento se contiver regras interessantes sobre a base de dados ou algum padrão referente ao comportamento dos dados. 4. Foco: define as tabelas do SGBD que devem ser utilizadas no processo de descoberta de conhecimento. Além das tabelas, define-se os atributos e tuplas que farão parte do processo. Este modelo é capaz de identificar atributos relevantes ao processo. 5. Extração de Padrões: este modelo contém os algoritmos, técnicas e estratégias a serem utilizadas pelo processo de descoberta de conhecimento para extrair os padrões sobre a base de conhecimento. 6. Avaliação: avalia os resultados do processo de descoberta do conhecimento. A avaliação pode definir se os resultados foram satisfatórios ou se alguma etapa do processo deve ser repetida. 2.1 Conceitos relacionados à descoberta do conhecimento em BD 2.1.1 Modelos "A compreensão que os humanos tem do seu ambiente e a sua forma de raciocinar sobre o mundo real se dá através de seus órgãos sensoriais" [HOL94]. A construção de modelos é muito importante para o processo de descoberta de conhecimento. Estes modelos fornecerão ao processo de DCBD a base de dados a ser pesquisada e os padrões conhecidos sobre os dados. O modelo pode ser construído de forma indutiva. O conhecimento descoberto é valido para a base de dados pesquisada e pode não ser válida para outras bases de dados. 2.1.2 Classes Um estado da base de dados é descrito utilizando-se um conjunto limitado de propriedades das entidades representadas. Desta maneira, objetos distintos do mundo real podem ser representados internamente como se fossem o mesmo objeto, ou seja, apresentarem os mesmos valores para todas as propriedades. Por exemplo, existem pessoas cursando um

28 mesmo curso universitário. De forma semelhante ao exemplo, pode-se relacionar um conjunto específico de propriedades, capaz de representar uma classe de objetos. Tal conjunto de propriedades com os valores correspondentes válidos para uma mesma classe de entidades é chamado descrição de uma classe. Um exemplo seria procurar saber o que têm em comum as pessoas freqüentadoras de um estádio de futebol no sábado à noite e obter como descrição o percentual de homens e mulheres. [HOL94b] Ao longo das etapas do processo de DCBD, diversas descrições de classes são criadas, geralmente, através de processos indutivos. Estas descrições de classe normalmente representam um conjunto de valores que especificam elementos de uma mesma classe. Estes conjuntos de valores fazem parte de um banco de dados, com isso, as descrições de classe são representadas por conjuntos de pares de valores atributo-valor (<atributo, valor>). Ao longo do processo de descoberta do conhecimento em base de dados, a construção de classes é uma tarefa que ocorre com freqüência muito grande. 2.2 Tipos de Descoberta Os algoritmos de detecção de padrões formam o núcleo de um sistema de descoberta do conhecimento em base de dados [FEL96]. Os padrões representam os relacionamentos entre os atributos de valores de uma base de dados. Existem diversas abordagens sendo utilizadas para detectar padrões em base de dados. Em [FEL96] são citadas quatro categorias, dependendo da abordagem utilizada. Serão descritas, a seguir, análise de dependências, identificação de classes, descrição dos conceitos e detecção de desvios. 1. Análise de Dependências: existe uma dependência entre dois atributos quaisquer se o valor de um atributo pode ser utilizado para estimar o outro atributo e pode ser representado como A B. Esta dependência em muitos casos não é exata, mas W probabilística, e representa-se por A B, onde o w é o peso associado à dependência. O conhecimento descoberto pode ser útil para usuário como também pode ser útil para disparar novas pesquisas. As dependências encontradas em um banco de dados podem ser representadas através de um grafo de dependências. 2. Identificação de Classes: gerar conhecimento útil para o usuário final ou para ser utilizado para outros algoritmos de descoberta. Este é o processo inverso àquele onde o usuário fornece os atributos e um algoritmo procura identificar os conceitos.

29 O algoritmo é o responsável por gerar o conhecimento. Este processo pode ser comparado ao aprendizado não supervisionado. 3. Descrição de Conceitos: a função do algoritmo de descrição de conceitos é procurar as características comuns em um conjunto de classes fornecidas para o algoritmo. Este tipo de algoritmo proporciona ao usuário as informações sobre toda uma classe de indivíduos de uma base de dados, enquanto que os sistemas de bancos de dados possuem apenas o recurso de acessar individualmente os registros e as informações sobre cada indivíduo. As descrições geradas podem ser de dois tipos: característica ou discriminativa. A descrição característica apresenta as propriedades (pares de valores <atributo, valor>) que os membros de uma classe possuem em comum. A descrição discriminativa mostra as diferenças entre as classes. O algoritmo, antes de sua execução, necessita saber quais são as classes de valores que devem ser descritas. O usuário ou algum algoritmo de identificação de classes fornece os atributos. 4. Detecção de Desvio: os desvios podem ser: instâncias que não se enquadram nas classes, superposições entre classes, classes que se diferenciam muito de suas classes pai, mudanças no valor em um período de tempo, discrepâncias entre valores observados e esperados previstos pelo modelo [MAT93]. Um desvio é sempre um contraste entre uma observação e algum referencial [FEL96]. Como o objetivo deste trabalho não é fazer uma completa análise do processo de descoberta do conhecimento em banco de dados, a introdução acima é suficiente, informações mais detalhadas podem ser encontradas em [TER96], [FEL96] e [HER95]. O próximo capítulo tem por objetivo descrever as etapas do processo de DCBD referentes a mineração de dados: técnicas de mineração, algoritmos de mineração e a mineração de dados propriamente dita.

30 3. MINERAÇÃO DE DADOS A mineração de dados pode ser definida como um conjunto de técnicas utilizadas para explorar grandes bases de dados na busca de informações e relacionamentos potencialmente úteis que estão escondidos nestes dados. Basicamente, a mineração de dados é compreendida como uma forma de análise de dados que utiliza técnicas para encontrar padrões em um conjunto de dados. Em [HOL94], define-se mineração de dados como "uma procura por relacionamentos e padrões globais que existem em grandes bases de dados mas estão ocultos entre esta vasta quantidade de dados, tais como, um relacionamento entre dados de um paciente e seu diagnóstico médico. Estes relacionamentos representam valores de conhecimento sobre o banco de dados. Se o banco de dados é confiável então há um "espelho" do mundo real registrado no banco de dados". A mineração de dados utiliza em sua análise para descobrir padrões nos dados diversos algoritmos isolados ou combinados para procurar relacionamentos entre os dados. Estes algoritmos podem procurar numerosos relacionamentos multidimensionais concorrentemente, informando os relacionamentos dominantes e exceções em uma base de dados. Aplicações de mineração de dados podem ser descritas em termos de uma arquitetura de aplicação composta por modelos, técnicas e métodos, os quais são apresentados nas próximas seções. 3.1 Modelos de Mineração de Dados A IBM identificou dois tipos de modelos de mineração de dados: modelo de verificação e modelo de descoberta, os quais são descritos a seguir [DIL95]. Percebe-se que, de forma geral, os sistemas atuais de DCBD possuem uma combinação destes dois modelos, com uma ênfase maior em um deles. Modelo de Verificação: este modelo trabalha com hipóteses formuladas pelos usuários. Para estas hipóteses são realizados testes de validação contra o banco de dados. A ênfase deste modelo é que o usuário obtém uma resposta afirmativa ou negativa às suas hipóteses. O problema apresentado por este modelo é que nenhuma informação nova é criada ao longo deste processo. Este processo de procura é

31 iterativo, onde a saída gerada é revisada e um novo conjunto de hipóteses é formulado para refinar a procura e o processo é repetido várias vezes. Modelo de Descoberta: este modelo difere do anterior por ter uma ênfase em que o sistema procura descobrir automaticamente informações importantes ocultas nos dados. O dado é peneirado na procura de ocorrências freqüentes de determinados padrões e tendências, e generalizações são feitas sobre os dados sem a intervenção do usuário. 3.2 Técnicas de Mineração de Dados Existem diversas técnicas de mineração de dados, as quais podem ser usadas individualmente ou em conjunto, entre elas pode-se citar: agrupamento, classificação, regressão, modelagem de dependência, detecção de desvios, sumarização, associação, seqüência e agrupamento por séries temporais. As técnicas de mineração de dados são agrupadas em diversas taxonomias diferentes por diversos autores. Aqui não serão mostradas estas diferenças, para maiores informações sobre as taxonomias consulte [FAY96] e [AGR93]. 3.2.1 Agrupamento Esta técnica refere-se ao agrupamento de elementos através de algum critério que determina as distâncias entre os elementos e aqueles com distância menor ficam no cluster. Abordagens de agrupamento direcionam-se a problemas de segmentação. Estas abordagens consultam os dados de registros com um grande número de atributos num conjunto relativamente pequeno de grupos ou segmentos. Estes conjuntos de dados podem ser criados estatisticamente ou através do uso de métodos de RNA ou técnicas de indução. Este processo de associação é executado automaticamente por algoritmos de agrupamento que identificam as características distinguíveis de um conjunto de dados e então os particionam num espaço n-dimensional definido pelos atributos do conjunto de dados, através de limites de dados encontrados naturalmente. Não existe a necessidade de identificar os grupos ou atributos que serão utilizados para segmentar o conjunto de dados. Agrupamento é freqüentemente utilizado como um dos primeiros passos na análise dos dados feita pela mineração de dados [BIG96]. Identifica grupos de registros relacionados, os

32 quais podem representar classes potenciais, as classes podem ser usados como ponto de partida para explorar outros relacionamentos. No uso da técnica de agrupamento, não se possui um conjunto de dados pré-definidos, isto caracteriza o uso de um método de aprendizado não-supervisionado onde existe maior autonomia do algoritmo. 3.2.2 Classificação A técnica de classificação utiliza um conjunto de exemplos pré-classificados para desenvolver um modelo que pode classificar uma população de registros. Esta aplicação freqüentemente utiliza árvores de decisão ou algoritmos de classificação baseados em redes neurais artificiais. O uso de algoritmos de classificação inicia-se com um conjunto de treinamento de transações, por exemplo, pré-classificadas. O algoritmo de treinamento classificador utiliza estes exemplos para determinar o conjunto de parâmetros necessários para a discriminação apropriada. O algoritmo então codifica estes parâmetros num modelo chamado classificador. A função da técnica de classificação é examinar o conjunto de registros classificados e produzir descrições das características dos registros para cada classe. O problema da técnica de classificação em realizar corretamente esta função é a descoberta de regras que particionem os dados em todo o processo de mineração de dados [HER95]. Como resultado da técnica de classificação pode-se determinar regras que classificam um determinado conjunto de dados ou regras que discriminem os dados. Na técnica de classificação, possui-se um conjunto de dados pré-determinados para a classificação, isto caracteriza um método de aprendizado supervisionado, onde o algoritmo é controlado por parâmetros que não são passados ao sistema. 3.2.3 Regressão A técnica de regressão é definida como "Métodos matemáticos utilizados para ajustes de curvas, sendo muito útil para modelos preditivos. Isto porque, dado um conjunto de pontos estes métodos calculam fórmulas capazes de fornecer pontos intermediários, anteriores ou