Aula 10: Gradient Boosting e Otimização Numérica no Espaço de Funções

Supervised Learning

Marcos M. Raimundo — Instituto de Computação, UNICAMP

2026-10-18

Revisão e Introdução

Revisão Cuidadosa: O Que a Aula 9 Deixou Pronto

O Que a Aula 9 Estabeleceu (Bagging e Random Forests)

  • Variância Correlacionada: \(\text{Var}(\bar{T}) = \rho \sigma^2 + \frac{1-\rho}{B}\sigma^2\).
  • Preservação de Viés: \(\mathbb{E}[\bar{T}] = \mathbb{E}[T]\) (a média não cura subajuste).
  • Blocos Construtores: Exige modelos de baixo viés e alta variância (árvores profundas não podadas).
  • Paralelismo Puro: Árvores são geradas de forma mutuamente independente.
  • O Dilema Teórico Remanescente:
    • E quando os modelos base são ultra-simples, rígidos e sofrem de alto viés?
    • A média paralela falha miseravelmente.
    • Precisamos de uma mecânica diametralmente oposta: adição sequencial focada nos resíduos.

Ideia Central: Da Média Paralela à Adição Sequencial

  • Inversão Arquitetural:
    • Bagging (Aula 9): Modelos complexos \(\to\) Amostragem paralela \(\to\) Redução de variância.
    • Boosting (Aula 10): Modelos fracos \(\to\) Composição sequencial \(\to\) Redução de viés.
  • A Expansão Aditiva Global: \[f_M(\mathbf{x}) = f_0(\mathbf{x}) + \sum_{m=1}^M \nu \cdot h_m(\mathbf{x})\]

A Tese de Jerome Friedman (2001)

Ajustar árvores aos resíduos sequenciais equivale analiticamente a realizar descida de gradiente no espaço de funções, onde o resíduo generalizado é o gradiente negativo da perda avaliado na iteração anterior: \[r_{im} = -\left[\frac{\partial L(y_i, f(\mathbf{x}_i))}{\partial f(\mathbf{x}_i)}\right]_{f=f_{m-1}}\]

Roteiro da Aula

  1. Inversão Filosófica: Por que o Boosting ataca o viés partindo de weak learners?
  2. FSAM e AdaBoost: Como a perda exponencial induz a reponderação de pesos do AdaBoost?
  3. Gradiente Funcional: Como Friedman conectou resíduos à descida de gradiente em \(\mathbb{R}^N\)?
  4. Pseudo-Resíduos Genéricos: Dedução analítica para perdas \(L_2\), \(L_1\), Huber e Deviance.
  5. Regularização e Interações: O tradeoff \((\nu, M)\) e a ordem de interação governada por \(J\).

Problema Motivador: California Housing

  • Benchmark California Housing (\(N_{\text{train}} = 2.000\), \(N_{\text{test}} = 1.000\)):
    • Preditor Constante \(f_0(\mathbf{x}) = \bar{y} = 2{,}0123\): \(\text{MSE}_{\text{test}} = 1{,}3417\).
    • 1 Decision Stump isolado (profundidade 1, alto viés): \(\text{MSE}_{\text{test}} = 0{,}9984\).
  • O Contraste Empírico Radical:
    • Bagging de 100 Stumps: \(\text{MSE}_{\text{test}} \approx 0{,}9950\) (preserva o viés; inútil!).
    • Gradient Boosting de 100 Stumps (\(\nu = 0{,}1\)): \(\text{MSE}_{\text{test}} = 0{,}4709\) (corta o erro pela metade!).
    • Gradient Boosting com \(J = 8\) (depth 3, \(\nu = 0{,}1\)): \(\text{MSE}_{\text{test}} = 0{,}2793\).
    • Random Forest da Aula 9 (100 árvores profundas, \(m = 3\)): \(\text{MSE}_{\text{test}} = 0{,}2897\).

Conclusão do Problema Motivador

Com apenas 100 árvores rasas de profundidade 3, o Gradient Tree Boosting supera a Random Forest completa de árvores profundas, atingindo menor erro de teste através da otimização sequencial de resíduos.

Pausa 1: A Inversão Filosófica

Pergunta aberta provocadora

Um cientista de dados propõe treinar um Gradient Tree Boosting utilizando árvores profundas e não podadas com \(J = 256\) nós terminais, exatamente como fez na Random Forest da Aula 9. Avalie o que ocorrerá com os resíduos das iterações subsequentes e com o erro de generalização no conjunto de teste.

