26
Aprendizagem com Árvores de Decisão Ronaldo F. Ramos, Dr. [email protected]

Inteligência Artificial - Parte 5 -

Embed Size (px)

DESCRIPTION

Inteligência Artificial - Parte 5 - Aprendizagem com Árvores de Decisão

Citation preview

Page 1: Inteligência Artificial - Parte 5 -

Aprendizagem com Árvores de Decisão

Ronaldo F. Ramos, Dr. [email protected]

Page 2: Inteligência Artificial - Parte 5 -

Roteiro✹Agentes de Aprendizagem ✹Aprendizagem Indutiva

✹Arvore de Decisão

Page 3: Inteligência Artificial - Parte 5 -

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.

Page 4: Inteligência Artificial - Parte 5 -

Agentes de ApredizagemPadrões de desempenho

Page 5: Inteligência Artificial - Parte 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

Page 6: Inteligência Artificial - Parte 5 -

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

Page 7: Inteligência Artificial - Parte 5 -

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

Page 8: Inteligência Artificial - Parte 5 -

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.

Page 9: Inteligência Artificial - Parte 5 -

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.

Page 10: Inteligência Artificial - Parte 5 -

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.

Page 11: Inteligência Artificial - Parte 5 -

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.

Page 12: Inteligência Artificial - Parte 5 -

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

Page 13: Inteligência Artificial - Parte 5 -

Á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

Page 14: Inteligência Artificial - Parte 5 -

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)

Page 15: Inteligência Artificial - Parte 5 -

Á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

Page 16: Inteligência Artificial - Parte 5 -

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.

Page 17: Inteligência Artificial - Parte 5 -

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

Page 18: Inteligência Artificial - Parte 5 -

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).

Page 19: Inteligência Artificial - Parte 5 -

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

Page 20: Inteligência Artificial - Parte 5 -

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?

Page 21: Inteligência Artificial - Parte 5 -

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=−−="

#

$%&

'

Page 22: Inteligência Artificial - Parte 5 -

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 −++

=

Page 23: Inteligência Artificial - Parte 5 -

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

Page 24: Inteligência Artificial - Parte 5 -

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.

Page 25: Inteligência Artificial - Parte 5 -

• 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

Page 26: Inteligência Artificial - Parte 5 -

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.