Geber Ramalho 1 Objetivo da aprendizagem Conhecimento em extensão (exemplos percepção-ação,...
-
Upload
henri-jacob -
Category
Documents
-
view
215 -
download
3
Transcript of Geber Ramalho 1 Objetivo da aprendizagem Conhecimento em extensão (exemplos percepção-ação,...
1 Geber Ramalho
Objetivo da aprendizagem
Conhecimento em extensão(exemplos percepção-ação,
características-conceitos, etc.)
Conhecimento em intenção(regras definições.)
Exemplosdia 29, a Caxangá estava engarrafadadia 30, a Caxangá estava engarrafadadia 01, a Caxangá estava engarrafadadia 03, a Caxangá estava engarrafada
Hipótese indutivaTodo dia, a Caxangá está engarrafada
2 Geber Ramalho
Aprendizado indutivo Inferência de uma regra geral (hipótese) a partir
de exemplos particulares• ex. trânsito na caxangá
Precisão diretamente proporcional à quantidade de exemplos
É uma inferência que “preserva a falsidade”
Pode ser • incremental: atualiza hipótese a cada novo exemplo
– mais flexível, situada... Porém a ordem de apresentação é importante (backtracking)
• não incremental: gera h a partir de todo conjunto de exemplos
– mais eficiente e prática
3 Geber Ramalho
2 Abordagens típicas em aprendizagem simbólica
Árvores de decisão: inductive decision trees (ID3)• Lógica de ordem 0+ (atributo/valor)• Fáceis de serem implementadas e utilizadas• aprendizagem não incremental• estatística (admite exceções)
Espaço de versões (Version space)• lógica de primeira ordem & resolução• implementação mais complicada• aprendizagem incremental• indução lógica unicamente
4 Geber Ramalho
Árvore de Decisão
A partir de um conjunto de propriedades, decide sim ou não
Exemplo Soparia (by Carlos Figueira)• predicado-objetivo: vaiASoparia• Atributos considerados:
– Sono: Estou com sono?– Transporte: Tenho como ir de carro? Carona? etc.– CONIC: Devo estar amanhã cedo no CONIC?– Álcool: Estou precisando de álcool?– Sair: Quero sair de casa?– Fome: Estou com fome?
5 Geber Ramalho
Árvore de Decisão “pensada”
Sono?
CONIC?
Carro
Não.
Outros
CONIC?Carona
Sim
Sim.
Não
Não.
Não
Quer sair?Sim
Não.
Sim.
Não
Meio detransporte?
PoucoSim
Não.
Sim.
Não
Precisa deálcool?
Sim
Sim
Sim.
Não
Não.
atributo valores
6 Geber Ramalho
ID3: exemplos da soparia
Atributos: (Sono, Transporte, CONIC, Álcool, Sair, Fome)-> propriedade-objetivo
• E01: (Pouco,Carro,Sim,Sim,Não,Sim) -> Sim!• E02: (Pouco,Carona,Não,Não,Sim,Sim) -> Sim!• E03: (Sim,Carro,Não,Sim,Sim,Sim) -> Não.• E04: (Pouco,Carona,Não,Não,Sim,Não) -> Sim!• E05: (Sim,Outros,Sim,Sim,Sim,Não) -> Não.• E06: (Pouco,Outros,Não,Sim,Não,Sim) -> Não.• E07: (Pouco,Carro,Sim,Não,Sim,Sim) -> Sim!• E08: (Pouco,Carona,Não,Não,Não,Sim) -> Não.• E09: (Sim,Carro,Não,Sim,Sim,Não) -> Não.• E10: (Não,Outros,Sim,Sim,Sim,Sim) -> Sim!• E11: (Não,Carro,Não,Sim,Sim,Não) -> Sim!• E12: (Não,Carona,Não,Sim,Sim,Sim) -> Sim!
7 Geber Ramalho
ID3: conceitos Classificação
• aplicação do predicado objetivo p a um exemplo
Exemplo positivo (ep) e exemplo negativo (en)• p(ep) = verdadeiro, p(en) = falso
Conjunto de treinamento• positivos + negativos
Objetivo da aprendizagem• gerar a descrição d de p segundo os atributos dados• d deve ser consistente (cobre todos positivos e exclui
todos negativos) e preditiva/geral (vai além da memorização)
• d deve ser a mais simples possível (navalha de Ockahm)
8 Geber Ramalho
ID3: construção da árvore
Escolha do melhor atributo• O que discrimina o maior número de exemplos• Maior ganho de informação (entropia)
Candidatos:• Transporte: Não classifica imediatamente nenhum
dos exemplos• Sono: Classifica de imediato 6 dos 12 exemplos• ...
9 Geber Ramalho
Exemplo: atributo transporte
Transporte?
carro outros
+:E01,E02,E04,E07,E10,E11,E12- :E03,E05,E06,E08,E09
carona
+: E10-: E05,E06
+: E01,E07,E11-: E03,E09
+: E02,E04,E12-: E08
10 Geber Ramalho
Exemplo: atributo sono
Sono?
sim pouco não
+:E01,E02,E04,E07,E10,E11,E12- :E03,E05,E06,E08,E09
+: E1,E2,E4, E7-: E6,E8
+: - - --: E3, E5, E9
+: E10,E11,E12-: - - -
Cálculo do ganho de informação
Onde A = atributop = positivon = negativo
Ganho(A) = I - vi=1(pi+ni)/(pi+ni) I
I = -p/(p+n) (log2 p/(p+n)) - n/(n+p) (log2 n/(p+n))
p/p+n, n/p+n pi/pi+ni, ni/pi+ni
p/p+n, n/p+n
12 Geber Ramalho
function APRENDIZAGEM_DA_ID3(exemplos,atributos,default) : árvore de decisão if (exemplos é vazio) then return default; else if (todos os exemplos têm a mesma classificação)
then return (a classificação); elseif (atributos é vazio) then return maioria(exexmplos); else melhor <- ESCOLHA_MELHOR_ATRIBUTO(atributos,exemplos); árvore <- nova árvore com raiz “melhor”; para cada valor vi de melhor faça exemplosi <- exemplos onde melhor = vi; subárvore <- APRENDIZAGEM_DA_ID3(exemplosi, atributos-{melhor}, maioria(exemplos)); adicione subárvore como um ramo à árvore com rótulo vi; return arvore;
ID3: Algoritmo de aprendizagem
13 Geber Ramalho
+: E1,E2,E4, E7-: E6,E8
Árvore de Decisão “Induzida”
+: E1,E2,E4,E7,E10,E11,E12-: E3, E5, E6, E8, E9
Sono? NãoPoucoSim
+: - - --: E3, E5, E9
+: E10,E11,E12-: - - -
Sim.Não.
OutrosCarroCarona
Meio detransporte?
+: - - --: E6
+: E1,E7-: - - -
+: E2,E4-: E8
Sim. Não.Quer sair?Sim Não
+: E2,E4-: - - -
+: - - --: E8
Sim. Não.
14 Geber Ramalho
Regras
É possível mostrar o resultado como regras lógicas
• toma-se as folhas com conclusão positiva e sobe-se até a raiz
Exemplos:t Sono(Não,t) VaiASoparia(t) t Sono(Pouco,t) Transporte(Carro,t)
VaiASoparia(t)t Sono(Pouco,t) Transporte(Carona,t)
QuerSair(Sim,t) VaiASoparia(t)
15 Geber Ramalho
Problemas c/ ID3: Expressividade
Só pode tratar de um único objetot Sono(Não,t) VaiASoparia(t) t Sono(Pouco,t) Transporte(Carro,t) VaiASoparia(t)
Mais de um... não dá com eficiência• Ex: “se posso ficar mais indisposto mais tarde, eu vou
logo à soparia”
t1t2 MesmoDia(t1,t2) Disposição(t1,d1)
Disposição(t2,d2) Maior (d1,d2) VaiASoparia(t)
• alternativa: atributo possoFicarMaisIndisposto(t)
16 Geber Ramalho
Problemas c/ ID3: Expressividade Exemplo: Goal predicate = BomPesquisador (x)
Como tratar atributos multi-valorados?• Filiação(José, {USP, Unesp})
Como tratar atributos numéricos?• Tem entre 45 e 52 anos
Como tratar listas ordenandas?• Formação = {graduação, mestrado, doutorado, pós}
Como inserir conhecimento a priori?• Hierarquias conceituais
PE PB AL CE
NE
BR
Norte
17 Geber Ramalho
Problemas gerais: ambigüidade
Ambigüidade:• Dois ou mais exemplos com a mesma descrição (em
termos de atributos) mas classificações diferentes
Causas: • Ruído • Atributos insuficientes
Soluções: • tratamento estatístico• indução construtiva• etc.
18 Geber Ramalho
Problemas gerais: overfitting
Overfitting (hiper-especialização):• Evitar encontrar uma “regularidade” muito restrita nos
dados
Soluções: • validação cruzada • poda
19 Geber Ramalho
Treinamento Teste
Validação Cruzada Serve para evitar overfitting e para averiguar
robustez dos resultados
Algoritmo1) Divide o conjunto de exemplos em dois sub-
conjuntos: conjuntos de treinamento (TR) e de teste (TE)
2) Usa indução para gerar hipótese H sobre TR3) Mede percentagem de erro de H aplicada à TE4) Repete passos 1-3 com diferentes tamanhos de TE e
TR, e tendo elemento escolhidos aleatoriamente
20 Geber Ramalho
Curva de aprendizagem
21 Geber Ramalho
Exemplos Práticos
GASOIL• Sistema de separação de gás-óleo em plataformas de
petróleo• Sistema de 10 pessoas-ano se baseado em regras• Desenvolvido em 100 pessoas-dia
Piloto automático de um Cessna• Treinado por três pilotos• Obteve um desempenho melhor que os três
Mineração de dados
Recuperação de Informação
Geber Ramalho
Aprendendo descrições lógicas
Version space
23 Geber Ramalho
Aprendendo descrições lógicas Dado o Predicado objetivo (unário) P, a tarefa é
• encontrar uma expressão lógica C, equivalente a P, que classifique os exemplos corretamente
• Hipótese (Hi) Definição Candidata (Ci) x P(x) Ci(x) • é uma dedução!!!!
ExemplosHr: r VaiEsperar(r) Pessoas(r, Algumas)
(Pessoas(r,Cheio) Fome(r) Tipo(r,Francês)) (Pessoas(r,Cheio) Fome(r) Tipo(r,Tailandês) Sex/Sab(r))
HS: t VaiASoparia(t) Sono(Não,t) (Sono(Pouco,t) Transporte(Carona,t) Conic(Sim,t))
24 Geber Ramalho
Aprendendo descrições lógicas (2/3) O que é um exemplo (Xi)?
• objeto em que o predicado objetivo p pode ou não se aplicar
representação• exemplo positivo: Di(Xi) P(Xi)• negativo: Di(Xi) P(Xi)
Por exemplo... • Pessoas(X1,Cheio) Fome(X1) Tipo(X1,Tailandês)
Sex/Sab(X1) VaiEsperar(X1)
25 Geber Ramalho
Aprendendo descrições lógicas (3/3)
O que é aprender?• processo de busca por uma boa hipótese Hi no
espaço de hipóteses HH
Idéia: • reduzir conjunto de hipóteses H1 H2 ... Hn
testando a consistência através de inferência (dedução) lógica
• Direção: top-down (geral específico) ou bottom-up (específico geral )
Problema• tamanho do espaço de hipóteses
26 Geber Ramalho
Hipóteses...
Existe um polígono Existe um polígono hachurado Existem dois objetos, um sobre o outro Existem dois objetos & o inferior é um polígono Existem dois objetos & o inferior está hachurado Existem dois objetos, dos quais um é um quadrado ....
Exemplo1 + Exemplo 2 +
27 Geber Ramalho
Consistência Um exemplo pode ser:
• falso negativo - Se a hipótese diz que deveria ser negativo mas de fato é positivo
• falso positivo - Se a hipótese diz que deveria ser positivo mas de fato é negativo
Por exemplo...• Diante de Hs:
t Sono(Pouco,t) Transporte(Carona,t) vaiASoparia(t) • O exemplo E08:
– Sono(Pouco,t1) Transporte(Carona,t1) Conic(Não,t1) Alcool(Não,t1) Sair(Não,t1) Fome(Sim,t1) VaiASoparia(t)
• é um falso positivo
28 Geber Ramalho
Busca no espaço de hipóteses
Existem duas soluções para o problema da complexidade da busca no espaço de hipóteses
1) busca pela melhor hipótese corrente 2) busca de engajamento mínimo
Busca pela melhor hipótese corrente (Current-best-hypothesis Search)
Manter uma hipótese única, e ajustá-la quando um novo exemplo chega a fim de manter a consistência: Generalizando e especializando
Generali-zação
Especiali-zação
hipótese inicial
Falso negativo
Hipótese muito restritiva
Falso positivo
Hipótese muito permissiva
30 Geber Ramalho
Generalização/especialização
(H1 C1) (H2 C2) (H1 mais geral que H2) x C2(x) C1(x)• define indução por meio da dedução para usar o poder da
lógica
Importante: generalização/especialização podem ser operações sintáticas
• variabilizar/instanciar de uma constante/variável– Conic(Sim) Conic(x)
• adicionar/retirar condições: conjunções ou disjunções– Conic(Sim) Fome(Sim) Fome(Sim) – Conic(Sim) Fome(Sim) Fome(Sim)
31 Geber Ramalho
Exemplo do restaurante (aima pag. 534)
Alt = alternativo? Bar = tem área de bar? Fri = é sex ou sábado?Hun = fome? Pat = vagas livres? Price = preço?Rain = chove? Res = fez reserva? Est = tempo de espera
32 Geber Ramalho
Exemplos
positivos: X1, X3, X4; negativo: X2
X1: exemplo inicial• H1: x VaiEsperar(x) Alternativo(x)
X2: falso +• H2: x VaiEsperar(x) Alternativo(x)
Pessoas(x,Alguma)
X3: falso -• H3: x VaiEsperar(x) Pessoas(x,Alguma)
X4: falso -• H4: x VaiEsperar(x) Pessoas(x,Alguma)
(Pessoas(x,Cheio) Sex/Sab(x))
Problema: backtracking
33 Geber Ramalho
Busca de menor engajamento (Least-Commitment Search)
Espaço de hipóteses: H1 H2 H3 ... Hn
Solução 2: • Ao invés de uma hipótese, eliminamos unicamente
aquelas inconsistentes com os exemplos até o momento.
• Assim, cercamos (encurralamos) incrementalmente as hipóteses boas
• Este conjunto de hipóteses consistentes restantes chama-se Espaço de Versões.
Dois conjuntos consistentes de hipóteses• G-set borda mais geral• S-set borda mais específica
Mais Específico
Mais Geral
Região Inconsistente
Região Inconsistente
S1 S2 S3 ... Sn
G1 G2 G3 ... Gn
cons
iste
nte
35 Geber Ramalho
Propriedades Toda hipótese consistente é mais específica do que
algum membro do G-set e mais geral que algum membro do S-set (ninguém está fora)
Toda hipótese mais específica que algum membro do G-set e mais geral que algum membro do S-set é uma hipótese consistente (não há buracos)
Como atualizar G-set e S-set?• S-set
– falso+ -> fora (não pode mais especializar)– falso- -> generalizar
• G-set– falso+ -> especializar– falso- -> fora (não pode mais generalizar)
Exemplo (parte 1)exemplo restaurante refeicao dia Custo reação1 tonho Café Quinta Barato sim2 makro Almoço Quinta Caro não3 tonho Almoço Sábado Barato Sim4 club Café Domingo Barato Não5 tonho Café Domingo Caro não
[tonho,café,quinta,barato] S-set
[?, ?, ?, ?] G-set Ex1+: [tonho,café,quinta,barato]
Ex2-: [macro,almoço,quinta,caro]
Exemplo (parte 2)
Ex3+: [tonho,almoço,sábado,barato]
[tonho,café,quinta,barato]
[tonho, ?,?,?] [?,café,?,?] [?,?,?,barato]
[?, ?, ?, ?]
Ex1+: [tonho,café,quinta,barato]Ex2-: [makro,almoço,quinta,caro]
Exemplo (parte 3)
Ex1+: [tonho,café,quinta,barato]Ex2-: [makro,almoço,quinta,caro]Ex3+: [tonho,almoço,sábado,barato]
[tonho,café,quinta,barato]
[?,?,?,barato]
[?, ?, ?, ?]
[tonho, ?,?,?]
[tonho,?,?,barato]
Ex4-: [club,café,domingo,barato]
Exemplo (parte 4)
Ex1+: [tonho,café,quinta,barato]Ex2-: [makro,almoço,quinta,caro]Ex3+: [tonho,almoço,sábado,barato]Ex4-: [club,café,domingo,barato][tonho,café,quinta,barato]
[?,?,?,barato]
[?, ?, ?, ?]
[tonho, ?,?,?]
[tonho,?,?,barato]
[tonho,?,?,barato]
Ex5-: [tonho,café,domingo,caro]
40 Geber Ramalho
Questões
Como garantir que o algoritmo de aprendizagem pode funcionar bem nos exemplos futuros?
Caso não haja garantia, como saber que ele tem alguma utilidade?
Aprender regras tudo bem, mas e se elas não existirem?