集成学习(Ensemble Learning)

集成学习(Ensemble Learning)

标签(空格分隔): 机器学习


Adabost

对于一些弱分类器来说,如何通过组合方法构成一个强分类器。一般的思路是:改变训练数据的概率分布(权值分布),针对不同的训练数据分布调用弱学习算法学习一系列的弱分类器,然后将他们组合起来,形成强分类器。
需要解决的问题有:

  • 在每一轮如何改变训练数据的权值或概率分布?
  • 如何将若分类器组合成一个强分类器。

已知数据集 T={(x1,y1),(x2,y2),...,(xn,yn)}
1. 初始化训练数据集 T 的权值分布:D1={w11,w12,...,w1n},则预测的损失函数为: J=ni=1w1iL(y^iyi) ;
2. 使用带有权值分布的数据集 D1 学习,得到一个基本分类器: G1(x) ;
3. 计算分类器 G1(x) 在训练数据集上的分类误差率: ϵ1=ni=1w1iI(G1(xi)yi) ;(该分类错误率 为)
4. 计算每个分类器的系数: α1=12ln1ϵ1ϵ1 .
5. 根据下式更新数据集分布 Dm : ( wmi 为第m个分类器中每个数据i的权重)

wmi={wmiZmeαm,wmiZmeαm,Gm(xi)=yi Gm(xi)yi 

(通过上式计算,可以使被基本分类器 Gm 正确分类的样本的权值减小,而错误分类的样本权值增大)
6. 最终分类器为: G(x)=sign(Mm=1αmGm(x))

梯度提升(Gradient Boosting)

与Adaboost不同的是,每一步的弱预测模型生成都是依据损失函数的梯度方向,则称之为梯度提升。

梯度提升算法首先给定一个目标损失函数,它的定义域是所有可行的弱函数集合(基函数);
提升算法通过迭代的选择一个扶梯度方向上的基函数来逐渐逼近局部极小值。

首先,给定输入向量x和输出变量y组成的若干训练样本 {(x1,y1),(x2,y2),...,(xn,yn)} ,目标是找到近似函数 F^(x) ,使得损失函数 L(y,F(x)) 的损失值最小。

  1. 给定常函数 F0(x): F0(x)=argminγni=1L(yi,γ)
  2. 对于m=1 到 M
    a. 计算伪残差 rim=[L(yi,F(xi))F(xi)]F(x)=Fm1(x) ;
    b. 使用数据 {(xi,rim)}ni=1 计算拟合残差的基函数 fm(x) ;
    c. 计算步长 γm=argminγni=1L(yi,Fm1(xi)γfm(xi)) ;

  3. 更新模型 Fm(x)=Fm1(x)γmfm(xi) .

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值