Julgamento de V ou F

Julgue V ou F — a questão só conta se acertar os 4 itens:

  • □ Pela decomposição analítica do EMSE, o Bagging reduz variância via média paralela de estimadores instáveis, enquanto o Boosting reduz viés ajustando modelos sequencialmente aos erros residuais.
  • □ Como o Boosting adiciona novos estimadores que reduzem o erro de treinamento, aumentar indefinidamente o número de iterações \(M\) jamais causará sobreajuste (overfitting).
  • □ Se os modelos base possuírem alto viés inicial (como decision stumps), a aplicação do Bagging resulta em ganho quase nulo devido à preservação da esperança \(\mathbb{E}[\bar{T}] = \mathbb{E}[T]\).
  • □ Uma árvore de regressão com profundidade 1 (decision stump) é capaz de capturar interações não lineares entre pares de preditores quando combinada via Bagging.

Pausa 1: A Inversão Filosófica — Resposta

Julgamento de V ou F — Resposta

  • ✔ V: A média paralela atua estritamente na variância de preditores flexíveis; o comitê aditivo sequencial foca em abater o viés de aproximação.
  • ✗ F: O Boosting adiciona termos aditivos sequenciais que buscam minimizar o erro empírico; sem regularização adequada, iterações excessivas (\(M \to \infty\)) acabam decorando o ruído de treino.
  • ✔ V: Pela linearidade da esperança, a média de 500 modelos enviesados continua apresentando exatamente o mesmo viés médio do modelo base.
  • ✗ F: Árvores com profundidade 1 particionam apenas um atributo; interações entre variáveis exigem caminhos hierárquicos com pelo menos 2 divisões sucessivas (\(J \ge 3\)).

Voltando à pergunta: Ao treinar árvores profundas (\(J = 256\)) no Boosting, a primeira árvore já memoriza quase perfeitamente os dados de treino. Os resíduos para a iteração 2 serão puro ruído estocástico, fazendo com que as árvores subsequentes amplifiquem o sobreajuste e destruam o erro de generalização. O Boosting exige modelos base fracos e restritos.

Intuição — Descida de Gradiente no Espaço de Funções

A Imagem Mental: O Jogador de Golfe e os Resíduos

  • A Analogia das Tacadas Sequenciais:
    • Ponto de partida: \(f_0\).
    • Resíduo inicial: \(r_1 = y - f_0\).
    • 1ª correção: \(h_1 \approx r_1 \implies f_1 = f_0 + h_1\).
    • 2ª correção: \(h_2 \approx r_2 = y - f_1 \implies f_2 = f_1 + h_2\).
  • A Generalização Conceitual:
    • Para o erro quadrático (\(L_2\)), a direção de correção é simplesmente \(y - f\).
    • Para perdas gerais (Huber, \(L_1\), Deviance binomial), qual é a direção que mais reduz a perda?
    • Resposta: O vetor gradiente negativo da perda \(-\nabla L\) avaliado no modelo corrente!

O Mecanismo em Diagrama: Descida Funcional

Pausa 2: Descida de Gradiente no Espaço de Funções

Pergunta aberta provocadora

Por que não podemos simplesmente atualizar diretamente os valores das predições de treino fazendo \(f_m(\mathbf{x}_i) = f_{m-1}(\mathbf{x}_i) + \rho r_{im}\) para cada ponto observado \(i = 1, \dots, N\), dispensando completamente a indução da árvore de regressão?

Julgamento de V ou F

Julgue V ou F — a questão só conta se acertar os 4 itens:

  • □ O vetor \(-\mathbf{g}_m \in \mathbb{R}^N\) representa a direção de descida mais íngreme da função de perda avaliada no conjunto de treinamento.
  • □ Atualizar diretamente as predições nos \(N\) pontos de treino sem ajustar um modelo base produz um preditor capaz de generalizar perfeitamente para novos dados de teste.
  • □ Ajustar uma árvore de regressão aos pseudo-resíduos via mínimos quadrados corresponde formalmente à projeção ortogonal do gradiente não paramétrico sobre a classe de hipóteses de árvores.
  • □ A partição induzida pela árvore permite que a direção do gradiente seja extrapolada e avaliada em qualquer ponto \(\mathbf{x} \in \mathbb{R}^p\) do domínio.

Pausa 2: Descida Funcional — Resposta

