Aumento do gradiente (unidade opcional)

Em problemas de regressão, faz sentido definir o erro assinado como a diferença entre a previsão e o rótulo. No entanto, em outros tipos de problemas, essa estratégia geralmente leva a resultados ruins. Uma estratégia melhor usada no aprimoramento por gradiente é:

  • Defina uma função de perda semelhante às funções de perda usadas em redes neurais. Por exemplo, a entropia (também conhecida como Log Loss) para um problema de classificação.
  • Treine o modelo fraco para prever o gradiente da perda de acordo com a saída do modelo forte.

Formalmente, dada uma função de perda L(y,p), em que y é um identificador e p é uma previsão, a pseudoresposta zi usada para treinar o modelo fraco na etapa i é:

zi=L(y,Fi)Fi

em que:

  • Fi é a previsão do modelo forte.

O exemplo anterior era um problema de regressão: o objetivo é prever um valor numérico. No caso da regressão, o erro quadrático é uma função de perda comum:

L(y,p)=(yp)2

Nesse caso, o gradiente é:

z=L(y,Fi)Fi=(yp)2p=2(yp)=2 signed error

Em outras palavras, o gradiente é o erro assinado do nosso exemplo com um fator de 2. Os fatores constantes não importam devido ao encolhimento. Observe que essa equivalência é válida apenas para problemas de regressão com perda de erro quadrado. Para outros problemas de aprendizado supervisionado (por exemplo, classificação, classificação, regressão com perda de percentil), não há equivalência entre o gradiente e um erro assinado.

Otimização de folhas e estruturas com a etapa do método de Newton

O método de Newton é um método de otimização, como o gradiente descendente. No entanto, ao contrário do gradiente descendente, que usa apenas o gradiente da função para otimização, o método de Newton usa o gradiente (primeiro derivado) e o segundo derivada da função para otimização.

Uma etapa de gradiente descendente é a seguinte:

xi+1=xidfdx(xi)=xif(xi)

e o método de Newton da seguinte maneira:

xi+1=xidfdx(xi)d2fd2x(xi)=xif(xi)f(xi)

Opcionalmente, o método de Newton pode ser integrado ao treinamento de árvores boosted de gradiente de duas maneiras:

  1. Depois que uma árvore é treinada, uma etapa de Newton é aplicada em cada folha e substitui o valor dela. A estrutura da árvore não é alterada. Apenas os valores das folhas são modificados.
  2. Durante o crescimento de uma árvore, as condições são selecionadas de acordo com uma pontuação que inclui um componente da fórmula de Newton. A estrutura da árvore é afetada.
Código YDF
No YDF:
  • O YDF sempre aplica uma etapa de Newton na folha (opção 1).
  • É possível ativar a opção 2 com use_hessian_gain=True.