fundamentação teórica ags: algoritmos de busca baseados nos mecanismos de seleçãoo natural e...
TRANSCRIPT
Fundamentação Teórica
AGs: Algoritmos de busca baseados nos mecanismos de seleçãoo natural e na genética. Implementam estratégias de buscas paralelas e aleatórias para solucionar problemas de otimização [Goldberg 1989].
Para implementação é necessário: Representação do problema no formato de um código
genético População inicial que contenha diversidade suficiente Método para medir a qualidade de uma solução (fitness) Procedimento de combinação para gerar novos indivíduos Critério de escolha das soluções que permanecerão na
população ou serão retirados Procedimento para introduzir novas alterações em algumas
soluções da população.
Problemas Complexos
Meta-heurística Tabu (Kurahashi S.; Terano T., 2000.)
Evolução Cooperativa (Potter, M.A.; De Jong K., 2000)
Criação de Nichos (Hiroyasu T.; Miki M.;Watanabe S., 1999)
AGS são apropriados para problemas complexos, mas algumas melhorias devem ser feitas, permitindo trabalhar com problemas multimodal e multiobjetivo.
Sharing ou Compartilhamento de Recursos - reduz o valor de aptidão de indivíduos que tem membros altamente similares dentro da populaçao;
Evolução Cooperativa – força a competição entre espécies
Integração de Algoritmos Genéticos com Algoritmos de Busca – Simulated annealing, Hill climbing, Busca tabu, entre outros.
Técnicas para Melhorar AGs
Sharing
Limita o crescimento descontrolado de espécies particulares dentro de uma população;
Força uma maior diversidade populacional
Similaridade pode ser medida tanto no espaço genotípico como no espaço fenotípico;– Genotípico: atributos iguais entre dois indivíduos– Fenotipico: exemplos de treinamento cobertos pela
regra.
(GOLDBERG; RICHARDSON, 1987)
Meta-heurística Tabu - [Kurahashi e Terano, 2000].
AG
Candidatos (t+1)População (t)tabu
tabu
muta₤₧o
Renovado
Renovado
passou
similar
Evolução Cooperativa - [Potter e De Jong 2000]
Esp₫cie - 1
EA
Popula₤₧o
indivíduo
fitness
representante
representante
Modelo do Domínio
Esp₫cie 1 - Avalia₤₧o
Esp₫cie - 2
EA
Popula₤₧o
Esp₫cie - 3
EA
Popula₤₧o
indivíduo
fitness
representante
representante
indivíduo
fitness
representante
Esp₫cie 3 - Avalia₤₧o
Esp₫cie 2 - Avalia₤₧o
Esp₫cie - 3
EA
Popula₤₧o
representante Modelo do Domínio
Modelo do Domínio
Esp₫cie - 1
EA
Popula₤₧o
Esp₫cie - 2 EA
Popula₤₧o
Esp₫cie - 1
EA
Popula₤₧o
Esp₫cie - 2
EA
Popula₤₧o
Esp₫cie - 3 EA
Popula₤₧o
Criação de Nichos [Hiroyasu T.; Miki M.;Watanabe S., 1999]
GADBMS
GADBMS: sistema classificador baseado na indução de regras.
Utiliza um algoritmo genético restrito por x listas Tabu para efetuar a busca das regras (x = quantidade classes)
Implementado em C++ com interface DOS
Conjuntos de dados devem estar armazenados em banco de dados
Arquitetura do GADBMS
Módulo de Configuração
Regras
Extraídas
GATABU Avaliação Aptidão Conjunto
TreinamentoT
Conjunto Teste
DBMS
Parâmetros
Avaliação Regras
Módulo Configura₤₧o
Recebe os parâmetros de entrada:probabilidade de cruzamento, mutação, probabilidade de criação de restrições vazias, medida de similaridade (genótipo / fenótipo), tamanho da lista longa e da lista curta, etc.
Arquivo contendo a seguinte informação:CLASSES 0,1,2. v1 continuous.v2 1,2,3.v3 0,1.v4 1,2,3,4,5.v5 continuous.v6 0,1.v7 continuous.v8 continuous.
Módulo GATABU
População
IF v1 >= 0.85 AND v1 <= 1.26v2 = 1v3 = *v4 = 3
Then classes = 1FITNESS = 0.81818182
3*11.260.851
403**250*1.02*13111.260.851101*0.150
v4 ...v3v2v1(máx)v1 (min)classes
Módulo GATABU
Função de Aptidão – (VP + 1)/(VP+FP+K)
VP, exemplos positivos corretamente classificados pela regraFP, exemplos negativos incorretamente classificados como positivos K, ₫ o número de classes no domínio
Módulo GATABU (AG Restrito)
População (t)
CruzamentoMutação População
(t+1)
x ListasTabu Seleção
Mutação
Módulo GATABU
Similaridade:– Genótipo - quantidade de atributos similares ou
id₨nticos na regra;– Fenótipo - quantidade de registros corretamente
classificados pela regra.
Cruzamento em dois pontos;
Mutação:– Escolhe aleatoriamente um dos atributos e altera o
valor de acordo com os valores pré-definidos no módulo de configuração.
Módulo Regras Extraídas
Reúne em um só conjunto as regras armazenadas nas Listas Longas para verificação da precisão do classificador;
Ordena de uma maneira apropriada;
Elimina regras que não cobrem nenhum exemplo no conjunto de treinamento;
Classe padrão será aquela que possuir mais registros não cobertos pelas regras;
Avalia as regras verdadeiras na base de teste;
Conjuntos de dados analisados (UCI) (LIM;LOH;SHIH,1999;LOPES;POZO,2001)
D - atributo discreto, C - atributo continuo, + dados com ruídos
Experimentos Realizados
302435VOT+162435VOT51031855SMO+5331855SMO
152532PID+72532PID152345BLD+62345BLD
Atributos
(C)
Atributos
(D)
ClassesTam.Nome
Resultados Obtidos
00:16:5800:01:56Tempo (hh:mm:ss)44Distância
200200Popula₤₧o0,30500,3050Taxa de erro
103Regras encontradas
FenótipoGenótipo
Similaridade aplicada no conjunto de dados Smoke
Distância 4 – Genótipo: corresponde a quantidade de atributos iguais– Fenótipo: percentual de indivíduos cobertos (4 = 40%)
Resultados Obtidos – Precisão
0,25530,24860,23270,30750,2151MEDIA0,04550,06110,04690,06620,0412VOT+0,05030,05820,04570,05800,0364VOT0,30500,30680,30500,41100,3050SMO+0,30500,30080,30500,42400,3040SMO0,27050,27780,25000,31800,2210PID+0,25760,25930,23800,31000,2210PID0,42190,34750,34900,44100,3130BLD+0,38620,37750,32200,43200,2790BLD
MedianaMedianaMediana
Max.MinNomeGADBMSLOPES;POZOSHIHLOH;LIM;
– GADBMS obteve taxa de erro de 0,2553.
– Comparado à taxa de erro dos 23 algoritmos apresentados por (LIM; LOH; SHIH, 1999; LOPES; POZO, 2001),que obtiveram taxa de erro de 0.2151 e 0.2486, GADBMS não é estatisticamente diferente desses algoritmos ao nível de 10%, pois a diferença entre eles não é maior que 0,058 (M₫todo Tukey).
– De acordo com a análise de rank, GADBMS obteve a posição 15,2. Segundo HOLLANDER (1999), a diferença na m₫dia dos ranks maior que 8.7 ₫ estatisticamente significante ao nivel de 10%. Dos 22 algoritmos (LIM;LOH,SHIH,1999) a melhor posição ficou com o algoritmo QL1 (7,6) e a pior posição ficou com o algoritmo IB (19,1).
Resultados Obtidos
Conclusões
Com o GADBMS as regras podem ser encontradas em apenas uma execução;
Uso de comandos SQL possibilita a execução do classificador em bases de dados relacionais;
Mostrou efici₨ncia trabalhando com populações pequenas;
Se encontrada uma função de aptidão adequada ao problema tratado, a precisão pode ser melhorada;
A medida de similaridade também mostra ser um parâmetro importante na busca das regras;
A classificação utilizando regras tem a vantagem de ser facilmente compreendida por humanos.
Trabalhos Futuros
Executar a ferramenta em conjuntos maiores de dados, analisando tamb₫m o tempo de execução e as regras encontradas;
Utilizar novos conjuntos de parâmetros e funções de aptidão que possam vir a aumentar a precissão do classificador;
Encontrar uma medida de distância adequada que possa ser aplicada indiferente aos tipos de atributos que estão sendo avaliados;
Utilizar novas heurísticas na busca das regras, como a utilização da Evolução Cooperativa.
Programação Genética Programação Genética (PG): método
de indução de programas baseado na seleção natural das espécies.
Objetivo: evoluir uma população de programas candidatos à solução de um dado problema.
Função de aptidão ao ambiente (fitness): mede a habilidade de um programa para resolver um problema
Funcionamento da PG É feito iterativamente em quatro etapas:
1. Gera-se população inicial de programas de forma aleatória
2. Avaliação dos programas (função de aptidão)
3. Com base nos valores de aptidão, programas sofrem ação de operadores genéticos: reprodução, cruzamento, mutação
4. Aplicação dos operadores genéticos segue até que uma nova população tenha sido gerada
F = { + , - , * , / }
T = { x, 2 }
Árvore de Sintaxe Abstrata de x*x+2
+
*
X X
2
Exemplo de criação de programa Terminais: T={A,B,C} Fun₤ões: F={+,*,
%,If,Lte} Come₤e com + e 2arg Continue com * e 2arg Complete com terminais
A,B,C O resultado é um prog.
Executavel, Closed
+
+
*
+
*A B
C
Mutuação 2 tipos de mutuções são possiveis Uma função pode substituir uma
função ou um terminal pode substituir outro;
Um subtree pode ser substituido o novo subtree é gerado aleatoriamente ao igual que a população inicial.
Implementação Lil-gp: ferramenta de PG Problema da Formiga de Santa
Fé
Melhorando a Taxa de Erro na Tarefa de Classificação
Celso Yoshikazu Ishida, Dra. Aurora T. R. Pozo [email protected], [email protected]
Departamento de Informática, Universidade Federal do Paraná,
Centro Politécnico, Jardim das Americas81531-970 Curitiba - PR, Brazil
Resumo Introdução Objetivos do Trabalho DM, Classificação GGP GPSQL Miner Experimentos Conclusão
Mineração A atual “era da informação” é
caracterizada por uma expansão extraordinária do volume de dados.
Esta situação tem gerado demandas por novas técnicas e ferramentas que, com eficiência, transformem os dados armazenados e processados em conhecimento útil.
Classificação Dado um conjunto de instâncias. A tarefa de classificação encontra
uma descrição lógica (modelo) para um atributo objetivo a partir de um conjunto de atributos descritores.
Tabela: Cliente Alias: C
Tabela: Venda Alias: V
Tabela: TipoComputador Alias: T
Cli Estuda Trabalha Cli Comp Preço
Venda R$ Comp Tipo
(goal) Preço (R$)
1 Sim Sim 1 C20 1100 C10 Laptop 2000 2 Não Sim 1 C30 400 C20 Desktop 1000 3 Sim Não 2 C10 2000 C21 Desktop 3000 4 Sim Não 2 C20 1100 C30 HandHeld 500
2 C21 3100 3 C30 400
IF C.Estuda = ‘Não’ and C.Trabalha = ‘Sim’ and V.PrecoVenda = T.Preco THEN T.Tipo = ‘Laptop’ELSE IF C.Trabalha = ‘Sim’ and T.Preco < V.PrecoVenda THEN T.Tipo = ‘Desktop’ELSE IF C.Estuda = ‘Sim’ and T.Preco > V.PrecoVenda THEN T.Tipo = ‘Handheld’
GPSQL Miner ?Classificação em SGBD com GGP
GP - Genetic Programming SQL - formato do classificador é SQL Miner - ferramenta para mineração
de dados
GPSQL Miner – GP ? Porque utilizar GP ? Manipula dados inválidos e imprecisos.
São dados que podem impossibilitar a um algoritmo encontrar uma solução adequada para o problema.
Fácil adaptação a diferentes aplicações Procura paralela implícita pelo espaço de
busca
Automatizar o processo Uma vez que o sistema gera
automaticamente a gramática de acordo com a base de dados
Para gerar apenas soluções válidas (indivíduos)
Orientar operações genéticas
GPSQL Miner – GGP ? Porque GGP ?
GPSQL Miner Porque utilizar SGBD ?
R: Para aproveitar as vantagens: [Freitas] Informações em SGBD (DataWarehouse) Re-utilização e redundância Recursos SGBD:
Escalabilidade Controle de segurança e privacidade Paralelismo (Parallel SQL Servers)
GPSQL Miner Porque utilizar SGBD ?
Definição da gramática de acordo com o problema através da pesquisa de informações na base de dados
Possibilitando a geração automática de classificadores
GPSQL-MinerIF C.Estuda = ‘Não’ and C.Trabalha = ‘Sim’ and V.PrecoVenda = T.Preco THEN T.Tipo = ‘Laptop’ELSE IF C.Trabalha = ‘Sim’ and T.Preco < V.PrecoVenda THEN T.Tipo = ‘Desktop’ELSE IF C.Estuda = ‘Sim’ and T.Preco > V.PrecoVenda THEN T.Tipo = ‘Handheld’
S ‘Laptop’ W C.Estuda = ‘Não’ and C.Trabalha = ‘Sim’ and V.PrecoVenda = T.Preco S ‘Desktop’ W C.Trabalha = ‘Sim’ and T.Preco < V.PrecoVenda S ‘Handheld’ W C.Estuda = ‘Sim’ and T.Preco > V.PrecoVenda
Programação Genética Usa um processo de evolução
baseado em Darwin para inducir programas
Inspirados na Teoria da Evolução: os indivíduos mais adaptados sobrevivem
Algoritmos Evolucionarios Uma população de individuos A noção de fitness Um ciclo de nascimento e morte
baseados na fitness A noção de herança
Grammar Based Genetic Programming
Arquivo BNF para base de dados de vendas de computadores. 1 Start ::= <classifier> 2 <classifier> ::= <r> <r> <r> 3 <r> ::= S <goal> W <cond> | S <goal> W <cond> and <cond> | S <goal> W <cond> and <cond> and <cond> 4 <goal> ::= ‘Laptop’ | ‘Desktop’ | ‘Handheld’ 5 <cond> ::= C.Estuda = <boolean> | C.Trabalha = <boolean> | T.Preco <Noperator> <value_T.P> | V.PrecoVenda <Noperator> <value_V.PV> 6 <value_T.P> ::= V.PrecoVenda | 500 | 1000 | 2000 | 3000 | random( 400, 3100) 7 <value_V.PV> ::= T.Preco | 500 | 1000 | 2000 | 3000 | random( 400, 3100) 8 <boolean> ::= ‘Sim’ | ‘Não’ 9 <Noperator> ::= = | != | < | > | <= | >=
Qualidade Classificador Capacidade de compreensão do conhecimento descoberto
Tamanho Classificador Número de Regras Simplificação do Classificador
Critérios subjetivos Taxa de Erro
GPSQL MinerSQL-BNFSQL
ParametersBNF File
GP Config File
Oracle OracleEvaluate
Crossover Statistics File
Mutation Statistics File
SQL Parameter File//TablesP -> PessoaCom -> Endereco//GoalColumn -> CompraTable -> L//ColumnsColumn -> L.GENEROColumn -> L.PAISColumn -> L.IDADE
Experimentos Comparação com 33 algoritmos
22 algoritmos de árvore de decisão 9 clássicos e modernos algoritmos
estatísticos 2 algoritmos de redes neurais
Databases: 16 databases 8 com ruído ‘+’
Execução Cada Database foi executado 10
vezes 10 sub-conjuntos distintos (ten-fold cross-
validation) Train 90% e Test 10% Calculado o Accuracy do melhor indivíduo
de cada Run Calculado a média de Accuracy
Comparação Foi feita a transformação de variáveis
sugerida por [Box & Cox 1964] devido ao fato que as variâncias não se mostraram homogêneas.
Detectou-se uma relação positiva entre as médias da variável resposta e a variabilidade dadas mesmas.
Box, G.E.P. and Cox, D.R.(1964) An analysis of transformations. JRSS B 26:211-246.
Comparação A transformação Box-Cox tornou as
variâncias homogêneas de acordo com os pressupostos das análises.
Para comparação das médias foi utilizada a análise de variância para o modelo em blocos ao acaso e o teste de Tukey para comparação das médias.
Programa R - http://www.r-project.org/
Conclusão Utilização SGBD ajuda na criação do
arquivo BNF de acordo com cada base GPSQL Miner:
Boa representação de conhecimento para problemas de Classificação
É melhor do que XX algoritmos com 95% de segurança
Arquivos de estatísticas podem ser usados para melhorar a própria ferramenta
Trabalhos Futuros Aplicação em outros domínios Melhorar performance (tempo) Adaptação automática de parâmetros Melhorar a Accuracy
Criar outros operadores genéticos (dropping conditional)
Melhorar os pontos de crossover e mutação Descoberta automática do número de
regras