Random Forest(随机森林)

1.  随机森林训练过程

2.  随机森林的预测过程

 

输入:训练集S,测试集T,特征维数F

参数:生成的CART树的数量t,每棵树的深度d,每个结点用到的特征数量f

终止条件:结点上的样本数小于s,结点上的信息增益(比)小于m。

输出:由CART组成的随机森林


1.  随机森林训练过程

(1). 从S中有放回的抽取大小和S一样的训练集S(i),作为根结点的样本,从根结点开始训练。

(2).

1.  若当前结点达到终止条件,则设置当前结点为叶子结点。

            分类问题:叶子结点输出为当前结点样本集合中数量最多的那一类C(j),概率P 为C(j)占当前样本集的比例。

            回归问题:叶子结点输出为当前结点样本集各个样本值的均值。

2. 若当前结点没有到达终止条件,则从F维特征中无放回的随机选取f维特征(满足f<<F).利用这f维特征,寻找分类效果最好(信息增益(比)最大)的一维特征K及其阈值th,当前结点上的样本的第K维特征小于th的进左子树,大于th的进右子树。继续训练其他结点。

3.  重复1,2直到所有结点都训练过了或被标记为叶子结点。(一个CART训练完成)

4.  重复1,2,3直到所有CART都被训练过。


2.  随机森林的预测过程

(1) 从当前树的根结点开始,根据当前结点的第K维特征的阈值,判断是进入左子树还是进入右子树,直到到达某个叶子结点,并输出预测值。

(2) 重复(1)直到所有t颗树都输出了预测值。

     分类问题:最终输出为所有树中预测概率总和最大的那个类C(j) (概率相加对比)

     回归问题:最终输出为所有树输出的平均值。

        

随机森林的优点:

1.      实现简单

2.      可以并行化(做成并行化方法)

3.      训练速度快(并行训练节省大量时间)

4.      训练完成后可以知道哪些feature比较重要

5.      能够处理高维数据而不用做特征选择

6.      两个random不容易出现过拟合

7.      对数据容错率高,数据缺失情况下仍能保证高精度。


PS:

通过对比Bagging与Boosting的区别来对比RandomForest和GBDT

1.      Bagging的训练集的选择是随机的,各轮训练集之间相互独立。

Boosting的训练集选择是独立的(每一轮训练集的权重分布不一样)。各轮训练集的选择(权值分布)与前面各轮的学习结果有关。

2.      Bagging的各个预测函数没有权重,而Boosting有权重

3.      Bagging各个预测函数并行生成,Boosting顺序生成。(神经网络这种极为耗时的学习方法,Bagging可以通过并行训练节省大量时间开销)

4.      多数情况下Boosting的准确性比Bagging高,部分数据中Boosting会产生过拟合。

应用领域:邮件过滤(AdaBoost) 文本分类

 


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值