您的位置:首页 > 其它

RandomForest随机森林感想

2016-04-14 17:16 302 查看
摘要:随机森林和决策树相比,能更好的防止过拟合。虽然每个基分类器很弱,但最后组合的结果通常很强。

在机器学习算法中,有一类算法比较特别,叫组合算法(Ensemble),即将多个基算法(Base)组合起来使用。每个基算法单独预测,最后的结论由全部基算法进行投票(用于分类问题)或者求平均(包括加权平均,用于回归问题)。

组合算法中,一类是Bagging(装袋),另一类是Boosting(提升)。

bagging:bootstrap aggregating的缩写。让该学习算法训练多轮,每轮的训练集由从初始的训练集中随机取出的n个训练样本组成,某个初始训练样本在某轮训练集中可以出现多次或根本不出现,训练之后可得到一个预测函数序列,最终的预测函数H对分类问题采用投票方式,对回归问题采用简单平均方法对新示例进行判别。

boosting: 其中主要的是AdaBoost(Adaptive Boosting)。初始化时对每一个训练样本赋相等的权重,然后用该学算法对训练集训练t轮,每次训练后,对训练失败的训练样本赋以较大的权重,也就是让学习算法在后续的学习中集中对比较难的训练样本进行学习,从而得到一个预测函数序列,每个函数都有一定的权重,预测效果好的预测函数权重较大,反之较小。最终的预测函数H对分类问题采用有权重的投票方式,对回归问题采用加权平均的方法对新示例进行判别。

随机森林的随机体现在:

1.从数据抽样开始,每颗树都随机地在原有数据的基础上进行有放回的抽样。每颗树都进行独立的随机抽样,这样保证了每颗树学习到的数据侧重点不一样,保证了树之间的独立性。

2.在每次构建决策分支时,也需要加入随机性,假设数据有20个特征(属性),每次只随机取其中的几个来判断决策条件。

3.随机取固定个特征,然后选择最好的分裂属性这种方式,或在最好的几个(依然可以指定sqrt与log2)分裂属性中随机选择一个来进行分裂。

特点:能处理连续、离散变量,适用于多分类问题,一定程度上防止过拟合,增加稳定性,对噪声不敏感,精度高,能并行分布式处理,在大数据环境下,离线处理更加合适。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: