Parte 3: Algoritmos de Computação Natural para Mineração de Dados

Propaganda
Introdução a
Algoritmos de Computação Natural
para Mineração de Dados
Gisele L. Pappa
Universidade Federal de Minas Gerais
[email protected]
Parte 3:
Algoritmos de Computação Natural
Mineração de Dados
Sumário
• Algoritmos Genéticos para Seleção de Atributos
• Programação Genética para Criação de
Algoritmos de Indução de Regras
• AntMiner
• PSO para classificação
• Pesquisa em andamento
• Ferramentas para Mineração – Weka
• Links úteis
Algoritmo Genético para Seleção
de Atributos
Seleção de Atributos
• Objetivo
– Criar modelos de prognóstico de pacientes com linfoma
baseado em imagens obtidas em exames PET (tomografia
de emissão de positrons)
• Dados de alta dimensão
– Pré-processamento
• Seleção de atributos com algoritmos genéticos
Antes do Tratamento
2 ciclos de quimio
4 ciclos de quimio
Representação dos indivíduos
• Utilizando um vetor de bits, onde cada
posição representa a presença ou ausência de
um atributo
• Fitness
– Utiliza a abordagem wrapper (a cada geração o
algoritmo de classificação é executado e avaliado)
– Utiliza abordagem multi-objetiva de Pareto
• Operadores genéticos padrão
Programação Genética para Criação
de Algoritmos de Indução de Regras
Como Algoritmoas de Indução de
Regras (AIR) são criados?
• Sequential-covering (separar e conquistar)
• Extraindo regras de árvores de decisão
• Algoritmos evolucionários – AG e PG
Sequential Covering
while existirem elementos no conjunto de treinamento
– Aprenda uma regra que cubra parte dos exemplos
de treinamento
– Remova os exemplos cobertos pela regra do
conjunto de treinamento
end while
Como um AIR aprende regras?
• Baseado em 4 elementos principais
– Linguagem de representação de regras
– Um mecanismo de busca
– Um método de avaliação das regras encontradas
– Métodos de pruning
Mecanismo de busca
• Estratégia de busca
– Geral para específica/ específica para geral/
híbrida
• Método de busca
– Greedy
– Busca em feixe
– Melhor-primeiro
Avaliação das Regras
• 4 tipos de heurísticas
– Baseada no número de examples positivos/
negativos cobertos pela regra (confiança)
– Baseada na complexidade das regras geradas
– Heurísticas de ganho, que comparam a diferença
no valor de uma segunda heurística
– Heurísticas com pesos
Pruning
• Evita over-fitting dos dados
• Pruning
– pre-pruning
– pos-pruning
Por que evoluir automaticamente AIR
para classificação?
• Taxas de acerto em muitos domínios importantes
está longe dos 100%, e não se sabe se elas podem ou
quanto elas podem ser melhoradas.
• Existem centenas de algoritmos de indução de
regras, e a maioria deles segue uma estrutura básica,
modificando apenas alguns elementos dessa
estrutura. PG seria uma maneira automática de
realizar essas modificações.
Por que evoluir automaticamente AIR para
classificação?
• Algoritmo estaria livre de bias do
programador
• Criar algoritmos voltados para bases de dados
específicas.
PG e AIR
• PG e PG baseada em gramática já foram
utilizadas para criar conjuntos de regras
para bases de dados específicas
Conjunto de
Treinamento
A1,A2,A3,C
0, 0, 1, 1
1, 1, 0, 1
….
0, 1, 0, 0
Programação
Algoritmo
Genética
de IR
Programação
Genética
Conjunto
Conjuntodede
Regras
Regras
Programação Genética
Terminais
Não
Terminais
População
Inicial
Fitness
Crossover
Não
Critério de Parada
satisfeito?
Sim
Retorna melhor
solução
Seleção
Nova
População
Reprodução
Mutação
pcross
preprod
pmut
PG baseado em Gramática
Terminais
Não
Terminais
População
Inicial
PG Traditional
Gramática
Terminais
Não
Terminais
Símbolo
Inicial
Regras de
Produção
População
Inicial
PG baseada em
Gramática
Método Proposto
• Gramática
– Conjunto de terminais/ não-terminais da PG
• Representação dos indivíduos
• Função de Avaliação (Fitness)
• Adaptação dos operadores de mutação e
crossover de acordo com a gramática e com
a representação dos indivíduos.
Definição da Gramática
• Gramática inclui
– Implementação de várias técnicas de
• Mecanismo de busca
• Heurísticas para avaliação de regras
• Heurísticas que definem quando parar de refinar
regras
• Heurísticas que definem quando parar de produzir
regras
• Pre e Pos Pruning
– Elementos anteriormente não utilizados por
algoritmos de indução de regras
Definição da Gramática
• Trabalha com o conceito de building blocks
• Exemplo:
RefineRule ::= AddCond|RemoveCond.
AddCond ::= Add1 | Add2
EvaluateRule ::= confidence | informationGain .
Building Block Add1()
for i = 0 to i < número de atributos
for j = 0 to j < número de valores que Ai assume
Adicione atributo i /valor j a regra atual
Representação dos Indivíduos
• Indivíduos são representados por uma árvore
de derivação criada utilizando-se produções
da gramática.
Fragamento da Gramática
<Start>::=(<CreateRuleList>|
<CreateRuleSet>)
[<PostProcess>].
<CreateRuleList>::=<whileLoop>
<RuleListTest>.
<whileLoop>::=while <condWhile>
<FindBestRule>
endWhile.
<condWhile>::=uncoveredNotEmpty |
…
...
SelectCandidateRules>::=1CR|
4CR|
8CR.
Função de Fitness
Fitness(Indij) = (Accij-DefAccj) / 1- DefAccj, se Accij > DefAccj
(Accij-DefAccj) / DefAccj, cc
In itia liz e
P o p u la tio n
G ra m m a r
In d iv id u a ls E v a lu a tio n
In te r fa c e
G G P /J a v a
GGP
In d iv id u a l
F itn e s s
A c c u ra cy
B u ild in g S e t
R u le
In d u c tio n
A lg o rith m
V a lid a tio n
Set
R u le
M odel
pr
R e p r o d u c tio n
No
T o u rn a m e n t
S e le c tio n
pm
N e w P o p u la tio n
C o m p le te ?
M u ta tio n
Yes
pc
C ro s s o v e r
No
S to p p in g
C r ite rio n
S a tis fie d ?
Yes
B u ild in g S e t
V a lid a tio n
Set
R e tu r n B e s t
In d iv id u a l
Test
Set
R u le
M odel
Experimentos
• 2 Conjuntos de parâmetros:
– Programação Genética
• Tamanho da população/número de gerações (100/30)
• Taxas de crossover, mutação e reprodução(0.75,0.25,0.05)
– Dados
• 2 conjuntos de experimentos:
- Usando vários data sets
- Usando apenas um data set
Resultados
• Criação de algoritmos de indução de regras
inovadores
• Resultados competitivos com os reportados
na literatura
• Existem muitos trabalhos futuros a serem
feitos
Evolução de ACs personalizados
para um tipo de dados
• Já propomos AC genéricos e personalizados para
uma base de dados específica
• ACs personalizados para um tipo de dados
– Agrupar bases de dados de acordo com suas características
– Engenharia reversa: através dos resultados do próprio GP
procurar agrupar os dados
Evolução de ACs personalizados para
um tipo de dados
Resultados esperados
• Desenvolver uma metodologia para
comparação e agrupamento de bases de
dados
• Algs. de classificação desenvolvidos
especialmente para esses grupos de dados
Evolução de outros tipos de ACs
• Atualmente trabalhamos com algoritmos de
indução de regras
• Podemos também evoluir outros tipos de
algoritmos de classificação
– Redes bayesianas
• Gramática é a melhor forma de representação?
Ant-Miner
[Parpinelli et al 2002]
Ant-Miner
• Segue uma abordagem de cobertura sequencial
– Formigas trabalham para gerar uma regra de decisão
– ACO executado várias vezes, a cada execução um
número menor de exemplos é considerado
– Cada execução utiliza apenas uma formiga
• Cada formiga inicialmente representa uma “regra
vazia”
• Formigas incrementalmente adicionam uma
condição a regra (par atributo+valor) de acordo
com uma métrica de entropia e a quantidade de
feromônio depositada
Ant-Miner
• Cada regra deve ter uma cobertura mínima
– Serve de critério de parada e controla overfitting
• Ao final da iteração, a classe da regra é
escolhida de acordo com a classe da maioria
dos exemplos cobertos.
Ant-Miner
WHILE (No. of cases in the Training set > Max-uncoveredcases)
i=0;
REPEAT
i=i+1
Anti incrementally constructs a classification rule
Prune the just constructed rule
Update the pheromone of the trail followed by Anti
UNTIL (i ≥ No-of-Ants) or (Anti constructed the same rule as the
previous No_Rules_Converg-1Ants)
Select the best rule among all constructed rules
Remove the cases correctly covered by the selected rule from
training set
END WHILE
AntMiner
• Inicialização do feromônio
a é o número de atributos,
bi é o número de valores q a pode assumir
• Regra de transição
– Existe uma constante que define a porcentagem de
exploração do algoritmo. De acordo com ela, a abordagem
probabilística pode ser substituída por uma determinística
Ant-Miner
• Avaliação
k é o número de classes,
W é a classe
• Existe também um método para podar as
regras
Ant-Miner- Resultados
PSO para Classificação
[Falco et al 2007]
PSO para Descoberta de Regras
• Um problema de classificação composto por n
classes pode ser visto como:
– Encontrar n centróides, onde cada centróide
corresponde ao protótipo de uma classe
• Partícula é representada por um vetor de
tamanho 2n
PSO para Classificação
• Avaliação
– Baseada na taxa de erro
– Na distância de um exemplo para o centróide
– Combinação dos dois
PSO para Classificação
• Atualização da velocidade
• Inércia variável
PSO para Classificação
• Parâmetros
– 50 partículas
– 1000 iterações
– Velocidade [-0.05,+0.05
– C1 = c2 = 2
– Inércia [0.4,0.9]
Resultados
Pesquisa em Andamento
Pesquisa em Andamento
• Programação Genética
– Recuperação de imagens por conteúdo (PSO)
– Deduplicação de dados (Active GP)
– Classificação Hierárquica (GP)
– Mineração de dados em redes sociais (ACO)
– Credibilidade de dados (GP)
Credibilidade de Dados
• Propomos um algoritmo de programação
genética para criar funções de credibilidade
• Cada indivíduo é uma função, representada
por uma árvore
• Avaliação
– De acordo com resultados
obtidos na classificação de
dados
Credibilidade de Dados
• O que faz um usuário confiar mais em um
website A ou B?
• Pesquisa na área de credibilidade
– Medidas objetivas e subjetivas para determinar o
que faz um usuário acreditar ou não em qualquer
tipo de informação
• Vasta gama de aplicação
– Sistemas e serviços Web
– Métodos de mineração de dados
Credibilidade de Dados
• Propomos um algoritmo de PG que vai estimar
a credibilidade de um documento
• Essa credibilidade pode ser então utilizada por
um usuário humano ou um programa de
computador
• Vários fatores podem ser considerados
– Conteúdo
– Fonte
– Data de Criação
Resultados Preliminares
Ferramenta para Mineração
WEKA
http://www.cs.waikato.ac.nz/ml/weka/
Links úteis
• UCI
– http://archive.ics.uci.edu/ml/
• Livro disponível para download
– http://www.liaad.up.pt/~ltorgo/DataMiningWithR/
• Livro de Data Mining disponível para download
– http://www.dcc.ufmg.br/miningalgorithms/DokuWiki/doku.php
• Livro de GP
– http://www.gp-field-guide.org.uk/
Referências
• Parpinelli, R.S., Lopes, H.S., Freitas, A.A. "Data
mining with an ant colony optimization algorithm". IEEE Trans.
on Evolutionary Computation, 6( 4), p. 321-332, 2002.
• I. De Falco, A. Della Cioppa, E. Tarantino, Facing classification
problems with Particle Swarm OptimizationSourceApplied
Soft Computing , 7 (3) , 652-658 , 2007.
Download