Hinton Neural Network课程笔记10a:融合模型Ensemble, Boosting, Bagging
来源:互联网 发布:蛤蟆吸取寿命知乎 编辑:程序博客网 时间:2024/05/02 02:54
课程简介
Geoffrey Hinton 2012年在coursera上开的网课:Neural Networks for Machine Learning。
课程笔记
1. 模型融合的原因
1.1. bias-variance trade-off
当模型过于复杂而数据量不足的时候,就会出现过拟合问题。即学习了很多训练集内部的噪声等内容,在测试集结果不好。通过模型之间取均值可以较好的解决这个问题,尤其是模型预测的结果很不相同的时候。
对于回归问题,误差中分为bias与variance,其中bias是因为模型本身能力不足,学得的与实际有偏差(bias);而variance是因为模型本身能力过大,学习到了很多误差,variance的名字是因为每次训练模型都会得到不同的局部最优点,变化(variance)很大。通过训练多个高复杂度的模型然后取均值,可以很好的消除variance,而保留其低bias的特质。(个人理解是因为variance有正有负,所以均值之后期望为0)。
1.2. 融合模型有助于减少variance
这有几个前提:
1. 误差函数具有平方和的形式。(拓展的讲可以是任意凸函数)
2. 是针对整个大数据集而言,而不是某个具体的点。
3. 比较的是任意选取一个模型或者选取模型的平均值。
4. 各个模型之间相差较大。
公式部分如下图,简单的说就是利用了二次函数的凸函数性质,函数值的期望大于期望的函数值。
反例就是log函数,如下图:
2. 使得模型不同的方法
2.1. 改变模型
- 依靠学习方法得到不同的局部最优点。
- 尝试不同的模型:SVM,决策树,高斯混合等。
- 改变神经模型的超参数:隐层节点个数,隐层层数,节点的类型,正则项系数,不同的学习算法。
2.2. 改变训练集
- Bagging:通过选取不同的训练数据集的子集进行训练,可以重复的随机选取。随机森林就是决策树使用Bagging。Bagging用于神经网络显得过于奢侈。
- Boosting: 训练一系列的低复杂度的模型,每次训练集内部样本的权重不同。每次预测错误的样本的权重增加,反之减少。这可以使得训练资源更集中在较难问题上。
0 0
- Hinton Neural Network课程笔记10a:融合模型Ensemble, Boosting, Bagging
- 笔记︱集成学习Ensemble Learning与树模型、Bagging 和 Boosting、模型融合
- Hinton Neural Network课程笔记1a:为什么需要机器学习?
- 模型融合:bagging、Boosting、Blending、Stacking
- 模型融合技术的两种方法:Bagging Boosting
- Hinton Neural Network课程笔记9f:Mackay的设定正则化系数方法
- Hinton Neural Network课程笔记11b: 利用Hopfield Net进行信息存储
- Ensemble learning:Bagging,Random Forest,Boosting
- Hinton Neural Networks课程笔记3a:线性神经元的学习算法
- Hinton Neural Networks课程笔记4a:使用神经网络做逻辑推理
- Hinton Neural Networks课程笔记4c:softmax输出神经元
- 【机器学习】决策树及Bagging, Random Forest和Boosting模型融合
- Hinton Neural Networks课程笔记2a:三种主要的神经网络框架之前向网络、循环神经网络和对称网络
- Ensemble learning algorithms(Bagging, Boosting, Random Foreast)
- 集成学习(ensemble learning):bagging、boosting、random forest总结
- Ensemble Learning: Bootstrap aggregating (Bagging) & Boosting & Stacked generalization (Stacking)
- 集成学习(Ensemble Learning)-bagging-boosting-stacking
- Hinton Neural Networks课程笔记1b:神经网络模拟的大脑机理
- URAL 2068. Game of Nuts
- Linux学习——权限管理命令
- Java中ArrayList和LinkedList区别
- Java冒泡,选择,插入排序算法
- Floyd简述-坐在马桶上看算法
- Hinton Neural Network课程笔记10a:融合模型Ensemble, Boosting, Bagging
- 常用技巧精选.反转(开关问题) poj3276 3279 3185 1244
- 编译错误汇总
- Python 3 爬取网络资源(一)
- hotapp使用
- NP问题
- strace+pstack 性能调试程序
- Flask 多表单
- 创建XML的解析器