Julgamento de V ou F — Resposta

  • ✔ V: Pelo cálculo vetorial, o gradiente negativo é a direção local de máxima redução de \(L(\mathbf{f})\) em \(\mathbb{R}^N\).
  • ✗ F: Atualizar diretamente os pontos de treino gera apenas uma tabela finita de números para os dados observados, sem nenhuma função de inferência para pontos não vistos \(\mathbf{x} \notin \mathcal{D}\).
  • ✔ V: Minimizar \(\sum_{i=1}^N (r_{im} - h_m(\mathbf{x}_i))^2\) é analiticamente a projeção euclidiana do gradiente sobre o espaço restrito de árvores.
  • ✔ V: A árvore define regiões hiper-retangulares contínuas no espaço de atributos, viabilizando predições generalizadas.

Voltando à pergunta: Atualizar diretamente as predições nos pontos de treino resolveria a perda empírica, mas resultaria em um vetor discreto incapaz de predizer instâncias inéditas. A árvore de regressão atua como um mecanismo de generalização indutiva, projetando o gradiente discreto em uma função contínua por partes definida em todo o espaço de entrada.

Bloco 1: Modelos Aditivos em Estágios e AdaBoost

Modelos Aditivos em Estágios Progressivos (FSAM)

A Heurística Gulosa do FSAM (ESL §10.2)

Em vez de otimizar os \(M\) modelos simultaneamente, congela-se \(f_{m-1}\) e busca-se apenas o próximo incremento: \[(\beta_m, \gamma_m) = \arg\min_{\beta, \gamma} \sum_{i=1}^N L\big(y_i, f_{m-1}(\mathbf{x}_i) + \beta h(\mathbf{x}_i; \gamma)\big)\]

  • Atualização: \(f_m(\mathbf{x}) = f_{m-1}(\mathbf{x}) + \beta_m h(\mathbf{x}; \gamma_m)\).
  • Vantagem: Converte um problema intratável de otimização global em uma sequência de \(M\) problemas simples de ajuste de uma única função base.

O Algoritmo AdaBoost.M1 (Freund & Schapire, 1997)

O Algoritmo AdaBoost.M1 (Freund & Schapire, 1997)

  • Entrada: Dados \(\{(\mathbf{x}_i, y_i)\}_{i=1}^N\) com \(y_i \in \{-1, +1\}\); pesos iniciais \(w_i^{(1)} = \frac{1}{N}\).
  • Para \(m = 1\) até \(M\):
    1. Ajustar Classificador Fraco: \(h_m(\mathbf{x}) \in \{-1, +1\}\) minimizando o erro ponderado: \[\text{err}_m = \frac{\sum_{i=1}^N w_i^{(m)} \mathbb{I}(y_i \neq h_m(\mathbf{x}_i))}{\sum_{i=1}^N w_i^{(m)}}\]
    2. Calcular Importância \(\alpha_m\): \(\alpha_m = \frac{1}{2} \ln \left( \frac{1 - \text{err}_m}{\text{err}_m} \right)\).
    3. Atualizar Pesos: \(w_i^{(m+1)} = w_i^{(m)} \exp\big(-\alpha_m y_i h_m(\mathbf{x}_i)\big)\).
  • Comitê Final: \(H(\mathbf{x}) = \text{sign}\left( \sum_{m=1}^M \alpha_m h_m(\mathbf{x}) \right)\).

Exemplo Ilustrativo: AdaBoost em Ação

  • A Dinâmica Visual em 3 Passos:
    1. Iteração 1 (\(w_i = 0{,}10\)): O stump vertical erra 3 pontos à direita (\(\text{err}_1 = 0{,}30 \implies \alpha_1 = 0{,}42\)).
    2. Iteração 2: Os 3 erros sofrem amplificação de peso (\(e^{+\alpha_1}\)) e ficam maiores \(\to h_2\) ajusta-se para acertá-los!
    3. Comitê Final: O voto ponderado por \(\alpha_m\) atinge 100% de acurácia, separando as classes com 3 stumps de profundidade 1!

AdaBoost como Otimização Gulosa sob Perda Exponencial

AdaBoost Desmistificado: FSAM com Perda Exponencial

