Buscar

14-Aprendizagem_de_Arvores_de_Decisao

Prévia do material em texto

APRENDIZADO	
  POR	
  ÁRVORES	
  
DE	
  DECISÃO	
  
	
  
	
  
	
  
Modelos	
  básicos	
  para	
  aprendizado	
  
supervisionado	
  
¨  Muitos	
  algoritmos	
  de	
  aprendizagem	
  podem	
  ser	
  vistos	
  como	
  
derivados	
  de:	
  
¤  Classificadores	
  lineares	
  
¤  Classificadores	
  Bayesianos	
  
¤  Árvores	
  de	
  decisão	
  
Stuart	
  Russel	
  e	
  Peter	
  Norving	
  -­‐	
  “Inteligência	
  ArLficial”	
  -­‐	
  
cap	
  18.	
  
Aprendizagem	
  de	
  Árvores	
  de	
  Decisão	
  
Aprendizagem	
  de	
  Árvore	
  de	
  Decisão	
  
4	
  
n  A	
  representação	
  usada	
  é	
  uma	
  árvore	
  de	
  decisão,	
  com	
  um	
  
viés	
  para	
  árvores	
  de	
  decisão	
  simples.	
  
n  Faz	
  busca	
  no	
  espaço	
  de	
  árvores	
  de	
  decisão,	
  das	
  árvores	
  
simples	
  para	
  as	
  mais	
  complexos.	
  
n  Toma	
  como	
  entrada	
  um	
   	
  ou	
   	
  descrito	
  por	
  um	
  
conjunto	
  de	
   (propriedades).	
  
n  Retorna	
  uma	
   	
  –	
  o	
  valor	
  de	
  saída	
  previsto	
  de	
  acordo	
  
com	
  a	
  entrada.	
  
n  Os	
  atributos	
  de	
  entrada	
  e	
  o	
  valor	
  de	
  saída	
  podem	
  ser	
  
discretos	
  ou	
  conZnuos.	
  
Árvore	
  de	
  Decisão	
  
5	
  
n  É	
  uma	
  árvore	
  na	
  qual	
  cada	
  nó	
   é	
   	
  com	
  um	
  
.	
  
n  Os	
   	
  que	
  saem	
  de	
  um	
  nó	
  com	
  o	
   	
  são	
  rotulados	
  
com	
  cada	
  possível	
   .	
  
n  As	
   	
  da	
  árvore	
  são	
  rotuladas	
  com	
  a	
  
.	
  
n  Obtém	
  uma	
  decisão	
  executando	
  uma	
  sequência	
  de	
  testes.	
  
n  Cada	
  nó	
  não	
  folha	
  da	
  árvore	
  corresponde	
  a	
  um	
  teste	
  do	
  valor	
  
de	
  um	
  atributo.	
  
Exemplo	
  de	
  árvore	
  de	
  decisão	
  
6	
  
n  Esperar	
  ou	
  não	
  uma	
  mesa	
  em	
  um	
  restaurante?	
  
n  Objetivo:	
  aprender	
  uma	
  definição	
  para	
  o	
  
	
  (booleano).	
  
n  Atributos	
  disponíveis:	
  
n  Alterna,va:	
  há	
  um	
  outro	
  restaurante	
  apropriado	
  por	
  perto?	
  
n  Bar:	
  o	
  restaurante	
  tem	
  uma	
  área	
  de	
  bar	
  confortável	
  para	
  esperar?	
  
n  Sex/Sab:	
  hoje	
  é	
  sextas	
  ou	
  sábado?	
  
n  Faminto:	
  estamos	
  com	
  fome?	
  
n  Clientes:	
  quantas	
  pessoas	
  estão	
  no	
  restaurante?	
  
n  Preço:	
  a	
  faixa	
  de	
  preços	
  do	
  restaurante.	
  
n  Chovendo:	
  está	
  chovendo	
  do	
  lado	
  de	
  fora?	
  
n  Reserva:	
  fizemos	
  uma	
  reserva?	
  
n  Tipo:	
  qual	
  o	
  Lpo	
  do	
  restaurante?	
  
n  Espera	
  es,mada:	
  o	
  tempo	
  de	
  espera	
  esLmado	
  pelo	
  o	
  gerente.	
  
7	
  
Clientes? 
Bar? 
Sex/Sab? Reserva? 
Faminto? Alternativa? 
EsperaEstimada? 
Chovendo? 
Não Não 
Não 
Não 
Não 
Sim Sim Sim 
Sim 
Sim 
Sim 
Alternativa? 
Sim Sim 
Nenhum alguns cheio 
>60 30-60 10-30 0-10 
 Não Sim Não Sim 
Não Sim Não Sim Não Sim 
Não Sim Não Sim 
Árvore	
  de	
  decisão	
  para	
  o	
  problema	
  do	
  restaurante	
  -­‐	
  Russel	
  
Problemas	
  na	
  aprendizagem	
  de	
  árvore	
  de	
  
decisão	
  
¨  Tendo	
  em	
  conta	
  alguns	
  exemplos	
  de	
  treinamento,	
  que	
  árvore	
  de	
  
decisão	
  deve	
  ser	
  gerada?	
  
¨  Uma	
  árvore	
  de	
  decisão	
  pode	
  representar	
  qualquer	
  função	
  discreta	
  
dos	
  recursos	
  de	
  entrada.	
  
