Machine-Learning

梯度提升如何計算概率估計?

  • June 6, 2018

我一直試圖通過閱讀各種博客、網站來理解梯度提升,並試圖通過查看例如 XGBoost 源代碼來找到我的答案。但是,對於梯度提升算法如何產生概率估計,我似乎找不到一個可以理解的解釋。那麼,他們如何計算概率呢?

TL;DR:樣本的對數機率是其終端葉子的權重之和。樣本屬於第 1 類的概率是總和的逆 logit 變換。


與邏輯回歸類似,邏輯函數計算在 logit 尺度上呈線性的概率:

$$ z = Xw \ \mathbb{P}(y=1|X) = \frac{1}{1 + \exp(-z)} $$

與邏輯回歸不同,“特徵” $ X $ 被構造為使用提升過程的決策樹集合的終端節點。每一行 $ X $ 收集每個樣本的終端葉子;該行是 $ T $ -熱二元向量,對於 $ T $ 樹的數量。(每個 XGBoost 樹都是根據特定算法生成的,但這與這裡無關。)

有 $ n $ 中的列 $ X $ ,每個終端節點一列。終端節點的總數沒有表達式,因為節點的數量可能因樹而異(根據我的經驗,通常是這樣)。

樹中的每一片葉子都有一個相關的“權重”。該重量記錄在 $ w $ . 要符合 $ X $ , 有 $ n $ 中的元素 $ w $ . 權重本身來自梯度提升過程;請參閱:在 XGboost 中,是為每個樣本估計的權重,然後取平均值

引用自:https://stats.stackexchange.com/questions/350134

comments powered by Disqus