全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 数据分析与数据挖掘
2853 2
2017-10-20

每个决策树都是精通某一个领域的专家(因为我们从M的变量中选择m个让每一颗决策树学习),这样在随机森林中就有了很多精通不同领域的专家,对一个新的问题(新的输入数据),可以用不同的角度去看待它,最终由各个专家投票得到结果。

GBDT的核心在于,每一棵树学的是之前所有树结论和的残差,这个残差就是一个加预测之后就能得到真实值的累加值。


一、为每棵决策树抽样产生训练集

从原始数据集中抽取N个训练子集就涉及到统计抽样技术。

1.    不放回抽样

2.    有放回抽样

根据抽样时是否设置权重又分为无权重抽样和有权重抽样

(1)无权重抽样(bagging方法)

假设原数据集中有D个样本,则每个样本不被抽中的概率为(1-1/n)^N。

训练集中存在重复的样本,目的是为了使森林中的决策树不至于产生局部最优解。

(2)更新权重抽样(Boosting)

Boosting抽样,首先随机抽样产生一组训练集,然后对这组训练集中的每一个训练集设定权重为1/n,n为训练集中样本的个数,在设定权重后,对每个带权重的训练集进行测试,在每次测试结束后,对分类性能差的训练集的权重提升,从而产生一个新的权重系列,经过多次训练后,每个训练集就有一个和其对应的权重,在投票时,这些权重就可以对投票的结果产生影响,从而影响最终的决策结果。

二、构建每棵决策树

算法为每个训练子集分别建立一棵决策树,生成N棵决策树从而形成“森林”,每棵决策树任其生长,不需要剪枝处理。

1.    节点分裂

一般都是在CART算法和C4.5算法中选择其中一个来进行结点分裂。

2.    随机特征变量的随机选取

目的:使每棵树之间的相关性减少,同时提升每棵决策树的分类精度,从而提升整个森林的性能而引入的。

随机特征变量的产生方法主要有两种:

(1)随机选择输入变量(Forest-RI 对于输入变量随机分组(每组有F个变量),然后对于每组变量利用CART方法产生一棵树,并让其充分生长,不进行剪枝。在每个节点上,对输入该节点的变量,再重复前面的随机分组,在重读CART方法,直到将所有节点都为叶结点为止。一般F有两种选择,首先是F=1,其次取小于log2(M)+1的最大正整数,M是输入变量的个数。加入只有很少的输入变量,用Forest-RI方法从M中随机选择F个作为随机特征,可能提高模型的强度,但同时也扩大了相关系数。

(2)随机组合输入变量(Forest-RC)

将随机特征进行线性组合,然后再作为输入变量来构建随机森林的方法。

随机森林的随机性体现在产生决策树的训练样本是随机的,树中节点分裂时选择的最优属性也是随机的。有了这两点随机性,保证了随机森林就不会产生过拟合的现象。

3.    随机森林的性能指标

随机森林分类性能受内外两方面因素影响,从外部因素看,主要来自训练样本的情况,即训练样本的平衡;从内部因素看,主要包括但棵树的分裂强度和树之间的相关度。衡量随机森林性能的三种指标,分类效果指标、泛化误差、运行效率。

(1)分类效果指标

  

  

Classified  Positive

Classified Negative

  

Positive

TP

FN

Negative

FP

TN

分类精度 Accuracy=(TP+TN)/(TP+TN+FP+FN)

      灵敏度Sensitivity=TP/TP+FN

      特异度 Specificity=(TN)/(TN+FP)

      几何均值 :只有当正类和负类分类精度都较高时才会高。

      查全率(被正确分类的正类样本占所有真实正类样本的比例)Recall= TP/( TP+FN)

查准率(被正确分类的正类占所有预测为正类样本的比例)

     Precision=TP/(TP+FP)

  错误接受率(在所有为负样本的有多少被识别为正样本了)

    FPR=FP/(FP+TN)
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2017-10-21 09:06:20
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2017-10-22 10:45:10
多谢分享
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群