集成学习

集成学习通过结合多个学习器以提高预测性能,包括Boosting、Bagging和Stacking。Boosting中的Adaboost和GBDT通过迭代优化错误率,Bagging通过Bootstrap抽样减少方差,如随机森林。Stacking则使用其他模型的输出作为新模型的输入。这些方法在减少偏差、方差和提高分类准确率方面展现出优势。
摘要由CSDN通过智能技术生成

前言

  • 在监督学习算法中,我们希望训练得到的模型是一个各方面都稳定表现良好的模型,但是实际情况中却往往得到的是在某方面有偏好的模型(弱监督模型,在某些方面表现的比较好)。集成学习则可以通过多个学习器相结合,来获得比单一学习器更优越的泛化性能。其潜在的思想是即便某一个弱分类器得到了错误的预测,其他的弱分类器也可以将错误纠正回来,所以出现了集成学习方法。

一、基本原理

  • 集成方法是将几种机器学习技术组合成一个预测模型的元算法,以达到减小方差(bagging)、偏差(boosting)或改进预测(stacking)的效果。
  • 数据集大时:划分成多个小数据集,学习多个模型进行组合;
  • 数据集小时:利用Bootstrap方法进行抽样,得到多个数据集,分别训练多个模型再进行组合.

1. 方法分类

  • 集合方法可分为两类:
    序列集成方法: 其中参与训练的基础学习器按照顺序生成(例如 AdaBoost)。序列方法的原理是利用基础学习器之间的依赖关系。通过对之前训练中错误标记的样本赋值较高的权重,可以提高整体的预测效果。
    并行集成方法: 其中参与训练的基础学习器并行生成(例如 Random Forest)。并行方法的原理是利用基础学习器之间的独立性,通过平均可以显著降低错误。

2. 特点

  • 将多个分类方法聚集在一起,以提高分类的准确率(这些算法可以是不同的算法,也可以是相同的算法);
  • 集成学习法由训练数据构建一组基分类器,然后通过对每个基分类器的预测进行投票来进行分类;
  • 严格来说,集成学习并不算是一种分类器,而是一种分类器结合的方法;
  • 通常一个集成分类器的分类性能会好于单个分类器;
  • 如果把单个分类器比作一个决策者的话,集成学习的方法就相当于多个决策者共同进行一项决策,自然地,就产生两个问题:
    1)怎么训练每个算法?
    2)怎么融合每个算法?
  • 下面介绍一下集成学习的几个方法:BaggingBoosting以及Stacking

二、集成学习的方法

1. Boosting

1.1 算法原理

  • 关于Boosting的两个核心问题:
    1)在每一轮如何改变训练数据的权值或概率分布?
    2)通过什么方式来组合弱分类器?
  1. Boosting算法的工作原理是首先从训练集用初始权重训练出一个弱分类器1;
  2. 根据弱学习的学习误差率表现来更新训练样本的权重,使之前弱学习器1学习误差率高的训练样本点的权重变高而这些误差率高的点在后面的弱学习器2中得到更多的重视;
  3. 然后基于调整权重后的训练集来训练弱学习器2;
  4. 如此重复进行,直到弱学习器数达到事先指定的数目T,最终将T个弱学习器通过集合策略进行整合,得到最终的强学习器.

1.2 Adaboost算法

  • Adaboost算法是一个前向加性模型,是一组基函数的加权和:
    F ( x ) = ∑ i = 1 n w i f i ( x ) F(x)= \sum_{i=1}^n w_if_i(x)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值