O AdaBoost.M1 é analiticamente um FSAM minimizando \(L(y, f) = e^{-yf}\) (\(y \in \{-1, +1\}\)): \[\min_{\alpha, h} \sum_{i=1}^N \underbrace{e^{-y_i f_{m-1}(\mathbf{x}_i)}}_{w_i^{(m)} \text{ (peso histórico)}} e^{-\alpha y_i h(\mathbf{x}_i)}\]

  • Decomposição em Acertos (\(y_i h = +1\)) e Erros (\(y_i h = -1\)): \[\frac{\text{Perda}}{w_m} = (1 - \text{err}_m) \underbrace{e^{-\alpha}}_{\text{acertos}} + \text{err}_m \underbrace{e^{+\alpha}}_{\text{erros}}\] onde \(w_m = \sum_{i=1}^N w_i^{(m)}\) e \(\text{err}_m = \frac{\sum_{y_i \neq h} w_i^{(m)}}{w_m}\) é a taxa de erro ponderada.
  • A Intuição Central:
    • Acertos pagam uma penalidade amortecida \(e^{-\alpha} < 1\).
    • Erros pagam uma penalidade amplificada \(e^{+\alpha} > 1\).

As Duas Decisões do AdaBoost em Forma Direta

As Duas Decisões do AdaBoost em Forma Direta

  1. Escolha de \(h_m\): Como \(e^\alpha > e^{-\alpha}\), minimizar a perda equivale a minimizar a fração de erros \(\implies h_m\) minimiza o erro ponderado \(\text{err}_m\): \[h_m = \arg\min_h \sum_{i=1}^N w_i^{(m)} \mathbb{I}(y_i \neq h(\mathbf{x}_i))\]
  2. Escolha de \(\alpha_m\): Igualando as forças dos acertos e erros (\(\frac{\partial}{\partial \alpha} = 0\)): \[\text{err}_m e^{+\alpha} = (1 - \text{err}_m) e^{-\alpha} \implies e^{2\alpha} = \frac{1 - \text{err}_m}{\text{err}_m} \implies \alpha_m = \frac{1}{2} \ln \left( \frac{1 - \text{err}_m}{\text{err}_m} \right)\]
  • Os Três Regimes de \(\alpha_m\):
    • \(\text{err}_m \to 0 \implies \alpha_m \to +\infty\) (confiança alta no voto do modelo).
    • \(\text{err}_m = 0{,}5 \implies \alpha_m = 0\) (cara-ou-coroa é descartado).
    • \(\text{err}_m > 0{,}5 \implies \alpha_m < 0\) (inversão automática da polaridade).

Atualização de Pesos: A Mecânica Iterativa

Atualização Recurrente dos Pesos

Como \(f_m(\mathbf{x}) = f_{m-1}(\mathbf{x}) + \alpha_m h_m(\mathbf{x})\): \[w_i^{(m+1)} = \underbrace{\exp\big(-y_i f_{m-1}(\mathbf{x}_i)\big)}_{w_i^{(m)}} \cdot \exp\big(-\alpha_m y_i h_m(\mathbf{x}_i)\big) = w_i^{(m)} \exp\big(-\alpha_m y_i h_m(\mathbf{x}_i)\big)\]

  • A Dinâmica Individual:
    • Acerto (\(y_i h_m = +1\)): \(w_i^{(m+1)} = w_i^{(m)} \cdot e^{-\alpha_m}\) (o comitê já aprendeu este ponto \(\implies\) peso diminui).
    • Erro (\(y_i h_m = -1\)): \(w_i^{(m+1)} = w_i^{(m)} \cdot e^{+\alpha_m}\) (o comitê falhou neste ponto \(\implies\) peso aumenta).
  • O próximo classificador fraco \(h_{m+1}\) é forçado a se concentrar quase que exclusivamente nas regiões do espaço onde o comitê acumulado \(f_m\) cometeu erros!

Razão Erro/Acerto e a Conexão com Bayes e Logística

  • A Razão Relativa de Reponderação: \[\frac{w_{\text{erro}}^{(m+1)}}{w_{\text{acerto}}^{(m+1)}} = \frac{w_{\text{erro}}^{(m)}}{w_{\text{acerto}}^{(m)}} \cdot e^{2\alpha_m} = \frac{w_{\text{erro}}^{(m)}}{w_{\text{acerto}}^{(m)}} \cdot \left( \frac{1 - \text{err}_m}{\text{err}_m} \right)\]
    • \(\text{err}_m = 0{,}20 \implies\) erros ficam \(4\times\) mais pesados que acertos!
    • \(\text{err}_m = 0{,}10 \implies\) erros ficam \(9\times\) mais pesados em uma única iteração!

Minimizador Populacional e Log-Odds de Bayes (ESL §10.4)

