机器学习之十:Xgboost

1、算法简介
    Xgboost 的全称是eXtreme Gradient Boosting,它是Gradient Boosting Machine的一个c++实现,作者为正在华盛顿大学研究机器学习的大牛陈天奇 。xgboost最大的特点在于,它能够自动利用CPU的多线程进行并行,同时在算法上加以改进提高了精度。首先回顾一下上一篇中的提升树模型目标函数:

Obj(Θ)=i=1nL(yi,y^i)+k=1KΩ(fk)

其中 n 为样本个数, i 表示第 i 个样本, L(yi,y^i) 表示第 i 个样本的预测误差, K 表示有 K 棵树。
    (1)第一部分是训练误差,也就是大家相对比较熟悉的如平方误差,而第二部分是每棵树的复杂度的和。因为现在我们的参数可以认为是在一个函数空间里面,我们不能采用传统的如SGD之类的算法来学习我们的模型,因此我们会采用一种叫做Boosting的 方式,每一次保留原来的模型不变,加入一个新的函数 f 到我们的模型中。
y^(0)i=0y^(1)i=f1(xi)=y^(0)i+f1(xi)y^(2)i=f1(xi)+f2(xi)=y^(1)i+f2(xi)......y^(t)i=k=1tfk(xi)=y^(t1)i+ft(xi)

    其中 xi 表示第 i 个样本点, y^(t)i 表示第 t 轮的预测模型, ft(xi) 表示第 t 轮加入的函数,我们如何选择每一轮加入什么 f 呢?答案是非常直接的,选取一个f来使得我们的目标函数尽量最大地降低,因此改写我们的目标函数:
Obj(t)=i=1nL(
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值