Aprendizagem de regras proposicionais de classificação e associação TAIAS 2 Ivan Teixeira João...

38
Aprendizagem de regras Aprendizagem de regras proposicionais de classificação proposicionais de classificação e associação e associação TAIAS 2 Ivan Teixeira João Batista

Transcript of Aprendizagem de regras proposicionais de classificação e associação TAIAS 2 Ivan Teixeira João...

Page 1: Aprendizagem de regras proposicionais de classificação e associação TAIAS 2 Ivan Teixeira João Batista.

Aprendizagem de regras Aprendizagem de regras proposicionais de classificação e proposicionais de classificação e

associaçãoassociação

TAIAS 2Ivan TeixeiraJoão Batista

Page 2: Aprendizagem de regras proposicionais de classificação e associação TAIAS 2 Ivan Teixeira João Batista.

Árvores de DecisãoÁrvores de Decisão

Tempo? SolNubladoChuva

SimNão

DomSabSeg

Que dia?

Sim SimHora?

>18 e < 20 <18

Sim Não

Estratégia de dividir para conquistar

Page 3: Aprendizagem de regras proposicionais de classificação e associação TAIAS 2 Ivan Teixeira João Batista.

Regras de classificaçãoRegras de classificação

ANTECEDENTES CONSEQUÊNCIA

•Cada antecedente: teste valor de um atributo da

instância para classificar.

•Conseqüência: classificação da instância.

Ex: IF tempo = sol AND dia = Dom THEN racha

(T = sol) (D = Dom) => racha

Page 4: Aprendizagem de regras proposicionais de classificação e associação TAIAS 2 Ivan Teixeira João Batista.

Regras de Classificação vs. ÁrvoresRegras de Classificação vs. Árvores

Regras de classificação podem ser convertidas em árvores de decisão e vice-versa

Porém:• a conversão é em geral não trivial• dependendo da estrutura do espaço de instâncias,

regras ou árvores são mais concisas ou eficientes

Regras são compactas Regras são em geral altamente modulares (mas

raramente são completamente modulares)

Page 5: Aprendizagem de regras proposicionais de classificação e associação TAIAS 2 Ivan Teixeira João Batista.

Vantagens de Árvores de DecisãoVantagens de Árvores de Decisão

Exemplo de conversão árvore -> regras

• Sem mecanismo de interpretação preciso regras podem ser ambíguas• Instâncias podem “passar através” de conjunto de regras não sistematicamente “fechado”

X > 1.2

Y > 2.6b

ab

simnão

simnão

IF x >1.2 AND y > 2.6 THEN class = a

If x < 1.2 then class = b

If x > 1.2 and y < 2.6 then class = b

Page 6: Aprendizagem de regras proposicionais de classificação e associação TAIAS 2 Ivan Teixeira João Batista.

Vantagens de Regras de ClassificaçãoVantagens de Regras de Classificação

•Árvores são redundantes e não incrementais•Árvores não são ambíguas e não falham em classificar

x

y

z

w

a

bb

a bb

1

1

1

1

2

2

2

2 3

3

3

3

If x=1 and y=1

then class = a

If z=1 and w=1

then class = b

Exemplo de conversão regra/árvore

Page 7: Aprendizagem de regras proposicionais de classificação e associação TAIAS 2 Ivan Teixeira João Batista.

Hipótese do Mundo fechadoHipótese do Mundo fechado

Classificação de alvo booleano em um mundo fechado.IF tempo = sol AND dia = Dom THEN rachaIF tempo = sol AND dia = Sab THEN racha

Page 8: Aprendizagem de regras proposicionais de classificação e associação TAIAS 2 Ivan Teixeira João Batista.

Construindo regrasConstruindo regras

Algoritmo de Cobertura: selecionar uma classe e procurar uma forma de cobrir todas as instâncias.

x

y

b aaa

aa

ab

abb

b bb

b

b

1.2

1

Passo inicial• if ? then class = a

