《机器学习技法》第十讲:Random Forest
来源:互联网 发布:js获取url传数组参数 编辑:程序博客网 时间:2024/05/03 04:33
第十讲:Random Forest
1、Random Forest Algorithm
Bagging:通过平均来降低变化量。
Decision Tree:对不同的数据敏感,变化量大。
aggregation of aggregation :用bagging的方式把一堆decision tree结合起来。
RF = bagging + CART
1、并行化、高效
2、继承CART的优点
3、消除完全生长CART的overfit缺点
得到有差异性的g:
随机抽取dataset(bagging)
随机抽取feature(低维投影,特征子空间)
RF = bagging + 随机特征CART
特征 = 投影矩阵*原始特征
投影到原始方向:特征随机抽取
投影到任意方向:特征结合后随机抽取,more powerful。
原始的RF考虑在CART每一次分支时将特征结合起来后低维投影。
RF = bagging + 随机结合特征CART
课后习题:
perceptron,特征加权后切分
decision stump,单个特征切分,相当于水平或垂直切分
random-combination,特征结合后投影,不只是垂直、水平,还可能斜的切分
2、Out-Of-Bag Estimate
out-of-bag(OOB) example:没有被bagging过程选中的数据
有多少OOB Example:N*(1/e)
OOB数据可以用来交叉验证G
bagging的过程可以实现自我交叉验证:OOB Error
OOB Error做模型选择
不需要切分训练集和验证集,不需要做两次训练
3、Feature Selection
有时候想去除:冗余的特征、无关的特征
特征选择(事物的双面性,好处坏处相对应,关键是特征选择的好坏)
好处:高效、更一般化、更具有解释性
坏处:选取特征的计算量大、过拟合、错误的解释
decision tree自带特征选择。
根据重要性选取特征:取Top importance
线性模型的importance:w向量(这时x应该要归一化才能衡量吧!)
RF的特征选择:置换检验
random test:如果是重要的特征,那么增加random values,表现会下降
random values:
1、插入均匀分布、高斯分布等数据。缺陷:改变原有特征的数据分布,表现差距=噪音影响+分布影响(不要)
2、boostrap(在原有数据上抽样),置换检验(在原有数据上重新随机排列)。分布接近一致,数据乱掉了。
特征i的重要性 = 原始数据的表现 - 特征i数据置换后的表现
原始RF特征重要性衡量
一种方法:
(1)原始数据,训练G,在G上用OOB Error衡量表现performance(D)
(2)原始数据上置换特征i的数据,重新训练G(p),在G(p)上用OOB Error衡量表现?performance(D(p))
(3)importance(i) = performance(D) - performance(D(p))
更简单的方法:
(1)原始数据,训练G,在G上用OOB Error衡量表现Eoob(G)
(2)OOB example上置换特征i的OOB数据,在G上用OOB Error衡量表现E(p)oob(G)
(3)importance(i) = Eoob(G) - E(p)oob(G)
3、Random Forest Action
随机特征结合CART树(左图)
bagging的一棵随机特征结合CART树(中图,bagging选取中的点比较大)
t棵树的RF(bagging + 随机特征结合CART树)(右图)
简单的数据集
树变多,边界变得更加平滑、更大。
复杂的数据集
很容易就得到了还不错的非线性模型
有噪音的数据集
树多了后通过投票把噪音消除,得到稳定的结果
树越多,表现越好
KDDCup例子:RF的随机性使得表现不稳定,通过增加树的棵树来使得它更稳定
RF的缺点:RF是一个随机性的模型,如果随机的过程还没有到达相对稳定的状态,或者是对结果的一点点变化很敏感,那么会受随机过程的影响。
实物上使用RF,要看G是否达到稳定,从而决定是否需要更多的树。
0 0
- 《机器学习技法》第十讲:Random Forest
- 机器学习技法-Random Forest
- 机器学习技法课程学习笔记10 -- Random Forest
- 台湾大学林轩田机器学习技法课程学习笔记10 -- Random Forest
- coursera机器学习技法笔记(9-11)——decision tree & Random forest & GBDT
- 机器学习技法笔记(9-11)——decision tree & Random forest & GBDT
- 机器学习笔记-Random Forest
- 笔记(機器學習技法):Random Forest
- 对“视觉机器学习20讲配套仿真代码”的研究心得---Random Forest
- 机器学习-Random Forest算法简介
- 机器学习-Random Forest算法简介
- 机器学习-Random Forest算法简介
- 机器学习:随机森林(Random Forest)
- 机器学习实验---random forest的实现~
- 《机器学习技法》第八讲:Adaptive Boosting
- 《机器学习技法》第九讲:Decision Tree
- 台大机器学习听课笔记---Random Forest 10-1
- 机器学习算法之随机森林(Random Forest)
- Java集合
- 33家国内外知名的手机广告平台的SDK名单汇总,吐血推荐
- Windows 7 开始-所有程序排序
- 利用Canvas作图示例实例-小小
- ArcGIS API for Silverlight 在地图上画圆
- 《机器学习技法》第十讲:Random Forest
- Activiti5第十一弹,流程监听器与任务监听器
- Remove Duplicates from Sorted List
- 求最小公倍数
- chromium使用ninja和VS2010集成开发环境编译比较
- git使用(简单)说明
- java思想总总结8--字符串,正则
- SEU寒假训练题解二 D Codeforces 439A
- IOS SWIFT---初见iOS程序