O documento discute aprendizagem com árvores de decisão. Explica que a aprendizagem é essencial quando o projetista não conhece totalmente o ambiente e permite que o agente seja exposto à realidade. Descreve como as árvores de decisão podem representar funções dos atributos de entrada e como o algoritmo de aprendizagem constrói árvores recursivamente escolhendo o atributo mais significativo em cada nó, medido pelo ganho de informação.
3. Aprendizagem
▪Aprendizagem é essencial para ambientes desconhecidos!
▪ i.e., quando o projetista não é onisciente!
!
"Aprendizagem é útil como um método de construção de
sistemas!
!
" i.e.,expõe o agente à realidade ao invés de tentar escrevê-lo diretamente.!
!
"A aprendizagem modifica o mecanismo de decisão do
agente melhorando o desempenho.
5. Questões importantes
✹ O projeto de um elemento de aprendizagem deve
definir:
!
✹ Que componentes do elemento de desempenho
devem ser aprendidos
✹ Que “ feedback” é disponível para aprender esses
componentes.
✹ Que representação deve ser usada para estes
componentes.
✹ Tipos de “ feedback”:
✹ Aprendizado Supervisionado: Questões corretas para
cada exemplo.
✹ Aprendizado não supervisionado: sem respostas
✹ Aprendizado por Reforço: prêmios ou recompensas
ocasionais
6. Os agentes de aprendizagem incluem:
"Mapeamento direto das percepções de condições do estado
atual para ações.
"Informações sobre como o mundo evolui e sobre os
resultados de possíveis ações que o agente venha a executar
"Informações que mostram a utilidade dos estados
"Informações sobre a desejabilidade das ações
"Metas
7. Aprendizagem Indutiva
"Forma mais simples: aprender (descobrir) uma função a partir de exemplos!
!
Seja f a função desejada!
!
Um exemplo é um par (x, f(x))!
!
Problema: encontrar uma hipótese h!
tal que h ≈ f!
dado um conjunto “de treinamento” de exemplos!
(Esta é a forma mais simples de modelar o aprendizado real:!
" Ignora o conhecimento anterior!
" Assume que os exemplos são dados
8. Método de Aprendizagem Indutivo
"Construir/ajustar h de forma a acordar com f no conjunto
de treinamento!
"(h é consistente se a mesma iguala f em todos os
exemplos)!
"E.g., Adequação da curva.
9. Método de Aprendizagem Indutivo
"Construir/ajustar h de forma a acordar com f no conjunto
de treinamento!
"(h é consistente se a mesma iguala f em todos os
exemplos)!
"E.g., Adequação da curva.
10. Método de Aprendizagem Indutivo
"Construir/ajustar h de forma a acordar com f no conjunto
de treinamento!
"(h é consistente se a mesma iguala f em todos os
exemplos)!
"E.g., Adequação da curva.
11. Método de Aprendizagem Indutivo
"Construir/ajustar h de forma a acordar com f no conjunto
de treinamento!
"(h é consistente se a mesma iguala f em todos os
exemplos)!
"E.g., Adequação da curva.
12. Método de Aprendizagem Indutivo
"Construir/ajustar h de forma a acordar com f no conjunto de treinamento!
"(h é consistente se a mesma iguala f em todos os exemplos)!
"E.g., Adequação da curva.!
!
QUAL SELECIONAR?!
!
NAVALHA de OCKHAM!
!
Hipótese consistente mais simples
13. Árvores de Decisão
Problema: !
!
Decidir se esperamos uma mesa em um restaurante com base nos seguintes
atributos: !
! !
1. Alternativa: Existe uma outra opção perto?!
2. Existe uma área confortável onde se pode esperar?!
3. Hoje é Sexta ou Sábado?!
4. Estamos famintos?!
5. Pessoas no restaurante (ninguém, alguns, cheio)?!
6. Preço: Faixa de preço.!
7. Está chovendo fora?!
8. Reserva: Foi feito uma reserva?!
9. Tipo de restaurante (Francês, Italiano, Tailandês, Fast-Food (Burger?))!
10. Estimativa de Espera (0-10,10-30,30-60,>60) min
14. Representação Baseada em Atributos
"Exemplos descritos pelos valores de seus atributos (Booleano, Discreto,
Continuo)!
"Ex., Situações onde Esperaria ou não por uma mesa:!
!
!
!
!
!
!
!
!
!
!
!
!
Classificação dos exemplos é positiva(V) or negativa (F)
15. Árvores de Decisão
"Uma representação possível para as hipóteses!
"Ex., Abaixo temos a verdadeira árvore para decidir esperar
*sem tipo e preço
considerados irrelevantes
pelo autor
16. Expressividade
"Árvores de decisão podem expressar qualquer função dos
atributos de entrada!
"Ex. Para funções booleanas, tabela de verdade -> caminho para
uma folha!
!
!
!
!
!
!
Trivialmente, existe uma árvore consistente para qualquer conjunto
de treinamento com um caminho para folha para cada exemplo (a
não ser que f seja não determinística em x) mas ela provavelmente
não generalizará para novos exemplos!
!
"Prefere-se trabalhar com arvores de decisão mais compactas.
17. Espaços de Hipóteses
Quantas árvores de decisão distintas com n atributos booleanos?!
!
= número de funções booleanas!
= número de tabelas de verdade distintas com 2n linhas = 22n!
!
Ex., com 6 atributos booleanos existem 18.446.744.073.709.551.616 árvores!
!
Quantas hipóteses puramente conjuntivas (ex. Faminto ^ ¬Chovendo)?!
!
" Cada atributo pode estar em(positivo), em(negativo) ou for a (out)!
!! ⇒ 3n hipóteses conjuntivas distintas!
" Espaço de hipóteses mais expressivo!
" Aumenta a possibilidade que a função objetivo possa ser expressa!
" Aumenta o número de hipóteses consistente com o conjunto de
treinamento!
!
!! ⇒ pode obter previsões ruins
18. Aprendizagem com árvore de decisão
Objetivo: Encontrar uma árvore pequena consistente com os exemplos de
treinamento!
Idéia: (recursivamente) procurar o “atributo mais significativo” como raiz da
(sub) árvore.!
!
Casos a considerar:!
!
1. Se existem alguns atributos positivos e alguns negativos escolha o melhor
atributo para dividi-los!
2. Se todos os exemplos restantes forem positivos (ou todos negativos), então
terminamos: podemos responder sim ou não.!
3. Se não resta nenhum exemplo, isso significa que nenhum exemplo desse tipo
foi observado e retornamos um valor padrão (default) calculado a partir da
classificação da maioria no pai do nó.!
4. Se não resta nenhum atributo, mas há exemplos positivos e negativos, temos
um problema. Exemplos com a mesma descrição, mas com classificação
diferente. Há incorreção nos dados (ruído) ou os atributos não são suficientes
para a descrição completa ou o domínio é não determinístico. (solução:
votação da maioria).
19. Aprendizagem com árvore de decisão
função APRENDIZAGEM-ARVORE-DECISAO(exemplos,atributos,padrão) !
! ! ! ! ! ! ! ! ! ! ! ! ! retorna arvore de decisão!
! entradas: exemplos, conjunto de exemplos!
! ! ! atributos, conjunto de atributos!
! ! ! padrão, valor padrão (default) para o predicado do objetivo!
! !
se exemplos é vazio então retornar padrão!
senão se todos os exemplos tem a mesma classificação então retornar a classificação!
! senão se atributos é vazio então retornar VALOR-DA-MAIORIA(exemplos)!
! senão!
! ! melhor ß ESCOLHER-ATRIBUTO(atributos,exemplos)!
! ! arvore ß uma nova árvore de decisão com teste de raiz melhor!
! ! m ß VALOR-DA-MAIORIA(exemplosi)!
! ! para cada valor vi de melhor faça!
! ! ! exemplos ß {elementos de exemplos com melhor = vj}!
! ! ! subárvore ß APRENDIZAGEM-ARVORE-DECISAO(exemplosj, atributos – melhor, m)!
! ! adicionar uma ramificação a árvore com rótulo vj e subárvore subárvore!
! retornar árvore
20. Escolhendo um atributo
"Idéia: um bom atributo divide os exemplos em
subconjuntos que são (idealmente) “todos
positivos” ou “todos negativos”!
!
!
!
!
!
!
Clientes é a melhor escolha? Não é perfeito, mas
“bastante bom”.Como medir isso?
21. Usando a teoria da informação
Para implementar ESCOLHER-ATRIBUTO(): !
Conteúdo da Informação(Entropia)(Shannon Weaver,1949):!
I(P(v1), … , P(vn)) = Σi=1 -P(vi) log2 P(vi)!
!
Ex. Quantidade de informação contida na resposta a uma pergunta. Quanto
mais se sabe menor é a informação contida na resposta. Para o caso do
lançamento de uma moeda:!
!
1 log log2 2
!
!
1
1
1
1
,1
2
$
'
I 1bit
Para um conjunto de treinamento contendo p exemplos positivos en
exemplos negativos.
n
p n
n
( , ) log log
+ + 2 p n
2 Obs: quantidade de informação medida em bits
p
p n
p
p n
n
p n
I p
p n
+ +
−
+ +
= −
2
2
2
2
2
= − − = "#
%&
22. Ganho de Informação
Um atributo escolhido A divide o conjunto de treinamento
E em subconjuntos E1,…,Ev de acordo com seus
valores para A onde A tem v valores distintos!
!
p n
!
resto A Ganho de Informação(IG) ou redução na entropia do
atributo de teste:!
!
!
!
Escolher o atributo com o maior Ganho.
Σ=
+
n
( ) ( , i
)
I p
i i i
+ + +
=
v
i i i
i i
p n
p n
p n
1
Ganho A I p n
−
( ) ( , ) resto(A)
p n
p n
+ +
=
23. Ganho de Informação
Para o conjunto de treinamento (do restaurante), p = n = 6, I(6/12, 6/12) = 1 bit!
!
!
Considerando os atributos Clientes e Tipos) (e também outros):!
!
!
!
Ganho ( Clientes ) 1 [ 2
= − I + I + I
=
!
!
Ganho ( Tipo ) 1 [ 2
I I I I
!
!
Clientes tem o maior ganho de todos atributos e é escolhido pelo algoritmo
como root
, 2
4
)] 0 bits
4
(2
, 4
6
) 4
4
12
(2
, 2
4
(1,0) 6
) 4
2
12
(1
, 1
2
(0,1) 4
) 2
2
12
(1
, 1
2
12
)] .0541 bits
6
(2
12
12
12
= − + + + =
24. Continuação do Exemplo
"Árvore de decisão aprendida dos 12 exemplos:!
!
!
!
!
!
!
!
!
!
!
!
Substancialmente mais simples que a “verdadeira” árvore – uma
hipótese mais complexa não se justifica diante de um menor montante
de dados.
25. Medida de Desempenho
• Como sabemos se h ≈ f ?!
1. Usar teoremas da teoria de aprendizagem estatística/computacional!
2. Testar h sobre um novo conjunto de teste de exemplos!
(usar a mesma distribuição sobre o espaço de exemplos como conjunto
de treinamento)!
!
!
!
!
!
!
!
!
!
!
Curva de Aprendizagem = % de testes corretos como função do tamanho do
conjunto de treinamento
26. Resumo
"Aprendizado necessário para ambientes desconhecidos, projetistas
preguiçosos (sem tempo)!
!
"Agente de Aprendizagem = Elemento de Desempenho + Elemento de
Aprendizagem!
!
"Para aprendizagem supervisionada, a meta é encontrar uma hipótese
simples aproximadamente consistente com os exemplos de treinamento!
!
!
"Aprendizagem com árvore de decisão usando teoria do ganho da
informação!
!
"Desempenho de aprendizado = acuracidade de predição medida no
conjunto de teste.