机器学习之集成学习
来源:互联网 发布:网络黑客是指什么 编辑:程序博客网 时间:2024/05/18 00:51
集成学习思想:
对于比较复杂的任务,综合许多人的意见来进行决策会比“一家独大”更好。
适当的方式集成许多“个体模型”所得到的最终模型要比单独的个体模型性能更优。
如何选择生成弱分类器和如何对它们进行集成(提升),三种思路:
将不同类型的弱分类器进行提升
将相同类型但参数不同的弱分类器进行提升
生成方式:
期望各个弱分类器之间依赖性不强,可以同时进行生成,称为并行方法
代表为Bagging
将相同类型但训练集不同的弱分类器进行提升
生成方法:
弱分类器之间具有强依赖性,只能序列生成,串行方法
代表为:Boosting
Bagging与随机森林:
思想根源:
Bootstrap(自举)理论,通过模拟的方法来逼近样本的概率分布函数,通过不断的自采样来模拟随机变量真实分布生成的数据集
Bootstrap的方法:
从数据集X中随机抽出一个样本,将该样本的拷贝放入数据集Xj,将该样本返回X中,重复N次,从而使得Xj中有N个样本,最终得到M个含有N个样本的数据集X1,…,XM。
该方法理论上具有最优性
事实上,这种模拟的本质和经验分布函数对真实分布函数的模拟几乎一致。
Bagging(Bootstrap Aggregating)思想:
用Bootstrap生成M个数据集
用M个数据集训练M个弱分类器
最终模型即为M个弱分类器的简单组合
简单组合:
对于分类问题使用简单投票表决
对于回归问题进行简单的取平均
对于不稳的的分类器,Bagging能够显著的对其进行提升
Bagging的著名拓展应用叫随机森林,它是单个个体模型为决策树时的Bagging算法
随机森林算法不仅仅对样本进行Bootstrap采样,对每个node调用生成算法是都会随机挑选一个可选特征空间的子空间作为该决策树的可选特征空间,同时生成好的个体决策树后不进行剪枝,而是保持原始形式
随机森林算法流程:
用Bootstrap生成出M个数据集
用M个数据集训练出M棵不进行后剪枝的决策树,且每棵树的生成过程中,每次对node进行划分时,都从可选特征中挑选出k个特征,依信息增益的定义从k个特征中选出信息增益最大的特征作为划分标准
最终模型即为M个弱分类器的简单组合
PAC框架和Boosting:
Boosting产生于计算学习理论,无需太多了解。
PAC的主要假设:
要求数据是从某个稳定的概率分布中产生的
样本在样本空间中的分布状况不能随时间的变化而变化,否则失去学习的意义
PAC的可学习性:
学习的算法是否能够在合理的时间内,以足够大的概率输出一个错误率足够小的模型
强可学习和弱可学习:
强可学习:若存在一个多项式算法可以学习出准确率很高的模型
弱可学习:若存在一个多项式算法可以学习但准确率紧紧略高于随机猜测
Boosting能将由弱学习算法生成的弱模型提升为强学习算法生成的强模型性能差不多的模型的方法。
Boosting是一族算法,算法的类似框架:
根据当前的数据训练出一个弱模型
根据该弱模型的表现跳转数据的样本权重
让弱模型做错的样本在后续的训练中获得更多关注
让弱模型做对的样本在后续训练中获得较少的关注
根据弱模型的表现决定该弱模型的“话语权”,表现越好越有话语权
当训练样本有无穷多时,Boosting能让弱模型集成出一个对训练样本集的准确率任意高的模型。但是训练样本不可能无穷多,所以问题转化为如何固定的训练集是的应用Boosting方法。AdaBoost是一个不错的解决方案。
随机森林算法:
稍后补上
AdaBoost算法:
稍后补上
算法解决的问题:
根据弱模型的表现更新训练集的权重
根据弱模型的表现决定弱模型的话语权
AdaBoost是Boosting族算法代表,通过三步提升:
根据样本权重训练弱分类器
根据弱分类器的加权错误率为其重新分配话语权
根据该弱分类器的表现更新样本权重
集成学习具有不错的正则化能力,但该正则化能力并不是必然存在的
稍后补上
经验分布函数、AdaBoost、前向分布加法模型
稍后补上
- 机器学习之集成学习
- 机器学习之集成学习之adaboost
- 机器学习之集成学习简介
- 机器学习之集成学习Ensemble
- 机器学习:集成学习
- 机器学习-集成学习
- 【机器学习】集成学习
- [机器学习]集成学习
- 机器学习--集成学习
- 机器学习(4)分类之集成方法
- 机器学习-集成学习方法
- 机器学习-集成算法
- 机器学习算法 -- 集成学习
- 机器学习算法 -- 集成学习
- 机器学习-->集成学习-->Adaboost
- 机器学习_集成学习
- 【机器学习】集成学习总结
- 机器学习岗位面试问题汇总 之 集成学习
- (四)vue Url传值
- 利用ContentResolver 读取本地视频数据出错
- 二进制原码、反码、补码
- docker常用命令整理
- 纯css实现幻灯片轮播效果
- 机器学习之集成学习
- 高德地图
- ElasticSearch 的 聚合(Aggregations)
- 视频直播技术_直播如何实现低延迟
- 【ORACLE】ASMM和AMM的相关问题
- 可视化Keras深度学习神经网络模型
- logback之一:输出日志到控制台
- 《Java虚拟机原理图解》2.JVM机器指令集
- iOS WKWebView 视频播放器小屏播放