Minimizando a perda exponencial esperada \(\mathbb{E}_{Y\mid\mathbf{x}}[e^{-Yf}]\): \[\frac{\partial}{\partial f}\big[ P(Y=1\mid\mathbf{x})e^{-f} + P(Y=-1\mid\mathbf{x})e^{+f} \big] = 0 \implies e^{2f} = \frac{P(Y=1\mid\mathbf{x})}{P(Y=-1\mid\mathbf{x})}\] \[f^*(\mathbf{x}) = \frac{1}{2} \ln \left( \frac{P(Y=1\mid\mathbf{x})}{P(Y=-1\mid\mathbf{x})} \right) = \frac{1}{2}\text{logit}\big(P(Y=1\mid\mathbf{x})\big)\]

  • Implicações Teóricas:
    • O AdaBoost estima a metade do log-odds (o mesmo alvo da Regressão Logística da Aula 6!).
    • O sinal \(\text{sign}(f^*(\mathbf{x}))\) implementa a fronteira ótima de Bayes (\(P > 0{,}5\)).

O Calcanhar de Aquiles: Outliers e Rótulos Ruidosos

A Patologia Grave: Sensibilidade Extrema a Outliers

  • Regressão Logística: Para erros graves (\(yf \ll 0\)), a perda cresce linearmente: \(L \approx |yf|\).
  • AdaBoost (Exponencial): A penalidade cresce exponencialmente: \(L = e^{|yf|}\).
  • Um erro com margem \(yf = -10\) recebe peso \(e^{10} \approx 22.026\)!
  • Exemplos com ruído de medição ou rótulos trocados monopolizam os pesos.
  • O Colapso do Modelo:
    • As árvores seguintes gastam divisões tentando memorizar ruídos insolúveis.
    • A fronteira de decisão sofre deformação severa e a variância dispara.
    • O erro de generalização no conjunto de teste entra em colapso.

A Motivação do Gradient Tree Boosting (Friedman, 2001)

O Dilema do AdaBoost e a Perda Exponencial

  • O AdaBoost usou a perda exponencial por conveniência matemática: ela permitia deduzir \(\alpha_m\) analiticamente.
  • Para perdas robustas (\(L_1\), Huber, deviance), não existe solução analítica fechada para os parâmetros da árvore!
  • A Ideia Revolucionária de Jerome Friedman (2001):
    • Tratar as predições nas \(N\) instâncias como um ponto no espaço \(\mathbb{R}^N\).
    • Descer na direção do gradiente negativo da perda (\(-\nabla_{\mathbf{f}} L\)).
    • Ajustar uma árvore de regressão simples para interpolar e generalizar essa direção de descida (os pseudo-resíduos)!

Conexão com o Próximo Bloco

O Gradient Tree Boosting permite otimizar qualquer função de perda diferenciável com aprendizes fracos \(\to\) Bloco 2!

Pausa 3: FSAM e AdaBoost

Pergunta aberta provocadora

Em uma aplicação de detecção de fraudes com dados bancários altamente contaminados por registros fraudulentos atípicos, um cientista observa que o AdaBoost entra em sobreajuste severo após 25 iterações. Por que a formulação matemática da função de perda exponencial explica essa falha catastrófica perante outliers?

Julgamento de V ou F

Julgue V ou F — a questão só conta se acertar os 4 itens:

  • □ O algoritmo AdaBoost.M1 é analiticamente equivalente ao FSAM minimizando a função de perda exponencial \(L(y, f) = e^{-yf}\).
  • □ Se um classificador base atingir exatamente \(50\%\) de taxa de erro ponderada (\(\text{err}_m = 0{,}50\)), seu multiplicador no ensemble será \(\alpha_m = 0\).
  • □ Sob a perda exponencial, a penalidade atribuída a uma observação incorreta com margem negativa \(-yf = 5\) cresce de forma assintoticamente linear.
  • □ A função que minimiza a esperança condicional da perda exponencial é a metade da razão de chances logarítmica (log-odds) populacional.

Pausa 3: FSAM e AdaBoost — Resposta

Julgamento de V ou F — Resposta

  • ✔ V: Demonstração clássica de Friedman, Hastie e Tibshirani (2000).
  • ✔ V: Substituindo na fórmula, \(\ln((1-0{,}5)/0{,}5) = \ln(1) = 0\).
  • ✗ F: A perda exponencial cresce a uma taxa puramente exponencial (\(e^5 \approx 148{,}4\)), e não linear.
  • ✔ V: \(f^*(\mathbf{x}) = \frac{1}{2} \ln (P(Y=1\mid\mathbf{x}) / P(Y=-1\mid\mathbf{x}))\), coincidindo com a fronteira de Bayes.

