CTR預估[八]: Algorithm-GBDT: Parameter Space Estimation and Function Space Estimation
作者:@三瘋蘭尼斯特 && @Ainika Peng
時間:2017年11月
出處:https://zhuanlan.zhihu.com/p/31606239
聲明:版權所有,轉載請聯繫作者並註明出處。
在<上一篇>中,我們介紹了GBDT的前序準備:Ensemble和bias/variance分析。
本節我們來比較「參數空間優化問題」和「函數空間優化問題」,進而引出GBM的思想。
1.3.3 Function Estimation: Parameter Space and Function Space
在一個Function Estimation問題中,求對 的最優解 的估計 ,使得針對所有樣本 上的某種Loss期望最小。
Variables: Training Data: Goal: 求對 的最優解 的估計
-- 為對所有Training Data上Loss的均值;
-- 可以理解為對所有instance期望Loss最小的 。
一般情況下,會限制 是一個包含finite參數 的函數 ,然後在參數 空間下求解。
如果不考慮參數,直接對 就是函數空間 下求解,函數空間下可擴展為Additive Model。
Additive Model
-- 是一個base learner, 是 的參數-- 如果是GBDT, 是一個regression tree, 是split參數位置或者葉節點
但直接求解function space下優化依然有如下問題:
Flaw 1: Finite data vs. Infinite function
統計量無法逼近總體,總體最優 是在Training Data上而不是X空間上,且 也無法準確估計。Solution 1: Additive Model
使用加法模型做參數優化逼近data,最小化expected loss
Flaw 2: 直接優化複雜
Solution 2: 使用Forward Stage-wise Algorithm進行逼近:For m = 1,2,...M:
對下面這個問題,GBM和XgBoost在優化手段上有一些不同。
Friedman優化了下面這個點,作為GBM的整體框架:
Flaw 3: 不容易求解,且梯度只是樣本 上的最優方向,不能泛化到整體 空間
Solution 3: Gradient 逼近(GBM)-- 從 中選擇和 最平行的-- -- 用 逼近 ,保證了Solution 2中第1式難解的部分直接用 least square求解
陳天奇這裡沒有這樣估計,而是將Objective擴展到了二階梯度泰勒展開:
Flaw 3: 不容易求解,且梯度只是樣本 上的最優方向,不能泛化到整體 空間
Solution 4: 2nd-order Taylor Expansion(XgBoost)-- For m = 1 to M do: -- 這裡步長=1,在實際應用中會在 前乘以0.01左右的小量作為regularization。
GBDT的優勢:
-- 一階梯度和二階梯度是只和loss function類型有關的量;-- 工程實現中這裡根據loss function不同即為可插拔的模式。GBDT組織方式和傳送門:
- GBDT的前序兩篇:
- CTR預估[七]: Algorithm-GBDT: Preliminary
- Ensemble方法bagging和boosting的比較:GBDT所屬boosting演算法,說GBDT之前需要對boosting是什麼有個了解
- Aside: bias and variance: bias/var tradeoff是機器學習永恆的話題,而bagging和boosting的分析,尤其是後面的RF依然會用到
- CTR預估[八]: Algorithm-GBDT: Parameter Space Estimation and Function Space Estimation
- 函數空間和參數空間優化:GBDT本質上是從函數空間優化開始的,所以在講具體的boosting trees之前,從兩者的比較開始更佳 -- 注意,本節雖然全部為推導,但個人認為對於理解GBDT至關重要,否則更像是無根之木 (傳送門:)
- Boosting Trees: GBM 和 GBDT; GBDT 的核心推導 (傳送門:CTR預估[九]: Algorithm-GBDT: Boosting Trees)
- Aside: Random Forest; 作為bagging的優秀代表,後面比較GBDT+LR 而非 RF+LR會用到 (傳送門:CTR預估[十]: Algorithm-Random Forest)
推薦閱讀:
※Attention-over-Attention Neural Networks for Reading Comprehension
※Uber與斯坦福大學開源深度概率編程語言Pyro:基於PyTorch
※李宏毅機器學習2016 第十八講 支持向量機
※轉載|學點演算法搞安全之SVM