91
Algoritmos Bio-inspirados Conceitos e Aplicações em Aprendizado de Máquina Gisele L. Pappa Departamento de Ciência da Computação Universidade Federal de Minas Gerais [email protected]

Algoritmos Bio-inspirados - homepages.dcc.ufmg.brhomepages.dcc.ufmg.br/~glpappa/cverao/CursoVerao-Parte2.pdf · Algoritmo de Classificação Filtro Wrapper. Seleção de Atributos

  • Upload
    vunhan

  • View
    220

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Algoritmos Bio-inspirados - homepages.dcc.ufmg.brhomepages.dcc.ufmg.br/~glpappa/cverao/CursoVerao-Parte2.pdf · Algoritmo de Classificação Filtro Wrapper. Seleção de Atributos

Algoritmos Bio-inspirados

Conceitos e Aplicaçõesem Aprendizado de Máquina

Gisele L. PappaDepartamento de Ciência da Computação

Universidade Federal de Minas [email protected]

Page 2: Algoritmos Bio-inspirados - homepages.dcc.ufmg.brhomepages.dcc.ufmg.br/~glpappa/cverao/CursoVerao-Parte2.pdf · Algoritmo de Classificação Filtro Wrapper. Seleção de Atributos

Parte 2 (Continuação): Aprendizado de Máquina e

Mineração de Dados

Page 3: Algoritmos Bio-inspirados - homepages.dcc.ufmg.brhomepages.dcc.ufmg.br/~glpappa/cverao/CursoVerao-Parte2.pdf · Algoritmo de Classificação Filtro Wrapper. Seleção de Atributos

Mineração de Dados:Foco em Classificação

Page 4: Algoritmos Bio-inspirados - homepages.dcc.ufmg.brhomepages.dcc.ufmg.br/~glpappa/cverao/CursoVerao-Parte2.pdf · Algoritmo de Classificação Filtro Wrapper. Seleção de Atributos

Classificação

• Conjunto de exemplos cuja classe é conhecida

• Induz um modelo a partir dos exemplos de treinamento

– Modelo define como o conhecimento será representado

• Testa o modelo em um conjunto de teste, diferente do conjunto de treinamento

• 2 fases: treinamento e teste

Page 5: Algoritmos Bio-inspirados - homepages.dcc.ufmg.brhomepages.dcc.ufmg.br/~glpappa/cverao/CursoVerao-Parte2.pdf · Algoritmo de Classificação Filtro Wrapper. Seleção de Atributos

Dados de

Treinamento

NAME RANK YEARS TENURED

Mike Assistant Prof 3 no

Mary Assistant Prof 7 yes

Bill Professor 2 yes

Jim Associate Prof 7 yes

Dave Assistant Prof 6 no

Anne Associate Prof 3 no

Algoritmos de

Classificação

IF rank = ‘professor’

OR years > 6

THEN tenured = ‘yes’

Classificador

(Modelo)

Fase 1:Treinamento

Page 6: Algoritmos Bio-inspirados - homepages.dcc.ufmg.brhomepages.dcc.ufmg.br/~glpappa/cverao/CursoVerao-Parte2.pdf · Algoritmo de Classificação Filtro Wrapper. Seleção de Atributos

Classificador

Dados de

Teste

NAME RANK YEARS TENURED

Tom Assistant Prof 2 no

Merlisa Associate Prof 7 no

George Professor 5 yes

Joseph Assistant Prof 7 yes

Dados Novos

(Jeff, Professor, 4)

Tenured?

Fase 2: Teste

Page 7: Algoritmos Bio-inspirados - homepages.dcc.ufmg.brhomepages.dcc.ufmg.br/~glpappa/cverao/CursoVerao-Parte2.pdf · Algoritmo de Classificação Filtro Wrapper. Seleção de Atributos

Tipos de Modelos de Classificação

• Modelos de conhecimento compreensível– Regras de decisão

– Árvore de decisão

– Redes Bayesianas

• Modelos “caixa preta”– SVMs (Support Vector Machines)

– Redes neurais

– KNN

• Algoritmos evolucionários podem ser usados para gerar os 2 tipos de modelos

Page 8: Algoritmos Bio-inspirados - homepages.dcc.ufmg.brhomepages.dcc.ufmg.br/~glpappa/cverao/CursoVerao-Parte2.pdf · Algoritmo de Classificação Filtro Wrapper. Seleção de Atributos

Algoritmos de Indução de Regras

• Geram modelos do tipo

SE (deitado na carteira = verdadeiro)

ENTÃO AULA_RUIM

..............

SE (perguntas > 5)

ENTÃO AULA_BOA

Page 9: Algoritmos Bio-inspirados - homepages.dcc.ufmg.brhomepages.dcc.ufmg.br/~glpappa/cverao/CursoVerao-Parte2.pdf · Algoritmo de Classificação Filtro Wrapper. Seleção de Atributos

Avaliação dos algoritmos de classificação

Page 10: Algoritmos Bio-inspirados - homepages.dcc.ufmg.brhomepages.dcc.ufmg.br/~glpappa/cverao/CursoVerao-Parte2.pdf · Algoritmo de Classificação Filtro Wrapper. Seleção de Atributos

Avaliação

• Normalmente é feita utilizando a taxa de acerto ou acurácia

– Problemas com classes não-balanceadas

• Outras métricas mais pertinentes

– Sensitividade

– Especificidade