¨  Você	
  precisa	
  de	
  um	
  viés.	
  Exemplo,	
  preferir	
  a	
  árvore	
  menor.	
  Com	
  
menos	
  profundidade?	
  Com	
  menor	
  número	
  de	
  nós?	
  Quais	
  as	
  
árvores	
  são	
  os	
  melhores	
  previsores	
  de	
  dados	
  não	
  vistos	
  ainda?	
  
¨  Como	
  você	
  deve	
  construir	
  uma	
  árvore	
  de	
  decisão?	
  O	
  espaço	
  de	
  
árvores	
  de	
  decisão	
  é	
  demasiado	
  grande	
  para	
  a	
  pesquisa	
  
sistemáLca	
  pela	
  árvore	
  de	
  decisão	
  menor.	
  	
  
Expressividade	
  de	
  árvores	
  de	
  decisão	
  
9	
  
n  Qualquer	
  hipótese	
  de	
  árvore	
  de	
  decisão	
  específica	
  para	
  o	
  predicado	
  
objeLvo	
   pode	
  ser	
  vista	
  como	
  uma	
  asserção	
  da	
  forma:	
  
n  Onde	
  cada	
  condição	
  Pi(s)	
  é	
  uma	
  conjunção	
  de	
  testes	
  que	
  	
  correspondem	
  
a	
  um	
  caminho	
  da	
  raiz	
  até	
  uma	
  folha	
  da	
  árvore	
  com	
  resultado	
  posiLvo.	
  
Expressividade	
  de	
  árvores	
  de	
  decisão	
  
10	
  
n  Uma	
  árvore	
  de	
  decisão:	
  
n  Descreve	
  um	
  relacionamento	
  entre	
  o	
  predicado	
  objeLvo	
  e	
  alguma	
  
combinação	
  lógica	
  de	
  atributos.	
  
n  Árvores	
  de	
  decisão	
  não	
  podem	
  representar	
  testes	
  que	
  se	
  referem	
  
a	
  dois	
  ou	
  mais	
  objetos	
  diferentes.	
  
	
  Existe	
  um	
  restaurante	
  mais	
  barato	
  por	
  perto?	
  
n  Árvores	
  de	
  decisão	
  são	
  completamente	
  expressivas	
  dentro	
  da	
  
classe	
  de	
  linguagens	
  proposicionais.	
  
n  Qualquer	
  função	
  booleana	
  pode	
  ser	
  escrita	
  como	
  uma	
  árvore	
  de	
  decisão.
	
  	
  
Exemplo	
  de	
  árvore	
  de	
  decisão	
  
Programa	
  lógico	
  equivalente	
  
Expressividade	
  de	
  árvores	
  de	
  decisão	
  
13	
  
n  Para	
  qualquer	
  função	
  booleana	
  podemos	
  fazer	
  com	
  que	
  cada	
  linha	
  
da	
  Tabela	
  Verdade	
  =	
  	
  um	
  caminho	
  na	
  árvore.	
  
n  Representação	
  exponencialmente	
  grande.	
  
n  Tabela	
  Verdade	
  tem	
  um	
  número	
  exponencial	
  de	
  linhas.	
  
n  Árvores	
  de	
  decisão	
  podem	
  representar	
  muitas	
  funções	
  com	
  
árvores	
  muito	
  menores.	
  
n  Árvores	
  de	
  decisão	
  servem	
  para	
  alguns	
  Lpos	
  de	
  funções	
  e	
  não	
  são	
  
boas	
  para	
  outros:	
  
:	
  Função	
  paridade	
  e	
  Função	
  maioria	
  –	
  árvores	
  de	
  decisão	
  
exponencialmente	
  grande	
  no	
  tamanho	
  da	
  entrada.	
  
n  Infelizmente	
  não	
  existe	
  uma	
  espécie	
  de	
  representação	
  que	
  seja	
  
eficiente	
  para	
  todos	
  os	
  Lpos	
  de	
  funções.	
  
Problemas	
  apropriados	
  para	
  o	
  uso	
  de	
  árvores	
  
de	
  decisão	
  
14	
  
n  Instâncias	
  são	
  representadas	
  através	
  de	
  pares	
  atributo-­‐valor.	
  
n  Cada	
  atributo	
  assume	
  um	
  número	
  pequeno	
  de	
  possíveis	
  valores	
  
disjuntos	
  (por	
  exemplo,	
  Temperatura	
  =	
  	
  Quente,	
  Moderado,	
  Frio).	
  
n  A	
  função	
  tem	
  valores	
  discretos	
  (V/F,	
  	
  1/2/3).	
  
n  Os dados de treinamento permitem	
  descrições	
  disjuntas.	
  
n  Os	
  dados	
  de	
  treinamento	
  podem	
  conter	
  erros.	
  
n  Os	
  dados	
  de	
  treinamento	
  podem	
  conter	
  valores	
  de	
  atributos	
  
indefinidos.	
  
Aplicação	
  de	
  árvores	
  de	
  decisão	
  
15	
  
n  Muitos	
  problemas	
  práLcospossuem	
  as	
  caracterísLcas	
  para	
  
aplicação	
  de	
  árvores	
  de	
  decisão.	
  
n  Aprendizado	
  uLlizando	
  árvore	
  de	
  decisão	
  já	
  foi	
  aplicado	
  a	
  
problemas	
  como:	
  
n  Classificar	
  os	
  pacientes	
  médicos	
  pela	
  doença.	
  
