Universidade Federal do Paraná Laboratório de Estatística e Geoinformação - LEG Métodos baseados em árvores Eduardo Vargas Ferreira
Introdução Árvore de decisão é o conjunto de regras que envolvem a estratificação ou segmentação do espaço de predição em regiões simples; Nesta seção vamos descrever os métodos baseados em árvores no contexto de regressão e classificação. 2
Exemplo: Hitters data set - Baseball salary Queremos prever o Salary dos jogadores baseado nos Years em que está na Major leagues e número de Hits no ano; Os salários mais baixos são codificados pelas cores azul e verde, e mais altos pelas cores amarelo e vermelho; 3
Exemplo: Hitters data set - Baseball salary 238 R 3 Hits R 1 117.5 R 2 1 4.5 24 Years 1 R 1 = {X Years < 4.5} R 2 = {X Years 4.5, Hits < 117.5} R 3 = {X Years 4.5, Hits 117.5} 4
Exemplo: Hitters data set - Baseball salary 238 Years < 4.5 R 3 Hits R 1 117.5 R 2 5.11 Hits < 117.5 1 4.5 24 Years 1 6.00 6.74 R 1 = {X Years < 4.5} R 2 = {X Years 4.5, Hits < 117.5} R 3 = {X Years 4.5, Hits 117.5} 5
Como o algoritmo funciona? O objetivo é encontrar os retângulos R 1,..., R J que minimiza a: SQRes = (y i ŷ R1 ) 2 + (y i ŷ R2 ) 2, i:x i R 1 (j,s) i:x i R 2 (j,s) em que R 1(j, s) = {X X j < s} e R 2(j, s) = {X X j s}. 238 R 3 Hits R 1 117.5 R 2 1 4.5 24 Years 1 6
Como o algoritmo funciona? Alto vício e baixa variância Baixo vício e alta variância 7
Cost complexity pruning Para cada valor de λ, temos uma subárvore T T 0, tal que SQRes λ = seja o menor possível. T m=1 i:x i R m (y i ŷ Rm ) 2 + λ T T indica o número de terminal nodes da árvore T ; R m é o retângulo correspondente ao m-ésimo terminal node; ŷ Rm é a média das observações dos dados de treino em R m. Selecionamos o valor ótimo, ˆλ, através de validação. Em seguida, obtemos a subárvore utilizando ˆλ. 8
Exemplo: Hitters data set - Baseball salary O erro mínimo na validação cruzada ocorre na árvore de tamanho 3. Mean Squared Error 0.0 0.2 0.4 0.6 0.8 1.0 Training Cross Validation Test 2 4 6 8 10 Tree Size 9
Exemplo: heart disease - HD Os dados contêm o diagnóstico de 303 pacientes com dores no peito: Yes: indica a presença de doença cardíaca; No: indica ausência de doença cardíaca; Os dados apresentam 13 preditores incluindo Age, Sex, Chol, e outras medidas de funções cardíacas e pulmonar; Thal:a Ca < 0.5 Ca < 0.5 Slope < 1.5 Oldpeak < 1.1 Chol < 244 MaxHR < 156 MaxHR < 145.5 No Yes No RestBP < 157 No MaxHR < 161.5 Yes No ChestPain:bc Chol < 244 Sex < 0.5 No No No Yes Age < 52 Thal:b ChestPain:a Yes No No No Yes RestECG < 1 Yes Yes Yes 10
MaxHR < 161.5 RestBP < 157 Exemplo: heart Chol < 244 disease - HD No Chol < 244 Sex < 0.5 MaxHR < 156 MaxHR < 145.5 No Yes No No Yes ChestPain:bc No No No Yes Age < 52 Yes No No Thal:b ChestPain:a No Yes RestECG < 1 Yes Yes Yes Após validação cruzada chegamos na árvore com seis terminal nodes; Error 0.0 0.1 0.2 0.3 0.4 0.5 0.6 Training Cross Validation Test MaxHR < 161.5 No No Ca < 0.5 ChestPain:bc Thal:a Yes Ca < 0.5 Yes 5 10 15 No Yes Tree Size Note que, em MaxHR temos duas respostas No. Isto se deve a um dos nós ser puro e o outro ser majoritariamente No. 11
Árvores versus modelos lineares Modelo linear Árvores 12
Prós e contras das Árvores de decisão Podem ser aplicadas em problemas de regressão e classificação; Lidam bem com dados faltantes; São simples e úteis para interpretação. Sendo muito bons nas etapas iniciais de um projeto; χ São mais simples do que deveriam. Por esse motivo, em termos de predição, não são competitivos com outras abordagens de aprendizado supervisionado; Mas, serve de base para outros métodos, como: Bagging; Random Forests; Boosting. 13
Ensembles 14
Ideia do Bootstrap 15
Bagging 16
Bagging Geramos B conjuntos de observações (bootstrapped). Treinamos o modelo a fim de obter a predição no ponto x; Em seguida, calculamos a média das predições (chamamos de bagging): ĥ bag (x) = 1 B B ĥ b (x). b=1 17
Random Forests 18
Random Forests No Random forests, para cada partição, temos uma seleção aleatória de m preditores, de um total de p (tipicamente, m p); Assim, forçamos com que diferentes preditores sejam escolhidos (decorrelating the trees). Se m = p, estaremos no método Bagging. 19
Exemplo: Heart data set Abaixo, o erro do teste como função de B. A linha tracejada representa o erro utilizando uma árvore somente; Error 0.10 0.15 0.20 0.25 0.30 Test: Bagging Test: RandomForest OOB: Bagging OOB: RandomForest 0 50 100 150 200 250 300 Number of Trees 20
Out-of-Bag Error Estimation 21
Métodos boosting 22
Qual a importância dos resíduos? 23
Qual a importância dos resíduos? Lembrando de regressão n (y i ȳ) 2 = i=1 } {{ } SQT n (ŷ i ȳ) 2 + i=1 } {{ } SQR n (y i ŷ) 2. i=1 } {{ } SQE E, geometricamente, temos Isso quer dizer que toda variabilidade não explicada pela regressão ficará no resíduo (variáveis e funções delas!). 24
Qual a importância dos resíduos? No exemplo abaixo, estamos avaliando a relação entre consumo de combustível e potência do automóvel. mpg = β 0 + β 1 (cavalo vapor) + ε Milhas por galão 10 20 30 40 50 Linear Resíduos 15 10 5 0 5 10 15 20 Gráfico de resíduos para o ajuste linear 323 330 334 50 100 150 200 Cavalo-vapor 5 10 15 20 25 30 Valores ajustados 25
Qual a importância dos resíduos? No exemplo abaixo, estamos avaliando a relação entre consumo de combustível e potência do automóvel. mpg = β 0 + β 1 (cavalo vapor) + β 2 (cavalo vapor) 2 + ε Gráfico de resíduos para o ajuste quadrático Milhas por galão 10 20 30 40 50 Linear Grau 2 Resíduos 15 10 5 0 5 10 15 334 155 323 50 100 150 200 Cavalo-vapor 15 20 25 30 35 Valores ajustados 26
Qual a importância dos resíduos? 27
Métodos boosting mpg = β 0 + β 1 (cavalo vapor) + residuo Milhas por galão 10 20 30 40 50 Linear Resíduos 15 10 5 0 5 10 15 20 Gráfico de resíduos para o ajuste linear 323 330 334 50 100 150 200 Cavalo-vapor 5 10 15 20 25 30 Valores ajustados residuo = β 2 (cavalo vapor) 2 + residuo2 mpg = β 0 + β 1 (cavalo vapor) + β 2 (cavalo vapor) 2 + residuo2 28
Métodos boosting mpg = β 0 + β 1 (cavalo vapor) + residuo Resíduos 15 10 5 0 5 10 15 20 Gráfico de resíduos para o ajuste linear 323 330 334 Milhas por galão 10 20 30 40 50 Grau 2 5 10 15 20 25 30 Cavalo-vapor 50 100 150 200 Cavalo-vapor residuo = β 2 (cavalo vapor) 2 + residuo2 mpg = β 0 + β 1 (cavalo vapor) + β 2 (cavalo vapor) 2 + residuo2 29
Adaptive Boosting (AdaBoost) 30
Adaptive Boosting (AdaBoost) O princípio básico do Boosting é propor um modelo básico (weak learner) e o aprimorá-lo em cada iteração. O processo consiste em filtrar os resultados corretos, e concentrar-se naqueles que o modelo não soube lidar; Nesse caso, os weak learners, são árvores de decisão com uma separação apenas (chamada de decision stumps). 31
Como o algoritmo funciona? 1 Inicie com ĥ(x) = 0 e r i = y i, para todo i dos dados de treino; 2 Para b = 1, 2,..., B, repita: a) Ajuste a árvore ĥ b com d divisões para os dados de treino (X, r); b) Atualize ĥ adicionando uma nova versão à árvore anterior: ĥ(x) ĥ(x) + αĥb (x). c) Atualize os resíduos, r i r i αĥb (x i ). 3 O modelo de saída fica então, B ĥ(x) = αĥ b (x). b=1 32
Exemplo simulado Considere o exemplo simulado, obtido a partir da função: ( x ) f (x) = 10 + 0, 05x + 2sin 10 33
Exemplo simulado O processo consiste em analisar o resíduo decorrente do modelo anterior e somar novas árvores, suprindo tais deficiências. 34
Adaptive Boosting (AdaBoost) A ideia é ponderar os erros para que nas próximas árvores eles tenham mais importância. Em seguida, combinar os classificadores. Não vamos entrar em detalhes teóricos da abordagem. Para o aluno interessado sugere-se Elements of Statistical Learning, capítulo 10. 35
Exemplo: Expressão gênica Os dados consistem na medida de expressão de 4.718 genes dos tecidos de 349 pacientes; Test Classification Error 0.05 0.10 0.15 0.20 0.25 Boosting: depth=1 Boosting: depth=2 RandomForest: m= p Cada paciente possui um marcador qualitativo (de 15 níveis): Normal; Ou 14 tipos de câncer; 0 1000 2000 3000 4000 5000 Number of Trees A forma de construção do boosting (baseado nas árvores anteriores) faz com que ele faça um bom trabalho mesmo com uma partição apenas. 36
Referências James, G., Witten, D., Hastie, T. e Tibshirani, An Introduction to Statistical Learning, 2013; Hastie, T., Tibshirani, R. e Friedman, J., The Elements of Statistical Learning, 2009; Lantz, B., Machine Learning with R, Packt Publishing, 2013; Tan, Steinbach, and Kumar, Introduction to Data Mining, Addison-Wesley, 2005; Some of the figures in this presentation are taken from An Introduction to Statistical Learning, with applications in R (Springer, 2013) with permission from the authors: G. James, D. Witten, T. Hastie and R. Tibshirani 37