机器学习笔记(1)从boost到xgboost

A. ensemble method

将几个模型(可能是分类器)通过某种方式组合在一起,共同完成任务。通常可分为两大类:

1. Averaging method

例如 Bagging, RF。其主要工作在于数据的采样方式,比如是否随机采样,是否有放回等等。子分类器通常为能力较强的模型。最终结果常常取子分类器的算术平均。

2. boosting method

可以使用“弱”分类器,依次,逐个对子模型进行训练,当前第m个模型会用到m-1时刻的结果。重点处理错误分类的数据样本,例如提高错误样本的权值,在“组合”阶段,使用加权平均的方式推理最终结果,能力强的模型权重大。

B.1 Adaboost (adaptive boost)

Adaboost是boosting方法的一种方案,但还不是具体方法(没有指定具体的子分类器)。

首先是其具体算法:


start:

1. 初始化权重

2. 对 m=1-->M有:

  •     计算误差:
  •     由目标函数(本文暂不作讨论,其实很重要)求
  •     更新权重:, where Normalization factor 

3. 最终分类器为:

end

B.2 Adaboost一个例子[1]

[1]: https://blog.csdn.net/liyuan123zhouhui/article/details/51720472


C. gradient boost

梯度提升很巧妙的借用了梯度下降法的思路

1. 最终分类器模型与B.1里差不多:

这里g(*)是子模型

2. 目标函数为:

为了使其最小化,有

3. 计算太复杂,由于是前项分步加法模型,我们每一步只对一个基函数求解,逐步逼近


从梯度下降法的角度思考m时刻需要做的事,我们希望:


对比上两式,可以发现


--------------------------------------------------------------------------------------------------------------

D. xgboost (extreme gradient boosting)[2]

强烈推荐看[2]原文

[2] http://www.52cs.org/?p=429

这里用到了Taylor expansion的前三项:


1. 还是先抬出目标函数:为了跟上面notation对应,我稍微改一下[2]中的notation


其中是正则项, 定义在后面会提到。

2. 目标函数使用Taylor expansion:


其中



中, 项为常数项,与C合并,由于是优化目标函数,C不影响,故不写出来了


3. 通过一个例子说明接下来的变换


如上图,设q为树的结构,即输入x到输出类型(叶子节点的索引)的映射关系,上图q=1,2,3。叶子节点上的权重为w,

即有:

假设有N=5个样本,分别落在了1,2,3号叶子节点上,顺序依次为(1,1,2,3,3)

则有:


暂时不讨论正则项,

如上式,我们发现,目标函数可以重写成 以叶子节点为迭代器 的形式(之前是用样本i=1:N来迭代)

即:

, T是叶子节点的个数

对于正则项,

是两个超参数。

因此,合并一下就有:


where, 

于是,

-----------------------------------------------------------------------------------------------------------------

以上就是xgboost的原理推导,对于具体问题,不可能列举所有可能的树再进行打分,计算出最优模型,

因此作者提出一种贪心策略,对叶子节点进行再次分割时,引入增益函数:(与[2]一致,只是notation换了一下)


其中,

指的是分割后左边的部分,比如该叶子节点 j 所代表的类有:(当然也可以是一个连续区间比如[1,5]), 分割条件是,

即将其分为两部分:

那么:


同理其他的参数。

增益函数中,从左至右分别叫做:左子树分数,右子树分数,不分割时的分数,惩罚项(正则)

可以发现新添加分割不一定会使情况变好,正则项相当于“剪枝”。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值