Download - Inteligência Artificial - Parte 5 -
Aprendizagem com Árvores de Decisão
Ronaldo F. Ramos, Dr. [email protected]
Roteiro✹Agentes de Aprendizagem ✹Aprendizagem Indutiva
✹Arvore de Decisão
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.
Agentes de ApredizagemPadrões de desempenho
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
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
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
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.
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.
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.
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.
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
Árvores de DecisãoProblema: !!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
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)
Á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
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.
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
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).
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
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?
Usando a teoria da informaçãoPara 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:!!
!!
Para um conjunto de treinamento contendo p exemplos positivos en exemplos negativos.
npn
npn
npp
npp
npn
nppI
++−
++−=
++ 22 loglog),(
Obs: quantidade de informação medida em bits
bitI 121
21
21
21
21,21 loglog
22=−−="
#
$%&
'
Ganho de InformaçãoUm 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!!!
Ganho de Informação(IG) ou redução na entropia do atributo de teste:!!!!Escolher o atributo com o maior Ganho.
∑= +++
+=
v
i ii
i
ii
iii
npn
npp
Inpnp
Aresto1
),()(
)(),()( Arestonpn
npp
IAGanho −++
=
Ganho de InformaçãoPara 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):!!!!!!!!Clientes tem o maior ganho de todos atributos e é escolhido pelo algoritmo
como root
bits 0)]42,
42(
124)
42,
42(
124)
21,
21(
122)
21,
21(
122[1)(
bits 0541.)]64,
62(
126)0,1(
124)1,0(
122[1)(
=+++−=
=++−=
IIIITipoGanho
IIIClientesGanho
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.
• 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
Medida de Desempenho
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.