集成算法学习笔记

什么是集成算法

把多个基础算法一起拿来用,就是集成算法···
目的就是让结果更加准确,让分类器的效果更好。

常见的集成算法

  • Bagging——训练多个分类器取平均
  • Boosting——从弱学习器开始加强,通过加权来进行训练:
    F m ( x ) = F m − 1 ( x ) + a r g m i n h ∑ i = 1 n L ( y i + , F m − 1 ( x i ) + h ( x i ) ) F_m(x) = F_{m-1}(x)+argmin_h \sum_{i=1}^n L(y_i+,F_{m-1}(x_i)+h(x_i)) Fm(x)=Fm1(x)+argminhi=1nL(yi+,Fm1(xi)+h(xi))
  • Stacking——聚合多个分类或回归模型(可以分阶段来做)

Bagging

bagging模型的全称:bootstrap aggregation。含义大概就是并行的去训练一堆分类器,各个分类器之间不存在强依赖关系然后结果拿来取均值。
随机森林是比较典型的bagging算法。
f ( x ) = 1 M ∑ m = 1 M f m ( x ) f(x) = \frac{1}{M} \sum_{m=1}^Mf_m(x) f(x)=M1m=1Mfm(x)

随机森林

  • 随机指的是数据随机采样,比如有一千条数据,分成若干份,A分类器用其中的100一条,B分类器用其中的100条。。。
  • 假设有N个特征,不同分类器也任意选择一些特征使用。
  • 由于上面说的二重随机性,使得每个树基本上都不会一样,最终的结果也会不一样。把最后的结果使用bagging公式取均值算出来,就是最终的结果。
  • 森林指的就是决策树了,一些树放在一起就是一片森林。
  • 之所以要保证随机性,就是为了要保证泛化能力。使各个分类器都不一样。
  • 随机森林构建完成后,对于分类任务和回归任务的结果处理也有不同:
    1. 分类任务:最终结果等于多数分类器的结果。
    2. 回归任务:最终结果等于分类器结果的平均。

在这里插入图片描述

随机森林的特点

优点
  • 它能够处理很高维度(feature很多)的数据,并且不用做特征选择
  • 在训练完后,它能够给出哪些feature比较重要
  • 容易做成并行化方法,速度比较快
  • 可以进行可视化展示,便于分析
    在这里插入图片描述
缺点
  • 解决回归问题时,不能给出连续的输出,造成效果可能不好。
  • 计算过程是个黑盒子,只能调整参数来改变结果,可解释性差。

树的数量

在这里插入图片描述
理论上越多的树效果会越好,但实际上基本超过一定数量就差不多上下浮动了,图中80颗树的效果也明显大于90颗。所以,什么还是要合适的数量。
什么数量最适合?不知道····自己试··· 正对应了它的缺点:计算过程是个黑盒子。

boosting模型

前面说了,从弱学习器开始加强,通过加权来进行训练就是boosting的过程。
典型代表:AdaBoost, Xgboost。
基本思想是“逐步强化”。计算过程为:

  • 所有样本权重相同,训练得到第一个弱分类器。
  • 根据上一轮的分类效果,调整样本的权重,上一轮分错的样本权重提高,重新进行训练。
  • 重复以上步骤,直到达到约定的轮数结束。
  • 由于处于分类边界的点容易分错,因此会得到更高的权重。
  • 最终的结果:每个分类器根据自身的准确性来确定各自的权重,再合体。

adBoost工作流程

一次切一刀,多切几刀就分开了。
在这里插入图片描述

Stacking模型

把样本分成n份,使用n个分类器对样本进行计算;计算的结果作为下一层分类器的输入;可以堆叠各种各样的分类器(KNN,SVM,RF等等)。不断迭代,直到达到迭代的次数限制为止。缺点是效率低。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值