Voltando à pergunta: A perda exponencial \(e^{-yf}\) impõe uma punição exponencialmente desproporcional a erros graves. Em dados com ruído, outliers acumulam pesos astronômicos, forçando as árvores seguintes a distorcerem suas fronteiras de decisão exclusivamente para acomodar anomalias, destruindo a acurácia de teste nos dados normais.

Bloco 2: Gradient Boosting e Pseudo-Resíduos Genéricos

A Formulação Geral de Jerome Friedman (2001)

Definição Formal de Pseudo-Resíduo (Friedman, 2001)

\[r_{im} = -\left[\frac{\partial L(y_i, f(\mathbf{x}_i))}{\partial f(\mathbf{x}_i)}\right]_{f(\mathbf{x}) = f_{m-1}(\mathbf{x})}, \quad i = 1, \dots, N\]

  • O Significado Geométrico:
    • \(r_{im}\) indica a direção e magnitude em que a predição \(f(\mathbf{x}_i)\) deve se mover para diminuir localmente a perda daquela observação.
    • Para a perda quadrática tradicional, \(r_{im} = y_i - f_{m-1}(\mathbf{x}_i)\) (o resíduo comum).
    • Para qualquer outra perda, \(r_{im}\) é o gradiente negativo generalizado.

Dedução de Pseudo-Resíduos para Perdas Clássicas

Função de Perda Expressão \(L(y, f)\) Pseudo-Resíduo \(r_{im} = -\frac{\partial L}{\partial f}\)
Mínimos Quadrados (\(L_2\)) \(\frac{1}{2}(y - f)^2\) \(y_i - f_{m-1}(\mathbf{x}_i)\)
Mínimos Absolutos (\(L_1\)) \(\|y - f\|\) \(\text{sign}(y_i - f_{m-1}(\mathbf{x}_i))\)
Perda de Huber Quadrática em \(\le \delta\), linear em \(> \delta\) \(y_i - f_{m-1}\) se \(\|e\| \le \delta\); \(\delta\,\text{sign}(e)\) se \(\|e\| > \delta\)
Deviance Binomial \(-[y \ln p + (1-y)\ln(1-p)]\) \(y_i - p_{m-1}(\mathbf{x}_i)\)

A Unificação Elegante

Seja em regressão clássica, regressão robusta ou probabilidade logística, o Gradient Boosting sempre ajusta árvores sobre resíduos bem definidos derivados do gradiente negativo.

O Algoritmo Gradient Tree Boosting (Alg. 10.3 do ESL)

Algoritmo 10.3 (ESL / Friedman 2001)

  1. Inicialização: \(f_0(\mathbf{x}) = \arg\min_\gamma \sum_{i=1}^N L(y_i, \gamma)\).
  2. Loop \(m = 1 \dots M\):
      1. Pseudo-resíduos: \(r_{im} = -\left[\frac{\partial L(y_i, f(\mathbf{x}_i))}{\partial f(\mathbf{x}_i)}\right]_{f=f_{m-1}}\).
      1. Árvore sobre \(r_{im} \to\) Regiões terminais \(R_{1m}, \dots, R_{Jm}\).
      1. Busca linear nas folhas: \[\gamma_{jm} = \arg\min_\gamma \sum_{\mathbf{x}_i \in R_{jm}} L(y_i, f_{m-1}(\mathbf{x}_i) + \gamma)\]
      1. Atualização: \(f_m(\mathbf{x}) = f_{m-1}(\mathbf{x}) + \nu \sum_{j=1}^J \gamma_{jm} \mathbb{I}(\mathbf{x} \in R_{jm})\).
  3. Retornar: \(f_M(\mathbf{x})\).

Exemplo Visual: Comparando Perdas e Pseudo-Resíduos

Pausa 4: Pseudo-Resíduos e Busca Linear nas Folhas

Pergunta aberta provocadora

Ao modelar uma variável financeira com caudas pesadíssimas e valores atípicos de milhões de dólares, um engenheiro substitui a perda quadrática \(L_2\) pela perda absoluta \(L_1\). Como essa mudança altera o pseudo-resíduo de treinamento e o cálculo do valor constante ótimo \(\gamma_{jm}\) que atualiza cada folha da árvore?

Julgamento de V ou F

