Arvores de Decisao

Embed Size (px)

DESCRIPTION

Arvores de Decisao

Citation preview

  • 1rvores de Deciso

    Joo [email protected]

    2002 Joo Gama 2

    Sumario rvores de deciso

    Motivao Construo de uma rvore de deciso

    Critrios para seleccionar atributos Entropia

    Podar a rvore Estimativas de erro

    Extenses rvores multivariadas

  • 22002 Joo Gama 3

    rvores de Deciso Uma rvore de deciso utiliza uma estratgia de dividir-

    para-conquistar: Um problema complexo decomposto em sub-problemas mais

    simples. Recursivamente a mesma estratgia aplicada a cada sub-

    problema. A capacidade de discriminao de uma rvore vem da:

    Diviso do espao definido pelos atributos em sub-espaos. A cada sub-espao associada uma classe.

    Crescente interesse CART (Breiman, Friedman, et.al.) C4.5 (Quinlan) Splus, Statistica, SPSS , R

    2002 Joo Gama 4

    rvores de deciso Exemplo da partio do espao dos atributos

  • 32002 Joo Gama 5

    O que uma Arvore de Deciso? Representao por rvores de deciso:

    Cada n de deciso contem um teste num atributo.

    Cada ramo descendente corresponde a um possvel valor deste atributo.

    Cada Folha est associada a uma classe.

    Cada percurso na arvore (da raiz folha) corresponde a uma regra de classificao.

    No espao definido pelos atributos: Cada folha corresponde a uma regio

    Hiper-rectngulo A interseco dos hiper-rectngulos

    vazio A unio dos hiper-rectngulos o

    espao completa.

    2002 Joo Gama 6

    Representao Uma rvore de deciso representa a disjuno de conjunes

    de restries nos valores dos atributos Cada ramo na rvore uma conjuno de condies O conjunto de ramos na rvore so disjuntos

    DNF (disjuntive normal form)

    Qualquer funo lgica pode ser representada por um rvore de deciso.

    Exemplo a or b

    b

    a

    - +

    +

    10

    10

  • 42002 Joo Gama 7

    Construo de uma rvore de deciso A ideia base:

    1. Escolher um atributo.2. Estender a rvore adicionando um ramo para cada valor do

    atributo.3. Passar os exemplos para as folhas (tendo em conta o valor do

    atributo escolhido)4. Para cada folha

    1. Se todos os exemplos so da mesma classe, associar essa classe folha2. Seno repetir os passos 1 a 4

    2002 Joo Gama 8

    Exemplos de rvores de Deciso Atributos binrios

    1. And

    1. Exerccios:1. Representar Or, Xor2.

    A

    0

    0 1

    1

    10

    111001010000

    BA BA

    )()( DCBA

    B0

  • 52002 Joo Gama 9

    Exemplos:

    NoSim9171ChuvaSimNo7581NubladoSimSim9072NubladoSimSim7075SolSimNo8075ChuvaSimNo7069SolNoNo9572SolSimSim6564NubladoNoSim7065ChuvaSimNo8068ChuvaSimNo9670ChuvaSimNo8683NubladoNoSim9080SolNoNo8585Sol

    JogaventoHumidadeTemperatu.Tempo

    NoSim9171ChuvaSimNo7581NubladoSimSim9072NubladoSimSim7075SolSimNo8075ChuvaSimNo7069SolNoNo9572SolSimSim6564NubladoNoSim7065ChuvaSimNo8068ChuvaSimNo9670ChuvaSimNo8683NubladoNoSim9080SolNoNo8585Sol

    JogaventoHumidadeTemperatu.TempoVento

    Sim No

    O conjunto de dados original: Selecciona um atributo:

    Qual o melhor atributo?

    2002 Joo Gama 10

    Critrios para Escolha do Atributo Como medir a habilidade de um dado atributo discriminar

    as classes? Existem muitas medidas.

    Todas concordam em dois pontos: Uma diviso que mantm as propores de classes em todas as

    parties intil. Uma diviso onde em cada partio todos os exemplos so da

    mesma classe tem utilidade mxima. 10 / 10 10 / 10

    5 / 5 5 / 5 10 / 0 0 / 10

  • 62002 Joo Gama 11

    Caracterizao das medidas de partio

    Medida da diferena dada por uma funo baseada nas propores das classes entre o n corrente e os ns descendentes.

    Valoriza a pureza das parties. Gini, entropia

    Medida da diferena dada por uma funo baseada nas propores das classes entre os ns descendentes.

    Valoriza a disparidade entre as parties. Lopez de Mantaras

    Medida de independncia Medida do grau de associao entre os atributos e a classe.

    2002 Joo Gama 12

    Entropia Entropia uma medida da aleatoridade de uma varivel. A entropia de uma varivel nominal X que pode tomar i valores:

    A entropia tem mximo (log2 i) se pi = pj para qualquer i j A entropia(x) = 0 se existe um i tal que pi = 1

    assumido que 0 * log2 0 = 0

    =i

    ii ppXentropia 2log*)(

  • 72002 Joo Gama 13

    Ganho de Informao No contexto das rvores de deciso a entropia usada para estimar a

    aleatoridade da varivel a prever: classe. Dado um conjunto de exemplos, que atributo escolher para teste?

    Os valores de um atributo definem parties do conjunto de exemplos. O ganho de informao mede a reduo da entropia causada pela partio dos

    exemplos de acordo com os valores do atributo.

    A construo de uma rvore de deciso guiada pelo objectivo dediminuir a entropia ou seja a aleatoridade -dificuldade de previso- da varivel objectivo.

    ( ) ( )v

    ExsentropiaExs

    vExs

    ExsentropiaAtriExsganho #

    # )( , =

    2002 Joo Gama 14

    Calculo do Ganho de Informao de um atributo nominal Informao da Classe:

    p(sim) = 9/14 p(no) = 5/14 Info(joga) =

    = - 9/14 log2 9/14 5/14 log2 5/14 = 0.940 bits

    Informao nas parties: p(sim|tempo=sol) = 2/5 p(no|tempo=sol) = 3/5 Info(joga|tempo=sol)

    = -2/5log22/5 3/5log23/5 = 0.971 bits Info(joga|tempo=nublado) = 0.0 bits Info(joga|tempo=chuva) = 0.971 bits Info(tempo)

    = 5/14*0.971+4/14*0 + 5/14*0.971 = 0.693 bits

    Ganho de Informao obtida neste atributo: Ganho(tempo) = 0.940 0.693 = 0.247 bits

    203No

    342Sim

    ChuvaNubladoSol

  • 82002 Joo Gama 15

    Calculo do Ganho para Atributos numricos Um teste num atributo numrico produz uma partio binria do

    conjunto de exemplos: Exemplos onde valor_do_atributo < ponto_referncia Exemplos onde valor_do_atributo >= ponto_referncia

    Escolha do ponto de referncia: Ordenar os exemplos por ordem crescente dos valores do atributo numrico. Qualquer ponto intermdio entre dois valores diferentes e consecutivos dos

    valores observados no conjunto de treino pode ser utilizado como possvel ponto de referncia.

    usual considerar o valor mdio entre dois valores diferentes e consecutivos. Fayyard e Irani (1993) mostram que de todos os possveis pontos de referncia

    aqueles que maximizam o ganho de informao separam dois exemplos de classes diferentes.

    2002 Joo Gama 16

    Calculo do Ganho para Atributos numricos Considere o ponto de referncia temperatura = 70.5 Um teste usando este ponto de referncia divide os exemplos

    em duas parties: Exemplos onde temperatura < 70.5 Exemplos onde temperatura > 70.5

    Como medir o ganho de informao desta partio? Informao nas parties

    p(sim | temperatura70.5)=4/9 Info(joga | temperatur70.5) =

    -5/9 log2 5/9 4/9 log2 4/9 = 0.991 bits Info(temperatura)=5/14*0.721+9/14*0.991 = 0.895 bits Ganho(temperatura) = 0.940 0.895 = 0.045 bits

    Temperatu. Joga 64 Sim 65 No 68 Sim 69 Sim 70 Sim 71 No 72 No 72 Sim 75 Sim 75 Sim 80 No 81 Sim 83 Sim 85 No

  • 92002 Joo Gama 17

    Repetir o processo

    2002 Joo Gama 18

    Arvore de deciso final

  • 10

    2002 Joo Gama 19

    Critrios de paragemQuando parar a diviso dos exemplos?

    Todos os exemplos pertencem mesma classe.Todos os exemplos tm os mesmos valores dos atributos (mas

    diferentes classes).O nmero de exemplos inferior a um certo limite.(?) O mrito de todos os possveis testes de partio dos exemplos

    muito baixo.

    2002 Joo Gama 20

    Construo de uma Arvore de Deciso O problema de construir uma rvore de deciso:

    Consistente com um conjunto de exemplos Com o menor numero de ns um problema NP completo.

    Dois problemas: Que atributo seleccionar para teste num n? Quando parar a diviso dos exemplos ?

    Os algoritmos mais divulgados: Utilizam heursticas que tomam decises olhando para a frente um

    passo. No reconsideram as opes tomadas.

  • 11

    Regularizao em rvores de Deciso

    2002 Joo Gama 22

    Sobre-ajustamento O algoritmo de partio recursiva do conjunto de dados gera

    estruturas que podem obter um ajuste aos exemplos de treino perfeito. Em domnios sem rudo o nr. de erros no conjunto de treino pode

    ser 0. Em problemas com rudo esta capacidade problemtica:

    A partir de uma certa profundidade as decises tomadas so baseadas em pequenos conjuntos de exemplos.

    A capacidade de generalizao para exemplos no utilizados no crescimento da arvore diminui.

  • 12

    2002 Joo Gama 23

    Variao do erro com o nr. de ns

    0

    5

    10

    15

    20

    25

    30

    35

    40

    1 5 10 20 30 40 50 60 70 80 90 100Nr. de Nos da Arvore

    Erro

    (%

    )

    TreinoTest

    2002 Joo Gama 24

    Sobre-ajustamento (overfitting) Definio:

    Uma arvore de deciso d faz sobre-ajustamento aos dados se existir uma arvore d tal que:

    d tem menor erro que d no conjunto de treino mas d tem menor erro na populao.

    Como pode acontecer: Rudo nos dados Excesso de procura

    O numero de parmetros de uma rvore de deciso cresce linearmente com o numero de exemplos. Uma rvore de deciso pode obter um ajuste perfeito aos dados de

    treino.

  • 13

    2002 Joo Gama 25

    Sobre-ajustamento Occams razor: preferncia pela hiptese mais simples.

    Existem menos hipteses simples do que complexas. Se uma hiptese simples explica os dados pouco provvel que

    seja uma coincidncia. Uma hiptese complexa pode explicar os dados apenas por

    coincidncia. A avaliao de uma hiptese deve ter em conta o processo

    de construo da hiptese.

    2002 Joo Gama 26

    Simplificar a arvore Duas possibilidades:

    Parar o crescimento da arvore mais cedo (pre-pruning).Crescer uma arvore completa e podar a arvore (pos-pruning).

    Growing and pruning is slower but more reliable Quinlan, 1988

    O problema do Xor Requer olhar em frente mais que um nvel.

  • 14

    2002 Joo Gama 27

    Critrios Critrios:

    Obter estimativas fiveis do erro a partir do conjunto de treino. Optimizar o erro num conjunto de validao independente do

    utilizado para construir a arvore. Minimizar:

    erro no treino + dimenso da arvore Cost Complexity pruning (Cart)

    dimenso da arvore + dimenso dos exemplos mal classificados MDL pruning (Quinlan)

    2002 Joo Gama 28

    Estimativas de Erro O problema fundamental do algoritmo de poda a estimativa de erro

    num determinado n. O erro estimado a partir do conjunto de treino no um estimador fivel.

    O reduced error pruning consiste em obter estimativas de erro a partir de um conjunto de validao

    independente do conjunto de treino. Reduz o volume de informao disponvel para crescer a arvore.

    O Cost complexity pruning, Breiman, 1984 Podar com base na estimativa do erro e complexidade da arvore.

    Cart (Breiman et al.) O Error based pruning,

    Podar com base numa estimativa do erro no conjunto de treino. Assume uma distribuio Binomial para os exemplos de um n.

    Usado no C5.0

  • 15

    2002 Joo Gama 29

    O Error based pruning Um determinado n contem N exemplos.

    Classificando estes exemplos utilizando a classe maioritria, vo ser mal classificados E exemplos.

    O erro neste n E/N. Qual o verdadeiro erro p neste n ? Assumindo que:

    Os exemplos de um n constituem uma amostra de uma populao que segue uma distribuio binomial.

    A varincia do erro neste n dada por: P * (1 - P) / N P o erro na populao (desconhecido).

    Fixando um nvel de confiana, podemos obter um intervalo de confiana [Umin:Umax] para p.

    Umax uma estimativa pessimista para o erro neste n.

    2002 Joo Gama 30

    O Error based pruning A probabilidade de uma varivel aleatria X, de mdia 0 e desvio

    padro 1, assumir um valor maior que z, com confiana c, : P[X >= z] = c

    Para um determinado nvel de confiana c, determinado o valor superior para o intervalo de confiana

    )1/()42

    (

    NErrosf onde ]

    /)1([

    2

    2

    222

    Nz

    Nz

    Nf

    Nf

    zN

    zfp

    czNpp

    pfp

    ++++=

    ==>=

  • 16

    2002 Joo Gama 31

    Um algoritmo de poda Percorre a rvore em profundidade Para cada n de deciso calcula:

    Uma estimativa pessimista do erro no n Soma pesada das estimativas pessimistas dos erros nos ns

    descendentes O peso a probabilidade de um exemplo seguir o ramo correspondente.

    Se a estimativa do erro no n menor ou igual soma das estimativas de erros dos ns descendentes o n transformado em folha.

    2002 Joo Gama 32

    Exemplo Error based pruning No n B

    Estimativa no n: 0.46 Soma pesada das estimativas nas

    folhas: 6/14*0.47+2/14*0.72+6/14*0.47=0.51

    Como 0.46 < 0.51 o n transformado numa folha.

    Exerccio: Qual a deciso para o n A ?

    9+5--

    1+1--

    4+2--

    4+2--

    1+1--

    0.47 0.72 0.47

    0.72

    N B

    N A

    0.46

  • 17

    2002 Joo Gama 33

    Valores Desconhecidos Pr-Processados

    Substituir o valor desconhecido pelo valor mais provvel Atributos numricos: mdia. Atributos nominais: mediana.

    Na construo do modelo Assumir que um atributo tem como possvel valor o valor

    desconhecido. Atribuir um peso a cada exemplo.

    Nos exemplos em que o atributo de teste toma um valor desconhecido, o exemplo passado para todos os ns descendentes com um peso proporcional probabilidade de um exemplo seguir o ramo.

    Extenses

  • 18

    2002 Joo Gama 35

    Algumas Ideias: rvores com funes nas folhas

    NBTree usa Nave Bayes nas Folhas rvores com funes nos ns

    Multivariate Trees rvores com funes nos ns e nas folhas

    Functional Trees

    rvores Incrementais Hoeffding Trees

    Florestas de rvores .

    2002 Joo Gama 36

    Arvores Multivariadas Motivao

    Discriminante linear Superfcies de deciso obliquas em relao aos eixos definidos pelos

    atributos. rvores de Deciso

    Partio do espao dos atributos. Superfcies de deciso: hiper-rectangulos.

    rvores multivariadas: Combinao de superfcies de deciso obliquas com partio do espao dos

    atributos:

  • 19

    2002 Joo Gama 37

    Arvores Multivariadas Discriminantes Recursivos

    QUEST Em cada n constri um discriminante linear.

    Arvores Multivariadas LMDT

    Em cada n constri uma Maquina Linear que usada como teste neste n.

    LTREE Em cada n constri um discriminante linear Todos os exemplos neste n so estendidos com novos atributos

    Cada novo atributo a probabilidade de o exemplo estar num lado do hiper-plano.

    A capacidade de discriminao de um novo atributo estimada em competio com os atributos originais.

    Anlise(em geito de concluso)

  • 20

    2002 Joo Gama 39

    Vantagens das Arvores de deciso Mtodo no-paramtrico

    No assume nenhuma distribuio particular para os dados. Pode construir modelos para qualquer funo desde que o numero de exemplos

    de treino seja suficiente. A estrutura da rvore de deciso independente da escala das

    variveis. Transformaes montonas das variveis (log x, 2*x, ...) no alteram a estrutura

    da arvore. Elevado grau de interpretabilidade

    Uma deciso complexa (prever o valor da classe) decomposto numa sucesso de decises elementares.

    eficiente na construo de modelos: Complexidade mdia O(n log n)

    Robusto presena de pontos extremos e atributos redundantes ouirrelevantes. Mecanismo de seleco de atributos.

    2002 Joo Gama 40

    Inconvenientes das rvores de deciso Instabilidade

    Pequenas perturbaes do conjunto de treino podem provocar grandes alteraes no modelo aprendido.

    Presena de valores desconhecidos Fragmentao de conceitos

    Replicao de sub-arvores

    )()( dcba

  • 21

    2002 Joo Gama 41

    O espao de Hipteses O espao de hipteses

    completo Qualquer funo pode ser

    representada por uma rvore de deciso.

    No reconsidera opes tomadas Mnimos locais

    Escolhas com suporte estatstico Robusto ao rudo

    Preferncia por rvores mais pequenas

    2002 Joo Gama 42

    Bibliografia Adicional Online:

    http://www.Recursive-Partitioning.com/ Tom Mitchell

    Machine Learning (chap.3) MacGrawHill, 1997

    Quinlan, R. C4.5 Programs for Machine Learning

    Morgan Kaufmann Publishers, 1993

    L.Breiman, J.Friedman, R.Olshen, C.Stone Classification and Regression Trees

    Wadsworth, 1984

  • 22

    2002 Joo Gama 43

    Exerccios Considere um problema de duas classes, definido por 4 atributos

    binrios x1,x2,x3,x4. Represente sob a forma de uma rvore o conceito

    (x1 e x2 e x3) ou x4 (x1 e x2) ou (x3 e x4)

    Utilizando ferramentas computacionais, calculo o atributo para a raiz de uma rvore de deciso nos problemas Iris Balance-scale

    Utilizando ferramentas computacionais, indique uma rvore qualquer (a escolha do atributo a usar em cada n pode ser aleatria) para o problema Iris Qual a taxa de erro da rvore no dataset de treino? Aplique o algoritmo de poda rvore.