对GBDT一直有所耳闻,但是从未深入地了解一下,这次仔细研究了一下Gradient Boost这个东东。
基本知识
在正式介绍之前,先普及些基本知识。后面重点介绍Gradient Boost 的思想。
参数估计:在参数空间内进行数值优化(以参数作为变量)。
函数估计:在函数空间内进行数值优化(以函数作为变量)。
模型的含义: X−F∗(x)−>y 其中 F∗(x) 表示由属性到目标变量的最优映射函数,”最优”体现为 F∗(x) 满足样本集 {
x,y } 的分布。
总体目标抽象为损失函数 ϕ(y,F(x)) 的期望最小化:
F∗(x)=argminF(x)Ey,x[ϕ(y,F(x))]
Additive Expensions: 对模型函数的拓展
F(x)=F(x;P)=∑Mm=0βmh(x;αm)
其中 h(x;αm) 表示弱学习器; βm 表示其权重。
数值优化在参数空间内的基本流程
选择一个参数化的模型 F(x;P) ,就将函数优化变成了一个参数优化问题。
P∗=argminPΦ(P)=argminPEy,x[ϕ(y,F(x;P))]
得到最优模型 F∗(x)=F(x;P∗)
若是采用梯度下降的思想进行参数寻优,则有 P∗=∑Mm=0pm
此处对 P∗ 理解为参数初始值与各处梯度的累计。
梯度下降+线性搜索
当前梯度: gm=gjm=[∂Φ(P)∂Pj]Pm−1 ,其中 Pm−1=∑m−1i=0pi
线性搜索: ρm=argminρϕ(Pm−1−ρgm)
最速下降向量: pm=−ρmgm
数值优化在函数空间内的基本流程
F(x)