Julgue V ou F — a questão só conta se acertar os 4 itens:

  • □ Para a função de perda quadrática clássica \(L_2\), o pseudo-resíduo é analiticamente idêntico ao resíduo comum \(r_{im} = y_i - f_{m-1}(\mathbf{x}_i)\).
  • □ Sob a perda de valor absoluto \(L_1\), o pseudo-resíduo independe da magnitude escalar do erro, fornecendo unicamente a direção \(\text{sign}(y_i - f_{m-1}(\mathbf{x}_i))\).
  • □ O valor ótimo \(\gamma_{jm}\) que atualiza cada folha terminal sob a perda absoluta \(L_1\) é dado pela média aritmética dos resíduos das instâncias alocadas àquela folha.
  • □ A perda de Huber realiza uma transição suave entre o comportamento quadrático para erros pequenos (\(|e| \le \delta\)) e o comportamento linear para erros atípicos (\(|e| > \delta\)).

Pausa 4: Pseudo-Resíduos — Resposta

Julgamento de V ou F — Resposta

  • ✔ V: A derivada negativa de \(\frac{1}{2}(y - f)^2\) em relação a \(f\) resulta exatamente em \(y - f\).
  • ✔ V: A derivada do módulo é a função sinal, imune à amplitude de desvios gigantescos.
  • ✗ F: Sob \(L_1\), o minimizador em cada folha é a mediana dos resíduos, e não a média.
  • ✔ V: Pela definição de Huber, garantindo derivadas contínuas no limiar \(\delta\).

Voltando à pergunta: Ao trocar \(L_2\) por \(L_1\), o pseudo-resíduo passa de \((y - f)\) para \(\text{sign}(y - f)\), tornando a direção de descida cega a discrepâncias extremas. Na folha terminal, a busca linear troca a média amostral pela mediana dos resíduos, conferindo ao Gradient Boosting robustez extrema contra caudas pesadas.

Bloco 3: Regularização, Arquitetura de Árvores e Interpretação

Regularização por Encolhimento

  • A Regra de Atualização Amortecida: \[f_m(\mathbf{x}) = f_{m-1}(\mathbf{x}) + \nu \cdot h_m(\mathbf{x}), \quad 0 < \nu \le 1\]
  • O Princípio do Encolhimento (Friedman, 2001):
    • \(\nu = 1{,}0\) (passos plenos): convergência rápida, mas sobreajuste precoce no conjunto de teste.
    • \(\nu \le 0{,}1\) (passos curtos): exige mais árvores (\(M\) maior), mas encontra soluções de generalização comprovadamente superiores.
    • A Regra Prática: Ajuste \(\nu\) para um valor pequeno (\(\nu \in [0{,}05, 0{,}1]\)) e determine o número ótimo de árvores \(M\) via validação cruzada / early stopping.

Arquitetura de Árvores e Controle da Ordem de Interação

Teorema de Ordem de Interação (ESL §10.11)

Uma árvore com \(J\) folhas modela no máximo interações de ordem \(J - 1\).

  • Casos Especiais de Arquitetura:
    • \(J = 2\) (Decision Stumps): Modelo aditivo puro sem interações (\(f(\mathbf{x}) = \sum_k f_k(x_k)\)). Máxima interpretabilidade.
    • \(J = 3\) (Profundidade 2): Interações bivariadas (\(x_j \times x_k\)).
    • \(4 \le J \le 8\) (Profundidade 2 a 3): O ponto ótimo prático de quase todas as aplicações de Machine Learning moderno.
  • Contraste com Random Forests (Aula 9):
    • Random Forests precisam de \(J > 100\) (árvores profundas sem poda) para eliminar o viés.
    • Gradient Boosting atinge seu ápice com árvores rasas de \(J \in [4, 8]\).

Interpretabilidade: Importância de Atributos e PDP

  • Importância Relativa de Friedman: \[I_k^2 = \frac{1}{M} \sum_{m=1}^M \sum_{t=1}^{J-1} \hat{i}_t^2 \mathbb{I}(v(t) = k)\] Mede o ganho empírico médio acumulado por divisões baseadas no preditor \(x_k\).
  • Dependência Parcial (PDP): \[\bar{f}_S(\mathbf{x}_S) = \frac{1}{N} \sum_{i=1}^N f(\mathbf{x}_S, \mathbf{x}_{i, C})\] Permite visualizar curvas contínuas do impacto marginal de uma variável isolada sobre o alvo predito.

Pausa 5: Regularização, Arquitetura e Interpretação

