Fundamentação Teórica AGs: Algoritmos de busca baseados nos mecanismos de seleçãoo natural e...

Post on 07-Apr-2016

221 views 5 download

Transcript of Fundamentação Teórica AGs: Algoritmos de busca baseados nos mecanismos de seleçãoo natural e...

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

Melhorando a Taxa de Erro na Tarefa de Classificação

Celso Yoshikazu Ishida, Dra. Aurora T. R. Pozo celsoishida@ig.com.br, aurora@inf.ufpr.br

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