– Precisão

– F1

Page 11: Algoritmos Bio-inspirados - homepages.dcc.ufmg.brhomepages.dcc.ufmg.br/~glpappa/cverao/CursoVerao-Parte2.pdf · Algoritmo de Classificação Filtro Wrapper. Seleção de Atributos

Acurácia – Taxa de erros

• Acc(M) = porcentagem dos exemplos de teste quesão corretamente classificadas.

• Err(M) = 1 – Acc(M)

• Matriz de Confusão

C1 C2

C1 Positivos

verdadeiros

Falsos

Negativos

C2 Falsos

Positivos

Negativos

verdadeiros

Classes Preditas

Classes Reais

Page 12: Algoritmos Bio-inspirados - homepages.dcc.ufmg.brhomepages.dcc.ufmg.br/~glpappa/cverao/CursoVerao-Parte2.pdf · Algoritmo de Classificação Filtro Wrapper. Seleção de Atributos

Classes “não-balanceadas”

Exemplo : acc(M) = 90%

C1 = tem-câncer (4 pacientes)

C2 = não-tem-câncer (500 pacientes)

• Classificou corretamente 454 pacientes que não tem câncer

• Não acertou nenhum dos que tem câncer

• Pode ser considerado como “bom classificador”

mesmo com acurácia alta ?

Page 13: Algoritmos Bio-inspirados - homepages.dcc.ufmg.brhomepages.dcc.ufmg.br/~glpappa/cverao/CursoVerao-Parte2.pdf · Algoritmo de Classificação Filtro Wrapper. Seleção de Atributos

Medidas para classificadores (classes não-balanceadas)

Sensitividade (recall) = true-pos pos

Especificidade = true-negneg

Precisão = true-pos true-pos + falso-pos

% pacientes classificados corretamente

como positivos dentre todos os que foram classificados como positivos

% pacientes classificados corretamente

como positivos dentre todos os que realmente são positivos

Precisão e Recall : medidas originadas em Recuperação de Informação

utilizadas em Classificação, quando se lida com “classes não-balanceadas”

Page 14: Algoritmos Bio-inspirados - homepages.dcc.ufmg.brhomepages.dcc.ufmg.br/~glpappa/cverao/CursoVerao-Parte2.pdf · Algoritmo de Classificação Filtro Wrapper. Seleção de Atributos

Medida F1 : Média harmônica de Precisão e Recall

• Média harmônica entre dois números x e y tende a ser próxima de min(x,y)

• F1 alto implica que precisão e recall são razoavelmente altos.

r + pF1 =

2 rp

Page 15: Algoritmos Bio-inspirados - homepages.dcc.ufmg.brhomepages.dcc.ufmg.br/~glpappa/cverao/CursoVerao-Parte2.pdf · Algoritmo de Classificação Filtro Wrapper. Seleção de Atributos

Parte 3:Algoritmos Evolucionários em

Mineração de Dados

Page 16: Algoritmos Bio-inspirados - homepages.dcc.ufmg.brhomepages.dcc.ufmg.br/~glpappa/cverao/CursoVerao-Parte2.pdf · Algoritmo de Classificação Filtro Wrapper. Seleção de Atributos

AEs e Mineração de Dados

Conjunto de Treinamento

Algoritmo de Classificação

Modelo de Classificação

Conjunto de Teste

AEs para evoluir

algoritmos

AEs para evoluir

modelos

AEs para evoluir

dados

Esquema básico de execução da tarefa de classificação

Page 17: Algoritmos Bio-inspirados - homepages.dcc.ufmg.brhomepages.dcc.ufmg.br/~glpappa/cverao/CursoVerao-Parte2.pdf · Algoritmo de Classificação Filtro Wrapper. Seleção de Atributos

Sumário

• Algoritmos Genéticos para Seleção de Atributos

• Algoritmos Genéticos e Programação Genética para Classificação

– AGP

– Credibilidade

• Programação Genética para Criação de Algoritmos de Indução de Regras

Page 18: Algoritmos Bio-inspirados - homepages.dcc.ufmg.brhomepages.dcc.ufmg.br/~glpappa/cverao/CursoVerao-Parte2.pdf · Algoritmo de Classificação Filtro Wrapper. Seleção de Atributos

Algoritmo Genético para Seleção de Atributos

Page 19: Algoritmos Bio-inspirados - homepages.dcc.ufmg.brhomepages.dcc.ufmg.br/~glpappa/cverao/CursoVerao-Parte2.pdf · Algoritmo de Classificação Filtro Wrapper. Seleção de Atributos

Seleção de Atributos em dados de alta dimensão

• 2 abordagens principais:

– Filtro (independe do classificador)

– Wrapper (dependente do classificador)

Dados de Treinamento

Algoritmo de Seleção

Atributos Selecionados

Dados de Treinamento

Algoritmo de Seleção

Atributos Selecionados

Algoritmo de Classificação

Filtro Wrapper

Page 20: Algoritmos Bio-inspirados - homepages.dcc.ufmg.brhomepages.dcc.ufmg.br/~glpappa/cverao/CursoVerao-Parte2.pdf · Algoritmo de Classificação Filtro Wrapper. Seleção de Atributos

Seleção de Atributos Wrapper em Imagens Médias

• 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 extraídos de imagens

– Pré-processamento• Seleção de atributos com algoritmos genéticos

