博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
集成算法原理简介
阅读量:3946 次
发布时间:2019-05-24

本文共 1595 字,大约阅读时间需要 5 分钟。

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等等),分阶段操作:第一阶段输入数据特征得出各自结果,第二阶段再用前一阶段结果训练得到分类结果。

在这里插入图片描述

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

转载地址:http://aahwi.baihongyu.com/

你可能感兴趣的文章
SequoiaDB湖仓一体架构亮相 ACM SIGMOD 2021
查看>>
信通院发布第十二批大数据产品能力评测结果,巨杉数据库两款产品通过
查看>>
巨杉数据库荣获2020年度河南省科学技术进步奖
查看>>
湖仓一体提升管理效率 培育数据沃土
查看>>
报名启动!巨杉数据库 2021 湖仓一体技术大赛带你进入分布式技术的星辰大海
查看>>
python的collections
查看>>
J2ME程序开发新手入门九大要点
查看>>
双向搜索算法
查看>>
日本GAME製作方式
查看>>
移动行业术语资料
查看>>
3G到来将全面颠覆SP、CP游戏规则
查看>>
射击游戏中跟踪弹及小角度移动的开发
查看>>
播放声音文件的完整源代码
查看>>
J2ME编程最佳实践之灵活的RMS应用
查看>>
MOBILE FIRST: HOW TO APPROACH MOBILE WEBSITE TESTING? 移动优先:如何处理移动网站测试?
查看>>
开始使用Retrofit 2 HTTP 客户端
查看>>
对于初学者练习的6个开源项目
查看>>
保持冷静和需要打破的东西:软件测试初学者
查看>>
如何通过连接您的业务应用程序来节省时间
查看>>
熟悉现代JavaScript的培训计划
查看>>