Primeiro passo• if x > 1.2 then class = aEssa regra cobre, tanto os bs

quanto os as Segundo passo

• if x > 1.2 e y > 1 then class = a

Essa regra cobre somente a’s.

Page 9: Aprendizagem de regras proposicionais de classificação e associação TAIAS 2 Ivan Teixeira João Batista.

Algoritmo de coberturaAlgoritmo de cobertura

Para cada classe CInicialize E como sendo a instância do conjuntoEnquanto E contém instâncias na classe C Crie uma regra R sem antecedentes que prediz a classe C Enquanto R não for perfeita e houver mais atributos Para cada atributo A não mencionado em R e cada valor V Considere a adição de A=V nos antecedentes de R Selecione A e V que maximize Heuristic-function() Adicione A=V nos antecedentes de R Remova as instâncias cobertas por R de E

Page 10: Aprendizagem de regras proposicionais de classificação e associação TAIAS 2 Ivan Teixeira João Batista.

Função heurísticaFunção heurística

TP

tpp loglog

tp

Correctness based Heuristic

MAXIMIZAR

MAXIMIZAR

Número de instâncias quedisparam a regra

Número dessa instânciasque pertencem à classe da regra

Information based Heuristic

Calcula o ganho de informação levando em conta o número de instâncias positivas

Page 11: Aprendizagem de regras proposicionais de classificação e associação TAIAS 2 Ivan Teixeira João Batista.

Comparando os critériosComparando os critérios

Os dois critério classificam corretamente todas as instâncias.

Correctness Based• Privilegia regras 100% corretas mesmo com cobertura

baixa• Trata primeiro os casos especiais

Information Based• Privilegia regras de alta cobertura mesmo com precisão

baixa• Trata primeiro os casos gerais

Page 12: Aprendizagem de regras proposicionais de classificação e associação TAIAS 2 Ivan Teixeira João Batista.

ExemploExemplo

Atributo-valor cbh ibhage = young 2/8 0.35age = pre-presbyopic 1/8 -0.12age = presbyopic 1/8 -0.12spectacle prescription = myope 3/12 0.53spectacle prescription = hypermetrope 1/12 -0.3astigmatism = no 0/12 0.0astigmatism = yes 4/12 1.2tear production rate= reduced 0/12 0.0tear production rate = normal 4/12 1.2

Page 13: Aprendizagem de regras proposicionais de classificação e associação TAIAS 2 Ivan Teixeira João Batista.

Regras boas e regras ruinsRegras boas e regras ruins

As heurísticas exibidas anteriormente causam overfit se usados isoladamente

Gerar regras que não são perfeitas no conjunto de treinamento ...

... mas que são melhores na generalização do problema.

Solução: contrabalançar a precisão de uma regra nos exemplos e a qualidade de uma regra no problema

Page 14: Aprendizagem de regras proposicionais de classificação e associação TAIAS 2 Ivan Teixeira João Batista.

Qualidade de uma regraQualidade de uma regra

t Pp

T

Probabilidade de uma regra aleatória ter um p igual a um valor qualquer i:

P[i de t estarem em P] =

tT

itPT

ip

Page 15: Aprendizagem de regras proposicionais de classificação e associação TAIAS 2 Ivan Teixeira João Batista.

Qualidade de uma regraQualidade de uma regra

A qualidade de uma regra é a probabilidade de uma regra gerada aleatoriamente ter um desempenho melhor ou igual à regra.

Para uma regra R:

M(R) = P[i de t estarem em P] =

),min( Pt

pi

),min( Pt

pi

tT

itPT

ip

Page 16: Aprendizagem de regras proposicionais de classificação e associação TAIAS 2 Ivan Teixeira João Batista.

ExemploExemplo

IF astigmatism = yes AND tear production = normal

THEN recommendation = hard• p/t = 4/6• P/T = 4/24

%14,00014,0

624

46424

44

24,4,6,Pr)(4

4

i

iRm

Ou seja, apenas 0,14% de chance de uma regra gerada aleatoriamente ser melhor do que esta regra.

Page 17: Aprendizagem de regras proposicionais de classificação e associação TAIAS 2 Ivan Teixeira João Batista.

Gerando boas regrasGerando boas regras

1. Gerar regras 100% precisas ou perfeitas• IF A=a AND B=b AND C=c THEN D=d

Precisão = 100%, qualidade = baixa2. Os testes do antecedente da regra são tirados

gradualmente para tentar melhorar a qualidade da regra.• IF A = a AND B=b THEN D=d

precisão < 100%, qualidade = altaDessa forma as regras são melhores na

generalização do problema.

Page 18: Aprendizagem de regras proposicionais de classificação e associação TAIAS 2 Ivan Teixeira João Batista.

Até que E esteja vazio para cada classe C contida em E

-gere uma regra R perfeita para a classe C pelo cobertura -calcule a medida de valor m(R) para a regra e para a

regra m(R-) com a condição final retirada -enquanto m(R)<m(R-) retire a condição final da regra e repita o passo anterior -das regras geradas escolha a que tem o menor m(R) retire de E as instâncias cobertas por Rcontinue

Listas de regrasListas de regras

Lista ordenada de decisão formada por regras que são interpretadas seqüencialmente

A primeira regra disparada leva a instância Algoritmo de geração de listas de regras:

Page 19: Aprendizagem de regras proposicionais de classificação e associação TAIAS 2 Ivan Teixeira João Batista.

Conjunto de testeConjunto de teste

A medida de probabilidade da qualidade de uma regra e uma forma eficiente de comparar a qualidade entre duas regras.

Mas não tem muito valor estatístico porque e aplicada sobre os mesmo dados usados no crescimento da regra.

Solução (Reduced Error-Prunning):• Dividir os dados de forma que as medida sobre a

qualidade de uma regra sejam feitas em uma conjunto separado

Page 20: Aprendizagem de regras proposicionais de classificação e associação TAIAS 2 Ivan Teixeira João Batista.

Usando um conjunto de testesUsando um conjunto de testesCONJUNTO DE CRESCIMENTO

• Usado para construir as regrasCONJUNTO DE PODA

• Usado para verificar a qualidade da poda

Problemas ...• Como separar os conjuntos.• Instâncias chaves podem ser alocadas para o conjunto de poda.

Page 21: Aprendizagem de regras proposicionais de classificação e associação TAIAS 2 Ivan Teixeira João Batista.

ConjuntosConjuntos

Variando o conjunto de poda é possível evitar perda de informação.

Page 22: Aprendizagem de regras proposicionais de classificação e associação TAIAS 2 Ivan Teixeira João Batista.

Usando um conjunto de testesUsando um conjunto de testesInicialize E com o conjunto de instanciasDivida E em Crescimento S1 e Poda S2 em uma razão 2:1

Para cada classe C para qual S1 e S2 tenham instancia- Use o algoritmo de cobertura para para criar uma

regra perfeita para a classe C- Calcule w(R) para a regra em S2, e para a regra

com o ultimo teste retirado w(R-)- Enquanto w(R-) > w(R-), remova o ultimo teste e

repita o passo anteriorDas regras geradas selecione a que tiver o maior w(R)Remova as instancias de E cobertas pela nova regraContinue

Possibilidades:•W(R) = qualidade da regra•W(R) = [p+(N - n)] / T

Page 23: Aprendizagem de regras proposicionais de classificação e associação TAIAS 2 Ivan Teixeira João Batista.

Indução de regras com árvores de Indução de regras com árvores de decisãodecisão

Árvores contém regras. Uma árvore de decisão parcial é criada para extrair

apenas uma regra. Combina dividir-conquistar das árvores de decisão e

separar-conquistar do algoritmo de cobertura. É mais eficiente sobre dados com ruído.

Page 24: Aprendizagem de regras proposicionais de classificação e associação TAIAS 2 Ivan Teixeira João Batista.

Gerando Árvores ParciaisGerando Árvores Parciais

Arvore-Parcial(S)Escolher o melhor teste para dividir a arvore em nosOrdenar os nos em ordem crescente de entropiaEnquanto ( Houver um no X que foi expandido e Todos os nos expandidos ate agora são folhas)- Arvore-Parcial(X)Se (todos os nos expandidos são folhas e erro estimado da subarvore gerada > erro estimado do no)-desfazer a expansao transformar o no em folha

Retornar a regra representada pela folha com maior cobertura

Page 25: Aprendizagem de regras proposicionais de classificação e associação TAIAS 2 Ivan Teixeira João Batista.

Árvores parciaisÁrvores parciais

São árvores incompletas que contém galhos para subárvores inexploradas.

Prunning

Prunning

A substituição não representa mais o ganho em performance

Nova regra4

6 8

Page 26: Aprendizagem de regras proposicionais de classificação e associação TAIAS 2 Ivan Teixeira João Batista.

Regras com exceçãoRegras com exceção

É uma forma natural de encarar as regras, afinal “toda regra tem um exceção”.

Uma regra geral é construída ... Essa regra tem exceções ... E essas exceções tem suas exceções. É mais fácil de entender as regras geradas e é

mais natural para os humanos.

Page 27: Aprendizagem de regras proposicionais de classificação e associação TAIAS 2 Ivan Teixeira João Batista.

Regras com exceçãoRegras com exceção

Page 28: Aprendizagem de regras proposicionais de classificação e associação TAIAS 2 Ivan Teixeira João Batista.

As regras e suas exceçõesAs regras e suas exceções

3 classes com 50 instâncias de cada: 150 instâncias

Iris setosa 50/150

P Length>2.45P Width<1.75P Length<5.35 Iris vesicolor 49/52

P Length>3.35 Iris virginica 47/48

P Length>4.95P Width> 1.55 Iris Virginica 2/2

S Length< 4.95S Width>2.45 Iris Virginica 1/1

P Length<4.85S Length<5.95 Iris Vesicolor 1/1

Page 29: Aprendizagem de regras proposicionais de classificação e associação TAIAS 2 Ivan Teixeira João Batista.

Regras com exceçãoRegras com exceção

Regra 1

Regra 1.1

Regra 1.2

Page 30: Aprendizagem de regras proposicionais de classificação e associação TAIAS 2 Ivan Teixeira João Batista.

Aprendizagem de regras proposicionais com Aprendizagem de regras proposicionais com algoritmo de cobertura: característicasalgoritmo de cobertura: características

Tarefas: classificação e descrição de associação

Ambiente pode ser:• não acessível, não episódico• contínuo, ruidoso• estático, grande • não relacional, não diverso

Supervisionado: • E+ ou E+ E-

Treino antes da ação

Não incremental Não iterativo Top-down Guloso Global Não aproveita conhecimento

prévio para podar busca da hipótese

Não aproxima qualquer função• apenas hiperplanos

Page 31: Aprendizagem de regras proposicionais de classificação e associação TAIAS 2 Ivan Teixeira João Batista.

Regras de associação Regras de associação vs. Regras de classificaçãovs. Regras de classificação

Conseqüência: • qualquer atributo no lugar de apenas um atributo

destacado para classificação• vários atributos no lugar de um

Uso diferente:• Apenas descreve regularidade nos dados• ex: IF racha = sim AND dia = Dom • THEN tempo = sol AND hora = 16

Construção: • Podem usar algoritmo de cobertura• Não é viável na prática devido à necessidade de considerar

todas as combinações, de todos os valores possíveis, de todos atributos

Page 32: Aprendizagem de regras proposicionais de classificação e associação TAIAS 2 Ivan Teixeira João Batista.

Gerando regras de associaçãoGerando regras de associação

umidade = normal tempo = sol vento = simumidade = alta tempo = chuva vento = nãoumidade = baixa tempo = nublado vento = médio

IF ? THEN umidade = normalIF ? THEN umidade = normal AND tempo = solIF ? THEN umidade = normal AND tempo = sol AND ventando = simIF ? THEN umidade = normal AND tempo = sol AND ventando = nãoIF ? THEN umidade = normal AND tempo = chuvaIF ? THEN umidade = normal AND tempo = chuva AND ventando = simIF ? THEN umidade = normal AND tempo = chuva AND ventando = não...

63333

323

313 321

1

ia

i

via

Page 33: Aprendizagem de regras proposicionais de classificação e associação TAIAS 2 Ivan Teixeira João Batista.

Algoritmo específico para construir regras de Algoritmo específico para construir regras de associaçãoassociação

Idéia: • focalizar em regras que tenham alta cobertura• inicialmente, abstrair o conceito de regra processando

pares de atributos-valores (itens) 2 fases: A/ iteração:

1. busca itens com cobertura mínima predefinida2. busca pares de itens construindo-os a partir dos itens do

passo precedente...N. busca N tuplas de itens construindo-os a partir dos N-1

tuplas do passo precedente...

B/ construir regras a partir do N tuplas de itens

Page 34: Aprendizagem de regras proposicionais de classificação e associação TAIAS 2 Ivan Teixeira João Batista.

ItensItens

Um par Dois pares Três pares Quatro paresTempo=sol(5) Tempo = sol (2)

Temper. = normalTempo = sol(2)Temper. = hotUmidade = alta

Tempo = sol(2)Temper. = hotUmidade = altaJogar = no

Temper. = frio(5) Tempo = sol(3)Umidade = alta

Tempo=sol(2)Umidade=altaVento=não

Tempr.=frio (2)Umidade=normaVento=nãoJogar=sim

Tempo=chuva(5) Tempo=sol(2)Umiade=normal

Tempo=sol(2)Umidade=normalJogar=sim

Tempo=sol(2)Umidade=altaVento=nãoJogar=não

Page 35: Aprendizagem de regras proposicionais de classificação e associação TAIAS 2 Ivan Teixeira João Batista.

Gerando regras dos itens geradosGerando regras dos itens gerados

Produzir regras precisas a partir de um itemO item com três pares:

umidade = normal , vento = não e jogar = simGera as regras:

IF umidade = normal AND vento = não THEN jogar = sim 4/4IF umidade = normal AND jogar = sim THEN vento = não 4/6IF vento = não AND jogar = sim THEN umidade = normal 4/6IF umidade = normal THEN vento = não AND jogar = sim 4/7IF vento = não THEN umidade = normal AND jogar = sim 4/8IF jogar = sim THEN vento = não AND umidade = normal 4/9IF ? THEN vento = não AND umidade = normal AND jogar = sim 4/12

Page 36: Aprendizagem de regras proposicionais de classificação e associação TAIAS 2 Ivan Teixeira João Batista.

Diminuindo o processamentoDiminuindo o processamento

Mesmo restringindo o domínio o custo para gerar regras de associação é alto.

Uma alternativa para diminuir o processamento é:• iniciar o processamento atribuindo um valor alto para a

cobertura mínima• diminuir esse valor em cada interação até que se tenha

a quantidade de regras desejadas.

Page 37: Aprendizagem de regras proposicionais de classificação e associação TAIAS 2 Ivan Teixeira João Batista.

Perguntas ?Perguntas ?

Hora? Do jogocedo

Fim

Não

Sim

Pergunta?

Fim. Quem?

Jacques aluno

Responde Fim

Page 38: Aprendizagem de regras proposicionais de classificação e associação TAIAS 2 Ivan Teixeira João Batista.

BibliografiaBibliografia

Artificial Intelligence a Modern Approach, S. Russell & P. Norvig, 1995, Prentice-Hall

Machine Learning, T. Mitchell, 1997, McGraw-Hill, Data Mining: Practical Machine Learning Tools and

Techniques with Java Implementations, I.H. Witten & E. Frank, 1999, Morgan Kaufmann,