n  Causa	
  de	
  maus	
  funcionamentos	
  de	
  equipamentos.	
  
n  A	
  probabilidade	
  de	
  candidatos	
  a	
  emprésLmo	
  ficarem	
  inadimplentes.	
  
n  Entre	
  outros...	
  
Induzindo	
  árvores	
  de	
  decisão	
  
16	
  
n  Induzindo	
  árvores	
  de	
  decisão	
  por	
  meio	
  de	
  exemplos.	
  
n  Um	
   	
  é	
  descrito	
  pelo	
   e	
  o	
  
.	
  
n  è	
  classificação	
  do	
  exemplo.	
  
n  Predicado	
  objeLvo	
  =	
  verdadeiro	
  è	
  exemplo	
  posiLvo.	
  
n  Predicado	
  objeLvo	
  =	
  falso	
  	
  	
  	
  	
  	
  	
  	
  	
  è	
  	
  exemplo	
  negaLvo.	
  
n  Um	
  conjunto	
  completo	
  de	
  exemplos	
  é	
  chamado	
  de	
  
.	
  
Induzindo	
  árvores	
  de	
  decisão	
  
17	
  
n  Encontrar	
  uma	
  AD(h(x))	
  que	
  concorde	
  com	
  o	
  conjunto	
  de	
  
treinamento	
  parece	
  dilcil,	
  mas	
  pode	
  ser	
  trivial.	
  
n  Podemos	
  construir	
  uma	
  AD	
  que	
  tem	
  um	
  caminho	
  para	
  uma	
  folha	
  
correspondente	
  a	
  cada	
  exemplo.	
  
n  Infelizmente	
  ela	
  não	
  terá	
  muito	
  a	
  informar	
  sobre	
  qualquer	
  outros	
  
casos	
  (não	
  fará	
  boas	
  generalizações).	
  
n  Ela	
  memoriza	
  as	
  observações,	
  mas	
  não	
  extrai	
  qualquer	
  padrão.	
  
O	
  problema	
  com	
  a	
  AD	
  trivial	
  
18	
  
n  Pela	
  Navalha	
  de	
  Ockham	
  devemos	
  encontrar	
  a	
  menor	
  AD	
  
consistente	
  com	
  os	
  exemplos	
  (intratável).	
  
n  Podemos	
  resolver	
  o	
  problema	
  intratável	
  uLlizando	
  algumas	
  
heurísLcas	
  para	
  encontrarmos	
  árvores	
  pequenas.	
  
n  Algoritmo	
  de	
  aprendizagem	
  em	
  árvore	
  de	
  decisão	
  
n  A	
  ideia	
  é	
  testar	
  o	
   –	
  aquele	
  que	
  faz	
  a	
  maior	
  
diferença	
  para	
  a	
  classificação	
  dos	
  exemplos.	
  
n  Obter	
  a	
  classificação	
  correta	
  com	
  um	
  pequeno	
  número	
  de	
  testes	
  è	
  
caminhos	
  curtos	
  e	
  árvore	
  pequenas.	
  
19	
  
Conjunto	
  de	
  treinamento	
  para	
  o	
  exemplo	
  do	
  restaurante	
  
Ex Alt Bar Sex Fam Cli Pre Chu Res Tipo Tem Meta
X1 Sim Não Não Sim Alg $$$ Não Sim Fra 0-10 Sim
X2 Sim Não Não Sim Che $ Não Não Tai 30-60 Não
X3 Não Sim Não Não Alg $ Não Não Ham 0-10 Sim
X4 Sim Não Sim Sim Che $ Sim Não Tai 10-30 Sim
X5 Sim Não Sim Não Che $$$ Não Sim Fra >60 Não
X6 Não Sim Não Sim Alg $$ Sim Sim Ita 0-10 Sim
X7 Não Sim Não Não Ne $ Sim Não Ham 0-10 Não
X8 Não Não Não Sim Alg $$ Sim Sim Tai 0-10 Sim
X9 Não Sim Sim Não Che $ Sim Não Ham >60 Não
X10 Sim Sim Sim Sim Che $$$ Não Sim Ita 10-30 Não
X11 Não Não Não Não Ne $ Não Não Tai 0-10 Não
X12 Sim Sim Sim Sim Che $ Não Não Ham 30-60 Sim
Aplicação	
  do	
  algoritmo	
  de	
  aprendizagem	
  
20	
  
Ex Alt Bar Sex
X1 Sim Não Não
X2 Sim Não Não
X3 Não Sim Não
X4 Sim Não Sim
X5 Sim Não Sim
X6 Não Sim Não
X7 Não Sim Não
X8 Não Não Não
X9 Não Sim Sim
X10 Sim Sim Sim
X11 Não Não Não
X12 Sim Sim Sim
Objetivo 
Sim 1 3 4 6 8 12 
Não 2 5 7 9 10 11 
alternativa? 
1 4 12 
2 5 10 
3 6 8 
7 9 11 
sim não 
Bar? 
3 6 12 
7 9 10 
1 4 8 
2 5 11 
sim não 
Sex/Sab? 
4 12 
5 9 10 
1 3 6 8 
2 7 11 
sim não 
Aplicação	
  do	
  algoritmo	
  de	
  aprendizagem	
  
21	
  