Pergunta aberta provocadora

Um analista ajusta um modelo Gradient Tree Boosting com \(\nu = 1{,}0\) e descobre que \(M = 30\) árvores atingem o menor erro de validação. Ele então decide reduzir \(\nu\) para \(\nu = 0{,}02\), mantendo fixas exatamente as mesmas 30 árvores. O que acontecerá com o desempenho do modelo e como ele deve reconfigurar \(M\) para usufruir dos benefícios do encolhimento?

Julgamento de V ou F

Julgue V ou F — a questão só conta se acertar os 4 itens:

  • □ O hiperparâmetro de encolhimento \(\nu \in (0, 1]\) amortece o passo de cada árvore, funcionando como um análogo funcional da regularização \(L_2\).
  • □ Reduzir \(\nu\) para valores próximos a zero permite que o ensemble atinja o mesmo erro de treino com um número \(M\) significativamente menor de árvores.
  • □ Uma árvore com \(J = 2\) nós terminais (decision stump) restringe o ensemble final a um Modelo Aditivo Generalizado sem qualquer interação entre variáveis.
  • □ Os Gráficos de Dependência Parcial (PDP) isolam o efeito marginal de uma variável fixando todas as outras variáveis exatamente em suas médias amostrais.

Pausa 5: Regularização e Arquitetura — Resposta

Julgamento de V ou F — Resposta

  • ✔ V: O shrinkage restringe o avanço de cada passo, forçando termos subsequentes a explorarem novas dimensões de melhoria.
  • ✗ F: Reduzir \(\nu\) diminui a velocidade de ajuste, exigindo um número \(M\) muito maior de iterações para atingir o mesmo risco empírico.
  • ✔ V: Com apenas uma divisão por árvore, nenhuma interação bivariada é possível (\(f(\mathbf{x}) = \sum_k f_k(x_k)\)).
  • ✗ F: O PDP calcula a média empírica integrando sobre a distribuição conjunta das variáveis complementares, e não avaliando na média.

Voltando à pergunta: Reduzir \(\nu\) para \(0{,}02\) mantendo apenas 30 árvores causará subajuste severo (underfitting), pois o comitê terá percorrido uma fração ínfima do caminho até o ótimo funcional. O analista deve multiplicar \(M\) por um fator de 20 a 50 (expandindo para \(M \in [600, 1500]\)) com parada antecipada para colher a redução de erro de generalização.

Fechamento

Retomando as 5 Perguntas da Aula

  1. Inversão de Paradigma: Bagging reduz variância via paralelismo; Boosting reduz viés via sequencialidade.
  2. FSAM e AdaBoost: Perda exponencial induz exatamente a reponderação multiplicativa de pesos e \(\alpha_m\).
  3. Descida Funcional: Resíduos são gradientes negativos no espaço de funções projetados sobre árvores.
  4. Pseudo-Resíduos Robustos: \(L_2\) (média de resíduos), \(L_1\) (direção e mediana), Huber (truncamento) e Deviance (\(y - p\)).
  5. Regularização: \(\nu \le 0{,}1\) amortece passos prevenindo sobreajuste; \(J\) limita a ordem de interação a \(J-1\).

Tabela Comparativa Completa: Bagging vs. Boosting

Síntese: Bagging vs. Boosting

  • Bagging: Árvores profundas \(\to\) Média paralela \(\to\) Combate variância \(\to\) Imune a \(B \to \infty\).
  • Boosting: Árvores rasas \(\to\) Adição sequencial \(\to\) Combate viés \(\to\) Exige encolhimento \(\nu\) e early stopping.

O Que Fica em Aberto e Próximos Passos

  • O Que Fica em Aberto:
    • O Gradient Tree Boosting clássico utiliza aproximação de Taylor de 1ª ordem.
    • Como incorporar curvatura de 2ª ordem (Hessiana) diretamente na divisão dos nós?
    • \(\to\) XGBoost, LightGBM e CatBoost.

Ponte para a Aula 11: Máquinas de Vetores de Suporte (SVM)

Próxima Parada: Aula 11 — Máquinas de Vetores de Suporte (SVM)

  • Do comitê ao hiperplano ótimo: Em vez de milhares de cortes ortogonais, um único separador de margem máxima.
  • Dualidade de Lagrange e KKT: A dependência exclusiva dos vetores de suporte.
  • O Truque do Kernel: Separação não linear em dimensões infinitas sem calcular coordenadas explícitas.

Exercícios Soluções