Page 21: Algoritmos Bio-inspirados - homepages.dcc.ufmg.brhomepages.dcc.ufmg.br/~glpappa/cverao/CursoVerao-Parte2.pdf · Algoritmo de Classificação Filtro Wrapper. Seleção de Atributos

Antes do Tratamento 2 ciclos de quimio 4 ciclos de quimio

Page 22: Algoritmos Bio-inspirados - homepages.dcc.ufmg.brhomepages.dcc.ufmg.br/~glpappa/cverao/CursoVerao-Parte2.pdf · Algoritmo de Classificação Filtro Wrapper. Seleção de Atributos

Representação dos indivíduos

• Utilizando um vetor de bits, onde cada posiçãorepresenta a presença ou ausência de um atributo

• Fitness– A cada geração o algoritmo de classificação é

executado e avaliado

• Operadores genéticos padrão

Page 23: Algoritmos Bio-inspirados - homepages.dcc.ufmg.brhomepages.dcc.ufmg.br/~glpappa/cverao/CursoVerao-Parte2.pdf · Algoritmo de Classificação Filtro Wrapper. Seleção de Atributos

Esquema do algoritmo implementado

PopulaçãoInicial

Seleção

ReproduçãoNova

População

Fitness

Critério de paradasatisfeito?

Não

Sim

Crossover

Mutação

pcross

preprod

pmut

Retorna melhor solução

Fitness

Page 24: Algoritmos Bio-inspirados - homepages.dcc.ufmg.brhomepages.dcc.ufmg.br/~glpappa/cverao/CursoVerao-Parte2.pdf · Algoritmo de Classificação Filtro Wrapper. Seleção de Atributos

FitnessDados de

treinamento

Seleção dos atributos

ClassificadorDados de

treinamentomodificados

Dados devalidação

Modelo

Métrica deQualidade

Fitness

Page 25: Algoritmos Bio-inspirados - homepages.dcc.ufmg.brhomepages.dcc.ufmg.br/~glpappa/cverao/CursoVerao-Parte2.pdf · Algoritmo de Classificação Filtro Wrapper. Seleção de Atributos

Vantagens e desvantagens

• Vantagens

– Consideram interações entre os atributos

– Busca global

• Desvantagens

– Tempo computacional (acontece com qualquer método wraper)

Page 26: Algoritmos Bio-inspirados - homepages.dcc.ufmg.brhomepages.dcc.ufmg.br/~glpappa/cverao/CursoVerao-Parte2.pdf · Algoritmo de Classificação Filtro Wrapper. Seleção de Atributos

Algoritmos Evolucionários em Clasificação

Page 27: Algoritmos Bio-inspirados - homepages.dcc.ufmg.brhomepages.dcc.ufmg.br/~glpappa/cverao/CursoVerao-Parte2.pdf · Algoritmo de Classificação Filtro Wrapper. Seleção de Atributos

Muita coisa já foi feita…

• Tanto algoritmos genéticos quanto programação genética podem ser utilizadas

• Os tipos de modelos que podem ser representados variam, sendo os mais comuns:

– Árvores de decisão

– Regras de decisão

– Funções matemáticas

Page 28: Algoritmos Bio-inspirados - homepages.dcc.ufmg.brhomepages.dcc.ufmg.br/~glpappa/cverao/CursoVerao-Parte2.pdf · Algoritmo de Classificação Filtro Wrapper. Seleção de Atributos

Exemplo de representação - GA

• Utilizando um conjunto de regras em GA

• 2 abordagens principais– Pittsburgh

• Indivíduo representa um conjunto de regras

– Michigan• Indivíduo representa uma regra

• Classe normalmente é mantida fixa

• Atributos são representados– De forma binária

– Utilizando uma codificação de alto nível

Page 29: Algoritmos Bio-inspirados - homepages.dcc.ufmg.brhomepages.dcc.ufmg.br/~glpappa/cverao/CursoVerao-Parte2.pdf · Algoritmo de Classificação Filtro Wrapper. Seleção de Atributos

Exemplo de representação - GA

• Atributos com codificação binária– Atributos categóricos recebem um bit para cada valor

possível que podem assumir• ESTADO CIVIL: casado, solteiro, divorciado, viúvo

– Representados por 4 bits 0000

– 2 bits podem estar ativos simbolizando um OR

– Todos os bits ativos excluem automaticamente a condição da regra

– Atributos contínuos são discretizados (dividido em intervalos) e modelados como categóricos

• Idade dividida em 5 intervalos:

0-18, 19-25, 26-40, 41-70, 70-..., representada por 5 bits

Page 30: Algoritmos Bio-inspirados - homepages.dcc.ufmg.brhomepages.dcc.ufmg.br/~glpappa/cverao/CursoVerao-Parte2.pdf · Algoritmo de Classificação Filtro Wrapper. Seleção de Atributos

Exemplo de representação - GA

• Atributos com codificação de alto nível– Cada gene representa uma condição da regra, dividida

em 3 partes• Atributo Operador Valor (ex: idade > 18)

• Um bit extra pode ser incluído para tornar o tamanho do genoma variável

– Classe definida pela maioria de exemplos que obedecem a regra

Sexo = Masculino Salário = Alto Idade > 18

Sexo = Masculino 1 Salário = Alto 0 Idade > 18 1

