集成学习的知识整理
Posted 小肚腩的世界
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了集成学习的知识整理相关的知识,希望对你有一定的参考价值。
集成学习
思维图
什么是集成学习?集成学习:通过某种策略来组合多个弱学习器来学习任务。
因此,我们就需要考虑以下几个问题:
- 选取什么弱学习器?
- 什么策略?
方法种类
集成学习最有代表性的两种boosting(结构:串行)和bagging(结构:并行).
集成方法原理
误差和方差
在机器学习的领域,我们评价一个模型是否能解决特定的问题可以有两个角度:定性和定量
-
定性:过拟合、欠拟合;
-
有监督学习的定量:偏差、方差,从 “泛化误差=偏差+方差“ 来理解集成学习;
那什么是偏差,什么是方差?
偏差:输出平均值与真实值的偏差,偏差高表示欠拟合,原因通常是先验假设是错误的
方差:用n个m样本训练n个模型,所以对同一个样本有n个输出值,方差大表示过拟合,原因通常是由于模型复杂度过高,把m个样本都记住了,导致泛化能力有点弱,没有学到真正的特征,只是针对了不同的训练集进行了记忆性学习。
原理
Bagging降低方差,Boosting降低偏差。
Bagging,再抽样,然后每个样本上训练出来的模型取平均,方差减小到原来的\\(\\frac{1}{n}\\).
前提是n个随机变量完全独立,但n个模型之间不可能完全独立,解决办法:随机森林随机选取属性子集、训练集重采样
Boosting,串行结构,上一个弱分类器的错误或者残差作为下一个弱分类器的输入,本身在不断减小损失函数,因此偏差变小,但因为弱分类器之间是强相关的,因此不会对降低方差有任何作用。
可选取的基分类器
-
决策树
-
神经网络
选取的原因:
”不稳定学习器“更适合,“不稳定”就是数据样本的扰动对于学习器影响较大,因此引入了随机性。
决策树因为不仅具备”不稳定性“,而且将样本的权重整合到训练过程同时,节点分裂的过程中,随机选取特征子集。因此决策树是最常用的基分类器。
集成学习例子
Boosting算法代表
GBDT:梯度提升决策树
这个算法是基于决策树预测的残差进行迭代学习。常用的决策树为CART。
组合策略:把所有树的预测值加起来,得到最终的预测结果。
为啥使用梯度提升?梯度提升算法原理?
优缺点:
Adaboost:基于错误率的提升方法
训练方式:对分类正确的样本降低权重,对分类错误的样本升高权重或者保持权重不变。
组合策略:加权投票,错误率高的基分类器,权重为负,错误率低的基分类器,权重为正。
因此错误率的计算方式会成为一个问题:
Bagging算法代表
随机森林
XGBoost库
这是一个实现了GBDT算法的开源机器学习项目库GitHub项目地址。
相比GBDT,加强的地方:
- GBDT的实现与拓展改进的项目
- 显式加入正则项来控制模型复杂度
- 同时使用一阶和二阶导数信息
- 支持多种类型基分类器,包括线性分类器
- 支持对数据的采样
- 自动学习出缺失值的处理策略
转载联系邮箱:liangfychn@163.com
参考
[1] 诸葛越. 白面机器学习. 人民邮电出版社, 2018.
[2] Tianqi Chen and Carlos Guestrin. XGBoost: A Scalable Tree Boosting System. In SIGKDD, 2016
以上是关于集成学习的知识整理的主要内容,如果未能解决你的问题,请参考以下文章