bagging 与 随机森林的 直觉

bagging 是个啥?

bagging 是集成策略的一种,通过 人多力量大的道理(哦 ,不。)。

通过 各个基学习器的误差相互独立的假设  ,我们知道,基学习器越多,我们集成后的算法能力就越强大。

 

bagging的差异性是个啥?

(所以啊,我们看看和boost 不同的、获得其 基学习器 差异性的方法吧:)

训练集一个m个样本,我们?放回的取m个样本

bagging 是 对一个 训练集进行有放回的采样, 意思就是,我总共要取m个样本,第一次,我抓到了其中一个样本,把它copy到我的篮子里,然后把这个样本放回去,然后又在训练集中取一个样本放自己篮子;里,然后又放回去,这样,我们的篮子里有了m个样本,

然后,我们用这m个样本来生成学习器

 

用这种方式, 来获得多个学习器之间的差异性。 

 

补: 通过计算极限(对,数学上的那个),我们可以知道 基学习器只使用了训练集中63.2%的样本,剩下的36.8%取不到。

 

有了训练集,怎么得到最终的预测结果?

我们可能会得到K个训练集,  这个K是我们自己选的,

 

嗯嗯,我们有了K个训练集,  通过这K个训练集我们可以训练得到 K个基分类器(同质或异质的)

最终决策时, 可以简单的用投票规则。

如果出现票数相同:1。可以随机选一个, 2.可以考察学习器的置信度,哪个厉害选哪个。

 

随机森林是个啥?

随机森林是bagging的一个使用方式,其基学习器是用的决策树。

但有不同的地方哦。

不同: 我们随机森林会有很多的基学习器,每个学习器是决策树。 

以前,我们给决策树选择分裂属性时,总是要考察所有属性,然后选择其中最棒的那个属性来分类节点(就像二叉树一样,如果该属性只有两个取值,那么按照该属性的每个取值,把所有样本分成两类,所以啊,这时就像二叉树一样)

 

那么,现在呢?

我们每次打算要 分裂节点时,我们 随机的从所有属性中 抽 K个属性(K,自定),然后在这个K中选最优的属性

 

所以啊,随机森林比一般的bagging棒啊!

为什么呢?

我们之前说过那个假设,学习器之间差异性越大时,当学习器数量越多时,性能越好。

以前,bagging只有通过 训练集 的 有放回抽取样本 制造了 分类器间的多样性,

但随机森林也有,并且,随机森林还通过 随机属性子集的选取,又比bagging多了个 差异性来源,岂不是更棒了~~~~~~

 

 

 

 

88

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值