Page 31: Algoritmos Bio-inspirados - homepages.dcc.ufmg.brhomepages.dcc.ufmg.br/~glpappa/cverao/CursoVerao-Parte2.pdf · Algoritmo de Classificação Filtro Wrapper. Seleção de Atributos

Exemplo de representação - GP

• Utilizando GP

– Regras de decisão

Idade >= 25

Sexo = F

And

Or

Casado= Sim

Se ((idade >= 25) E (sexo = feminino) ) OU (casado = sim) então Classe mais frequente nos dados

Page 32: Algoritmos Bio-inspirados - homepages.dcc.ufmg.brhomepages.dcc.ufmg.br/~glpappa/cverao/CursoVerao-Parte2.pdf · Algoritmo de Classificação Filtro Wrapper. Seleção de Atributos

Exemplo de representação - GP

• Utilizando GP• Funções matemáticas (para bases apenas com

atributos numéricos e classes binárias)

• Classe determinada aplicando um limiar sobre o resultado retornado pelo indivíduo– Ex: Todos exemplos com valor > 0.5 pertencem a classe 1

valor < 0.5 são classe 2

Tamanho 4

*

+

Largura

Page 33: Algoritmos Bio-inspirados - homepages.dcc.ufmg.brhomepages.dcc.ufmg.br/~glpappa/cverao/CursoVerao-Parte2.pdf · Algoritmo de Classificação Filtro Wrapper. Seleção de Atributos

Tipos de Representação

• Baseada em aplicação

– Classificação de documentos. Atributos binários

Page 34: Algoritmos Bio-inspirados - homepages.dcc.ufmg.brhomepages.dcc.ufmg.br/~glpappa/cverao/CursoVerao-Parte2.pdf · Algoritmo de Classificação Filtro Wrapper. Seleção de Atributos

34

Exemplo de Representação

• Vetor binário representando termos quedevem estar presentes ou ausentes nosdocumentos representados por aquela classe

• A classe de um exemplo e é determinanda de acordo com a expressão abaixo:

Page 35: Algoritmos Bio-inspirados - homepages.dcc.ufmg.brhomepages.dcc.ufmg.br/~glpappa/cverao/CursoVerao-Parte2.pdf · Algoritmo de Classificação Filtro Wrapper. Seleção de Atributos

Inicialização não-aleatória da população

• Para classificação, a inicialização aleatório não faz muito sentido. Por que?

• Gerar indivíduos representando dados que não aparecem na base é um desperdício de memória e tempo de avaliação de fitness

• Inicializa-se indivíduos a partir de exemplos presentes no conjunto de treinamento

Page 36: Algoritmos Bio-inspirados - homepages.dcc.ufmg.brhomepages.dcc.ufmg.br/~glpappa/cverao/CursoVerao-Parte2.pdf · Algoritmo de Classificação Filtro Wrapper. Seleção de Atributos

Operadores específicos

• Existem 2 operadores específicos para o caso de indução de regras

– Especialização

• Adiciona uma (ou mais) condição a regra ou altera valor de atributo numérico

– Generalização

• Remove uma (ou mais) condição da regra

Sexo = Masculino Salário = Alto Idade > 40

Sexo = Masculino Salário = Alto Idade > 18 Graduado = Sim

Sexo = Masculino Idade > 18

Page 37: Algoritmos Bio-inspirados - homepages.dcc.ufmg.brhomepages.dcc.ufmg.br/~glpappa/cverao/CursoVerao-Parte2.pdf · Algoritmo de Classificação Filtro Wrapper. Seleção de Atributos

AGP

Active Learning Genetic Programming

CEC 2010

Page 38: Algoritmos Bio-inspirados - homepages.dcc.ufmg.brhomepages.dcc.ufmg.br/~glpappa/cverao/CursoVerao-Parte2.pdf · Algoritmo de Classificação Filtro Wrapper. Seleção de Atributos

Contexto

• A maioria dos algoritmos seguem umaabordagem supervisionada– Todos os exemplos de treinamento são rotulados

• Em alguns aplicações, obter dados rotulados é uma tarefa muito cara– Deduplicação de dados, análise de sentimentos, etc

• Abordagem alternativa: apredizado semi-supervisionado– Combina dados rotulados e não rotulados

– Pode ser feito através de aprendizado ativo

Page 39: Algoritmos Bio-inspirados - homepages.dcc.ufmg.brhomepages.dcc.ufmg.br/~glpappa/cverao/CursoVerao-Parte2.pdf · Algoritmo de Classificação Filtro Wrapper. Seleção de Atributos

Aprenzizado Supervisionado

Page 40: Algoritmos Bio-inspirados - homepages.dcc.ufmg.brhomepages.dcc.ufmg.br/~glpappa/cverao/CursoVerao-Parte2.pdf · Algoritmo de Classificação Filtro Wrapper. Seleção de Atributos

Aprendizado Ativo

Page 41: Algoritmos Bio-inspirados - homepages.dcc.ufmg.brhomepages.dcc.ufmg.br/~glpappa/cverao/CursoVerao-Parte2.pdf · Algoritmo de Classificação Filtro Wrapper. Seleção de Atributos

Aprendizado Ativo

• Técnica para amostragem de dados– Seleciona os exemplos mais informativos

– Em aprendizado ativo, eles serão rotulados por um oráculo, que pode ser o usuário

• Desafio: como escolher esses exemplos?

• 3 técnica mais utilizadas:– Escolher os exemplos que o classificador tem menos

certeza na classificação