Ex Alt Bar Sex
X1 Sim Não Não
X2 Sim Não Não
X3 Não Sim Não
X4 Sim Não Sim
X5 Sim Não Sim
X6 Não Sim Não
X7 Não Sim Não
X8 Não Não Não
X9 Não Sim Sim
X10 Sim Sim Sim
X11 Não Não Não
X12 Sim Sim Sim
Objetivo 
Sim 1 3 4 6 8 12 
Não 2 5 7 9 10 11 
faminto? 
1 4 6 8 12 
2 10 
3 
5 7 9 11 
sim não 
clientes? 
 
7 11 
1 3 6 8 
 
nen alg cheio 
4 12 
2 5 9 10 preço? 
3 4 12 
2 7 9 11 
6 8 
 
$ $$ $$$ 
1 
5 10 
Exercício	
  
22	
  
n  Fazer	
  a	
  representação	
  dos	
  atributos	
  abaixo	
  da	
  forma	
  
especificada	
  anteriormente.	
  
n  Chovendo?	
  
n  Reserva?	
  
n  Tipo?	
  
n  Tempo	
  de	
  espera?	
  
n  Qual	
  é	
  o	
  atributo	
  que	
  separa	
  melhor	
  os	
  exemplos?	
  
Qual	
  é	
  o	
  atributo	
  que	
  melhor	
  separa	
  os	
  
exemplos?	
  
23	
  
n  O	
  quanto	
  cada	
  atributo	
  classifica:	
  
n  Alterna,va,	
  Bar,	
  Sex/Sab,	
  Faminto,	
  Chovendo,	
  Reserva,	
  Tipo:	
  zero	
  
exemplos.	
  
n  Clientes:	
  6	
  exemplos.	
  
n  Preço	
  e	
  Espera	
  es,mada:	
  2	
  exemplos.	
  
n  O	
  atributo	
   	
  classifica	
  6	
  exemplos.	
  
n  Então	
  ele	
  será	
  a	
  raiz	
  da	
  árvore	
  de	
  decisão:	
  
clientes? 
não 
7 11 
1 3 6 8 
sim 
nen alg cheio 
4 12 ? 
2 5 9 10 
Escolha	
  dos	
  atributos	
  
24	
  
n  Depois	
  da	
  escolha	
  do	
  atributo	
   ficamos	
  com	
  um	
  
conjunto	
  misto	
  de	
  exemplos	
  se	
  o	
  valor	
  for	
  cheio.	
  
n  Depois	
  que	
  o	
  primeiro	
  teste	
  de	
  atributo	
  separa	
  os	
  exemplos,	
  
cada	
  resultado	
  é	
  um	
  novo	
  problema	
  de	
  aprendizagem	
  em	
  
AD.	
  
n  Com	
  menos	
  exemplos	
  (os	
  que	
  ainda	
  não	
  foram	
  classificados	
  -­‐	
  2	
  5	
  9	
  10	
  
4	
  e	
  12)	
  e	
  um	
  atributo	
  a	
  menos	
  (Lra-­‐se	
  clientes).	
  
n  Exercício:	
  Aplique	
  o	
  algoritmo	
  de	
  aprendizagem	
  de	
  AD	
  
para	
  os	
  exemplos	
  anteriores.	
  
Nova	
  instância	
  do	
  problema	
  com	
  menos	
  
exemplos	
  e	
  menos	
  atributos	
  
25	
  
alternativa? 
4 12 
2 5 10 
 
9 
sim não 
Bar? 
12 
9 10 
4 
2 5 
sim não 
Sex/Sab? 
4 12 
5 9 10 
 
2 
sim não 
faminto? 
4 12 
2 10 
 
5 9 
sim não 
preço? 
4 12 
2 9 
 
5 10 
Chovendo? 
4 
9 
12 
2 5 10 
sim não 
Reserva? 
 
5 10 
4 12 
2 9 
sim não 
Tipo? 
4 
2 
Fra Tai Ita Ham 
12 
9 
 
5 
TempoEspera? 
4 
10 
12 
2 
10-30 30-60 >60 
$ $$$ 
 
10 
 
5 9 
Qual	
  é	
  o	
  atributo	
  que	
  melhor	
  separa	
  os	
  
exemplos	
  restantes?	
  
26	
  
n  Faminto,	
  preço,	
  reserva	
  e	
  ,po	
  classificam	
  2	
  exemplos.	
  
n  Podemos	
  escolher	
  qualquer	
  um	
  deles	
  (heurísLca	
  gulosa).	
  
Clientes? 
Faminto? Não 
7 11 
Sim 
1 3 6 8 
? 
Nenhum alguns cheio 
Não 
5 9 
Não Sim 
Casos	
  a	
  considerar	
  na	
  escolha	
  de	
  um	
  novo	
  
atributo	
  
27	
  
n  Se	
  existem	
  alguns	
  exemplos	
  posiLvos	
  e	
  alguns	
  negaLvos,	
  
escolha	
  o	
  melhor	
  atributo	
  para	
  dividi-­‐los.	
  
n  Se	
  todos	
  os	
  exemplos	
  restantes	
  forem	
  posiLvos	
  (ou	
  
negaLvos),terminamos.	
  
n  Se	
  não	
  resta	
  nenhum	
  atributo,	
  mas	
  há	
  exemplos	
  posiLvos	
  e	
  
negaLvos	
  –	
  descrições	
  iguais	
  com	
  classificações	
  diferentes	
  =	
  
nos	
  dados.	
  
