- 目标函数
- Obj(t)=i=1∑nl(yi,y^it)+i=1∑tΩ(fi)=i=1∑nl(yi,y^it−1+ft(xi))+i=1∑tΩ(fi)
- 泰勒展开=i=1∑n[l(yi,y^it−1)+gift(xi)+21hift2(xi)]+i=1∑tΩ(fi)
- y^it−1视为x,ft(xi)视为Δx
- 代入mse损失函数
- gi=∂y^t−1∂(y^t−1−yi)2=2(y^t−1−yi)
- hi=y^t−1∂2(y^t−1−yi)2=2
- 优化目标
- 舍去l(yi,y^it−1)
- i=1∑tΩ(fi)是正则项
- Ω(fi)=γT+21λj=1∑Twj2
- 根据经验定义的
- T是叶子节点个数, γ控制复杂度
- λ控制叶子和的影响力
- =i=1∑n[giwq(xi)+21hiwq(xi)2]+γT+21λj=1∑Twj2
- =j=1∑T[(i∈Ij∑gi)wj+21(i∈Ij∑hi+λ)wj2]+γT
- =j=1∑T[Gjwj+21(Hj+λ)wj2]+γT
- Gj是一阶导数常数值, Hj是二阶导数常数值
- ∂wj∂L1=Gj+(Hj+λ)wj=0
- wj=−Hj+λGj时Obj为极值
- 代入得Obj=−21j=1∑THj+λGj2+γT
- 一个节点分裂
- 分裂前Obj1=−21[HL+HR+λ(GL+GR)2]+γ
- 分裂后Obj2=−21[HL+λGL2+HR+λGR2]+2γ
- Gain=Obj1−Obj2
- 相比GBDT
- 实现
- 定义损失函数+正则项
- 求解各点g和h,已由前面分类器决定
- 根节点开始,计算各节点分裂条件