– Escolher os exemplos que causam a maior redução de erro

– Consultar um comitê de classificadores

Page 42: Algoritmos Bio-inspirados - homepages.dcc.ufmg.brhomepages.dcc.ufmg.br/~glpappa/cverao/CursoVerao-Parte2.pdf · Algoritmo de Classificação Filtro Wrapper. Seleção de Atributos

Aprendizado Ativo e GP

• Já foram utilizados juntos no contexto de aprendizado supervisionado para reduzir o tempo de treinamento -> tempo necessáriopara calcular a fitness

– Seleção utilizando histórico

– Seleção dinâmica

• Proposta: utilizar GP e aprendizado ativo para reduzir o custo de rotulação de dados

Page 43: Algoritmos Bio-inspirados - homepages.dcc.ufmg.brhomepages.dcc.ufmg.br/~glpappa/cverao/CursoVerao-Parte2.pdf · Algoritmo de Classificação Filtro Wrapper. Seleção de Atributos

Deduplicação de dados

• Identificar registros diferentes em uma base de dados que se referem a mesma entidadedo mundo real

• Motivação:

– Repositórios de dados são enormes

– É difícil até para humanos identificarem réplicas se não tiverem informação suficiente disponível

Page 44: Algoritmos Bio-inspirados - homepages.dcc.ufmg.brhomepages.dcc.ufmg.br/~glpappa/cverao/CursoVerao-Parte2.pdf · Algoritmo de Classificação Filtro Wrapper. Seleção de Atributos

Deduplicação de dados

• Realizada em 3 etapas:

– Gera os pares de registro

– Calcula a similaridade entre os pares

– Classifica os pares como réplicas ou não, de acordo com sua similaridade ou um modeloaprendido a partir dos dados

Page 45: Algoritmos Bio-inspirados - homepages.dcc.ufmg.brhomepages.dcc.ufmg.br/~glpappa/cverao/CursoVerao-Parte2.pdf · Algoritmo de Classificação Filtro Wrapper. Seleção de Atributos

GP para Aprendizado Ativo

• Objetivo: programação genética irá explorarcombinações de funções de similaridade entre oscampos do registro, e aprender um modelo

• Exemplo

Nome Idade Cidade Sexo

R1 João Silva 34 Belo Horizonte Masculino

R2 J. Silva 34 BH Masculino

Dist 0.01 0 0.1 0

R1 e R2 se referem a mesma pessoa?

Page 46: Algoritmos Bio-inspirados - homepages.dcc.ufmg.brhomepages.dcc.ufmg.br/~glpappa/cverao/CursoVerao-Parte2.pdf · Algoritmo de Classificação Filtro Wrapper. Seleção de Atributos

Indivíduo

• Cada indivíduo está associado a um peso wf

• Cada registro está associado a um peso wp

Page 47: Algoritmos Bio-inspirados - homepages.dcc.ufmg.brhomepages.dcc.ufmg.br/~glpappa/cverao/CursoVerao-Parte2.pdf · Algoritmo de Classificação Filtro Wrapper. Seleção de Atributos

AGP

Page 48: Algoritmos Bio-inspirados - homepages.dcc.ufmg.brhomepages.dcc.ufmg.br/~glpappa/cverao/CursoVerao-Parte2.pdf · Algoritmo de Classificação Filtro Wrapper. Seleção de Atributos

Avaliação da fitness

• Realizada depois do treinamento

– Na primeira geração, apenas pares rotulados são considerados

– A partir da segunda geração, todos os pares são considerados

• A classificação do comitê ou do usuário (se o comitê não chega a um acordo) é considerada correta

• Comitês e outros indivíduos da população são avaliados em momentos diferentes

Page 49: Algoritmos Bio-inspirados - homepages.dcc.ufmg.brhomepages.dcc.ufmg.br/~glpappa/cverao/CursoVerao-Parte2.pdf · Algoritmo de Classificação Filtro Wrapper. Seleção de Atributos

Avaliação da fitness

F1 F2

Dado um conjunto de indivíduos que não estão presentes no comitê:

F1 F2

• Se classificado corretamente como réplica, ganha um ponto• Se classificado incorretamente como não-réplica, perde um ponto

Page 50: Algoritmos Bio-inspirados - homepages.dcc.ufmg.brhomepages.dcc.ufmg.br/~glpappa/cverao/CursoVerao-Parte2.pdf · Algoritmo de Classificação Filtro Wrapper. Seleção de Atributos

Votação do Comitê

Conjunto de rotulados

Page 51: Algoritmos Bio-inspirados - homepages.dcc.ufmg.brhomepages.dcc.ufmg.br/~glpappa/cverao/CursoVerao-Parte2.pdf · Algoritmo de Classificação Filtro Wrapper. Seleção de Atributos

Aprendizado por reforço

• Boas funções são aquelas que identificam réplicas, e réplicas tendem a ser corretamente identificadas por boas funções

• Wf é atualizado de acordo com o Alg. 2

Page 52: Algoritmos Bio-inspirados - homepages.dcc.ufmg.brhomepages.dcc.ufmg.br/~glpappa/cverao/CursoVerao-Parte2.pdf · Algoritmo de Classificação Filtro Wrapper. Seleção de Atributos

Experiments

• 3 bases de dados

