【机器学习基础03】GBDT(Gradient Boost Decision Tree)

GBDT(Gradient Boost Decision Tree)

GBDT的核心思想是从一个弱模型出发,之后每一个模型都在不断逼近之前之前所有模型与目标的差值(不断修修补补),迭代次数越多越逼近。下面分别以GBDT用于回归和分类为例:

GBDT for regression

Input: Data { ( x i , y i ) } i = 1 n \left\{\left(x_{i}, y_{i}\right)\right\}_{i=1}^{n} { (xi,yi)}i=1n, and a differentiable Loss Function L ( y i , F ( x ) ) L\left(y_{i}, F(x)\right) L(yi,F(x))

Step 1: Initialize model with a constant value: F 0 ( x ) = argmin ⁡ γ ∑ i = 1 n L ( y i , γ ) F_{0}(x)=\underset{\gamma}{\operatorname{argmin}} \sum_{i=1}^{n} L\left(y_{i}, \gamma\right) F0(x)=γargmini=1nL(yi,γ)

Step 2: for m = 1 m=1 m=1 to M M M :

  • (A) Compute r i m = − [ ∂ L ( y i , F ( x i ) ) ∂ F ( x i ) ] F ( x ) = F m − 1 ( x ) r_{i m}=-\left[\frac{\partial L\left(y_{i}, F\left(x_{i}\right)\right)}{\partial F\left(x_{i}\right)}\right]_{F(x)=F_{m-1}(x)} rim=[F(xi)L(yi,F(xi))]F(x)=Fm1(x) for i = 1 , … , n i=1, \ldots, n i=1,,n

  • (B) Fit a regression tree to the r i m r_{i m} rim values and create terminal regions R j m R_{j m} Rjm, for j = 1 … J m j=1 \ldots J_{m} j=1Jm

  • © For j = 1 … J m j=1 \ldots J_{m} j=1Jm compute γ j m = argmin ⁡ γ ∑ x i ∈ R i j L ( y i , F m − 1 ( x i ) + γ ) \gamma_{j m}=\underset{\gamma}{\operatorname{argmin}} \sum_{x_{i} \in R_{i j}} L\left(y_{i}, F_{m-1}\left(x_{i}\right)+\gamma\right) γjm=γargminxiRijL(yi,Fm1(xi)+γ)

  • (D) Update F m ( x ) = F m − 1 ( x ) + ν ∑ j = 1 J m γ j m I ( x ∈ R j m ) F_{m}(x)=F_{m-1}(x)+\nu \sum_{j=1}^{J_{m}} \gamma_{j m} I\left(x \in R_{j m}\right) Fm(x)=Fm1(x)+νj=1JmγjmI(xRj

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值