当前位置:   article > 正文

机器学习——集成算法

集成算法

(一)集成算法原理

集成算法
构建多个学习器,然后通过一定策略结合把它们来完成学习任务的,常常可以获得比单一学习显著优越的学习器。

集成算法一般分为三类:Bagging,Boosting,Stacking(我们可以把它简单地看成并行,串行和树型)

1.1 Bagging模型

Bagging模型详解

Bagging的全称是bootstrap averaging,它把各个基模型的结果组织起来,具体实现也有很多种类型,以sklearn中提供的Bagging集成算法为例(下面代码中会用到部分算法):

  1. BaggingClassifier/BaggingRegressor是从原始数据集抽选S次(抽取实例,抽取属性),得到S个新数据集(有的值可能重复,有的值可能不出现)。使用同一模型,训练得到S个分类器,预测时使用投票结果最多的分类。
  2. RandomForestClassifier随机森林,它是对决策树的集成,用随机的方式建立一个决策树的森林。当有一个新的输入样本进入的时候,就让森林中的每一棵决策树分别进行判断,预测时使用投票结果最多的分类,也是少数服从多数的算法。
  3. VotingClassifier,可选择多个不同的基模型,分别进行预测,以投票方式决定最终结果。

Bagging中各个基算法之间没有依赖,可以并行计算,它的结果参考了各种情况,实现的是在欠拟合和过拟合之间取折中。

最典型的代表就是随机森林

随机:数据采样随机,特征选择随机

森林:很多个决策树并行放在一起

随机森林优势:

  1. 它能够处理很高维度(feature很多)的数据,并且不用做特征选择。
  2. 在训练完后,它能够给出哪些feature比较重要。
  3. 容易做成并行化方法,速度比较快。
  4. 可以进行可视化展示,便于分析。

树模型:

理论上越多的树效果会越好,但实际上基本超过一定数量就差不多上下浮动了。

训练多个分类器取平均 f ( x ) = 1 / M ∑ m = 1 M f m ( x ) f(x)=1/M\sum_{m=1}^{M}f_{m}(x) f(x)=1/Mm=1Mfm(x)
M表示建立树模型的个数。

1.2 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)+argminh

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/码创造者/article/detail/738508
推荐阅读
相关标签
  

闽ICP备14008679号