Page 53: Algoritmos Bio-inspirados - homepages.dcc.ufmg.brhomepages.dcc.ufmg.br/~glpappa/cverao/CursoVerao-Parte2.pdf · Algoritmo de Classificação Filtro Wrapper. Seleção de Atributos

AGP versus GP

• Avaliação utilizando F-measure e o número de pares necessários para aprender

Page 54: Algoritmos Bio-inspirados - homepages.dcc.ufmg.brhomepages.dcc.ufmg.br/~glpappa/cverao/CursoVerao-Parte2.pdf · Algoritmo de Classificação Filtro Wrapper. Seleção de Atributos

AGP versus GP

Page 55: Algoritmos Bio-inspirados - homepages.dcc.ufmg.brhomepages.dcc.ufmg.br/~glpappa/cverao/CursoVerao-Parte2.pdf · Algoritmo de Classificação Filtro Wrapper. Seleção de Atributos

AGP versus Alias

Base Restaurant

• AGP aprende mais rápido• AGP se torna estável mais rápido

Page 56: Algoritmos Bio-inspirados - homepages.dcc.ufmg.brhomepages.dcc.ufmg.br/~glpappa/cverao/CursoVerao-Parte2.pdf · Algoritmo de Classificação Filtro Wrapper. Seleção de Atributos

Estimando aCredibilidade de Dados

Page 57: Algoritmos Bio-inspirados - homepages.dcc.ufmg.brhomepages.dcc.ufmg.br/~glpappa/cverao/CursoVerao-Parte2.pdf · Algoritmo de Classificação Filtro Wrapper. Seleção de Atributos

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

Page 58: Algoritmos Bio-inspirados - homepages.dcc.ufmg.brhomepages.dcc.ufmg.br/~glpappa/cverao/CursoVerao-Parte2.pdf · Algoritmo de Classificação Filtro Wrapper. Seleção de Atributos

Contexto

• Algoritmos de classificação padrão normalmente assumem que todos os dados devem contribuir igualmente para o modelo sendo criado

– Exceção: KNN (k vizinhos mais próximos)

Page 59: Algoritmos Bio-inspirados - homepages.dcc.ufmg.brhomepages.dcc.ufmg.br/~glpappa/cverao/CursoVerao-Parte2.pdf · Algoritmo de Classificação Filtro Wrapper. Seleção de Atributos

Contexto

• Objetivo: fazer com que a contribuição de um exemplo para o modelo de classificação seja dependente de uma medida que chamamos de credibilidade, que pode ser estimada através de uma função de credibilidade

Page 60: Algoritmos Bio-inspirados - homepages.dcc.ufmg.brhomepages.dcc.ufmg.br/~glpappa/cverao/CursoVerao-Parte2.pdf · Algoritmo de Classificação Filtro Wrapper. Seleção de Atributos

Credibilidade

• A credibilidade de uma entidade reflete o valor que ela agrega a uma tarefa sendo executada.

• Em classificação de documentos, por exemplo, ela reflete:– Termos

– Autores

– Citações

– Local de publicação, etc

X

Page 61: Algoritmos Bio-inspirados - homepages.dcc.ufmg.brhomepages.dcc.ufmg.br/~glpappa/cverao/CursoVerao-Parte2.pdf · Algoritmo de Classificação Filtro Wrapper. Seleção de Atributos

Fatores de Credibilidade

• Este trabalho foca em 3 fatores:

– Conteúdo

– Autoria

– Citação

• Efeito:

Page 62: Algoritmos Bio-inspirados - homepages.dcc.ufmg.brhomepages.dcc.ufmg.br/~glpappa/cverao/CursoVerao-Parte2.pdf · Algoritmo de Classificação Filtro Wrapper. Seleção de Atributos

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

Page 63: Algoritmos Bio-inspirados - homepages.dcc.ufmg.brhomepages.dcc.ufmg.br/~glpappa/cverao/CursoVerao-Parte2.pdf · Algoritmo de Classificação Filtro Wrapper. Seleção de Atributos

Função de Credibilidade

• Depois de criada, a função é incorporada a algoritmos de mineração de dados

• Algoritmos originais são comparados com versões modificadas

• Mostramos que levar em conta a credibilidade melhora o processo de classificação

Page 64: Algoritmos Bio-inspirados - homepages.dcc.ufmg.brhomepages.dcc.ufmg.br/~glpappa/cverao/CursoVerao-Parte2.pdf · Algoritmo de Classificação Filtro Wrapper. Seleção de Atributos

Resultados Experimentais

• Base de dados da ACM

Page 65: Algoritmos Bio-inspirados - homepages.dcc.ufmg.brhomepages.dcc.ufmg.br/~glpappa/cverao/CursoVerao-Parte2.pdf · Algoritmo de Classificação Filtro Wrapper. Seleção de Atributos

Resultados Experimentais

Page 66: Algoritmos Bio-inspirados - homepages.dcc.ufmg.brhomepages.dcc.ufmg.br/~glpappa/cverao/CursoVerao-Parte2.pdf · Algoritmo de Classificação Filtro Wrapper. Seleção de Atributos

Programação Genética para Criação de Algoritmos de Indução de Regras

Page 67: Algoritmos Bio-inspirados - homepages.dcc.ufmg.brhomepages.dcc.ufmg.br/~glpappa/cverao/CursoVerao-Parte2.pdf · Algoritmo de Classificação Filtro Wrapper. Seleção de Atributos

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

