Post on 19-Apr-2015
Indução de Árvore de DecisãoIndução de Árvore de Decisão
Jacques Robin
RoteiroRoteiro
1.1. Entrada e saída da indução de árvore decisãoEntrada e saída da indução de árvore decisão
2.2. Tarefas de aprendizagem implementadas por ID3Tarefas de aprendizagem implementadas por ID3
3.3. ExemploExemplo
4.4. Algoritmo básico e complexidadeAlgoritmo básico e complexidade
5.5. Heurísticas de escolha do atributo de partição de exemplosHeurísticas de escolha do atributo de partição de exemplos
6.6. Poda da árvore para evitar overfittingPoda da árvore para evitar overfitting
7.7. Atributos numéricos, multi-valorados, nulos e numerososAtributos numéricos, multi-valorados, nulos e numerosos
8.8. Árvores de regressão e de modeloÁrvores de regressão e de modelo
9.9. Vantagens e limitações de ID3Vantagens e limitações de ID3
Entrada e saída da Entrada e saída da indução de árvore de decisão (ID3)indução de árvore de decisão (ID3)
age income studentcredit
rating
buys
computer
<=30 high no f air no
<=30 high no excellent no
31…40 high no f air yes
>40 medium no f air yes
>40 low yes f air yes
>40 low yes excellent no
31…40 low yes excellent yes
<=30 medium no f air no
<=30 low yes f air yes
>40 medium yes f air yes
<=30 medium yes excellent yes
31…40 medium no excellent yes
31…40 high yes f air yes
>40 medium no excellent no
age?
student? credit rating?
no yes fairexcellent
no noyes yesyes
<=30 >4030..40
Tarefas de aprendizagem Tarefas de aprendizagem realizáveis por ID3realizáveis por ID3
Classificação:Classificação: Atributos classificadores nos ramos Valores da classe nas folhas
Regressão: Regressão: Valores das variáveis fornecidas nos ramos Valor da variável a estimar nas folhas
Previsão temporal:Previsão temporal: Valores passadas do atributo a prever nos ramos Valor futura do atributo a prever nas folhas
Detecção de padrão:Detecção de padrão: Valores antecedentes da associação nos ramos Valores conseqüentes da associação nas folhas
Controle:Controle: Atributos descrevendo situação nos ramos Ação a executar nessa situação nas folhas
Otimização:Otimização: Valores das variáveis do domínio da função a otimizar nos ramos Valor da imagem máxima ou mínima da função das folhas
Expressividade das árvores de decisãoExpressividade das árvores de decisão
Representação como programa Representação como programa lógico:lógico:buy(X,computer) :- age(X) <= 30, student(X), creditRating(X,fair).buy(X,computer) :- age(X) >= 30, age(X) <= 40.buy(X,computer) :- age(X) > 40, creditRating(X,fair).
age?
student? credit rating?
no yes fairexcellent
no noyes yesyes
<=30 >4030..40
Expressividade das árvores de decisãoExpressividade das árvores de decisão
Representação proposicional:Representação proposicional: ((under30 student) 30something (over40 fairCreditRating) buyComputer
((under30 student) (over40 excellentCreditRating) buyComputer) (under30 30something over40) (under30 30something) (under30 over40) (over40 30something)
(fairCreditRating excellentCreditRating)
(fairCreditRating excellentCreditRating)
age?
student? credit rating?
no yes fairexcellent
no noyes yesyes
<=30 >4030..40
Expressividade das árvores de decisãoExpressividade das árvores de decisão
Pode representar qualquer função booleanaPode representar qualquer função booleana No entanto, algumas funções – como a função de paridade ou No entanto, algumas funções – como a função de paridade ou
de maioria – só podem serem representadas por uma árvore de de maioria – só podem serem representadas por uma árvore de tamanho exponencial no número de atributostamanho exponencial no número de atributos
Cardinal do espaço de hipótese de uma tarefa de Cardinal do espaço de hipótese de uma tarefa de aprendizagem com aprendizagem com 6 atributos booleanos6 atributos booleanos: : 18.446.744.073.709.551.66118.446.744.073.709.551.661
Mesmo para problemas pequenos:Mesmo para problemas pequenos: Aprender árvores pequenos o suficiente para serem inteligível e
então validáveis Requer heurísticas (i.e., viés) podendo a busca no espaço de
hipótese de maneira violenta Em recuperação de informação utiliza-se geralmente um Em recuperação de informação utiliza-se geralmente um
número de atributo igual a o número de palavras na língua número de atributo igual a o número de palavras na língua utilizada nos documentos ...utilizada nos documentos ...
Algoritmo básico de ID3Algoritmo básico de ID3
Escolher dentro do conjunto de atributo atual A = {AEscolher dentro do conjunto de atributo atual A = {A11,..., A,..., Akk} } o atributo Ao atributo Aii que separa melhor o conjunto atual de exemplos que separa melhor o conjunto atual de exemplos E em termos dos valores do atributo a prever PE em termos dos valores do atributo a prever P
Dividir E em termos dos valores de ADividir E em termos dos valores de Aii = {V = {Vii11,..., V,..., Vii
kk}}i.e.,i.e., E = E = E Ejj, , x x E Ejj, A, Aii(x) = V(x) = Vii
jj, , criando um novo arco teste Acriando um novo arco teste Aii(x) = V(x) = Vii
ii na árvore para cada E na árvore para cada Ejj
Para todos EPara todos Eii ainda heterogêneos em termos do valor de P ainda heterogêneos em termos do valor de Pi.e.,i.e., x,y x,y E Eii, P(x) , P(x) P(y), P(y),
Recursivamente reaplicar algoritmo sobre ERecursivamente reaplicar algoritmo sobre Ej j com o conjunto de com o conjunto de atributo A´= A – {Aatributo A´= A – {Aii}}
Continuar até que:Continuar até que: Todos os Ej seja homogêneos em termos do valor de P Não tenha mais atributos a processar, i.e., A´=
Viés de aprendizagem de ID3Viés de aprendizagem de ID3
age
<=30 30..40 >40
income income income
high medium low high medium low high medium low
student student student student student student student student student
+ - + - + - + - + - + - + - + - + -
CR CR CR CR CR CR CR CR CR CR CR CR CR CR CR CR CR CR
e f e f e f e f e f e f e f e f e f e f e f e f e f e f e f e f e f e f
BC ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
Árvore aprendida com viés de ID3Árvore aprendida com viés de ID3 Número de bits: 3Número de bits: 3
age
<=30 30..40 >40
student
credit
+ -excel
fair
buy - + + - +
Árvore “aprendida” sem viésÁrvore “aprendida” sem viés Número de bits: 6Número de bits: 6
Ganho da informaçãoGanho da informação Índice GINIÍndice GINI
Heurísticas de escolha de atributo de Heurísticas de escolha de atributo de partição de exemplospartição de exemplos
Informação (em número de bits) esperada necessária para Informação (em número de bits) esperada necessária para classificar, em m classes, amostra arbitrária de s exemplos:classificar, em m classes, amostra arbitrária de s exemplos:
Informação esperada necessária para classificar, em m classes, Informação esperada necessária para classificar, em m classes, dado o valor, entre V valores possíveis, do atributo A (entropia dado o valor, entre V valores possíveis, do atributo A (entropia de A):de A):
Ganho de informação pelo conhecimento do valor de A: Ganho de informação pelo conhecimento do valor de A:
Ganho da informaçãoGanho da informação
s
slogs
s),...,s,ssI(
im
i
im21 2
1
)s,...,s(Is
s...sE(A) mjj
v
j
mjj1
1
1
E(A))s,...,s,I(sGain(A) m 21
SSi i = numero de exemplos de classe i= numero de exemplos de classe i
SSi j i j = numero de exemplos de classe i= numero de exemplos de classe i com valor j para atributo A com valor j para atributo A
Class p: buysComputer = “yes” Class n: buysComputer = “no” I(p, n) = I(9, 5) = 0.940 Entropia para age: 694.0)2,3(
14
5
)0,4(14
4)3,2(
14
5)(
I
IIageE
048.0)_(
151.0)(
029.0)(
ratingcreditGain
studentGain
incomeGain
246.0)(),()( ageEnpIageGainage income studentcredit rating
buys computer
<=30 high no fair no<=30 high no excellent no
31…40 high no fair yes>40 medium no fair yes>40 low yes fair yes>40 low yes excellent no
31…40 low yes excellent yes<=30 medium no fair no<=30 low yes fair yes>40 medium yes fair yes
<=30 medium yes excellent yes31…40 medium no excellent yes31…40 high yes fair yes
>40 medium no excellent no
age pi ni I(pi, ni)<=30 2 3 0.97130…40 4 0 0>40 3 2 0.971
Exemplo de escolha de atributo baseadoExemplo de escolha de atributo baseadona heurística do maior ganho de na heurística do maior ganho de
informaçãoinformação
age <= 30 para 5/14 dos exemplosdos quais 2 buyComputer = yese 3 buyComputer = no
Exemplo de ID3Exemplo de ID3
age?
<=30 >4031..40
age income studentcredit rating
buys computer
<=30 high no fair no e1<=30 high no excellent no e2
31…40 high no fair yes e3>40 medium no fair yes e4>40 low yes fair yes e5>40 low yes excellent no e6
31…40 low yes excellent yes e7<=30 medium no fair no e8<=30 low yes fair yes e9>40 medium yes fair yes e10
<=30 medium yes excellent yes e1131…40 medium no excellent yes e1231…40 high yes fair yes e13
>40 medium no excellent no e14
+: e9, e11-: e1, e2, e8
+: e3, e7, e12, e13
+: e4, e5, e10-: e6, e14
Exemplo de ID3Exemplo de ID3
age?
<=30 >4031..40
+: e9, e11-: e1, e2, e8
+: e3, e7, e12, e13
+: e4, e5, e10-: e6, e14
income studentcredit rating
buys computer
high no fair no e1high no excellent no e2
medium no fair no e8low yes fair yes e9
medium yes excellent yes e11
student?
no yes
+: e9, e11
-: e1, e2, e8
Exemplo de ID3Exemplo de ID3
age?
<=30 >4031..40
+: e9, e11-: e1, e2, e8
+: e3, e7, e12, e13
+: e4, e5, e10-: e6, e14
student?
no yes
+: e9, e11
-: e1, e2, e8
credit rating?
fairexcellent
-: e6, e14 +: e4, e5, e10
income studentcredit rating
buys computer
medium no fair yes e4low yes fair yes e5low yes excellent no e6
medium yes fair yes e10medium no excellent no e14
Poda de árvores para evitar overfittingPoda de árvores para evitar overfitting
Broto de decisão: árvore de decisão de profundidade 1Broto de decisão: árvore de decisão de profundidade 1 Em muitos casos, tão precisão se não melhor sobre conjunto de
teste do que árvore de decisão completa gerada por ID3 Caso também de kNN, Classificador Bayesiana Ingênuo e Regra de
Classificação 1R, i.e., regra da forma: atributo a = v classe = c Em processo de aprendizagem qualquer, sempre começar pelo uso
desses métodos simplórios, pós as vezes eles são suficientes, e sempre eles constituem um caso base para a avaliação de métodos mais sofisticados
Sugere idéia de podar árvores geradas por ID3 para melhorar Sugere idéia de podar árvores geradas por ID3 para melhorar sua generalidadesua generalidade Pré-poda:
Introduzir novo ramo na árvore apenas para gerar divisão de exemplos estatisticamente significativa (por exemplo usando um test 2
Pós-poda: Podar árvore completa testando diferencia de precisão sobre outro
conjunto de exemplos de duas operações de poda, colapso de ramo e subida de ramo
Operações de pós-poda: colapso de ramoOperações de pós-poda: colapso de ramo
age?
student? credit rating?
no yes fairexcellent
no noyes yesyes
<=30 >4030..40
age?
credit rating?
fairexcellent
no no yesyes
<=30 >4030..40
Operações de pós-poda: elevação de Operações de pós-poda: elevação de ramoramo
age?
student? credit rating?
no yes fairexcellent
no noyes yesyes
<=30 >4030..40
no noyes yesyes
student?
no yes
credit rating?age?
fairexcellent<=30 >4030..40
Pós-podaPós-poda
Processa a árvore de baixo para cima estimando benefício, em Processa a árvore de baixo para cima estimando benefício, em cada nó, de uma das duas operaçõescada nó, de uma das duas operações
Divide conjunto de exemplos em 3 partes:Divide conjunto de exemplos em 3 partes: Conjunto de construção da árvore Conjunto de poda da árvore Conjunto de teste da árvore podada
Problemático com conjunto de exemplos pequenos:Problemático com conjunto de exemplos pequenos: Solução de C4.5 Executa poda sobre mesmo conjunto do que a construção, usando
um estimador estatístico diferente do ganho de informação usado para construção
Complexidade de ID3Complexidade de ID3
Abstrair e exemplos de treinamento, Abstrair e exemplos de treinamento, cada um descrito por a atributos por uma árvore de decisão de profundidade O(log n)
Execução: O(log n)Execução: O(log n) Treinamento sem poda: O(mn log n)Treinamento sem poda: O(mn log n) Pós-poda: O(n (log n)Pós-poda: O(n (log n)22))
Outras dificuldades práticasOutras dificuldades práticas
Atributos multi-valoradosAtributos multi-valorados ID3 supõe que cada atributo de cada exemplo possui apenas um
único valor Nem é sempre o caso: ex, filhos de uma pessoa
Atributos com distribuição de valores muito desigualAtributos com distribuição de valores muito desigual ID3 tende a gerar broto de decisão
Atributos numerososAtributos numerosos
Ganho de informação super-estima atributos com muitos Ganho de informação super-estima atributos com muitos valores distintosvalores distintos
Atributos com um valor distinto por exemplo, completamente Atributos com um valor distinto por exemplo, completamente inútil para classificação, no entanto com maior ganho de inútil para classificação, no entanto com maior ganho de informaçãoinformação
Uma solução simples: usar razão do ganho sobre número de Uma solução simples: usar razão do ganho sobre número de valores do atributovalores do atributo
Atributos nulosAtributos nulos
Utilização: Utilização: Como classificar novo exemplo com atributo nulo ? Prever valor nulo como sendo valor adicional
Treinamento:Treinamento: Simplesmente excluir exemplos ou atributos com valores nulos
não é sempre viável porque: As vezes exemplo com valor nulo para determinado atributo, é
extremamente informativo com respeito a outros atributos, ou atributo com valor com valor nulo para determinado exemplo, é
extremamente informativo via seus valores para outros exemplos tamanho e dimensionalidade dos exemplos de treinamento ficam baixo
demais É necessário modificar a fórmula do ganho de informação para a
tornar tolerante a valores nulos
Atributos numéricosAtributos numéricos
Qual é a partição em faixa de valores que maximiza o ganho de Qual é a partição em faixa de valores que maximiza o ganho de informação ?informação ?
Árvore de regressãoÁrvore de regressão
Regressão linear paramêtrica: PRP = - 56.1 + 0.049MYCT + 0.015MMIN + 0.006MMAX + 0.630CACH - 0.270CHMIN + 1.46CHMAX
Árvore de regressão para mesma tarefa:
Árvore de modeloÁrvore de modelo
LM1: PRP = 8.29 + 0.004 MMAX + 2.77 CHMINLM2: PRP = 20.3 + 0.004 MMIN – 3.99 CHMIN + 0.946 CHMAXLM3: PRP = 38.1 + 0.012 MMINLM4: PRP = 19.5 + 0.002 MMAX + 0.698 CACH + 0.969 CHMAXLM5: PRP = 285 – 1.46 MYCT + 1.02 CACH – 9.39 CHMINLM6: PRP = -65.8 + 0.03 MMIN – 2.94 CHMIN + 4.98 CHMAX
Árvore de modelo para mesma tarefa:
Vantagens de ID3Vantagens de ID3
Muito versátilMuito versátil Algoritmo de aprendizagem muito simples, e então fácil de Algoritmo de aprendizagem muito simples, e então fácil de
entenderentender Muito bem estudadoMuito bem estudado Eficiente e escalávelEficiente e escalável Disponível na grande maioria das caixas de ferramenta gerais Disponível na grande maioria das caixas de ferramenta gerais
para aprendizagempara aprendizagem Processa cada exemplo apenas uma única vezProcessa cada exemplo apenas uma única vez
Limitações de ID3Limitações de ID3
Redundância para Redundância para representar sem muita representar sem muita redundância funções sem redundância funções sem ordem claro de poder ordem claro de poder separativo dos exemplos separativo dos exemplos entre atributos entre atributos
Não pode aprender Não pode aprender relacionamentos relacionamentos genéricos entre vários genéricos entre vários indivíduos,indivíduos, ex: árvore de decisão
definindo conceito de mãe, de ancestral ?
Não é incremental: todos Não é incremental: todos os exemplos tem que ser os exemplos tem que ser disponíveis com disponíveis com antecedênciaantecedência