O Enigma das Atitudes Proposicionais: Significados Estruturados x ...
Aprendizagem de regras proposicionais de classificação e associação TAIAS 2 Ivan Teixeira João...
-
Upload
jorge-escobar-antas -
Category
Documents
-
view
216 -
download
0
Transcript of Aprendizagem de regras proposicionais de classificação e associação TAIAS 2 Ivan Teixeira João...
Aprendizagem de regras Aprendizagem de regras proposicionais de classificação e proposicionais de classificação e
associaçãoassociação
TAIAS 2Ivan TeixeiraJoã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
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
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)
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
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
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
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.
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
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
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
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
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
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
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
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.
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.
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:
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
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.
ConjuntosConjuntos
Variando o conjunto de poda é possível evitar perda de informação.
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
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.
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
Á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
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.
Regras com exceçãoRegras com exceção
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
Regras com exceçãoRegras com exceção
Regra 1
Regra 1.1
Regra 1.2
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
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
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
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
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
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
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.
Perguntas ?Perguntas ?
Hora? Do jogocedo
Fim
Não
Sim
Pergunta?
Fim. Quem?
Jacques aluno
Responde Fim
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,