Algoritmo ID3 (Inductive Decision Tree) 
Função APRENDIZAGEM-EM-AD (exemplos, atributos, padrão) retorna uma AD 
 entradas: exemplos, conjunto de exemplos 
 atributos, conjunto de atributos 
 padrão, valor-padrão para o predicado de objetivo 
 
 se exemplos é vazio então 
 retornar padrão 
 senão se todos os exemplos têm 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, exemplo) 
 árvore ß uma nova ad com teste de raiz melhor 
 m ß VALOR-DA-MAIORIA(exemplosi) 
 para cada valor vi de melhor faça 
 exemplosi ß {elementos de exemplos com melhor = vi) 
 subárvore ß APRENDIZAGEM-EM-AD(exemplosi,atributos-melhor, m) 
 adicionar uma ramificação a árvore com rótulo vi e subárvore subárvore 
 retornar árvore 
Árvore	
  resultante	
  da	
  aplicação	
  do	
  algoritmo	
  ID3	
  
29	
  
Clientes? 
Faminto? Não Sim 
Tipo? 
Nenhum alguns cheio 
Não 
Sim Não Sim Sex/sab? 
Não Sim 
Não Sim 
 Fra Ita Tai Ham 
 Não Sim 
O	
  algoritmo	
  poderia	
  
encontrar	
  uma	
  AD	
  diferente	
  
para	
  o	
  mesmo	
  conjunto	
  de	
  
treinamento?	
  
	
   	
  Por	
  que?	
  
	
   	
  Qual	
  seria?	
  
A	
  árvore	
  resultante	
  
30	
  
n  É	
  diferente	
  da	
  árvore	
  original.	
  
n  Mas	
  a	
  hipótese	
  concorda	
  com	
  todos	
  os	
  exemplos	
  e	
  é	
  
consideravelmente	
  mais	
  simples	
  do	
  que	
  a	
  árvore	
  original.	
  
n  Chovendo	
  e	
  Reserva	
  ficaram	
  de	
  fora	
  porque	
  a	
  árvore	
  não	
  
necessita	
  deles	
  para	
  classificar	
  os	
  exemplos.	
  
n  Se	
  Lvéssemos	
  um	
  conjunto	
  de	
  treinamento	
  maior,	
  com	
  
certeza	
  a	
  árvore	
  ficaria	
  mais	
  parecida	
  com	
  a	
  original.	
  
Escolha	
  de	
  testes	
  de	
  atributos	
  
31	
  
n  Esquema	
  de	
  aprendizagem	
  da	
  AD:	
  
n  Projetado	
  para	
  minimizar	
  a	
  profundidade	
  da	
  árvore	
  final.	
  
:	
  escolher	
  o	
  atributo	
  que	
  melhor	
  fornece	
  uma	
  classificação	
  exata	
  
dos	
  exemplos.	
  
:	
  divide	
  os	
  exemplos	
  em	
  conjuntos	
  que	
  são	
  
todos	
  posiLvos	
  ou	
  todos	
  negaLvos.	
  
n  Clientes	
  não	
  é	
  perfeito,	
  mas	
  é	
  “bastante	
  bom”.	
  
:	
  deixa	
  os	
  conjuntos	
  de	
  exemplos	
  com	
  a	
  
mesma	
  proporção	
  do	
  conjunto	
  original.	
  
n  Tipo	
  é	
  um	
  atributo	
  “realmente	
  inúLl”.	
  
QuanLdade	
  de	
  informação	
  fornecida	
  pelo	
  
atributo	
  
32	
  
n  Como	
  medimos	
  um	
  “atributo	
  muito	
  bom”	
  ou	
  um	
  “atributo	
  
realmente	
  inúLl”?	
  
n  A	
  medida:	
  
n  Deve	
  ter	
  o	
  valor	
  máximo	
  quando	
  o	
  atributo	
  é	
  perfeito.	
  
n  E	
  o	
  valor	
  mínimo	
  quando	
  o	
  atributo	
  for	
  completamente	
  inúLl.	
  
n  Uma	
  medida	
  apropriada	
  seria	
  a	
  
fornecida	
  pelo	
  atributo.	
  
n  Isto	
  é	
  feito	
  por	
  meio	
  da	
  teoria	
  da	
  informação.	
  
Entropia	
  
33	
  
n  Medida	
  comumente	
  usada	
  na	
  teoria	
  da	
  informação.	
  
n  Caracteriza	
  a	
  impureza	
  de	
  uma	
  coleção	
  de	
  exemplos.	
  
n  Seja	
  S	
  uma	
  coleção	
  de	
  exemplos	
  posiLvos	
  e	
  negaLvos	
  de	
  
algum	
  conceito	
  objeLvo	
  lógico,	
  a	
  entropia	
  de	
  S:	
  
S
S
 em negativos exemplos de proporção a é Θp e
 em positivos exemplos de proporção a é p onde ⊕
ΘΘ⊕⊕ −−≡ pppp 22 loglog Entropia
Cálculo	
  de	
  Entropia	
  –	
  Exemplo	
  
34	
  
n  Suponha	
  que	
  S	
  seja	
  uma	
  coleção	
  de	
  14	
  exemplos	
  de	
  algum	
  conceito	
  
lógico:	
  
n  9	
  exemplos	
  são	
  posiLvos	
  e	
  5	
  são	
  negaLvos	
  [9+,	
  5-­‐]	
  
n  Entropia=0,	
  se	
  todos	
  os	
  exemplos	
  de	
  S	
  pertencem	
  à	
  mesma	
  classe	
  (todos	
  
posiLvos	
  ou	
  todos	
  negaLvos).	
  
