集成算法原理简介

1,集成算法
集成学习(ensemble learning)从概念上讲,它并不是一个单独的机器学习算法,而是通过构建并结合多个机器学习器来完成学习任务。也就是我们常说的“博采众长”。集成学习可以用于分类问题集成,回归问题集成,特征选取集成,异常点检测集成等等,让机器学习效果更好。
2,Bagging模型
Bagging模型全称:bootstrap aggregation(并行训练一堆分类器),训练多个分类器取平均,最典型的代表就是随机森林(很多个决策树并行放在一起,数据采样随机,特征选择随机,都是有放回的随机选取)。

在这里插入图片描述
由于二重随机性(数据采样随机,特征选择随机),使得每个树基本上都不会一样,保证泛化能力,最终的结果也会不一样。理论上越多的树效果会越好,但实际上基本超过一定数量就差不多上下浮动了。

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

然后求平均:
在这里插入图片描述

3,Boosting模型

从弱学习器开始加强,通过加权来进行训练,典型代表有AdaBoost, Xgboost。

在这里插入图片描述
加入一棵树使预测结果解决前面的残差值(串行),通过累加逐步使整体效果优化。

3.1 AdaBoost

初始时数据的权重相同,Adaboost会根据前一次的分类效果调整数据权重(如果某个数据在这次分错了,那么在下一次就会给它更大的权重),最终的结果是每个分类器根据自身的准确性来确定各自的权重(分类器效果好的权重大),然后再合体。

Adaboost工作流程:

在这里插入图片描述

相当于每一次切一刀,最终合在一起,这样弱分类器就升级了。

3.2 Xgboost
事实上对于树模型为基学习器的集成方法在建模过程中可以分为两个步骤:一是确定树模型的结构,二是确定树模型的叶子节点中的输出值。

3.2.1 定义树的复杂度:

首先把树拆分成结构部分q和叶子节点输出值w,在这里w是一个向量,表示各叶子节点中的输出值。在这里就囊括了上面提到的两点,确定树结构q和叶子结点的输出值w。从下图中可以看出,q(x)实际上是确定输入值最终会落到哪个叶子节点上,而w将会给出相应的输出值。

在这里插入图片描述

具体表现示例如下,引入正则化惩罚项 Ω(ft)来控制树的复杂度,从而实现有效的控制模型的过拟合,这是xgboost中的第一个重要点。式子中的T为叶子节点数。

在这里插入图片描述

3.2.2 XGBoost中的Boosting Tree模型

在这里插入图片描述
3.2.3 目标函数

预测值:
在这里插入图片描述

目标函数(以平方差为例):
在这里插入图片描述

最优函数解(损失值的期望值最小):

在这里插入图片描述

集成算法的表示:
在这里插入图片描述

Xgboost算法也是一种提升算法(每加一颗树,使整体效果提升)。
在这里插入图片描述
这里的函数相当于树结构,现在还剩下一个问题,如何选择每一轮加入什么f来使得目标函数尽量最大地降低。

考虑正则化惩罚项,则目标函数的表达式为:

在这里插入图片描述
在计算过程中产生的常数项都归入constant中,引入平方差化简上式:

在这里插入图片描述
构造的每一个树,都将前面所有的树看成一个整体,通过残差优化使得新构造的树满足残差最小。

3.2.4 目标函数的求解

在这里插入图片描述
不考虑常数项(对优化过程没影响)可得:

在这里插入图片描述
n代表样本数,T代表叶子节点,上式将样本上的遍历转化为叶子节点上的遍历,i代表节点中的样本数,I代表节点。

整理上式如下:

在这里插入图片描述
对上式求偏导:

在这里插入图片描述
G和H有具体的损失函数求得。

在这里插入图片描述

利用上述评价标准计算增益进行分割:

在这里插入图片描述

4,Stacking模型
可以堆叠各种各样的分类器(KNN,SVM,RF等等),分阶段操作:第一阶段输入数据特征得出各自结果,第二阶段再用前一阶段结果训练得到分类结果。

在这里插入图片描述
堆叠在一起确实能使得准确率提升,在一定程度上可以防止过拟合,但是速度是个问题,集成算法是竞赛与论文神器,当更关注于结果时不妨来试试集成算法。

  • 2
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值