Hibridização de Técnicas de Data Mining com Algoritmos Genéticos 1 Hibridização de Técnicas de Data Mining com Algoritmos Genéticos Dante José Alexandre Cid e Marco Aurélio C. Pacheco Núcleo de Pesquisa em Inteligência Computacional Aplicada Departamento de Engenharia Elétrica Pontifícia Universidade Católica do Rio de Janeiro Rua Marquês de São Vicente, 225 Rio de Janeiro – Brasil Tel / Fax: 55-21-5294445 [email protected] Resumo. O presente estudo tem por objetivo buscar um modelo híbrido de Algoritmos Genéticos com algoritmos tradicionais de Mineração de Dados, a fim de determinar novos métodos de busca e otimização das informações desejadas. Os resultados obtidos em uma implementação embrionária do modelo proposto foram bastante satisfatórios, demonstrando que há um bom potencial de conhecimento a ser explorado nesta área. Introdução O vertiginoso acúmulo de dados em todas as áreas de atividade humana criou a necessidade urgente de uma nova geração de ferramentas e técnicas automáticas e inteligentes para analisar, resumir e extrair conhecimento a partir de dados brutos. A este conjunto de atividades chamamos Mineração de Dados, ou Data Mining. Inicialmente, grande parte destas técnicas era baseada principalmente em métodos estatísticos e, posteriormente, em áreas como redes neurais. Porém, com as bases de dados atingindo volumes praticamente “intratáveis” pelos métodos tradicionais, Algoritmos Genéticos tornaram-se excelentes candidatos a compor mecanismos de otimização das tradicionais técnicas de Mineração de Dados, graças às suas características intrínsecas de adequação a problemas com grande espaço de busca. O presente estudo tem por objetivo buscar um modelo híbrido entre técnicas de Algoritmos Genéticos com algoritmos tradicionais de Mineração de Dados, a fim de determinar novos métodos de busca e otimização das informações desejadas. 1 Descrição do Problema Para melhor entendimento da natureza do problema, tomemos como exemplo a Tabela 1, representando uma pequena porção de uma base de dados armazenada em disco. Hibridização de Técnicas de Data Mining com Algoritmos Genéticos ID 1 2 3 4 5 CARRO S S S N N CASA N N S N S RENDA S N S S S 2 CARTÃO S N S N S Tabela 1 - Informações de consumidores As colunas representam os campos ou atributos da informação, e as linhas representam os registros ou instâncias de dados. Os dados informam características básicas do indivíduo: - Se é proprietário de automóvel - Se possui casa própria - Se possui renda superior a 10 salários-mínimos - Se faz uso de cartão de crédito Neste caso, o objetivo é realizar uma classificação dos dados acima, obtendo relacionamentos entre conjuntos de atributos preditivos (carro, casa e renda são candidatos) que resultem em determinada classe de um atributo objetivo (no caso, ser ou não usuário de cartão de crédito). Após o trabalho de mineração poderia ser obtida uma regra como, por exemplo: “SE CARRO=SIM e RENDA=SIM ENTÃO CARTÃO = SIM” Com isso, dadas as informações de um novo consumidor, como: - NÃO TEM CASA PRÓPRIA; - POSSUI DOIS AUTOMÓVEIS; - RENDA DE 15 S.M. Ele poderia ser classificado, com determinada probabilidade de acerto, como potencial usuário de cartão de crédito. 2 Descrição da Solução Há no mercado e no meio acadêmico diversas propostas de utilização de técnicas de Algoritmos Genéticos em Data Mining, tirando proveito de sua adequação a problemas com grande espaço de busca. A proposta deste estudo é encontrar uma solução híbrida entre métodos tradicionais de Data Mining e técnicas de Algoritmos Genéticos. O método tradicional escolhido para o trabalho foi o de árvores de decisão. Hibridização de Técnicas de Data Mining com Algoritmos Genéticos 3 Uma árvore de decisão representa em seus nós os diversos atributos preditivos da base de dados. Cada arco representa um valor do atributo, e as folhas contêm o valor do atributo objetivo. Os métodos de classificação baseados em árvores de decisão são mecanismos de aprendizado supervisionado que constróem árvores a partir de um conjunto de treinamento, onde a qualidade da árvore depende da acurácia da informação e de seu tamanho. Na Figura 1 é dado o exemplo de uma proposta de árvore, construída a partir dos dados da Tabela 1. CASA N S SIM CARRO S RENDA > 10 SM S N NÃO SIM Figura 1– Árvore de decisão A árvore da Figura 1 contém três regras de inferência, bastando seguir seus três possíveis caminhos da raiz até as folhas para encontrá-las: 1a regra) Se NÃO POSSUI CASA e POSSUI CARRO e NÃO RECEBE MAIS DE 10 S.M Então NÃO UTILIZA CARTÃO DE CRÉDITO 2a regra) Se NÃO POSSUI CASA e POSSUI CARRO e RECEBE MAIS DE 10 S.M Então UTILIZA CARTÃO DE CRÉDITO 3a regra) Se POSSUI CASA Então UTILIZA CARTÃO DE CRÉDITO Cada uma destas regras possui um determinado grau de eficiência na representação das informações existentes na base de dados, concedendo àquela árvore um determinado grau geral de eficiência. A busca da melhor árvore é o objetivo deste método de classificação. A fim de adequar este método ao uso de técnicas de Algoritmos Genéticos, foi desenvolvido um novo modelo, cujas características serão abordadas a seguir. Hibridização de Técnicas de Data Mining com Algoritmos Genéticos 4 A) Representação Para a adequada representação de uma árvore dentro da estrutura de um cromossoma, partiu-se da imagem da árvore completa, representando de forma diferenciada os elementos ausentes da árvore original, conforme a Figura 2, baseada na árvore da Figura 1. NÍVEL 0 0 1 NÍVEL 1 NÍVEL 1 0.1 0.0 NÍVEL 2 NÍVEL 2 NÍVEL 2 0.0.1 0.1.1 0.0.0 1.0.0 0.1.0 ___ ___ 1.1 1.0 NÃO 1.0.1 SIM SIM NÍVEL 2 SIM 1.1.0 SIM 1.1.1 SIM Figura 2 - Árvore virtualmente completa Os nós em cada nível representam um atributo; os arcos foram numerados para facilitar a identificação de acordo com o valor falso ou verdadeiro e as folhas representam as respostas 0, 1, ..., 7, correspondentes aos valores dos arcos mais baixos (000, 001,..., 111). Há dois tipos de ramificações “virtuais”: - Com tracejado (ramos 0.0, 0.0.0 e 0.0.1) está representada uma ramificação inexistente na árvore real, no sentido de que seu valor não é considerado, levando a conclusões nulas que são representadas por traços nas folhas; - Com traçado interrompido (ramos 1.0, 1.1, 1.0.0, ..., 1.1.1) está representada uma ramificação que não aparece na árvore original por representar informação irrelevante (“Don’t care”), já que qualquer caminho abaixo do ramo 1 leva à mesma conclusão. 0 1 0.0 0.1 1.0 1.1 0 1 _ 1 X X 0.0.0 _ 0.0.1 0.1.0 0.1.1 1.0.0 1.0.1 _ 0 1 X X 1.1.0 X Figura 3 - Representação 1.1.1 0 1 2 3 4 5 6 7 X _ _ N S S S S S Hibridização de Técnicas de Data Mining com Algoritmos Genéticos 5 A partir da árvore assim definida, foi montada a representação exibida na Figura 3. Na parte superior consta a numeração dos arcos, análoga à Figura 2, e à direita as oito folhas, cujos números correspondem ao valor do ramo que nelas chega, convertido de binário para decimal. Cada gene contém o valor do atributo na correspondente posição da árvore, conforme indicado pelos índices no alto da figura. Os últimos oito genes contêm os valores das folhas. Note-se que os ramos “virtuais” mencionados anteriormente estão representados de duas formas: - Os genes de ramos inexistentes (tracejados na Figura 2) recebem um traço (“-“). - Os genes de ramos irrelevantes (traçado interrompido na Figura 2) recebem um “X”. CASA N S CAR RO CAR RO N S SIM RENDA > 10 SM S N SIM NÃO 0 1 0 _ _ 1 0 1 _ _ _ _ 0 1 0.0 0.1 1.0 1.1 0.0.0 0.0.1 0.1.0 0.1.1 1.0.0 1.0.1 X 1.1.0 X 1.1.1 N S _ _ _ _ S S 0 1 2 3 4 5 6 7 Figura 4 – Exemplo de representação Para melhor entendimento, a Figura 4 ilustra um exemplo adicional da representação de uma árvore. B) Avaliação Foram concebidas quatro formas de avaliação para o modelo proposto, descritas a seguir: I. Dimensão A avaliação por dimensão da árvore é calculada como a razão entre o número de genes com valor “X” (“Don’t care”) e o número total de genes preditivos. Assim, é premiada com maior avaliação a árvore que resume melhor a representação, Hibridização de Técnicas de Data Mining com Algoritmos Genéticos 6 ocultando os atributos que não realmente colaboram nas conclusões. Para a árvore da Figura 4, por exemplo, a avaliação seria igual a 2/14 (0,14), pois os genes 1.1.0 e 1.1.1. valem X, e há quatorze genes preditivos (0 a 1.1.1). II. Entropia A entropia é utilizada nos algoritmos de árvore no sentido de encontrar hierarquias entre os atributos que auxiliarão a montagem de árvores mais curtas, ao indicar que atributos devem ser colocados nos níveis superiores. Para a melhor compreensão do conceito de entropia, tomemos como exemplo a base de dados exemplificada na Tabela 1. Entende-se como classe de um registro o valor do atributo objetivo naquele registro. Naquela base há, portanto, duas classes de registros: S e N. Digamos que na base há “s” registros da classe S e “n” registros da classe N. A Quantidade de Informação Esperada ( “I” ) de uma árvore é definida como: I(s,n) = - [ s/(s+n) ] * log2[ s/(s+n) ] - [ n/(s+n) ] * log2[ n/(s+n) ] Seja “A” o atributo raiz da árvore e “C” o conjunto dos registros da base. Os valores de “A” (A0, A1) particionam “C” em C0 e C1, onde Ci é o conjunto dos registros onde A= Ai. Sejam “si“ e “pi” as quantidades de registros em Ci das classes S e P, respectivamente. A Entropia “E(A)” da árvore é definida pela função abaixo: 1 E(A) = ∑ i =0 s i + ni I(si, ni) s+n III.Eficácia A eficácia de uma regra é dada pela razão entre a quantidade de registros que satisfazem o antecedente e o conseqüente da regra e a quantidade de registros que satisfazem o antecedente. Para exemplificar, seja a regra de inferência “Se POSSUI CASA Então UTILIZA CARTÃO DE CRÉDITO”. Sua eficácia é igual ao número de registros onde (CASA=S e CARTÃO=S) dividido pelo número de registros onde (CASA=S). A eficácia mede o quanto a teoria representada pela regra se aplica bem aos dados1. A avaliação da eficácia de uma árvore é dada pela média das eficácias das regras nela contidas. IV. Abrangência A abrangência de uma regra é dada pela razão entre a quantidade de registros que satisfazem o antecedente e o conseqüente da regra e a quantidade de registros que satisfazem o conseqüente. Como exemplo, tomemos a mesma regra de inferência anterior: “Se POSSUI CASA Então UTILIZA CARTÃO DE CRÉDITO”. Sua abrangência é igual ao número de registros onde (CASA=S e CARTÃO=S) dividido pelo número de registros onde (CARTÃO=S). Hibridização de Técnicas de Data Mining com Algoritmos Genéticos 7 A abrangência mede o percentual de registros de uma determinada classe cobertos pela regra. A avaliação da abrangência de uma árvore é dada pela média das abrangências das regras nela contidas. C) Operadores São propostos quatro operadores para este modelo: crossover, mutação, edição e destruição, abordados a seguir: I) Crossover O crossover proposto eqüivale graficamente àquele utilizado na Programação Genética, em que sub-árvores são trocadas entre os cromossomas. A Figura 5 exibe os cromossomas antes da operação e a Figura 6, após. I) II) CASA N N S SIM CAR RO CASA S CAR RO CAR RO _ N S RENDA > 10 SM RENDA > 10 SM RENDA > 10 SM S N S N SIM NÃO 0 1 _ 1 X X _ II) 0 1 0 _ _ 1 0 0 1 0.0 0.1 1.0 1.1 0.0.0 _ --- --- 0 1 X X X 1 _ _ _ _ X 0.0.1 0.1.0 0.1.1 1.0.0 1.0.1 1.1.0 SIM _ _ SIM NÃO I) S X _ _ N S S S S S X N S _ _ _ _ S S 1.1.1 0 1 2 3 4 5 6 7 Figura 5 – Cromossomas antes do crossover Hibridização de Técnicas de Data Mining com Algoritmos Genéticos I) II) CASA N SIM CAR RO CASA N S S CAR RO _ CAR RO S N RENDA > 10 SM _ S N --- --- S RENDA > 10 SM RENDA > 10 SM _ N NÃO SIM NÃO 8 I) 0 1 _ _ X X _ _ _ _ X X X II) 0 1 0 1 _ 1 0 1 0 1 _ _ X 0 1 0.0 0.1 1.0 1.1 0.0.0 0.0.1 0.1.0 0.1.1 1.0.0 1.0.1 1.1.0 X X SIM S SIM _ _ _ _ S S S S N S N S _ _ S S 1.1.1 0 1 2 3 4 5 6 7 Figura 6 – Cromossomas após o crossover Conforme ilustrado nas figuras, a troca dos genes nos cromossomas deve respeitar a hierarquia dos ramos das árvores. Se o ponto de corte for definido no ramo (locus) “0.1”, então todos os ramos abaixo dele devem der trocados. Para isto é importante entender a representação dos ramos virtuais explicado anteriormente, pois há casos (como o ilustrado nas figuras) em que o crossover inclui a troca de ramos “inexistentes” em uma das árvores. II) Mutação O operador de mutação concebido para este modelo consiste na alteração do valor de genes exclusivamente dos atributos objetivos. Isto permitirá a busca por conclusões ausentes nos genitores, o que, em harmonia com o crossover, trará uma evolução equilibrada entre o aproveitamento (exploitation) e a descoberta (exploration) de indivíduos. As Figuras 7 e 8 ilustram exemplos de mutação em dois cromossomas. Hibridização de Técnicas de Data Mining com Algoritmos Genéticos I) II) CASA N S SIM CAR RO CASA N S CAR RO CAR RO N S RENDA > 10 SM S SIM RENDA > 10 SM S N SIM NÃO S N SIM NÃO I) 0 1 _ 1 X X _ _ 0 1 X X X II) 0 1 0 _ _ 1 0 1 _ _ _ _ X 0 1 0.0 0.1 1.0 1.1 0.0.0 0.0.1 0.1.0 0.1.1 1.0.0 1.0.1 X 1.1.0 _ _ N S S S S S X N S _ _ _ _ S S 1.1.1 0 1 2 3 4 5 6 7 Figura 7 – Dois cromossomas antes da mutação I) II) CASA N N S SIM CAR RO CASA S CAR RO CAR RO N S RENDA > 10 SM S NÃO RENDA > 10 SM S N NÃO NÃO S N SIM NÃO I) 0 1 _ 1 X X _ II) 0 1 0 _ _ 1 0 0 1 0.0 0.1 1.0 1.1 0.0.0 _ 0 1 X X X 1 _ _ _ _ X 0.0.1 0.1.0 0.1.1 1.0.0 1.0.1 1.1.0 X X _ _ N N S S S S N S _ _ _ _ NN 1.1.1 0 1 2 3 4 5 6 7 Figura 8 – Os cromossomas após a mutação 9 Hibridização de Técnicas de Data Mining com Algoritmos Genéticos 10 III) Edição A árvore I da Figura 8 apresenta uma característica interessante: o valor da folha para o arco 0.1.0 é idêntico à do arco 0.1.1. Isto significa que, independente do valor de RENDA, a resposta é NÃO. Assim, os referidos arcos deixam de ser relevantes e pode ser omitida a consideração acerca do atributo RENDA para esta sub-árvore. Esta é a função do operador de Edição: rescrever o cromossoma da forma mais concisa possível, mantendo toda a significância de seu conteúdo. A Figura 9 ilustra a operação sobre o cromossoma e sua caracterização na árvore correspondente. Antes Depois CASA N CASA N S SIM CAR RO S SIM CAR RO S S NÃO RENDA > 10 SM S N NÃO NÃO Antes 0 1 _ 1 X X _ _ 0 1 X X X X _ _ N N S S S S Depois 0 1 _ 1 X X _ _ X X X X X X _ _ N N S S S S 0 1 0.0 0.1 1.0 1.1 0.0.0 0.0.1 0.1.0 0.1.1 1.0.0 1.0.1 1.1.0 1.1.1 0 1 2 3 4 5 6 7 Figura 9 – Edição IV) Destruição Mais uma vez evocando operação análoga à que é utilizada em Programação Genética, para este modelo foi concebida a utilização do operador de Destruição, que basicamente elimina determinada quantidade de indivíduos medíocres das primeiras gerações, fato bastante comum em fases iniciais de Mineração de Dados. Para tal, a população inicial é criada em quantidade acima do regular e pode assim suportar essa eliminação. D) Técnicas As técnicas tradicionais de Normalização Linear e Elitismo são adotadas no modelo, acrescidas da proposição de utilização de sementes para a população inicial obtidas a partir de análise pelo algoritmo ID3, consagrado na área de árvores de decisão. Hibridização de Técnicas de Data Mining com Algoritmos Genéticos 11 E) Parâmetros Além dos parâmetros tradicionais utilizados em Algoritmos Genéticos (tamanho de população, número de gerações, etc.), propõe-se a utilização de graus mínimos de Abrangência e Eficácia como parâmetros. Este requisito sobre os indivíduos trará a diminuição da presença de cromossomas medíocres em cada nova população. 3 Resultados O modelo descrito nos itens anteriores foi implementado no software Evolver, da Palisade Software. Houve limitações nas possibilidades de caracterização total dos detalhes do modelo, particularmente com relação aos operadores. A representação, entretanto, foi testada plenamente contra uma base de dados artificialmente gerada. Os indivíduos não válidos gerados pelos operadores tradicionais adotados pelo software foram descartados através do estabelecimento de regras rígidas de correlacionamento entre determinados genes. 0 1 0.0 0.1 1.0 1.1 R0 R1 R2 R3 0 1 2 2 2 2 0 0 1 1 EFI R0 EFI R1 EFI R2 EFI R3 MÉ DIA 71% 71% 76% 76% 73% ABR R0 ABR R1 ABR R2 ABR R3 MÉ DIA 71% 71% 76% 76% 73% COM PRIM E NTO A VALIAÇÃO: 67% 72% Figura 10 – Resultados no Evolver A Figura 10 ilustra detalhes da planilha utilizada para implementação no Evolver. Na parte superior, em destaque, o cromossoma. Como o software não permite o uso de caracteres alfabéticos no cromossoma, os “X” da representação original foram substituídos pelo dígito “2” e os “-”, pelo dígito “3”. Não foi utilizado o campo RENDA na implementação exibida. À esquerda, os valores de eficácia e abrangência de cada regra (R0, R1, etc.), conforme cálculo explicado no item Avaliação. À direita, a avaliação relativa ao comprimento (ou dimensão) da árvore e, abaixo desta, a avaliação total. Hibridização de Técnicas de Data Mining com Algoritmos Genéticos 12 A função de avaliação utilizada atribuiu peso 7 à eficácia, peso 3 à abrangência e peso 2 à dimensão da árvore, combinação que se mostrou bastante equilibrada para os testes efetuados. Foi utilizada uma taxa de crossover de 60%, taxa de mutação de 0,8%, população de 100 indivíduos e 100 gerações. CASA N NÃO S SIM Figura 11 – Árvore correspondente ao melhor cromossoma A resposta obtida foi bastante satisfatória e, não obstante a grande incidência de eliminação de indivíduos não válidos para o modelo, a convergência ocorreu sem qualquer tipo de problema, obtendo sempre o melhor indivíduo. Este indivíduo é exatamente o que é exibido na Figura 10, e a árvore correspondente a ele é ilustrada na Figura 11. As limitações impostas pelo uso de um software com operadores pré-definidos somente poderá ser contornada com uma implementação completa de algoritmos para o modelo. Apesar disto, os resultados mostraram que o modelo tem consistência e merece aprofundamento em trabalhos futuros. 4 Conclusão Os resultados obtidos na implementação embrionária do modelo no software Evolver demonstraram que ele tem bom potencial, confirmando a validade da representação aqui proposta. Uma análise mais abrangente, porém, irá requerer uma implementação independente e completa de todas as características abordadas no presente estudo. Importante se faz, ressaltar que a hibridização das técnicas de Mineração de Dados com Algoritmos Genéticos demonstrou possuir potencial para abrigar o surgimento de uma nova geração de métodos que irá tirar proveito do que existe de melhor nas duas áreas, otimizando de diversas formas os processos de descoberta de conhecimento. 5 Bibliografia 1. Marco Aurélio C. Pacheco. Computação Evolucionária – Notas de Aula, Pontifícia Universidade Católica do Rio de Janeiro, 1999 Hibridização de Técnicas de Data Mining com Algoritmos Genéticos 13 2. Carlos Henrique Pereira Lopes. Classificação de Registros em Banco de Dados Por Evolução de Regras de Associação Utilizando Algoritmos Genéticos, Pontifícia Universidade Católica do Rio de Janeiro, Abril de 1999 3. Jiawei Han. Data Mining: Concepts and Techniques, Simon Fraser University, 1996 4. Wei-Min Shen. Data Mining Techniques and Applications, UCLA, Fevereiro de 1998