GBDT

1.GBDT算法流程

:Data={(x1,y1),(x2,y2),...,(xN,yN)},yi{+1,1}

  1. 初始化弱学习器
    一般用所有训练样本的标签值的均值

f0(x)=argminci=1NL(yi,h0(x))

  1. for t=1 to T do
  • :y~i=[L(yi,F(xi))F(xi)]F(x)=Ft1(x),i=1,2,...,N

ωt=argminωti=1N(y~iht(x;Wt))

αt=argminαti=1NL(yi,ft1(xi)+αtht(x;Wt))

Ft(x)=Ft1(xi)+αtht(x;Wt)

2.GBDT回归的流程

  1. 初始化弱学习器
    ,c=1.1+1.3+1.7+1.84=1.475
    :f0(x)=1.475
  2. =yic,,=1/2(yic)2c=cyi

3.令数据集中的标签值替换为残差

4.遍历回归树中的最佳划分点,两个循环遍历,一层是特征,一层是特征下面的每个切分点
分别计算分裂后的两组数据的平方损失,找到SEl+SEr,(SEl,SEr)
所以就是

for 所有特征值
     for 所有样本的划分点
          计算划分后左右两边的均值mu_l,mu_r
          计算左右两边的方差SE_l,SE_r
找到SE_l+SE_r 最小的特征和对应的划分点

上面的案例有两个最小值,随机取一个,选上面的年龄;21

5.依次对上面的左右两个数据集循环上面的1-4步

6.得到分类树

从上面的案例可以知道,GBDT的本质还是CART树,只不过在划分的过程中,将平方和误差损失中的yi替换为了残差

注意事项

3.GBDT分类的流程

同回归树一样,但在第二步中的梯度要改变下,要增加一层sigmoid函数
2. =yisigmoid(c)

L=(yilogp+(1yi)log(1p))),yi{0,1},p=11+eF(xi)

LF(x)=yi11+eF(xi)

posted @   筷点雪糕侠  阅读(184)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· .NET10 - 预览版1新功能体验(一)
点击右上角即可分享
微信分享提示