80
  U F B I M D C C M D U A G J S S O: P. D B C Saad Bahia 2008

Monografia-Joilma Souza Algoritmos Genéticos

Embed Size (px)

DESCRIPTION

Monografia - Algorítimos genéticos

Citation preview

  • Universidade Federal da Bahia Instituto de Matemtica

    Departamento de Cincia da Computao

    Minerao de Dados Utilizando Algoritmos Genticos

    Joilma Souza Santos Orientadora: Prof. Daniela Barreiro Claro

    Salvador Bahia

    2008

  • Joilma Souza Santos

    Minerao de Dados Utilizando Algoritmos Genticos

    Monografia apresentada ao Curso de Graduao

    em Cincia da Computao da Universidade

    Federal da Bahia como requisito parcial

    obteno do diploma de Bacharel em Cincia da

    Computao.

    Orientadora: Prof. Daniela Barreiro Claro

    Salvador Bahia 2008

  • AGRADECIMENTOS

    Agradeo a Deus por tudo que tem feito por mim e por nunca ter me deixado

    sucumbir diante das dificuldades que enfrentei para chegar at aqui.

    Agradeo a meu pai pelos sacrifcios que fez por mim e pelo amor que sempre me

    deu e a quem eu sempre serei grata, e a minha irm Joelma.

    A meu namorado Tadeu que me ajudou nos momentos mais difceis, e que todo dia

    me oferece suporte.

    A Eric Sobral, pela interface grfica da ferramenta deste projeto, e por sua amizade.

    A meus colegas de trabalho, que para mim j so como parte de minha famlia e que

    me ajudaram nesse projeto.

    A todos os meus amigos e amigas, que me apoiaram com uma palavra de incentivo,

    com um sorriso quando estava desanimada. Vocs so tesouros em minha vida, e fica aqui o

    meu mais sincero agradecimento.

    Joilma Souza Santos

  • Estamos nos afogando em dados, mas sedentos por conhecimento.

    John Naisbitt

  • RESUMO

    A produo crescente de dados por organizaes privadas e pblicas produz enormes

    bases de dados. Conseqentemente, as tarefas de anlise e extrao de informaes

    tornam-se extremamente custosas para um analista humano. No processo de Minerao de

    Dados ou Data Mining, a anlise e extrao do conhecimento realizada procurando-se

    padres consistentes e/ou relacionamentos sistemticos entre as instncias destes dados.

    Para implementao dessa tcnica, mtodos automticos baseados na Inteligncia Artificial

    so usados a fim de aperfeioar o processo de anlise. Este projeto visa determinar padres

    atravs dos algoritmos genticos com o intuito de minerar os dados. Os padres obtidos

    atravs dos algoritmos genticos so comparados com padres determinados atravs do uso

    de um outra tcnica de Inteligncia Artificial, a Lgica Fuzzy e uma ferramenta com o intuito

    de integrar estas duas tcnicas foi desenvolvida.

    Palavras-Chave: Minerao de Dados, KDD, Inteligncia Artificial, Algoritmos Genticos,

    Banco de Dados.

  • ABSTRACT

    The growing volume of information by public and private organizations produces

    huge databases. Therefore, the tasks of analysis and extraction of information becomes

    extremely costly for analysts. In the process of Data Mining, these tasks require consistent

    standards and / or systematic relationships between different instances of these data. To

    implement and optimize the analysis process, automation methods based on artificial

    intelligence are used. This project aims to determine patterns through genetic algorithms

    with a view to mine the data. The patterns obtained from the Genetic algorithms are

    compared with standards set by use a different technique of artificial intelligence, fuzzy logic

    and a tool with the aim of integrating these two techniques was developed.

    Keywords: Data Mining, KDD, Artificial Intelligence, Genetics Algorithms, Data Bases

  • LISTA DE FIGURAS

    Figura 2.1: Fases do Processo de KDD (PAPPA, 2002 apud LIU; MOTODA, 1998) ................... 17

    Figura 2.2: Exemplo de Classificao (CARVALHO, 2005) ........................................................ 19

    Figura 2.3: Exemplo de dados organizados em clusters (CARVALHO, 2005) ........................... 21

    Figura 2.4: Exemplo de interao de atributos em problema de classificao do tipo XOR

    (PAPPA, 2002) ........................................................................................................................... 23

    Figura 3.1: Funo hipottica com um mximo local e outro global (LINDEN, 2006). ............ 27

    Figura 3.2: Modelo da Tcnica de Gerao e Teste ................................................................. 28

    Figura 3.3: Esquema de um algoritmo gentico (LINDEN, 2006) ............................................. 29

    Figura 3.5: Roleta Viciada para a populao exemplo da tabela 3.1 (LINDEN, 2006) .............. 34

    Figura 3.6: Tipos de cruzamento (crossover) (CARVALHO, 2005) ............................................ 36

    Figura 4.1: Matriz de Confuso para uma Regra de Classificao (FREITAS, 2001). ............... 44

    Figura 4.2: Exemplo de crossover de generalizao/especializao (FREITAS, 2001).............. 48

    Figura 5.1: Diagrama de Classe da Funo de Seeding ............................................................ 52

    Figura 5.2: Diagrama de Classe da Funo do Operador de Sufrgio Universal ...................... 53

    Figura 5.3: Diagrama de Classe da Funo do Operador de Mutao .................................... 54

    Figura 5.4: Diagrama de Classe da Funo do Operador de Cruzamento Uniforme ............... 55

    Figura 5.5: Diagrama de Classe da Funo de Fitness .............................................................. 56

    Figura 5.6: Execuo de experimento utilizando lgica nebulosa. .......................................... 57

    Figura 5.7: Execuo de experimento utilizando o algoritmo gentico implementado. ........ 58

    Figura 5.8: Execuo de experimento utilizando o algoritmo gentico implementado e

    comparando o resultado com a rvore fuzzy escolhida. .......................................................... 59

    Figura 6.1: Acurcia X nmero de geraes ............................................................................. 64

    Figura A.1: Formato de arquivo de dados a ser lido pelo Explorer Patterns Tool (SOUZA, 2008)

    .................................................................................................................................................. 71

  • Figura A.2: Mensagem de erro gerada caso um arquivo no tenha sido carregado. .............. 71

    Figura A.3: Tela principal do EPT .............................................................................................. 72

    Figura A.4: Tela para experimentos utilizando rvores de deciso nebulosas ........................ 74

    Figura A.5: Mensagem de erro gerada caso algum item requerido no seja informado. ....... 75

    Figura A.6: Janela para gravao de arquivo de resultados para experimentos utilizando

    Lgica Nebulosa. ....................................................................................................................... 76

    Figura A.7: Tela para experimentos utilizando um algoritmo evolucionrio ........................... 77

    Figura A.8: Janela para gravao de arquivo de resultados para experimentos utilizando AG.

    .................................................................................................................................................. 78

    Figura A.9: Janela para realizao de experimentos comparativos entre algoritmos nebulosos

    e genticos ................................................................................................................................ 79

    Figura A.10: Janela para gravao de arquivo de resultados dos testes comparativos. ......... 80

  • LISTA DE TABELAS

    Tabela 3.1: Grupo de indivduos, seus respectivos fitness e parcela na roleta (LINDEN, 2006)

    ................................................................................................................................................ 34

    Tabela 6.1: Informaes sobre os conjuntos de dados (SOUZA, 2008) ................................... 61

    Tabela 6.2: Resultados das Comparaes entre as Taxas de Acurcia Obtidas pelo Algoritmo

    Gentico Implementado e as rvores Fuzzy Implementadas no EFT ...................................... 63

  • LISTA DE ABREVIATURAS E SIGLAS

    KDD Knowledge Data Discovery p.13 WEKA Waikato Environment for Knowledge Analysis p.13 EFT Explorer Fuzzy Tree p.13 AG Algoritmo Gentico p.24 COGIN Covered-based Genetic Induction p.39 REGAL Relational Genetic Algorithm Learner p.40 VP Verdadeiro Positivo p.44 VN Verdadeiro Negativo p.44 FP Falso Positivo p.44 FN Falso Negativo p.44 EPT Explorer Patterns Tool p.49

  • SUMRIO

    1 INTRODUO ............................................................................................................. 13

    2 MINERAO DE DADOS .............................................................................................. 16

    2.1 AS FASES DO PROCESSO DE DESCOBERTA DE CONHECIMENTO ........................................................ 17

    2.2 TAREFAS DA MINERAO DE DADOS ......................................................................................... 19

    2.1.1 REGRAS DE CLASSIFICAO .................................................................................................. 19

    2.1.2 CLUSTERIZAO (AGRUPAMENTO) ........................................................................................ 20

    2.1.3 REGRAS DE ASSOCIAO ..................................................................................................... 21

    2.3 UTILIZAO DE ALGORITMOS GENTICOS (AGS) NO PROCESSO DE KDD .......................................... 22

    3 ALGORITMOS GENTICOS (AG) ................................................................................... 25

    3.1 FUNCIONAMENTO DE UM ALGORITMO GENTICO ........................................................................ 28

    3.2 REPRESENTAO CROMOSSOMIAL (CODIFICAO DO INDIVDUO) ................................................... 29

    3.3 FUNO DE AVALIAO (FITNESS) ............................................................................................ 31

    3.4 ESQUEMAS ........................................................................................................................... 31

    3.5 OPERADORES GENTICOS ........................................................................................................ 33

    3.4.1 SELEO DE PAIS ................................................................................................................ 33

    3.4.2 RECOMBINAO OU CRUZAMENTO (CROSSOVER) .................................................................... 35

    3.4.3 MUTAO ........................................................................................................................ 37

    3.6 ELITISMO ............................................................................................................................. 37

    3.7 NICHOS BIOLGICOS .............................................................................................................. 38

    3.6.1 FITNESS SHARING ............................................................................................................... 38

    3.6.2 COGIN (COVERED-BASED GENETIC INDUCTION) .................................................................... 39

    3.6.3 REGAL (RELATIONAL GENETIC ALGORITHM LEARNER) ............................................................ 40

    4 DESCOBERTA DE REGRAS USANDO AGS ...................................................................... 41

    4.1 CODIFICAO DO INDIVDUO ................................................................................................... 41

    4.2 OPERADOR DE INTRODUO DE NOVOS INDIVDUOS (SEEDING) ..................................................... 42

    4.3 FUNO DE AVALIAO PARA DESCOBERTA DE REGRAS DE CLASSIFICAO ....................................... 43

    4.4 MTODOS PARA MANTER A DIVERSIDADE DE REGRAS .................................................................. 45

    4.5 OPERADOR DE CRUZAMENTO (CROSSOVER) ................................................................................ 47

    4.6 OPERADOR DE GENERALIZAO E ESPECIALIZAO....................................................................... 48

    5 IMPLEMENTAO ...................................................................................................... 49

    5.1 ARQUITETURA DA FERRAMENTA ............................................................................................... 49

    5.2 ALGORITMO IMPLEMENTADO................................................................................................... 50

    5.2.1 INICIALIZAO DA POPULAO ............................................................................................. 51

    5.2.2 SELEO DE PAIS ................................................................................................................ 52

    5.2.3 CRUZAMENTO, MUTAO E ELITISMO: EVOLUO DOS INDIVDUOS ........................................... 53

    5.2.4 CLCULO DA FUNO DE AVALIAO .................................................................................... 55

    5.3 EXPERIMENTOS ..................................................................................................................... 56

  • 5.3.1 RELATRIO DE RESULTADOS ................................................................................................. 59

    6 EXPERIMENTOS REALIZADOS ...................................................................................... 60

    6.1 BASES DE DADOS UTILIZADAS .................................................................................................. 60

    6.2 MTODOS DE EXPERIMENTAO .............................................................................................. 61

    6.2.1 CONJUNTO DE TREINO (TRAINING SET) .................................................................................. 61

    6.2.2 VALIDAO CRUZADA (CROSS-VALIDATION) ........................................................................... 61

    6.2.3 PERCENTAGEM DE TREINO (PERCENTAGE SPLIT) ...................................................................... 62

    6.3 PROCEDIMENTOS EXPERIMENTAIS ............................................................................................. 62

    6.4 RESULTADOS E DISCUSSES ..................................................................................................... 63

    7 CONCLUSO ............................................................................................................... 66

    REFERNCIAS BIBLIOGRFICAS ........................................................................................ 68

    APNDICE A MANUAL PARA UTILIZAO DO EXPLORER PATTERNS TOOL ...................... 70

    A.1 TELA PRINCIPAL .................................................................................................................... 72

    A.2 TELA PARA EXPERIMENTOS UTILIZANDO LGICA NEBULOSA .......................................................... 73

    A.3 TELA PARA EXPERIMENTOS UTILIZANDO ALGORITMOS GENTICOS .................................................. 76

    A.4 TELA PARA EXPERIMENTOS UTILIZANDO ALGORITMOS GENTICOS E LGICA NEBULOSA ..................... 79

  • 13

    1 INTRODUO

    O advento do desenvolvimento da tecnologia tornou a captao e armazenamento

    de dados uma tarefa mais simples e barata (FIGUEIRA, 2008 apud FERNANDES, 2003a), o que

    contribuiu para o aparecimento de bases de dados cada vez mais complexas e maiores.

    Com a crescente valorizao da informao nas ltimas dcadas, a extrao de

    conhecimento desses dados brutos torna-se um diferencial no desenvolvimento de

    estratgias de investimento de empresas pblicas ou privadas. Experincias como a relatada

    no lendrio exemplo das fraldas e cerveja mostram como decises baseadas na anlise de

    dados podem aumentar o volume de vendas de determinado produto (FUCHS, 2004).

    O modo mais tradicional para extrair informao de uma base de dados baseia-se na

    anlise e interpretao manuais; este modo de anlise, alm de lento,

    computacionalmente custoso e subjetivo (FAYYAD et al., 1996). Visando a extrao mais

    rpida e confivel de conhecimento, surgem mtodos automticos denominados Knowledge

    Data Discovery, ou simplesmente KDD. O KDD aplica mtodos interdisciplinares

    especialmente mtodos estatsticos e de aprendizado de mquina para extrair

    conhecimento de alto nvel a partir de bases de dados reais (FREITAS, 2001) e tem a

    Minerao de Dados como principal tarefa.

    O processo de Minerao de Dados ou Data Mining analisa e extrai informaes teis

    a partir de dados. A captao de conhecimento de alto nvel atravs deste processo se d a

    partir da procura de padres consistentes e/ou relacionamentos sistemticos entre

    instncias de dados, classificando-os em subconjuntos de informaes baseados em regras

    estatsticas e da teoria da informao.

    Algoritmos de aprendizado de mquina so amplamente utilizados na tarefa de

    Minerao de Dados. Estes algoritmos so baseados na construo de rvores de deciso,

    utilizando-se como matria prima os dados de treinamento. Atravs do percurso destas

  • 14

    rvores, da raiz at um n folha1 possvel inferir classes a dados baseados em

    determinados valores para cada atributo.

    Para uma classificao com maior percentual de acerto (acurcia2), mtodos de

    aprendizado de mquina baseados em Lgica Fuzzy tm-se mostrado mais eficientes que

    mtodos clssicos (SOUZA, 2008). Apesar da perceptvel contribuio que a Lgica Fuzzy

    proporciona acurcia das rvores de classificao utilizadas na Minerao de Dados, o

    WEKA (Waikato Environment for Knowledge Analysis) (FRANK; TRIGG, 1993), principal

    ferramenta gratuita para Minerao de Dados, baseada em algoritmos de aprendizado de

    mquina, no implementa tcnicas com algoritmos baseados na lgica nebulosa.

    Outra abordagem para realizao da Minerao de Dados utiliza algoritmos de

    aprendizado de mquina baseados na Computao Evolutiva os Algoritmos Genticos.

    Estes algoritmos realizam buscas globais e permitem uma melhor interao entre atributos

    que os algoritmos baseados na estratgia gulosa que so geralmente utilizados para a tarefa

    de Minerao de Dados e por isso so extremamente teis na procura de padres relevantes

    em dados (FREITAS, 2001 apud DHAR V; PROVOST, 2000). Os Algoritmos Genticos tambm

    no foram implementados no WEKA.

    Para disponibilizar a Minerao de Dados utilizando rvores de classificao fuzzy e

    testar a acurcia dessas rvores em relao a rvores de classificao clssicas, foi

    desenvolvido o EFT (Explorer Fuzzy Tree) (SOUZA, 2008). Para determinar a acurcia das

    rvores fuzzy implementadas pelo EFT, foram feitos testes utilizando quatro bases de dados

    de complexidades diferentes: Iris (FISHER, 1988), Segment-challenge (GROUP, 1990a),

    Segment-test (GROUP, 1990b) e SPAMBASE (HOPKINS et al., 2001).

    Assim, o presente trabalho aplica Algoritmos Genticos tarefa de Minerao de

    Dados e incorpora o algoritmo implementado ferramenta Explorer Fuzzy Tree (EFT). Com o

    intuito de avaliar o algoritmo implementado, novos experimentos foram realizados sobre

    estes algoritmos utilizando as mesmas quatro bases de dados utilizadas para o teste dos

    1 N folha n terminal de uma rvore, que no caso de uma rvore de classificao, corresponde a classe que

    caracteriza um dado objeto com os valores de atributos; 2 Acurcia exatido de uma operao;

  • 15

    algoritmos de construo de rvores fuzzy. Os resultados obtidos mostraram uma igualdade

    de desempenho entre as duas tcnicas para bases de dados mdias,

    Esta monografia est dividida em seis captulos, dispostos da seguinte forma: o

    captulo 2 apresenta e detalha os conceitos de Minerao de Dados; o captulo 3 apresenta

    os Algoritmos Genticos e a Computao Evolutiva; o captulo 4 detalha a implementao do

    algoritmo gentico usado para extrao de conhecimento de alto nvel de bases de dados; o

    captulo 5 apresenta os experimentos realizados e discute seus resultados; e por fim,

    captulo 6 apresenta a concluso e trabalhos futuros.

  • 16

    2 MINERAO DE DADOS

    Conhecimento a informao devidamente organizada e que pode ser aplicada a

    resoluo de problemas. Em uma base de dados, encontra-se a matria-prima para a

    obteno de conhecimento, que pode ser realizada utilizando o processo de descoberta de

    conhecimento em bases de dados, ou KDD.

    Atualmente, as bases de dados vm crescendo em alta velocidade, abrigando milhes

    de registros com dezenas de atributos. Essas bases de dados crescem de suas maneiras: o

    nmero N de registros ou objetos na base aumenta ou ainda o nmero d de campos ou

    atributos deste objeto aumenta, de modo que bases de dados que possuem em mdia N =

    109 objetos ou d = 10 2 ou at mesmo d = 103 tm-se tornado comum (FAYYAD et al., 1996).

    A anlise manual dessas bases de dados com grandes nmeros de atributos ou registros

    pode ser um processo demorado.

    Os resultados da anlise destes dados armazenados podem ser utilizados para

    atribuir maior competitividade s empresas, que, baseadas nestes resultados, podem

    desenvolver estratgias mais efetivas para obteno de sucesso em suas respectivas reas

    de atuao, assim como tambm pode ser utilizada no campo cientfico, para promover a

    melhor interpretao dos dados coletados atravs das pesquisas cientficas.

    O KDD um processo no trivial de identificao de padres vlidos, potencialmente

    teis e compreensveis a partir de dados3 (FAYYAD et al., 1996). Para a identificao destes

    padres, o processo de KDD realiza operaes em dados brutos que vo desde a seleo dos

    dados a serem utilizados at a anlise dos padres encontrados para a obteno de

    conhecimento til. A busca destes padres possui algumas etapas baseadas em estratgicas

    3 Segundo Fayyad, dado um conjunto de fatos e padro uma expresso em alguma linguagem que descreve

    um subconjunto de dados ou um modelo aplicvel a este subconjunto; o termo processo denota que o KDD envolve vrios passos; no trivial denota que o processo de KDD demanda alguma busca ou inferncia.

  • computacionais, o que permite que enormes volumes de dad

    rapidamente e de forma no subjetiva. A figura 2.1 apresen

    Figura 2.1: Fases do Processo de KDD (PAPPA

    H ainda confuso em relao aos

    so esporadicamente tratados como sinnimos. Porm, como mostrado na figura acima, a

    Minerao de Dados apenas

    A Minerao de Dados

    descoberta de dados e na

    informao (FAYYAD et al., 1996), enquanto que o termo KDD refere

    aplicados a dados brutos para a obteno de

    1999). As fases do processo de KDD so discutidas a seguir.

    2.1 As Fases do Processo de Descoberta de Conhecimento

    O processo de KDD interativo e iterativo e envolve vrios passos onde decises so

    feitas pelo usurio (FAYYAD

    Data Warehouse, que coleta e reuni informaes de vrias bases de dados

    integrao entre eles. No pr

    Warehouse so filtradas e selecionado apenas o contedo relevante para a tarefa que ser

    realizada. Este processo de filtragem

    correo de erros e preenchimento de valores nulos

    dados a serem utilizados.

    computacionais, o que permite que enormes volumes de dad

    rapidamente e de forma no subjetiva. A figura 2.1 apresenta as etapas do processo de KDD.

    : Fases do Processo de KDD (PAPPA, 2002 apud LIU; MOTODA, 1998)

    H ainda confuso em relao aos termos Minerao de Dados e KDD

    so esporadicamente tratados como sinnimos. Porm, como mostrado na figura acima, a

    apenas uma das etapas do processo de KDD.

    A Minerao de Dados consiste na aplicao de algoritmos para a

    na produo de padres ou modelos a partir

    et al., 1996), enquanto que o termo KDD refere

    aplicados a dados brutos para a obteno de dados de alto nvel (GOEBEL; GRUENWALD,

    As fases do processo de KDD so discutidas a seguir.

    As Fases do Processo de Descoberta de Conhecimento

    O processo de KDD interativo e iterativo e envolve vrios passos onde decises so

    FAYYAD et al., 1996). A primeira etapa do processo de KDD a etapa de

    que coleta e reuni informaes de vrias bases de dados

    . No pr-processamento, as informaes coletadas na fase d

    das e selecionado apenas o contedo relevante para a tarefa que ser

    realizada. Este processo de filtragem reforado por mtodos de reduo de rudos

    correo de erros e preenchimento de valores nulos, para garantir a confiabilidade dos

    17

    computacionais, o que permite que enormes volumes de dados sejam analisados

    ta as etapas do processo de KDD.

    apud LIU; MOTODA, 1998)

    termos Minerao de Dados e KDD. Esses termos

    so esporadicamente tratados como sinnimos. Porm, como mostrado na figura acima, a

    algoritmos para a anlise e

    padres ou modelos a partir de grandes bases de

    et al., 1996), enquanto que o termo KDD refere-se a todos os passos

    alto nvel (GOEBEL; GRUENWALD,

    As Fases do Processo de Descoberta de Conhecimento

    O processo de KDD interativo e iterativo e envolve vrios passos onde decises so

    A primeira etapa do processo de KDD a etapa de

    que coleta e reuni informaes de vrias bases de dados, realizando a

    processamento, as informaes coletadas na fase de Data

    das e selecionado apenas o contedo relevante para a tarefa que ser

    reforado por mtodos de reduo de rudos,

    para garantir a confiabilidade dos

  • 18

    geralmente desejvel a interveno de um analista humano nas etapas citadas

    anteriormente, a fim de que seu conhecimento sobre as informaes relevantes que devem

    ser extradas pelo processo de KDD seja utilizado (FREITAS, 2001).

    Aps o refinamento dos dados a serem utilizados, a discretizao pode ser utilizada

    para transformar um atributo com valores contnuos em um atributo categrico

    (categorical) ou nominal, formando intervalos discretos (FREITAS, 2001).

    A etapa de seleo de atributos encontra atributos que possuem relevncia para o

    objetivo que deve ser satisfeito pelo processo de KDD, encontrando um subconjunto de

    atributos relevantes (atributos capazes de distinguir exemplos pertencentes a classes

    diferentes (PAPPA, 2002)) entre os atributos originais do registro para ser utilizado no

    processo de minerao de dados. A motivao para a realizao desta etapa baseada nos

    seguintes fatores: algoritmos de minerao de dados que utilizam mtodos de induo tem

    seu tempo de execuo aumentado caso haja muitos atributos presentes (PAPPA, 2002); a

    presena de atributos irrelevantes ou redundantes pode de alguma maneira levar o

    algoritmo a uma classificao equivocada dos dados, levando o processo a produzir dados

    pouco relevantes ou no confiveis (FREITAS, 2001); experimentos comprovam que o

    nmero de exemplos para garantir certa taxa de classificao cresce de maneira exponencial

    baseada no nmero de atributos irrelevantes presentes (PAPPA, 2002 apud LANGLEY; IBA,

    1993). Outra motivao encontrada para a seleo de atributos est na melhora da

    performance do algoritmo de minerao de dados, com melhores taxas de aprendizado ou

    regras mais simples (PAPPA, 2002).

    A prxima etapa do processo de KDD a Minerao de Dados. Nesta etapa aplicado

    um algoritmo baseado na estratgia computacional escolhida para minerao de dados, e

    extrado conhecimento dessa base de dados. A ltima etapa do processo, o ps-

    processamento, visa validar, interpretar e organizar o conhecimento encontrado, obtendo

    conhecimento realmente til (PAPPA, 2002).

    interessante salientar que o conhecimento resultante do processo de KDD deve

    possuir as seguintes propriedades: ser confivel (conhecimento com alta acurcia),

    compreensvel e interessante (FREITAS, 2001). Conhecimento com alta taxa de acurcia nos

  • permite seu uso para prever o valor que alguns atributos podero possuir no futuro,

    baseado nos dados observados. Este conhecimento deve tambm ser compreensvel para o

    usurio, j que ele deve utilizar o conheci

    vrias reas. Alm disso, esses dados devem ser interessantes

    ser medida pelo seu carter

    2.2 Tarefas da Minerao de Dados

    Essa sesso discute

    classificao, a clusterizao e

    2.1.1 Regras de Classifica

    Alvo de estudo das comunidades da rea estatstica e de aprendizado de mquina, a

    classificao tem como objetivo

    por uma referncia externa, baseado no valor dos demais atributos de um exemplo

    pertencente a uma base de dados

    aplicado a uma base de dados.

    Figura 2.

    Um algoritmo de classificao

    (a parte conseqente da regra) representa

    permite seu uso para prever o valor que alguns atributos podero possuir no futuro,

    baseado nos dados observados. Este conhecimento deve tambm ser compreensvel para o

    usurio, j que ele deve utilizar o conhecimento adquirido no processo como diferencial em

    vrias reas. Alm disso, esses dados devem ser interessantes propriedade mais difcil de

    pelo seu carter subjetivo

    Tarefas da Minerao de Dados

    a sesso discute algumas tcnicas utilizadas pela Minerao de Dado

    classificao, a clusterizao e as regras de associao.

    Classificao

    Alvo de estudo das comunidades da rea estatstica e de aprendizado de mquina, a

    classificao tem como objetivo prever o valor de um atributo objetivo, a ser

    por uma referncia externa, baseado no valor dos demais atributos de um exemplo

    pertencente a uma base de dados B. A figura 2.2 demonstra o processo de classificao

    dados.

    Figura 2.2: Exemplo de Classificao (CARVALHO, 2005)

    Um algoritmo de classificao gera regras do tipo (l-se:

    (a parte conseqente da regra) representa o atributo objetivo (classe) e

    19

    permite seu uso para prever o valor que alguns atributos podero possuir no futuro,

    baseado nos dados observados. Este conhecimento deve tambm ser compreensvel para o

    mento adquirido no processo como diferencial em

    propriedade mais difcil de

    Minerao de Dados: regras de

    Alvo de estudo das comunidades da rea estatstica e de aprendizado de mquina, a

    objetivo, a ser determinado

    por uma referncia externa, baseado no valor dos demais atributos de um exemplo E

    demonstra o processo de classificao

    se: Se X ento Y), onde Y

    atributo objetivo (classe) e X (a parte

  • 20

    antecedente da regra) representa um conjunto de valores tomados por atributos,

    geralmente representados por uma conjuno. A seguinte regra poderia ser uma regra

    gerada por um algoritmo de classificao: > 35 > $ 2.500,00

    ! = #$, onde > 35 > $ 2.500,00 seria a parte

    antecedente da regra e ! = #$ seria a parte conseqente da regra

    (classe).

    Este trabalho utiliza algoritmos genticos para gerar regras que tero o formato

    descrito acima. Este formato foi escolhido por ser intuitivo e facilmente compreendido pelo

    usurio. Abaixo outros exemplos de regras de classificao:

    %&' = ( 25 < %&'%* < 30 +, = &.

    &%(% = ( (-& %'./*0.($ = $*%0 '( = &

    Para a gerao das regras de classificao, a base de dados dividida em dois

    conjuntos de exemplos: C1 e C2, que possuem todos os seus exemplos j previamente

    classificados. O algoritmo de classificao recebe o conjunto de exemplos C1 (o conjunto de

    treinamento), aplica tcnicas de estatsticas e/ou de aprendizado de mquina e gera as

    regras de classificao, baseado nos valores encontrados nos atributos de cada um dos

    exemplos. Posteriormente, o algoritmo aplica as regras de classificao geradas no conjunto

    de exemplos C2 (o conjunto de teste), e mede o quo confiveis so as regras geradas no

    processo anterior. A propriedade que mede o quo confivel uma regra , ou seja, quantos

    exemplos do conjunto de teste foram corretamente classificados por esta regra, a

    acurcia. importante que o algoritmo de classificao no tenha acesso ao conjunto de

    teste na etapa de gerao de regras, ou ento, a medio da acurcia das regras ficaria

    comprometida e a fase de testes no apresentaria resultados confiveis.

    2.1.2 Clusterizao (Agrupamento)

    A clusterizao visa classificar a informao a ser minerada em clusters ou classes.

    Cada um desses clusters formado por exemplos que possuem caractersticas similares em

    seus atributos. Essa classificao feita de modo a maximizar as diferenas encontradas

  • entre clusters diferentes e minimizar as diferenas entre exemplos pertencentes ao mesmo

    cluster.

    Por realizar a classificao dos exemplos baseado nos valores dos atributos dos

    prprios exemplos, ou seja, descobrir classes para os exemplos e agrup

    sem que seja informada nenhuma referncia externa, a clusterizao considerada uma

    forma de aprendizado no supervisionado (FREITAS, 2001).

    A clusterizao prepara os dados para a aplicao de um algoritmo de classificao,

    uma vez que divide estes dados em classes, que sero usadas posteriormente

    de classificao (CARVALHO,

    Por exemplo, numa base como a Iris (FISHER, 1988), cada exemplo possui

    determinado valor para os comprimentos e larguras da ptala e da spala de uma

    determinada flor. Baseado

    clusters: o cluster Iris-setosa, o cluster Iris

    Figura 2.3

    2.1.3 Regras de Associao

    As regras de associao

    E do tipo (Se X ento

    entre clusters diferentes e minimizar as diferenas entre exemplos pertencentes ao mesmo

    Por realizar a classificao dos exemplos baseado nos valores dos atributos dos

    prprios exemplos, ou seja, descobrir classes para os exemplos e agrup

    sem que seja informada nenhuma referncia externa, a clusterizao considerada uma

    aprendizado no supervisionado (FREITAS, 2001).

    A clusterizao prepara os dados para a aplicao de um algoritmo de classificao,

    uma vez que divide estes dados em classes, que sero usadas posteriormente

    de classificao (CARVALHO, 2005).

    Por exemplo, numa base como a Iris (FISHER, 1988), cada exemplo possui

    determinado valor para os comprimentos e larguras da ptala e da spala de uma

    o nesses atributos, um algoritmo de clusterizao

    setosa, o cluster Iris-versicolor e o cluster Iris-virginica.

    3: Exemplo de dados organizados em clusters (CARVALHO, 2005)

    Associao

    associao so regras encontradas a partir de um conjunto de exemplos

    ento Y), onde X e Y so conjuntos de itens, tal que

    21

    entre clusters diferentes e minimizar as diferenas entre exemplos pertencentes ao mesmo

    Por realizar a classificao dos exemplos baseado nos valores dos atributos dos

    prprios exemplos, ou seja, descobrir classes para os exemplos e agrup-los em classes

    sem que seja informada nenhuma referncia externa, a clusterizao considerada uma

    A clusterizao prepara os dados para a aplicao de um algoritmo de classificao,

    uma vez que divide estes dados em classes, que sero usadas posteriormente pelo algoritmo

    Por exemplo, numa base como a Iris (FISHER, 1988), cada exemplo possui

    determinado valor para os comprimentos e larguras da ptala e da spala de uma

    nesses atributos, um algoritmo de clusterizao encontraria trs

    virginica.

    (CARVALHO, 2005)

    a partir de um conjunto de exemplos

    conjuntos de itens, tal que 1 Y = 2. Cada

  • 22

    regra encontrada sinaliza que os conjuntos de itens X e Y so freqentemente encontrados

    em um mesmo exemplo.

    O uso de regras de associao pode ser ilustrado usando-se o exemplo das fraldas e

    das cervejas (FUCHS, 2004). Estas regras aplicadas a um conjunto de exemplos E, onde cada

    exemplo representa uma transao de compra de um cliente, permitiram a descoberta do

    produto cerveja como sendo o mais vendido junto ao produto fraldas, ou seja, foram

    encontrados muitos exemplos onde os itens fraldas e cervejas faziam parte da compra dos

    consumidores do supermercado e assim pde ser comprovada a associao entre a compra

    das fraldas e a compra das cervejas, ou seja: 3 40+.

    Apesar de possurem a mesma estrutura , as regras de associao e regras de

    classificao possuem diferenas decisivas: regras de associao podem possuir mais de um

    item na parte conseqente da regra (Y), enquanto regras de classificao s podem possuir

    um atributo objetivo. Alm disso, em regras de classificao, os atributos previsores (X) s

    podem ocorrer na parte antecedente da regra e o atributo objetivo (Y) somente ocorre na

    parte conseqente da regra, o que no uma constante em regras de associao. Abaixo

    alguns exemplos de regras de associao:

    5 7(%,, 8*+ (clientes que compram po, geralmente compram

    manteiga e queijo)

    9%% 3% -,(% (clientes que compram batatas fritas

    geralmente compram refrigerante).

    2.3 Utilizao de Algoritmos Genticos (AGs) no Processo de KDD

    Os algoritmos genticos podem ser aplicados s etapas do processo de KDD, desde o

    pr-processamento dos dados brutos para aplicao da minerao de dados por exemplo,

    na seleo de atributos, podendo ser aplicados tambm minerao de dados. Esta tcnica

    pode tambm ser aplicada a etapa de ps-processamento do conhecimento encontrado.

    O uso dos AGs na etapa de seleo de atributos motivado pela interao de

    atributos. Os algoritmos baseados em outras tcnicas desenvolvidos para esta tarefa, como

  • 23

    por exemplo, algoritmos baseados na estratgia gulosa, podem no ser confiveis, levando a

    no seleo de atributos relevantes para a correta classificao dos dados, como demonstra

    o exemplo a seguir, ilustrado na figura 2.4.

    Figura 2.4: Exemplo de interao de atributos em problema de classificao do tipo XOR (PAPPA, 2002)

    Na figura 2.4 ilustrado um exemplo utilizando a funo XOR. Esta funo classifica

    os dados em 0 ou 1, baseado no valores de todos os seus atributos previsores. Nesta funo,

    dados com valores de atributos previsores (A1 e A2) iguais pertencem a classe 0 (B = 0) e

    dados com valores de atributos diferentes pertencem a classe 1 (B = 1). Caso um mtodo de

    seleo de atributos guloso fosse aplicado a este exemplo, encontraria uma distribuio

    igual de classes ao selecionar qualquer um dos atributos previsores, tendo 50% dos

    resultados igual a 1 e os outros 50% dos resultados iguais a 0 e chegaria a concluso que

    nenhum dos atributos previsores so relevantes para a tarefa de classificao, chegando

    ento a uma concluso equivocada, j que o resultado da funo XOR depende de todos os

    atributos previsores (PAPPA, 2002).

    A principal motivao para o uso de algoritmos genticos para descoberta de regras

    de classificao tambm est na melhor interao entre atributos proporcionada pelos AGs

    se comparados com algoritmos baseados na estratgica gulosa para induo de regras de

    classificao, e que so geralmente mais utilizados para minerao de dados (FREITAS,

    2001). Outra vantagem importante do uso de AGs para esta tarefa a busca global realizada

    por esta tcnica, aumentando a probabilidade de se obter um conjunto de regras com alta

    acurcia preditiva.

    Duas caractersticas dos AGs so decisivas para a sua utilizao no processo de KDD, e

    seu sucesso diante de algumas das tcnicas tradicionais de busca: a) algoritmos genticos

  • 24

    so mtodos de busca globais AGs no utilizam apenas informao local e por isso no

    necessariamente prendem-se a solues timas locais, como certos mtodos de busca

    (LINDEN, 2006); b) AGs utilizam informao da populao corrente para determinar o

    prximo estado da busca (LINDEN, 2006), e atravs de uma funo objetivo e dos

    operadores genticos de cruzamento (crossover) e mutao (mutation) promovem a

    interao entre os atributos de um objeto.

    Vale salientar que os algoritmos genticos no garantem que a soluo encontrada

    seja a soluo tima para o problema proposto, todavia estes algoritmos tendem a

    encontrar boas solues ou solues muito prximas da soluo tima. Os operadores

    genticos e demais aspectos dos AGs so descritos no captulo 3 deste trabalho.

  • 25

    3 ALGORITMOS GENTICOS (AG)

    Algoritmos Evolucionrios so basicamente algoritmos inspirados nos princpios da

    seleo natural e da gentica natural (FREITAS, 2007). Existe uma grande variedade de

    modelos computacionais propostos dentro deste paradigma, mas todos simulam os

    mecanismos de evoluo natural das espcies, onde, a partir de operadores genticos

    seleo, cruzamento e mutao novas espcies so criadas novas geraes utilizando

    indivduos que so avaliados segundo seu desempenho dentro de um ambiente (LINDEN,

    2006).

    Durante os anos de 1950 e 1960 alguns cientistas computacionais estudaram as

    tcnicas evolucionrias, para que se tornassem uma alternativa de ferramenta de otimizao

    para a resoluo de problemas de engenharia, criando um conjunto de solues candidatas

    a resoluo do problema proposto, e utilizando operadores inspirados na gentica e soluo

    natural para a busca das melhores solues (MITCHELL, 1996). Os operadores genticos so

    aproximaes computacionais de fenmenos naturais como a reproduo sexuada

    (crossover ou cruzamento) e a mutao gentica (mutao ou mutation) (LINDEN, 2006)

    O conceito da evoluo natural aplicado computao para a resoluo de

    problemas computacionais, pois os mecanismos de evoluo parecem se adequar a estes

    problemas nas mais variadas reas (MITCHELL, 1996). Problemas que envolvem buscas em

    um espao muito grande de soluo como a busca de um conjunto de regras de

    classificao a partir de uma base de dados, dentre outros problemas que requerem

    solues difceis de serem projetadas, podem utilizar-se do conceito da seleo e evoluo

    natural para criarem e melhorarem solues adaptadas a esses problemas complexos.

    O comportamento padro dos algoritmos evolucionrios representado pela

    listagem 3.1.

  • 26

    Listagem 3.1: Pseudocdigo de um Algoritmo Evolucionrio (LINDEN, 2006)

    Como ilustrado na listagem 3.1, os algoritmos evolucionrios so mtodos

    fortemente probabilsticos, visto que a gerao da populao inicial e a seleo feita para a

    escolha dos indivduos que sero recombinados e submetidos mutao raramente gera

    indivduos iguais a cada execuo do algoritmo, o que faz com que os resultados

    encontrados por um algoritmo evolucionrios sejam raramente reprodutveis, e por isso so

    heursticas4 que no asseguram a obteno do melhor resultado possvel em todas as suas

    execues (LINDEN, 2006)

    Em 1975, John Holland no livro Adaptive in Natural and Artificial Systems,

    formalizou e fundamentou matematicamente os algoritmos genticos. Mesmo no tendo

    sido o primeiro a aplicar os conceitos da evoluo natural programao, John Holland foi o

    primeiro a provar matematicamente a eficcia da estratgia evolucionria em problemas de

    busca. Em seu trabalho, Holland apresenta os algoritmos genticos como uma abstrao dos

    processos evolutivos, que permitiriam importar os conceitos de adaptao, evoluo e

    seleo natural da vida real para o mundo computacional, a fim de resolver problemas que

    envolvem a busca por uma soluo tima (LINDEN, 2006).

    4 Heursticas so algoritmos polinomiais que no podem garantir que a soluo encontrada para o problema

    proposto a melhor soluo, mas que usualmente tentem a encontrar a soluo tima ou prxima da tima (Linden, 2006).

    T:=0 //Inicializamos o contador de tempo Inicializa_Populao P(0) //Inicializamos a populao aleatoriamente Enquanto no terminar faa //Condio de trmino: por tempo, por avaliao, etc.

    Avalie_Populao P(t) //Avalie a populao neste instante P:= Selecione_Pais P(t) //Selecionamos sub-populao que gerar nova gerao P = Recombinao_e_mutao P //Aplicamos os operadores genticos Avalie_Populao P //Avalie esta nova populao P(t+1)=Selecione_sobreviventes P(t), P //Selecione sobreviventes desta gerao t:= t+1 //Incrementamos o contador de tempo

    Fim enquanto

  • 27

    Os algoritmos genticos so uma tcnica heurstica de otimizao global baseada no

    processo biolgico da evoluo natural (LINDEN, 2006). O grande diferencial desta tcnica

    a sua capacidade de no se restringir a mximos locais, como outros mtodos de otimizao,

    explorando o espao de busca como um todo.

    A maioria dos algoritmos que tratam problemas de otimizao no so capazes de

    encontrar uma soluo tima global, e se restringem a timos locais, como o hill climbing,

    que seguem a derivada de uma funo e facilmente se prende a mximos locais,

    desprezando o mximo global, como mostrado na figura abaixo. Note que a figura ilustra

    que numa tcnica de hill climbing se inicia em qualquer um dos pontos de incio marcados,

    seguir a direo de maior crescimento e acabar presa no ponto de mximo local, onde a

    derivada zero.

    Figura 3.1: Funo hipottica com um mximo local e outro global (LINDEN, 2006).

    Um algoritmo gentico fundamentado na tcnica de gerao e teste. Nesta tcnica,

    representada pela figura 3.2, uma soluo gerada; testada sua eficcia na resoluo do

    problema proposto, considerando limitaes impostas, e se por acaso esta soluo for

    adequada resoluo deste problema e obedece s limitaes previamente determinadas,

    ela adotada. Se por acaso ela no se adqe as limitaes ou no solucione de maneira

    satisfatria o problema proposto, ela desprezada e o processo recomea gerando uma

    nova soluo a ser testada.

  • Figura 3.

    A abordagem supracitada

    por isso chamada de busca dirigida. Um algoritmo gentico a utilizao da mecnica da

    gentica e da seleo natural busca dirigida, encontrando os melhores conjuntos de

    parmetros que descrevem uma funo de adaptao (

    A fundamentao para a utilizao de algoritmos genticos a problemas de

    otimizao est nos conceitos da seleo natural e evoluo das espcies. Segundo esses

    conceitos, os indivduos mais adaptados

    reproduzirem, enquanto os indivduos menos adaptados morrem antes da reproduo.

    Operadores genticos da seleo natural como cruzamento

    (crossover), mutao (mutation

    sucessivas geraes de solues, so aplicados para se chegar soluo que, se no a tima,

    a soluo prxima da tima. Este processo de gerao de populaes atravs de

    algoritmos genticos para chegar soluo mais

    proposto, utilizando o fitness

    Cada um destes operadores gentico

    3.1 Funcionamento de um Algoritmo Gentico

    Figura 3.2: Modelo da Tcnica de Gerao e Teste

    supracitada utiliza sempre um critrio na avaliao destas solues,

    de busca dirigida. Um algoritmo gentico a utilizao da mecnica da

    seleo natural busca dirigida, encontrando os melhores conjuntos de

    em uma funo de adaptao (fitness) (FREITAS, 2001)

    A fundamentao para a utilizao de algoritmos genticos a problemas de

    otimizao est nos conceitos da seleo natural e evoluo das espcies. Segundo esses

    conceitos, os indivduos mais adaptados ao seu ambiente vivem tempo o suficiente para se

    reproduzirem, enquanto os indivduos menos adaptados morrem antes da reproduo.

    peradores genticos da seleo natural como cruzamento

    mutation) e o uso de uma funo de adaptao

    geraes de solues, so aplicados para se chegar soluo que, se no a tima,

    a soluo prxima da tima. Este processo de gerao de populaes atravs de

    algoritmos genticos para chegar soluo mais adequada na resoluo do problema

    fitness de um cromossomo, chamado convergncia

    ada um destes operadores genticos descrito mais profundamente na subseo seguinte.

    Funcionamento de um Algoritmo Gentico

    28

    utiliza sempre um critrio na avaliao destas solues, e

    de busca dirigida. Um algoritmo gentico a utilizao da mecnica da

    seleo natural busca dirigida, encontrando os melhores conjuntos de

    ) (FREITAS, 2001).

    A fundamentao para a utilizao de algoritmos genticos a problemas de

    otimizao est nos conceitos da seleo natural e evoluo das espcies. Segundo esses

    ao seu ambiente vivem tempo o suficiente para se

    reproduzirem, enquanto os indivduos menos adaptados morrem antes da reproduo.

    peradores genticos da seleo natural como cruzamento ou recombinao

    de adaptao (fitness) para gerar

    geraes de solues, so aplicados para se chegar soluo que, se no a tima,

    a soluo prxima da tima. Este processo de gerao de populaes atravs de

    adequada na resoluo do problema

    , chamado convergncia (COX, 2005).

    s descrito mais profundamente na subseo seguinte.

  • 29

    Figura 3.3: Esquema de um algoritmo gentico (LINDEN, 2006)

    Como ilustrado no esquema 3.3, um algoritmo gentico gera uma populao inicial

    P(N) com N indivduos (cromossomos), que representam possveis solues para o problema

    a ser atacado. Cada um desses indivduos P(n) avaliado por uma funo que recebe o nome

    de funo de avaliao ou fitness. Quanto mais prximo da soluo tima, ou seja, o quanto

    mais adaptado for o indivduo, melhor a avaliao calculada por essa funo para este

    indivduo. Aps a anlise de cada um dos indivduos, a populao analisada e verifica-se se

    a condio de parada foi satisfeita. Caso a condio de parada no tenha sido satisfeita, K

    indivduos da populao so escolhidos para o processo de reproduo, onde so aplicados

    os operadores genticos de recombinao (crossover), que gera a partir da combinao de

    dois indivduos, como uma analogia a reproduo sexuada, novos indivduos e/ou a mutao

    desses indivduos, e os N-K indivduos so descartados. Aps a gerao da nova populao

    P(N) o processo refeito. Nas sees seguintes so descritos os aspectos de um algoritmo

    gentico.

    3.2 Representao Cromossomial (Codificao do Indivduo)

  • 30

    Em um algoritmo gentico, cada soluo candidata representada por um indivduo

    (cromossomo), que um ponto do espao de busca dentre todas as solues possveis de

    um problema (CARVALHO, 2005).

    Um cromossomo uma coleo de genomas5 formado por vrios genes (analogia

    com um cromossomo biolgico). Cada gene representa um pedao indivisvel da

    representao cromossomial (LINDEN, 2006).

    Um cromossomo representa uma soluo potencial para o problema a ser abordado

    (COX, 2005). A representao cromossomial deve representar adequadamente o problema

    em questo, traduzindo suas informaes para pra uma maneira vivel a ser tratada por um

    computador. A adaptao destas informaes est fortemente ligada qualidade das

    solues obtidas (LINDEN, 2006).

    Existem vrias maneiras de representao de cromossomos em um algoritmo

    gentico. A escolha de uma representao arbitrria, e deve ser feita a fim de ser a mais

    adequada possvel a soluo do problema, e no o contrrio.

    A representao mais comumente usada, que tambm a representao proposta

    por Holland a representao binria de tamanho fixo, onde cada indivduo formado por

    uma cadeia de bits que podem assumir os valores 0 ou 1 (PAPPA, 2002 apud Hinterding

    2000). Esta representao possui algumas vantagens: alm de ser uma representao

    compacta, facilita os operadores genticos crossover e mutao (COX, 2005). Por outro lado

    possui alguns problemas, dentre os quais a dificuldade encontrada para a representao de

    valores contnuos a principal. Para representar valores contnuos utilizando a

    representao binria, necessria a introduo de transformaes ou discretizaes no

    algoritmo gentico, representando um maior custo a sua execuo.

    Para a Minerao de Dados a representao cromossomial geralmente uma

    seqncia linear de condies de regras, onde usualmente cada condio um par atributo-

    valor (CARVALHO, 2005).

    5 Um genoma representa uma caracterstica particular em um cromossomo, e sua natureza depende da

    representao cromossomial escolhida para o algoritmo gentico.

  • 31

    3.3 Funo de Avaliao (Fitness)

    A funo de avaliao a maneira utilizada pelos algoritmos genticos para

    determinar a qualidade de um indivduo como soluo do problema em questo (LINDEN,

    2006). A funo de avaliao e a representao cromossomial esto diretamente ligadas ao

    problema a ser abordado caso esses elementos no sejam boas representaes deste

    problema a soluo encontrada pode no ser a soluo esperada.

    Um AG uma busca dirigida controlada pela funo de avaliao (COX, 2005). Cada

    indivduo da populao de solues avaliado segundo esta funo e recebe uma nota. Esta

    nota utilizada para a escolha dos indivduos que se reproduziro, atravs de um mtodo de

    seleo que favorece a escolha de indivduos melhor avaliados (LINDEN, 2006). O fitness de

    um cromossomo depende do quo aquele cromossomo est apto para solucionar o

    problema em questo (MITCHELL, 1996).

    3.4 Esquemas

    Introduzidos por Holland, os esquemas formalizam a existncia de blocos

    construtivos (building blocks) em um AG e justificam o seu funcionamento. Esquemas

    podem ser descritos como um modelo de 0 e 1 e asteriscos, onde os asteriscos representam

    as posies deste modelo onde o valor ali representado no possui relevncia para a soluo

    (dont cares) (MITCHELL, 1996). O esquema H = 1 * * * * 1, por exemplo, representa um

    modelo de todos os cromossomos que se iniciam e terminam com 1, e possuem tamanho de

    6 bits. Indivduos como 1 0 1 0 0 1 ou 1 0 1 1 1 1 so chamados de instncias do esquema H.

    Cada esquema representa 2m

    cromossomos, onde m o nmero de posies sem

    relevncia, os dont care deste esquema. Vale salientar que o valore de 2m cromossomos

    representados por um esquema de m posies dont care vlido apenas para um

    esquema baseado na representao binria. Para uma populao que possui indivduos de

    tamanho k, possui-se apenas 3k esquemas possveis.

    Em um AG, um esquema pode ser avaliado utilizando-se a mdia dos fitness dos

    indivduos pertencentes ao esquema em questo. O operador de seleo tende a favorecer

  • 32

    esquemas que possuem avaliaes acima da mdia, de maneira que a quantidade desses

    esquemas cresa de forma exponencial (CASTRO; ZUBEN, 2002 apud MICHALEWICZ, 1996).

    Esta afirmao provada pela equao do crescimento reprodutivo do esquema,

    representada na figura 3.4.

    Figura 3.4: Equao do crescimento reprodutivo do esquema (CASTRO; ZUBEN, 2002).

    Seja o esquema Si. representa o nmero de cromossomos representados

    pelo esquema Si na gerao t. representa o fitness mdio da populao na gerao t.

    As variveis pc e pm representam as probabilidades de ocorrncia de cruzamento e mutao

    para o AG em questo, respectivamente e m o tamanho de cada indivduo (tamanho da

    cadeia de genes). Nesta equao, considera-se que o AG produz indivduos que possuem

    avaliaes positivas (CASTRO; ZUBEN, 2002).

    Apenas a seleo no introduz novos esquemas na populao esta uma atribuio

    do operador de cruzamento (crossover), que habilita a troca de informao estruturada,

    ainda que aleatria (CASTRO; ZUBEN, 2002).

    O operador de cruzamento combinado com o operador de seleo pode destruir ou

    criar esquemas, porm a probabilidade de um esquema sobreviver ao crossover maior se

    esse esquema for pequeno (MITCHELL, 1996). Esse aspecto foi formalizado pelo Teorema

    dos Esquemas. Todavia, acredita-se que o operador de cruzamento o principal operador de

    um algoritmo gentico, j que recombina instncias de bons esquemas para formar

    instncias de esquemas melhores ou igualmente bons aos esquemas anteriores (MITCHELL,

    1996). Baseado na afirmao anterior introduz-se outro Teorema o Teorema dos Blocos

    Construtivos: um algoritmo gentico busca desempenho quase-timo atravs da

  • 33

    justaposio de esquemas curtos, de baixa ordem e alto desempenho, chamados de blocos

    construtivos (MITCHELL, 1996 apud GOLDBERG, 1989).

    O Teorema dos Esquemas e o Teorema dos Blocos Construtivos tratam dos

    operadores de seleo e cruzamento (MITCHELL, 1996). O operador de mutao foi

    proposto por Holland, em 1975, para prevenir a baixa diversidade de uma posio de um

    esquema, ou seja, evitar casos onde, por exemplo, inicialmente todos os indivduos

    comeassem com 1 na primeira posio de sua cadeia de bits a mutao seria o nico meio

    de se obter indivduos que possussem o 0 no incio de sua cadeia.

    3.5 Operadores Genticos

    3.4.1 Seleo de Pais

    Este operador seleciona cromossomos da populao para reproduo e favorece os

    cromossomos com maior fitness, ou seja, quanto melhor a avaliao do cromossomo, feita

    pela a funo de avaliao, mais vezes este cromossomo pode ser selecionado para se

    reproduzir (MITCHELL, 1996).

    Este mtodo simula o mecanismo de seleo natural, onde os pais mais capazes

    geram mais filhos e pais menos aptos podem gerar menos descendentes (LINDEN, 2006).

    importante notar que os indivduos menos aptos no podem ser totalmente descartados, a

    fim de evitar a convergncia gentica onde os indivduos se tornam cada vez mais

    semelhantes, o que destri a diversidade da populao, comprometendo a evoluo.

    Existem vrias maneiras de se implementar este mtodo, algumas das quais so

    descritas a seguir.

    ROLETA

    Neste mtodo criada uma roleta, onde cada cromossomo recebe uma parte

    proporcional ao seu fitness em relao soma total dos fitness de todos os cromossomos da

    populao.

  • 34

    Como exemplo, mostrado a seguir uma tabela com alguns indivduos fictcios e a

    representao da roleta para estes indivduos:

    Tabela 3.1: Grupo de indivduos, seus respectivos fitness e parcela na roleta (LINDEN, 2006)

    Indivduo Fitness Pedao da Roleta (%) Pedao da roleta ()

    0001 1 1.61 5.8

    0011 9 14.51 52.2

    0100 16 25.81 92.9

    0110 36 58.07 209.1

    Total 62 100 360.0

    Figura 3.5: Roleta Viciada para a populao exemplo da tabela 3.1 (LINDEN, 2006)

    A representao computacional da roleta ilustrada acima dada por um algoritmo

    que no permite que haja indivduos com avaliao negativa ou igual a zero, j que nunca

    seriam selecionados, pois no possuiriam parcela alguma da roleta. A lgica do algoritmo de

    implementao da roleta descrito pela listagem 3.2.

  • 35

    Listagem 3.2: Pseudocdigo do mtodo de seleo da roleta (LINDEN, 2006)

    TORNEIO

    Neste mtodo so selecionados N indivduos da populao. Dentre os indivduos

    selecionados, o mais apto selecionado para a reproduo. A quantidade N chamada de

    tamanho do torneio, e um parmetro definido pelo usurio. Geralmente quanto maior o

    valor de N maior a probabilidade de convergncia gentica, resultante da extino dos

    indivduos menos aptos da populao (CARVALHO, 2005).

    3.4.2 Recombinao ou Cruzamento (Crossover)

    O processo de criao de um novo cromossomo atravs da combinao de um ou

    mais cromossomos de alta performance (cromossomo que obteve uma alta nota da funo

    de avaliao) conhecido como recombinao ou cruzamento (COX, 2005). A principal

    funo deste operador assegurar a troca de material gentico entre dois indivduos

    chamados pais, combinando informaes de maneira que haja uma probabilidade razovel

    dos indivduos resultantes deste cruzamento sejam melhores que os pais (PAPPA, 2002).

    Graas ao operador de recombinao e a funo de avaliao os algoritmos genticos

    so classificados como uma busca dirigida, j que utiliza a seleo para determinar as reas

    mais promissoras de pesquisa e a recombinao para combin-las de modo a gerar solues

    mais aptas para resoluo do problema em questo (LINDEN, 2006).

    No cruzamento de um ponto, so selecionados dois pais utilizando um mtodo de

    seleo. escolhido, randomicamente, um ponto de corte uma posio entre dois genes

    (a) Some todas as avaliaes para uma varivel soma

    (b) Ordene todos os indivduos em ordem crescente de avaliao (opcional)

    (c) Selecione um nmero s entre 0 e soma (no includos)

    (d) i = 1

    (e) aux = avaliao do indivduo

    (f) enquanto aux < s

    (g) i = i + 1

    (h) aux = aux + avaliao do indivduo i

    (i) fim enquanto

  • 36

    de um cromossomo. Ento os pais so separados em duas partes, uma direita e outra

    esquerda do ponto de corte. O primeiro filho obtido concatenando-se a parte que se

    encontra esquerda do ponto de corte do primeiro pai parte que se encontra direita do

    segundo pai. O segundo filho, obtido concatenando-se a parte que se encontra esquerda

    do segundo pai parte que se encontra direita do ponto de corte do primeiro pai.

    J em outra forma de recombinao chamada crossover uniforme cada gene possui

    igual probabilidade P de ser trocado independente de sua posio. O crossover uniforme d

    origem a apenas um novo indivduo, enquanto que o crossover de um ponto resulta em dois

    novos indivduos.

    A recombinao uniforme mais poderosa para algoritmos genticos que utilizam a

    representao cromossomial binria, j que criam solues que os outros tipos de

    recombinao, como o de um ponto, podem criar, alm de criar combinaes que seriam

    impossveis em outros tipos de recombinao. Porm este o tipo de crossover que mais

    facilmente quebra esquemas interessantes (LINDEN, 2006). A figura 3.5 ilustra o cruzamento

    de um ponto e o cruzamento uniforme.

    Figura 3.6: Tipos de cruzamento (crossover) (CARVALHO, 2005)

  • 37

    3.4.3 Mutao

    Este operador troca randomicamente alguns bits de um cromossomo. Por exemplo, a

    seqncia 00000100 poderia ser modificada em sua segunda posio, transformando-se na

    seqncia 01000100. A mutao pode ocorrer em cada gene de um cromossomo com uma

    probabilidade informada pelo usurio, ou baseada em algum critrio previamente definido.

    (MITCHELL, 1996).

    O propsito do operador de mutao manter a diversidade da populao e

    assegurar que o cromossomo sempre cobrir uma parte suficientemente grande do espao

    de busca (PAPPA, 2002 apud Hinterding 2000), introduzindo material gentico que no est

    presente em nenhum outro indivduo da populao, ao contrrio do operador de crossover

    (CARVALHO, 2005).

    A mutao diversifica a populao e combate as regies de mnimos e mximos

    locais, assegurando o surgimento de novas solues potenciais, independentes dos

    cromossomos j existentes (COX, 2005).

    3.6 Elitismo

    A cada gerao G de um AG, os indivduos resultantes da gerao G-1 so todos

    descartados, dando lugar a novos indivduos resultantes da aplicao dos operadores de

    seleo, cruzamento e/ou mutao aos indivduos da gerao G-1.

    A estratgia elitista visa preservar indivduos com altos valores de fitness, ou seja, as

    melhores solues encontradas na gerao corrente, por mais de uma gerao, copiando-os

    para a gerao seguinte (PAPPA, 2002). Seja uma populao com N indivduos. So

    escolhidos Nelit indivduos com os melhores fitness. Estes indivduos so copiados

    integralmente para a populao da prxima gerao do AG. Os outros N- Nelit indivduos da

    nova populao so gerados a partir da aplicao dos operadores genticos citados acima. O

    nmero Nelit chamado de fator de elitismo, e um nmero, definido pelo usurio e

    geralmente pequeno (CARVALHO, 2005).

  • 38

    3.7 Nichos Biolgicos

    Simulando o processo evolutivo natural, onde cada espcie evolui em nichos

    ecologicamente separados e consomem os recursos oferecidos neste nicho, os mtodos de

    niching so utilizados para evitar a convergncia do algoritmo gentico para uma populao

    uniforme, com indivduos semelhantes a um super indivduo (uma soluo de alta qualidade)

    (CARVALHO; FREITAS, 2002).

    A formao de espcies permite primeiramente que vrios disjuntos e diversos

    conceitos sejam aprendidos simultaneamente, alm de permitir que os recursos

    computacionais sejam efetivamente explorados, evitando replicaes desnecessrias e

    redundncias (GIORDANA; NERI, 1995)

    Os mtodos de nicho (niching) no permitem que a populao perca a sua

    diversidade, habilitando os AGs a localizar diferentes solues com boa qualidade e mant-

    las numa mesma subpopulao (CARVALHO, 2005). A fundamentao para a introduo

    deste mtodo no AG vem da observao dos ecossistemas biolgicos na natureza, se uma

    determinada espcie satura um determinado ambiente, os indivduos daquela espcie so

    forados a compartilhar os recursos disponveis, o que nos faz concluir que a necessidade de

    compartilhamento uma conseqncia natural de ambiente contendo superpopulaes e

    conflitos (CARVALHO, 2005).

    As tcnicas de niching so importantes para o sucesso dos AGs aplicados a tarefas

    como a classificao, o aprendizado de mquina, a otimizao de funes multimodais, a

    otimizao de funes multiobjetivos e simulao de sistemas adaptativos e complexos

    (CARVALHO; FREITAS, 2002). A seguir so descritos alguns mtodos de niching, a fim de

    ilustrar como esta tcnica introduzida aos algoritmos genticos.

    3.6.1 Fitness Sharing

    Neste mtodo, a funo de avaliao utilizada para forar a diversidade dos

    indivduos. No Fitness Sharing, na avaliao de um indivduo, no considerado apenas o

    seu fitness individual, tambm utilizado o fitness de todos os indivduos que esto

    prximos no espao de busca (CARVALHO, 2005). O clculo do fitness de um indivduo I para

  • 39

    o mtodo de fitness sharing realizado dividindo-se o fitness de I pelo valor de sua

    contagem de nicho (niche count). Esta funo de nicho, para cada indivduo I o valor da

    soma dos valores da funo de sharing entre ele e cada outro indivduo na populao

    (incluindo ele mesmo). A funo de sharing avalia a igualdade entre dois indivduos,

    retornando 1 se estes forem idnticos e 0 se eles ultrapassam um limiar de diferena

    previamente definido. Os clculos demandados para a implementao deste mtodo o

    tornam computacionalmente caro, j que em uma populao com N indivduos, N2 clculos

    devem ser feitos para determinar o fitness de um individuo (CARVALHO, 2005). Uma

    vantagem deste mtodo a sua capacidade de espalhar a populao em mltiplos nichos.

    3.6.2 COGIN (COvered-based Genetic INduction)

    O COGIN um sistema de aprendizado que utiliza um mtodo de niching implcito

    (CARVALHO; FREITAS, 2002), utilizando um algoritmo de induo de regras baseado na

    competio (CARVALHO, 2005).

    O COGIN funciona criando novos indivduos (regras) candidatos atravs de

    cruzamentos utilizando os indivduos presentes na prpria populao. Este cruzamento

    feito utilizando cruzamento de um ponto. Aps a etapa do cruzamento os indivduos so

    ordenados de maneira crescente pelo valor p retornado pela funo de avaliao para este

    indivduo. Ento tomada a primeira regra (indivduo de maior fitness) e os exemplos do

    conjunto de treinamento que atendem a esta regra so escolhidos e eliminados. Este

    processo se repete at que o conjunto de treinamento no possua mais nenhum exemplo a

    ser coberto, ento as regras restantes so descartadas, j que sua presena na populao de

    indivduos desnecessria j que todos os exemplos j foram cobertos pelas regras geradas,

    que substituem as regras existentes. Pode-se notar que o tamanho da populao de

    indivduos varivel, dependendo exclusivamente da quantidade de regras necessrias para

    cobrir todo o espao do conjunto de treinamento, e esta uma grande vantagem deste

    mtodo, pois o nmero de regras se adapta dinamicamente aos dados (CARVALHO, 2005

    apud GREENE, D.P.; SMITH, S, 1993). A desvantagem deste mtodo a difcil compreenso

    do conjunto de regras, pois estas se apresentam a partir de um conjunto de regras

    ordenadas (CARVALHO; FREITAS, 2002).

  • 40

    3.6.3 REGAL (RElational Genetic Algorithm Learner)

    O REGAL um sistema distribudo, baseado em algoritmos genticos, desenvolvido

    para aprendizagem de conceitos representados em lgica de primeira ordem a partir de

    exemplos (GIORDANA; NERI, 1995). Este sistema baseado num operador de seleo

    chamado sufrgio universal (universal suffrage), que tem como funo promover a

    coexistncia de diferentes espcies.

    O sufrgio universal utiliza uma metfora poltica (FREITAS, 2007) onde os exemplos

    da base de treinamento podem votar apenas num indivduo (regra) que os representa. Cada

    exemplo pode votar apenas uma vez. Os indivduos mais votados so selecionados para o

    cruzamento. Este mtodo descrito com mais detalhes na seo 4.4.

  • 41

    4 DESCOBERTA DE REGRAS UTILIZANDO AGs

    A utilizao dos algoritmos genticos para a tarefa de descoberta de regras de

    previso se deve a busca global realizada por esta abordagem. Outro fator determinante

    para a obteno de bons resultados na aplicao de algoritmos genticos a esta tarefa a

    boa interatividade com os atributos, que inerente aos processos de seleo e cruzamento

    providos pelos algoritmos genticos. Essa interatividade maior que a interatividade

    oferecida pelos algoritmos freqentemente utilizados para Data Mining, geralmente

    baseados na estratgia gulosa (FREITAS, 2001 apud DHAR V; PROVOST, 2000).

    Neste captulo sero discutidos os aspectos e as ferramentas utilizadas no uso de

    algoritmos genticos para descoberta de regras de previso no processo de Minerao de

    Dados.

    4.1 Codificao do Indivduo

    Algoritmos genticos para descoberta de regras podem ser divididos em duas

    grandes abordagens, que diferem entre si na maneira como elas representam as regras em

    um indivduo da populao de solues.

    Em geral, existem duas abordagens para a representao de indivduos em um

    algoritmo gentico para descoberta de regras: a abordagem de Michigan e a abordagem de

    Pittsburgh.

    Na abordagem de Michigan, cada indivduo representa uma nica regra, enquanto

    que para a abordagem de Pittsburgh, cada individuo representa um conjunto de regras

    (FREITAS, 2001). Cada abordagem tem sua aplicao em uma etapa diferente do processo de

    Minerao de Dados. A abordagem de Michigan aplicada descoberta de regras de

    previso de uma maneira mais natural, pois nesta tarefa a avaliao de cada regra mais

    interessante para o sucesso no alcance do objetivo. Se for avaliada cada regra

  • 42

    individualmente, ao final do algoritmo gentico as regras que possuem os melhores ndices

    de previso sero conhecidas.

    Para a tarefa de classificao de dados, a abordagem mais adequada dentre as duas

    a de Pittsburgh, j que nesta abordagem, so avaliados os conjuntos de regras. Os melhores

    conjuntos avaliados classificaro os dados de maneira mais satisfatria, o que o objetivo

    neste momento.

    Enquanto a abordagem de Pittsburgh oferece interao entre as regras, a abordagem

    de Michigan oferece interao entre os atributos, o que justifica que cada abordagem seja

    mais bem aplicada em tarefas diferentes. Os indivduos gerados pela abordagem de

    Pittsburgh tendem a terem mais informao e a serem mais complexos (FREITAS, 2001), o

    que aumenta o custo computacional para o clculo do fitness. Por outro lado, os indivduos

    baseados na abordagem de Michigan so mais simples e menores, o que acelera o

    desempenho da funo de avaliao.

    Para este trabalho, foi escolhida a representao binria seguindo a abordagem de

    Michigan por facilitar a representao das regras e atributos, alm da interao entre cada

    um deles durante o processo de execuo do algoritmo.

    4.2 Operador de Introduo de Novos Indivduos (Seeding)

    O operador de seeding introduz na populao um novo indivduo. O diferencial deste

    operador que o novo indivduo gerado cobre um exemplo pertencente a base de

    treinamento. Este operador age como uma funo, que, dado um exemplo pertencente a

    base de treinamento retorna um indivduo que cobre este exemplo (GIORDANA; NERI,

    1995). A listagem 4.1 Descreve o funcionamento deste operador.

    Listagem 4.1: Pseudocdigo do operador de seeding (GIORDANA; NERI, 1995).

    Seja e um exemplo pertencente ao conjunto de treinamento E Gere uma cadeia aleatria de bits definindo um indivduo K Transforme em 1 o menor nmero de bits em K para que K cubra e Retorne (K)

  • 43

    4.3 Funo de Avaliao para Descoberta de Regras de

    Classificao

    A funo de avaliao deve traduzir o problema a ser resolvido para que possa ser

    compreendido e tratado por um computador (LINDEN, 2006). Para a descoberta de regras de

    classificao, a funo de avaliao deve ser capaz de medir as seguintes caractersticas: a

    acurcia preditiva da regra, ou seja, o poder desta regra de prever comportamentos baseada

    nas informaes cedidas pelo conjunto de treinamento; o quanto esta regra compreensvel

    ao usurio, pois regras que no so claras ou que so muito complexas sero sumariamente

    descartadas pelo usurio; e o quanto esta regra interessante, sendo esta a caracterstica

    mais difcil de ser medida, por ser extremamente subjetiva (FREITAS, 2001).

    Para um AG que segue a abordagem de Michigan, onde cada indivduo representa

    apenas uma regra, seja esta regra representada pela forma SE A ENTO C, onde A

    representa a parte antecedente da regra e C a parte conseqente da regra o atributo

    objetivo. Uma maneira simples de medir a acurcia preditiva (AC) de uma regra definida

    por:

    .4 =| ; & =|

    | ; | , (4.1)

    onde | . | o nmero de exemplos da base de dados que satisfazem todas as condies

    antecedentes representadas por A e | . & 4| representada todos os exemplos que

    atendem a parte antecedente e conseqente da regra (exemplos que atendem a A e a C)

    (FREITAS, 2001). Por exemplo, se uma regra cobre 10 exemplos (| . | = 10), dos quais

    apenas 8 possuem o mesmo valor de atributo objetivo (classe) que esta regra (| . & 4| =

    8), tem-se que a acurcia preditiva desta regra igual a @

    AB= 80 %.

    A acurcia preditiva de uma regra de classificao pode ser resumida a uma matriz

    2x2 chamada de matriz de confuso. Seu contedo representado a partir de quatro

    conceitos que so observados ao utilizarmos uma regra para classificar um exemplo da base

  • 44

    de dados a partir da classe que foi prevista pela regra e da classe efetiva deste exemplo, e

    so apresentados a seguir:

    Verdadeiros Positivos (VP) denota o nmero de exemplos que atendem a

    parte antecedente da regra (a parte A) e a parte conseqente da regra (a

    parte representada por C);

    Falsos Positivos (FP) denota o nmero de exemplos que atendem a parte

    antecedente da regra (a parte A) e no atendem a parte conseqente da

    regra (a parte representada por C);

    Falsos Negativos (FN) denota o nmero de exemplos que no atendem a

    parte antecedente da regra (a parte A), porm atendem a parte conseqente

    da regra (a parte representada por C);

    Verdadeiros Negativos (VN) denota o nmero de exemplos que no

    atendem a parte antecedente da regra (a parte A) e no atendem a parte

    conseqente da regra (a parte representada por C);

    Assim, a forma de uma matriz de confuso apresentada a seguir:

    Figura 4.1: Matriz de Confuso para uma Regra de Classificao (FREITAS, 2001).

    Outra frmula para medir a acurcia preditiva de cada regra, baseando-se nos

    conceitos apresentados acima representada pela frmula:

    .4 =| DE|

    | DEFGE | , (4.2)

  • 45

    Outro conceito importante para a avaliao de regras de classificao o conceito da

    completude, que representa o nmero de exemplos da base de dados que possuem o

    mesmo valor do atributo objetivo que a regra a ser avaliada e que so cobertos pela regra

    antecedente. A completude Comp de uma regra pode ser avaliada atravs da frmula:

    4&' =| DE|

    | DEFGH | . (4.3)

    Tendo em vista que as caractersticas citadas acima, acurcia preditiva e completude,

    so as caractersticas desejveis a regras de classificao, podemos ento utilizar a seguinte

    funo de avaliao, onde o valor do fitness obtido da seguinte forma:

    3%( = .4 $ 4&' , (4.4)

    e que foi utilizada para a avaliao das regras neste trabalho.

    Vale salientar que, durante a execuo do algoritmo gentico para extrao de regras

    de classificao, indivduos que possuem acurcia preditiva de 100% no so interessantes,

    por representarem idiossincrasias particulares ao conjunto de dados utilizado para

    treinamento das regras. A funo de fitness utilizada neste trabalho no avalia a

    simplicidade de uma regra.

    4.4 Mtodos para Manter a Diversidade de Regras

    Como discutido na seo 3.5, existem alguns mtodos de criao de nichos que visam

    manuteno da diversidade entre os indivduos de uma populao em um algoritmo

    gentico.

    Para a manuteno da diversidade de indivduos em um algoritmo gentico para a

    descoberta de regras de classificao, existe ainda outra maneira para se manter a

    diversidade das regras, evitando a convergncia para um indivduo: a Cobertura Seqencial

    (Sequential Covering). Neste mtodo, a cada execuo do AG apenas uma regra

    selecionada a regra com melhor adaptao. Aps a execuo do AG, a regra mais apta

    armazenada e todos os exemplos do conjunto de treinamento que so cobertos por esta

    regra so descartados. O AG executado n vezes, onde n a quantidade de vezes

  • 46

    necessrias para que haja regras suficientes para cobrir todo o conjunto de treinamento, ou

    seja, at que o conjunto de treinamento esteja vazio. Portanto, o uso deste mtodo de

    seleo implementa uma forma de niching, fomentando a evoluo de diferentes regras que

    cobrem diferentes partes da base de dados (FREITAS, 2007). No sufrgio universal, o mtodo

    de seleo favorece os indivduos que cobrem mais exemplos, pois eles ocorrem vrias vezes

    na roleta, e os indivduos mais adaptados (maior fitness total), pois possuem maior

    probabilidade de serem selecionados pela roleta.

    Para este trabalho foi utilizado um mtodo baseado em nichos para a manuteno da

    diversidade das regras: o sufrgio universal. Este mtodo foi escolhido por evitar a

    convergncia da populao em torno de um super-indivduo que foi obtida quando foi

    utilizado apenas o mtodo de seleo da roleta. A listagem 4.1 exibe o pseudocdigo do

    funcionamento do sufrgio universal.

    Listagem 4.2: Pseudocdigo do mtodo de sufrgio universal (GIORDANA; NERI, 1995).

    A cada gerao do algoritmo gentico selecionado, de maneira aleatria, um

    subconjunto de exemplos do conjunto de treinamento E. Este conjunto de treinamento um

    subconjunto da base de dados utilizada para se obter as regras de predio. Esta seleo

    realizada com reposio dos exemplos para que, casos onde o nmero de exemplos seja

    menor que o nmero de indivduos M da populao (E < M) no haja mais exemplos a serem

    escolhidos (GIORDANA; NERI, 1995). Para cada exemplo selecionado, so escolhidos os

    candidatos a receberem o voto deste exemplo, ou seja, as regras que cobrem este exemplo

    B(t) = 2 Selecione aleatoriamente, com reposio g * M exemplos de E Para cada exemplo K selecionado faa Para cada individuo I da populao faa

    Se existe um indivduo que cobre o K ento armazene este indivduo como um candidato Seno crie um novo indivduo que cubra este exemplo e adicione a B(t) Fim Utilize o mtodo da roleta para escolher apenas um indivduo que receber o voto deste exemplo e o adicione a B(t)

    Fim

  • 47

    e que so agora passveis de serem votados por este exemplo, esses candidatos so

    armazenados. Depois de se conhecer e armazenar todos os candidatos, o indivduo votado

    escolhido utilizando o mtodo de seleo da roleta, onde selecionado um indivduo a

    partir de um subconjunto de indivduos com probabilidade diretamente proporcional a seu

    fitness, assim a probabilidade de ser escolhido um indivduo de alto fitness grande, porm

    indivduos de baixo fitness no esto totalmente descartados, o que importante para a

    manuteno da diversidade da populao de um AG. Apenas os exemplos pertencentes ao

    conjunto B(t) so selecionados para cruzamento, e esse aspecto que garante que apenas

    formulas que cobrem o mesmo exemplo sejam competidoras entre si. A introduo do

    mtodo de seleo da roleta, que escolhe o indivduo que ser votado pelo exemplo, faz

    com que a probabilidade de que os exemplos votem nos melhores indivduos seja

    proporcional ao fitness dos indivduos que cobrem estes exemplos. A funo de fitness a ser

    utilizada no precisa necessariamente levar em considerao a completude de cada regra, j

    que apenas indivduos que cobrem pelo menos um exemplo so selecionados quando

    utilizado o operador de seleo sufrgio universal (RAS; ZEMANKOVA, 1994), j que estes

    indivduos devem ser votados por pelo menos um exemplo. Porm, para este trabalho foi

    considerada a completude de uma regra na funo de fitness para que regras que cubram

    mais exemplos que outras tenham maior probabilidade de serem votadas.

    4.5 Operador de Cruzamento (Crossover)

    O operador de cruzamento utilizado para este trabalho foi o crossover uniforme. Este

    tipo de crossover foi escolhido por ser capaz de combinar todo e qualquer esquema

    existente na populao (LINDEN, 2006).

    Existe tambm outro tipo de crossover especfico para a tarefa de descoberta de

    regras de classificao: o crossover de generalizao/especializao

    (generalizing/specializing crossover). A idia bsica deste operador generalizar ou

    especializar uma dada regra, ou seja, aumentar o nmero de exemplos que so cobertos

    pela regra se este nmero for considerado pequeno, ou aumentar o nmero de exemplos

    que so cobertos por esta regra se este for considerado grande.

  • Como exemplo, consideremos que um algoritmo evolucionrio, seguindo a

    codificao de Michigan. Ento, o

    implementado como o OU lgico ou o E lgico (FREITAS, 2001), respectivamente, como

    mostrado na figura 4.2.

    Figura 4.2: Exemplo de

    4.6 Operador de Generalizao e Especializao

    A generalizao ou especializao de regras pode tambm ser realizada por um

    operador independente do operador de cruzamento, chamado operador de

    generalizao/especializao.

    Para ilustrar o uso deste operador, consideremos a seguinte regra

    so ligadas por um E lgico (FREITAS, 2001)

    Esta regra pode ser

    25, assim em 4.5 haver uma cobertura de mais exemplos. Um exemplo pode ser ilustrado

    atravs em 4.6 (FREITAS, 2001):

    Outra maneira de generaliza

    Para realizar a especializao de uma regra, pode

    diminuiria o intervalo coberto e assim o nmero de exemplos cobertos por este indivduo.

    Para este trabalho este o

    garantida pela funo de avaliao e pelo mtodo de sufrgio universal.

    Como exemplo, consideremos que um algoritmo evolucionrio, seguindo a

    . Ento, o crossover de generalizao/especializao pode ser

    implementado como o OU lgico ou o E lgico (FREITAS, 2001), respectivamente, como

    Exemplo de crossover de generalizao/especializao (FREITAS, 2001)

    Generalizao e Especializao

    A generalizao ou especializao de regras pode tambm ser realizada por um

    operador independente do operador de cruzamento, chamado operador de

    generalizao/especializao.

    ilustrar o uso deste operador, consideremos a seguinte regra

    so ligadas por um E lgico (FREITAS, 2001):

    > 25 %I J K = %

    Esta regra pode ser generalizada, utilizando a mutao para subtrair certo valor de

    25, assim em 4.5 haver uma cobertura de mais exemplos. Um exemplo pode ser ilustrado

    atravs em 4.6 (FREITAS, 2001):

    > 21 %I J K = %

    Outra maneira de generalizar uma regra apagar alguma das condies desta regra.

    Para realizar a especializao de uma regra, pode-se adicionar certo valor a 25, assim

    diminuiria o intervalo coberto e assim o nmero de exemplos cobertos por este indivduo.

    Para este trabalho este operador no foi utilizado e a cobertura dos exemplos

    garantida pela funo de avaliao e pelo mtodo de sufrgio universal.

    48

    Como exemplo, consideremos que um algoritmo evolucionrio, seguindo a

    de generalizao/especializao pode ser

    implementado como o OU lgico ou o E lgico (FREITAS, 2001), respectivamente, como

    (FREITAS, 2001)

    A generalizao ou especializao de regras pode tambm ser realizada por um

    operador independente do operador de cruzamento, chamado operador de

    ilustrar o uso deste operador, consideremos a seguinte regra, onde as condies

    (4.5)

    subtrair certo valor de

    25, assim em 4.5 haver uma cobertura de mais exemplos. Um exemplo pode ser ilustrado

    (4.6)

    r uma regra apagar alguma das condies desta regra.

    se adicionar certo valor a 25, assim

    diminuiria o intervalo coberto e assim o nmero de exemplos cobertos por este indivduo.

    perador no foi utilizado e a cobertura dos exemplos

    garantida pela funo de avaliao e pelo mtodo de sufrgio universal.

  • 49

    5 IMPLEMENTAO

    O presente captulo descreve e discute o algoritmo implementado, baseado em

    tcnicas da Programao Gentica, para a ferramenta EPT - Explorer Patterns Tool,

    ferramenta de Minerao de Dados desenvolvida neste trabalho. Esta ferramenta a

    resultante da incorporao de algoritmos genticos para extrao de regras de predio

    ferramenta EFT (Explorer Fuzzy Tree). A ferramenta EFT foi desenvolvida em SOUZA, 2008

    para oferecer ao seu usurio parmetros de experimentao que permitam aumentar o

    poder preditivo da rvore clssica atravs da sua fuzzyficao (SOUZA, 2008).

    O EPT oferece um ambiente de experimentos com algoritmos de classificao

    baseados em rvores de deciso nebulosas e clssicas sobre qualquer base de dados com

    atributos contnuos (SOUZA, 2008) assim como experimentos com algoritmos genticos para

    extrao de regras de predio sobre qualquer base de dados com atributos contnuos ou

    categricos, alm de um ambiente onde possvel comparar esses dois paradigmas

    utilizados