Page 68: Algoritmos Bio-inspirados - homepages.dcc.ufmg.brhomepages.dcc.ufmg.br/~glpappa/cverao/CursoVerao-Parte2.pdf · Algoritmo de Classificação Filtro Wrapper. Seleção de Atributos

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

Page 69: Algoritmos Bio-inspirados - homepages.dcc.ufmg.brhomepages.dcc.ufmg.br/~glpappa/cverao/CursoVerao-Parte2.pdf · Algoritmo de Classificação Filtro Wrapper. Seleção de Atributos

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

Page 70: Algoritmos Bio-inspirados - homepages.dcc.ufmg.brhomepages.dcc.ufmg.br/~glpappa/cverao/CursoVerao-Parte2.pdf · Algoritmo de Classificação Filtro Wrapper. Seleção de Atributos

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

Page 71: Algoritmos Bio-inspirados - homepages.dcc.ufmg.brhomepages.dcc.ufmg.br/~glpappa/cverao/CursoVerao-Parte2.pdf · Algoritmo de Classificação Filtro Wrapper. Seleção de Atributos

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

Page 72: Algoritmos Bio-inspirados - homepages.dcc.ufmg.brhomepages.dcc.ufmg.br/~glpappa/cverao/CursoVerao-Parte2.pdf · Algoritmo de Classificação Filtro Wrapper. Seleção de Atributos

Pruning

• Evita over-fitting dos dados

• Pruning

– pre-pruning

– pos-pruning

Page 73: Algoritmos Bio-inspirados - homepages.dcc.ufmg.brhomepages.dcc.ufmg.br/~glpappa/cverao/CursoVerao-Parte2.pdf · Algoritmo de Classificação Filtro Wrapper. Seleção de Atributos

Por que evoluir automaticamente AIR para classificação?

• Existem centenas de algoritmos de indução de regras, e a maioria deles segue uma estrutura básica, modificando apenas alguns elementos dessaestrutura. Difícil escolher qual utilizar

• Algoritmo estaria livre de bias do programador

• Criar algoritmos voltados para bases de dados específicas.

Page 74: Algoritmos Bio-inspirados - homepages.dcc.ufmg.brhomepages.dcc.ufmg.br/~glpappa/cverao/CursoVerao-Parte2.pdf · Algoritmo de Classificação Filtro Wrapper. Seleção de Atributos

PG e AIR

• PG e PG baseada em gramática já foram utilizadas para criar conjuntos de regras para bases de dados específicas

A1,A2,A3,C0, 0, 1, 11, 1, 0, 1

…. 0, 1, 0, 0

Conjunto deRegras

Algoritmode IR

Conjunto deTreinamento

A1,A2,A3,C0, 0, 1, 11, 1, 0, 1

…. 0, 1, 0, 0

Conjunto deRegras

Algoritmode IR

Conjunto deTreinamento

ProgramaçãoGenética

A1,A2,A3,C0, 0, 1, 11, 1, 0, 1

…. 0, 1, 0, 0

ProgramaçãoGenética

Conjunto deTreinamento

Conjunto deRegras

Page 75: Algoritmos Bio-inspirados - homepages.dcc.ufmg.brhomepages.dcc.ufmg.br/~glpappa/cverao/CursoVerao-Parte2.pdf · Algoritmo de Classificação Filtro Wrapper. Seleção de Atributos

NãoTerminais

TerminaisPopulaçãoInicial

Seleção

NovaPopulação

Fitness

Não

Reprodução

Crossover

Mutação

pcross

preprod

pmutSim

Retorna melhorsolução

Programação Genética

Critério de Paradasatisfeito?

Page 76: Algoritmos Bio-inspirados - homepages.dcc.ufmg.brhomepages.dcc.ufmg.br/~glpappa/cverao/CursoVerao-Parte2.pdf · Algoritmo de Classificação Filtro Wrapper. Seleção de Atributos

PG baseado em Gramática

NãoTerminais

TerminaisPopulação

InicialPG Traditional

Não

Terminais

Terminais

Regras de Produção

Símbolo Inicial

Gramática

PopulaçãoInicial

PG baseada emGramática

Page 77: Algoritmos Bio-inspirados - homepages.dcc.ufmg.brhomepages.dcc.ufmg.br/~glpappa/cverao/CursoVerao-Parte2.pdf · Algoritmo de Classificação Filtro Wrapper. Seleção de Atributos

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.

Page 78: Algoritmos Bio-inspirados - homepages.dcc.ufmg.brhomepages.dcc.ufmg.br/~glpappa/cverao/CursoVerao-Parte2.pdf · Algoritmo de Classificação Filtro Wrapper. Seleção de Atributos

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

Page 79: Algoritmos Bio-inspirados - homepages.dcc.ufmg.brhomepages.dcc.ufmg.br/~glpappa/cverao/CursoVerao-Parte2.pdf · Algoritmo de Classificação Filtro Wrapper. Seleção de Atributos

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

Page 80: Algoritmos Bio-inspirados - homepages.dcc.ufmg.brhomepages.dcc.ufmg.br/~glpappa/cverao/CursoVerao-Parte2.pdf · Algoritmo de Classificação Filtro Wrapper. Seleção de Atributos

Representação dos Indivíduos

• Indivíduos são representados por uma árvore de derivação criada utilizando-se produções da gramática.