n  Entropia=1,	
  quando	
  S	
  contém	
  um	
  número	
  igual	
  de	
  exemplos	
  posiLvos	
  e	
  
negaLvos	
  (exemplo	
  do	
  restaurante).	
  
n  Se	
  S	
  contém	
  números	
  desiguais	
  de	
  exemplos	
  posiLvos	
  e	
  negaLvos	
  a	
  
entropia	
  está	
  entre	
  0	
  e	
  1.	
  
0.940 5-]) ,9Entropia([
)145(log)145()149(log)149( 5-]) ,9Entropia([ 22
=+
−−≡+
Medida	
  de	
  Ganho	
  de	
  informação	
  
35	
  
n  A	
  medida	
  da	
  efeLvidade	
  de	
  um	
  atributo	
  para	
  classificar	
  os	
  
dados	
  de	
  treinamento	
  
=	
  redução	
  esperada	
  da	
  entropia	
  
causada	
  pelo	
  parLcionamento	
  dos	
  exemplos	
  de	
  S	
  por	
  um	
  
atributo	
  A	
  
( )
v. valor tem A atributo o qual o para S de osubconjunt o é vS -
 A.atributo
 o para valores possíveis os todos de conjunto o é valores(A) -
:onde
∑
∈
=
 valores(A) v
vS
S )Entropia(S - )Entropia(S A)Ganho(S, v
Medida	
  de	
  Ganho	
  de	
  informação	
  –	
  
Exemplo	
  para	
  o	
  atributo	
  Clientes	
  
36	
  
( )
0.5410.918 )( -0 )( -0 )( - 1 Clientes)Ganho(S,
0.918)()log(-)()log(- )Entropia(S
positivos) (todos 0)()log(-)()log(- )Entropia(S
negativos) (todos 0)()log(-)()log(- )Entropia(S
igual) é negativos e positivos de (# 1)()log(-)()log(- )Entropia(S
)Entropia(S )( - 
)Entropia(S )( -)Entropia(S )( - )Entropia(S Clientes)Ganho(S,
)Entropia(S - )Entropia(S Clientes)Ganho(S,
],4[2S ],0[4S ],2[0S ,6-][6 S
12
6
12
4
12
2
6
4
26
4
6
2
26
2
cheio
4
0
24
0
4
4
24
4
alguns
2
2
22
2
2
0
22
0
nenhum
12
6
212
6
12
6
212
6
cheio12
6
alguns12
4
nenhum12
2
 cheio) alguns, (nenhum, v
vS
S
cheioalgunsnenhum
v
==
==
==
==
===
=
=
−+=−+=−+=+=
∑
∈
clientes? 
 
7 11 
1 3 6 8 
 
nen alg cheio 
4 12 
2 5 9 10 
Medida	
  de	
  Ganho	
  de	
  informação	
  –	
  
Exemplo	
  para	
  o	
  atributo	
  Tipo	
  
37	
  
( )
0)1( )1-( )1-( )1-( - 1 Tipo)Ganho(S,
igual) é negativos e positivos
 exemplos de número o ossubconjunt os todos (em
1 )Entropia(S)Entropia(S )Entropia(S )Entropia(S
igual) é negativos e positivos exemplos de (# 1 )Entropia(S
)Entropia(S )( -)Entropia(S )( - 
)Entropia(S )( -)Entropia(S )( - )Entropia(S Tipo)Ganho(S,
)Entropia(S - )Entropia(S Tipo)Ganho(S,
],2[2S ],2[2S
 ],1[1S ],1[1S
 ,6-][6 S
12
4
12
4
12
2
12
2
HamTaiItaFra
Ham12
4
Tai12
4
Ita12
2
Fra12
2
 ) Hamburger Tailandês, Italiano, (Francês, v
vS
S
HamburgerTailandês
ItalianoFrancês
v
==
====
=
=
=
−+=−+=
−+=−+=
+=
∑
∈
Tipo? 
4 8 
2 11 
6 
10 
Fra Tai Ita Ham 
3 12 
7 9 
1 
5 
Conclusões	
  sobre	
  a	
  Medida	
  de	
  Ganho	
  de	
  
Informação	
  
38n  O	
  atributo	
  Clientes	
  é	
  melhor	
  do	
  que	
  o	
  atributo	
  Tipo.	
  
n  Clientes	
  tem	
  maior	
  ganho	
  de	
  informação	
  para	
  separar	
  os	
  exemplos.	
  
n  Tipo	
  é	
  um	
  atributo	
  inúLl	
  para	
  classificar	
  os	
  exemplos	
  	
  
n  Ganho(S,	
  Tipo)	
  =	
  0	
  
n  O	
  ganho	
  de	
  informação	
  deve	
  ser	
  calculado	
  para	
  todos	
  os	
  atributos	
  
e	
  o	
  conjunto	
  S	
  de	
  exemplos.	
  
n  Clientes	
  será	
  o	
  atributo	
  com	
  maior	
  ganho.	
  
n  Após	
  a	
  escolha	
  de	
  Clientes	
  como	
  a	
  raiz	
  da	
  árvore,	
  o	
  novo	
  conjunto	
  
S	
  se	
  torna	
  Scheio[2+,	
  4-­‐]	
  e	
  Entropia(Scheio)=0.918	
  
n  Novamente	
  o	
  ganho	
  de	
  informação	
  deve	
  ser	
  calculado	
  para	
  todos	
  os	
  
atributos	
  e	
  o	
  novo	
  conjunto	
  S.	
  
Exercício	
  
39	
  
n  Calcule o ganho de informação para os outros atributos 
do restaurante, considerando que o atributo Clientes já 
foi escolhido como raiz da árvore. 
n  Continue o algoritmo de aprendizagem calculando o 
ganho de informação para os atributos, para provar a 
árvore de decisão que foi induzida no slide 24. 
Como	
  avaliar	
  um	
  algoritmo	
  de	
  aprendizagem?	
  
40	
  
n  É	
  um	
  bom	
  algoritmo	
  se	
  ele	
  produz	
  hipóteses	
  que	
  classificam	
  
(predizem)	
  bem	
  exemplos	
  ainda	
  não	
  vistos.	
  
n  A	
   	
  é	
  boa	
  se	
  ela	
  se	
  torna	
  verdadeira.	
  
n  Como	
  avaliar	
  a	
  qualidade	
  de	
  uma	
  hipótese?	
  
n  Podemos	
  checar	
  sua	
  previsão	
  com	
  uma	
  classificação	
  correta	
  que	
  já	
  
conhecemos.	
  
n  Conjunto	
  de	
  exemplos	
  conhecidos	
  =	
   .	
  
Metodologia	
  para	
  avaliação	
  de	
  desempenho	
  de	
  
um	
  algoritmo	
  
41	
  
n  Coletar	
  um	
  grande	
  conjunto	
  de	
  exemplos.	
  
n  Dividi-­‐lo	
  em	
  dois	
  conjuntos	
  disjuntos:	
  
n  Conjunto	
  de	
  treinamento	
  e	
  conjunto	
  de	
  teste	
  
n  Aplicar	
  o	
  algoritmo	
  ao	
  conjunto	
  de	
  treinamento,	
  gerando	
  uma	
  
hipótese	
  h.	
  
n  Medir	
  a	
  quanLdade	
  de	
  exemplos	
  do	
  conjunto	
  de	
  teste	
  classificados	
  
corretamente	
  por	
  h.	
  
n  RepeLr	
  as	
  etapas	
  1	
  a	
  4	
  para:	
  
n  Diferentes	
  tamanhos	
  de	
  conjuntos	
  de	
  treinamento.	
  
n  Diferentes	
  conjuntos	
  de	
  treinamento	
  de	
  cada	
  tamanho.	
  
Curva	
  de	
  aprendizagem	
  
42	
  
n  É	
  traçada	
  com	
  o	
  conjunto	
  de	
  dados	
  obLdos	
  da	
  metodologia	
  
anterior.	
  
n  Conjunto	
  de	
  treinamento	
  aumenta	
  è	
  qualidade	
  da	
  previsão	
  
aumenta.	
  
n  Bom	
  sinal	
  de	
  que	
  existe	
  um	
  padrão	
  nos	
  dados	
  e	
  o	
  algoritmo	
  
está	
  capturando	
  este	
  padrão.	
  
Curva	
  de	
  aprendizagem	
  
43	
  
Ruído	
  e	
  superadaptação	
  (overfi4ng)	
  
44	
  
n  O	
  algoritmo	
  ID3	
  faz	
  crescer	
  cada	
  ramo	
  da	
  árvore	
  o	
  suficiente	
  
para	
  classificar	
  perfeitamente	
  os	
  exemplos	
  de	
  treino.	
  
n  Problemas:	
  
n  Quando	
  existe	
   ou	
   nos	
  dados,	
  ou	
  
n  Quando	
  o	
   não	
  
consLtuindo	
  uma	
  amostra	
  representaLva	
  da	
  verdadeira	
  função	
  
objeLvo.	
  
n  Nestes	
  casos	
  ID3	
  pode	
  produzir	
  árvores	
  que	
  se	
   	
  aos	
  
exemplos	
  de	
  treino	
  -­‐	
  isto	
  é,	
  aprendem	
  inclusive	
  os	
  ruídos	
  e	
  os	
  erros.	
  
Definição	
  de	
  superadaptação	
  
45	
  
n  A	
  superadaptação	
  afligi	
  todo	
  Lpo	
  de	
  algoritmo	
  de	
  
aprendizagem,	
  não	
  apenas	
  algoritmos	
  para	
  árvores	
  de	
  
decisão.	
  
o)treinament de conjunto do fora exemplos incluindo (i.e. exemplos
dos ãodistribuiç a toda sobre que do erro menor tem mas
treino, de exemplos os sobre que do erro menor tenha h que tal
, aalternativ hipótese alguma existe se treino de dados os
 hipótese Uma . hipóteses de espaço um Dado
hh
h
Hh
HhH
ʹ′
ʹ′
∈ʹ′
∈ overfit
Exemplo	
  de	
  superadaptação	
  
46	
  
Como	
  evitar	
  a	
  superadaptação	
  
47	
  
n  Fazer	
  a	
  árvore	
  parar	
  de	
  crescer	
  antes	
  que	
  ela	
  alcance	
  o	
  ponto	
  
onde	
  ela	
  classifique	
  perfeitamente	
  os	
  exemplos	
  de	
  treino.	
  
n  Para	
  isso	
  temos	
  que	
  acompanhar	
  as	
  porcentagens	
  de	
  previsões	
  
corretas	
  tanto	
  no	
  conjunto	
  de	
  teste	
  quanto	
  no	
  conjunto	
  de	
  
treinamento.	
  
n  Um	
  atributo	
  com	
  ganho	
  de	
  informação	
  perto	
  de	
  zero	
  tem	
  grandes	
  
indícios	
  de	
  ser	
  um	
  atributo	
  irrelevante.	
  
n  Quando	
  a	
  parLção	
  dos	
  dados	
  não	
  for	
  estaLsLcamente	
  significante,	
  
podemos	
  parar	
  o	
  crescimento	
  da	
  árvore.	
  
Como	
  evitar	
  a	
  superadaptação	
  
48	
  
n  PermiLr	
  que	
  a	
  árvore	
  “sobreajuste”	
  os	
  dados,	
  e	
  depois	
  podar	
  
os	
  atributos	
  irrelevantes.	
  
n  Podar	
  um	
  nó	
  de	
  decisão:	
  remover	
  a	
  subárvore	
  enraizada	
  naquele	
  nó,	
  
tornando–o	
  um	
  nó	
  folha.	
  
n  Atribuir	
  a	
  este	
  nó,	
  a	
  classificação	
  mais	
  comum	
  dos	
  exemplos	
  de	
  
treinamento	
  afiliados	
  com	
  aquele	
  nó.	
  
n  Nós	
  são	
  removidos	
  somente	
  se	
  a	
  árvore	
  podada	
  resultante	
  não	
  
apresenta	
  um	
  comportamento	
  pior	
  do	
  que	
  a	
  original	
  sobre	
  o	
  
conjunto	
  de	
  validação	
  (erro	
  de	
  poda	
  reduzido).	
  
Como	
  evitar	
  a	
  superadaptação	
  
49	
  
n  ParLcionar	
  os	
  dados	
  em	
  conjuntos	
  de	
  validação	
  e	
  
treinamento:	
  
n  Faça	
  até	
  que	
  uma	
  redução	
  (poda)	
  adicional	
  seja	
  prejudicial:	
  
n  1.	
  Avaliar	
  o	
  impacto	
  sobre	
  o	
  conjunto	
  de	
  validação	
  da	
  poda	
  de	
  cada	
  nó	
  
possível,	
  mais	
  aqueles	
  abaixo	
  dele.	
  
n  2.	
  Remover	
  “gulosamente”	
  aquele	
  que	
  melhora	
  mais	
  a	
  precisão	
  sobre	
  o	
  
conjunto	
  de	
  validação.	
  
Como	
  evitar	
  a	
  superadaptação	
  
50	
  
n  A	
   é	
  outra	
  técnica	
  que	
  reduz	
  a	
  
superadaptação.	
  
n  Ela	
  pode	
  ser	
  aplicada	
  a	
  qualquer	
  algoritmo	
  de	
  aprendizagem.	
  
n  A	
  ideia	
  é	
  esLmar	
  o	
  quanto	
  cada	
  hipótese	
  irá	
  esLmar	
  dados	
  não	
  vistos.	
  
n  Separa-­‐se	
  uma	
  fração	
  dos	
  dados	
  conhecidos	
  como	
  dados	
  de	
  	
  teste	
  e	
  
induz-­‐se	
  a	
  hipótese	
  com	
  o	
  restante	
  dos	
  dados.	
  
n  A	
  validação	
  cruzada	
  de	
  k	
  vias	
  significa	
  que	
  deve-­‐se	
  realizar	
  k	
  
experimentos	
  reservando	
  cada	
  vez	
  um	
  fração	
  1/k	
  diferente	
  dos	
  dados	
  
para	
  testes	
  e	
  calcular	
  a	
  média	
  dos	
  resultados.	
  
n  Valores	
  populares	
  de	
  k	
  são	
  5	
  e	
  10.	
  O	
  extremos	
  k	
  =	
  n	
  também	
  é	
  conhecido	
  
como	
  validação	
  cruzada	
  com	
  omissão	
  de	
  um.Aplicação	
  do	
  algoritmo	
  de	
  aprendizagem	
  
51	
  
Ex Cho Res
X1 Não Sim
X2 Não Não
X3 Não Não
X4 Sim Não
X5 Não Sim
X6 Sim Sim
X7 Sim Não
X8 Sim Sim
X9 Sim Não
X10 Não Sim
X11 Não Não
X12 Não Não
Meta 
Sim 1 3 4 6 8 12 
Não 2 5 7 9 10 11 
Chovendo? 
4 6 8 
7 9 
1 3 12 
2 5 10 11 
sim não 
Reserva? 
1 6 8 
5 10 
3 4 12 
2 7 9 11 
sim não 
Aplicação	
  do	
  algoritmo	
  de	
  aprendizagem	
  
52	
  
Ex Cho Res
X1 Não Sim
X2 Não Não
X3 Não Não
X4 Sim Não
X5 Não Sim
X6 Sim Sim
X7 Sim Não
X8 Sim Sim
X9 Sim Não
X10 Não Sim
X11 Não Não
X12 Não Não
Meta 
Sim 1 3 4 6 8 12 
Não 2 5 7 9 10 11 
Tipo? 
4 8 
2 11 
6 
10 
Fra Tai Ita Ham 
3 12 
7 9 
1 
5 TempoEspera? 
4 
10 
12 
2 
0-10 10-30 30-60 >60 
 
5 9 
1 3 6 8 
7 11

Continue navegando