Quais são as vantagens/desvantagens de usar o Gradient Boosting sobre o Random Forests?
Bambos são métodos de aprendizagem em conjunto e prevêem (regressão ou classificação) através da combinação dos resultados de árvores individuais. Eles diferem na forma como as árvores são construídas - ordem e a forma como os resultados são combinados.
Florestas aleatórias treinam cada árvore independentemente, usando uma amostra aleatória dos dados. Esta aleatoriedade ajuda a tornar o modelo mais robusto do que uma única árvore de decisão, e menos provável que se sobreponha aos dados de treinamento. Normalmente há dois parâmetros em RF - número de árvores e número de características a serem selecionadas em cada nó.
GBTs constroem árvores uma de cada vez, onde cada nova árvore ajuda a corrigir erros cometidos por árvores previamente treinadas. Com cada árvore adicionada, o modelo torna-se ainda mais expressivo. Normalmente há três parâmetros - número de árvores, profundidade das árvores e taxa de aprendizagem, e cada árvore construída é geralmente rasa.
GBDT o treinamento geralmente leva mais tempo devido ao fato de que as árvores são construídas sequencialmente. Entretanto, os resultados do benchmark mostraram que o GBDT é melhor para os alunos do que o Random Forests (Florestas Aleatórias).
Uma visão geral das diferenças e alguns resultados dos benchmarks em termos de taxa de erro e tempo de treinamento são dados no link abaixo:
Florestas Aleatórias e Impulso em MLlib
Embora possa parecer que as GBDTs são melhores que as florestas aleatórias, as GBDTs são propensas a se sobreajustar, porém existem estratégias para superar o mesmo e construir árvores mais generalizadas usando uma combinação de parâmetros como taxa de aprendizagem (encolhimento) e profundidade da árvore. Geralmente os dois parâmetros são mantidos no lado inferior para permitir um aprendizado lento e uma melhor generalização.
Aqui está uma descrição muito detalhada com derivações matemáticas etc de GBMs
Página em washington.edu
Espera que isto ajude.