Page 81: Algoritmos Bio-inspirados - homepages.dcc.ufmg.brhomepages.dcc.ufmg.br/~glpappa/cverao/CursoVerao-Parte2.pdf · Algoritmo de Classificação Filtro Wrapper. Seleção de Atributos

Fragamento da Gramática

<Start>::=(<CreateRuleList>|<CreateRuleSet>)

[<PostProcess>].<CreateRuleList>::=<whileLoop>

<RuleListTest>.<whileLoop>::=while <condWhile>

<FindBestRule>endWhile.

<condWhile>::=uncoveredNotEmpty |…...

SelectCandidateRules>::=1CR| 4CR|8CR.

Page 82: Algoritmos Bio-inspirados - homepages.dcc.ufmg.brhomepages.dcc.ufmg.br/~glpappa/cverao/CursoVerao-Parte2.pdf · Algoritmo de Classificação Filtro Wrapper. Seleção de Atributos

Função de Fitness

Fitness(Indij) = (Accij-DefAccj) / 1- DefAccj, se Accij > DefAccj

(Accij-DefAccj) / DefAccj, cc

Page 83: Algoritmos Bio-inspirados - homepages.dcc.ufmg.brhomepages.dcc.ufmg.br/~glpappa/cverao/CursoVerao-Parte2.pdf · Algoritmo de Classificação Filtro Wrapper. Seleção de Atributos

T e s t S e t

R u le

M o d e l

In it ia lizeP o p u la tio n

G ra m m a r

G G P In d iv id u a l

In te rfa ce G G P /Ja va

R u le In d u c tio n

A lg o r ith m

R u le M o d e l

F itn e ss

B u ild in g S e t

V a lid a tio n S e t

A ccu ra cy

In d iv id u a ls E va lu a tio n

T o u rn a m e n tS e le c tio n

R e p ro d u c tio n

M u ta tio n

C ro sso ve r

N e w P o p u la tio n

C o m p le te ?

S to p p in g C rite r io n

S a tis fie d ?

R e tu rn B e s t

In d iv id u a l

Y e s

Y e s

N o

N o

p r

p m

p c

B u ild in g S e t

V a lid a tio n S e t

Page 84: Algoritmos Bio-inspirados - homepages.dcc.ufmg.brhomepages.dcc.ufmg.br/~glpappa/cverao/CursoVerao-Parte2.pdf · Algoritmo de Classificação Filtro Wrapper. Seleção de Atributos

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

Page 85: Algoritmos Bio-inspirados - homepages.dcc.ufmg.brhomepages.dcc.ufmg.br/~glpappa/cverao/CursoVerao-Parte2.pdf · Algoritmo de Classificação Filtro Wrapper. Seleção de Atributos

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

Page 86: Algoritmos Bio-inspirados - homepages.dcc.ufmg.brhomepages.dcc.ufmg.br/~glpappa/cverao/CursoVerao-Parte2.pdf · Algoritmo de Classificação Filtro Wrapper. Seleção de Atributos

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

Page 87: Algoritmos Bio-inspirados - homepages.dcc.ufmg.brhomepages.dcc.ufmg.br/~glpappa/cverao/CursoVerao-Parte2.pdf · Algoritmo de Classificação Filtro Wrapper. Seleção de Atributos

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

Page 88: Algoritmos Bio-inspirados - homepages.dcc.ufmg.brhomepages.dcc.ufmg.br/~glpappa/cverao/CursoVerao-Parte2.pdf · Algoritmo de Classificação Filtro Wrapper. Seleção de Atributos

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?

Page 89: Algoritmos Bio-inspirados - homepages.dcc.ufmg.brhomepages.dcc.ufmg.br/~glpappa/cverao/CursoVerao-Parte2.pdf · Algoritmo de Classificação Filtro Wrapper. Seleção de Atributos

Algoritmos Evolucionários são uma alternativa interessante para resolver problemas de mineração de dados e aprendizado de

máquina

Page 90: Algoritmos Bio-inspirados - homepages.dcc.ufmg.brhomepages.dcc.ufmg.br/~glpappa/cverao/CursoVerao-Parte2.pdf · Algoritmo de Classificação Filtro Wrapper. Seleção de Atributos

Disciplina de Computação Natural

2º semestre de 2012

www.dcc.ufmg.br/~glpappa/

Page 91: Algoritmos Bio-inspirados - homepages.dcc.ufmg.brhomepages.dcc.ufmg.br/~glpappa/cverao/CursoVerao-Parte2.pdf · Algoritmo de Classificação Filtro Wrapper. Seleção de Atributos

Referências

• Livro de Data Mining disponível para download– http://www.dcc.ufmg.br/miningalgorithms/DokuWiki/doku.php

• Gisele L. Pappa e Alex Freitas. Automating the Design of Data Mining Algorithms: An Evolutionary Computation Approach (Natural Computing Series), Springer, 2010

• Freitas, J. ; PAPPA, G. L. ; Gonçalves, Marcos A. ; Veloso, A. ; Moura, EdlenoSilva de ; Silva, Altigran Soares da . Active Learning Genetic Programming for Record Deduplication. In: IEEE Congress on Evolutionary Computation (CEC), 2010

• PALOTTI, J. ; SALLES, T. ; PAPPA, G. L. ; ARCANJO, F. L. ; GONÇALVES, Marcos A. ; MEIRA JR, W. . Estimating the Credibility of Examples in Automatic Document Classification. Journal of Information and Data Management, v. 1, p. 439-454, 2009.