Eu tenho tentado entender o aumento de gradiente lendo vários blogs, sites e tentando encontrar minha resposta procurando, por exemplo, no código-fonte do XGBoost. No entanto, não consigo encontrar uma explicação compreensível de como algoritmos de aumento de gradiente produzem estimativas de probabilidade. Então, como eles calculam as probabilidades?
11
Respostas:
O XGBoost para classificação é um modelo que combina os princípios de árvores de decisão e regressão logística.
A função de regressão logística calcula probabilidades que são lineares na escala de logit:
Diferentemente da regressão logística, os "recursos" emX são construídos como os nós terminais de um conjunto de árvores de decisão - portanto, cada linha de X coleta as folhas terminais de cada amostra; a linha é um vetor binário T -hot, para T o número de árvores. (Cada árvore do XGBoost é gerada de acordo com um algoritmo específico, mas isso não é relevante aqui.)
Existemn colunas no X , uma coluna para cada nó do terminal. Não há expressão para o número total de nós terminais, porque o número de nós pode variar entre árvores (e geralmente varia, na minha experiência).
Cada folha da árvore tem um "peso" associado. Esse peso é registrado emW . Para ser conforme com X , existem n elementos em W .
Ou, alternativamente, as probabilidades de log para uma amostra são a soma dos pesos de suas folhas terminais. A probabilidade da amostra pertencente à classe 1 é a transformação de logit inverso da soma.
fonte
X
e um conjunto único de betas para cada amostra / observação (i
)? Em outras palavras, para cada amostra / observação para a qual você deseja calcular a probabilidade de pertencer à classe 1, você precisa determinar os valores exclusivos daX
matriz e do vetor beta?