首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

机器学习小知识

阅读本文大约需要3分钟

1. 原理

随机森林采用的是bagging的思想,bagging即:通过在训练样本集中进行有放回的采样得到多个采样集,基于每个采样集训练出一个基学习器,再将基学习器结合起来共同实现分类或者回归。

随机森林在对决策树(或者其他弱分类器)进行bagging的基础上,在决策树的训练过程中引入了随机属性选择。传统决策树在选择划分属性的时候是在当前节点属性集合中选择最优属性,而随机森林则是对结点先随机选择包含k个属性的子集,再选择最优属性,k作为一个参数控制了随机性的引入程度。

总结起来包括2个:

有放回的采集多个采样集,训练多个基分类器;

每个基分类器随机选择一些属性而不是全部属性;

这样做最大的特点:可以很好的避免过拟合

2. 随机森林怎么取最后的结果?

对于分类问题:可以对多个基分类器进行投票表决的方式;

对于回归问题:对于预测的值可以简单的平均处理计算;

3. adaboost

adaboost采用的是boosting思想,boosting是一种串行处理的机制,同样是训练多个分类器,但是每一个弱分类器的结果会影响其后面弱分类器的构造。故无法并行操作,样本选择上也不存在分片所有的训练集,样本属性也不存在随机选选择属性。

4. 随机森林优缺点:

优点:

1.数据集表现良好;

2.不容易过拟合;

3.既可以处理离散数据也可以处理连续数据,且数据不需要归一化处理;

4.可以很好处理缺失数据(随机森林可以选择特定维度进行,所有某些维度去掉依然可行);

5.容易并行化;

缺点:

1、随机森林已经被证明在某些噪音较大的分类或回归问题上会过拟

2、对于有不同取值的属性的数据,取值划分较多的属性会对随机森林产生更大的影响,所以随机森林在这种数据上产出的属性权值是不可信的。

5.bagging和boosting的概念与区别

相同点:都是将已有的分类或回归算法通过一定方式组合起来,形成一个性能更加强大的分类器,即将弱分类器组装成强分类器的方法。

不同点:

过程不同:

bagging是从原始样本中抽取训练集,每轮随机抽取n个训练样本,进行k次独立的训练。可以得到k个独立的模型,最后将k个模型进行投票等方式结合起来作为最终的计算结果。是一种并行训练的结果。

Boosting是将弱分类器组装成一个强分类器。是一种串行训练的方式,每一轮训练通过改变上一轮被分类器分错与分对的样本的权值来使得这一轮得到更好的分类效果。最后可以通过加法模型将所有分类器结合起来。

样本选择上不同:bagging每次都是部分样本;Boosting每一轮样本都不变;

样例权重上:bagging均匀采样,权重相同;Boosting根据错误率自动调整;

预测函数上:bagging预测函数的权重相同;Boosting根据权重,不同预测函数的权重不同;

并行计算:bagging各个预测函数可以并行计算;而Boosting只能顺序执行;

bagging可以从样本方差的层面来考虑;而Boosting可以从样本偏差的层面来考虑;因为bagging可重复独立采样不同的样本,可以使得整体方差最小;Boosting从整体的预测样本准确性的角度调整误差,是一种偏差调整策略。

6 GBDT(梯度提升决策树),Adaboost,随机森林

(1)GBDT vs Adaboost

GBDT也是集成学习Boosting家族的成员,处理流程类比adaboost但是又具有典型区别,核心区别在于adaboost是以样本权重的调整作为每一次传递到下一个弱分类器的变化因子,而GBDT是以负梯度的变化中作为传递因子,adaboost每次弱分类器构造的目的是为了纠正上一次分类器分错误的样本,而GBDT每一次的计算是为了减少上一次的残差,为了消除残差。

(2)GBDT vs 随机森林

相同点:都是由多棵树组成;最终结果都是由多棵树共同决定;

不同点:一个是Boosting思想,一个是bagging思想;

随机森林对异常值不敏感,而GBDT对异常值很敏感;

随机森林对训练集一视同仁,GBDT是基于权值的弱分类器的集成;

随机森林采用多数投票等,GBDT则是将所有结果累加起来,或者加权累加起来。

关注一下,可以了解更多知识哦

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20171218G0Y4GZ00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券