Hibridização de Técnicas de Data Mining com Algoritmos Genéticos

Propaganda
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
Download