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.