Como o aumento de gradiente calcula estimativas de probabilidade?


11

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?


3
Isto essencialmente faz e responde a mesma pergunta, no caso de uma explicação diferente seria útil para você: stats.stackexchange.com/questions/204154/...
Matthew Drury

Respostas:


13

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:

z=XwP(y=1|X)=11+exp(z)

Diferentemente da regressão logística, os "recursos" em X 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.)

Existem n 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 em w . 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.


Isso é muito útil, obrigado. Quantos elementos o vetor beta conteria? Seria igual ao número total de nós de folhas em todas as árvores? (E não seria igual número de colunas na matriz X, correto?)
Vishal

Obrigado pela resposta atualizada. Isso significa que há uma matriz única 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 da Xmatriz e do vetor beta?
Vishal

1
X

@SycoraxsaysReinstateMonica Sua resposta é muito útil para entender o GBM. Além disso, você pode explicar como a primeira árvore no GBM (classificador) é construída e como os critérios de divisão de nós para a primeira árvore são decididos. Não tenho certeza, o que estamos prevendo para a primeira árvore (mesmo assumindo que uma constante seja inicializada, como o gradiente de perda é calculado a partir da constante) e se mse é o critério de divisão, do que é composto (diferença quadrada de quais valores ??)
tjt 29/02
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.