随机森林特点

介绍

我的另一篇博客对随机森林算法有了一个简单的介绍,传送门。本文则从分析和应用的角度,尝试对随机森林算法的一些细节进行探讨,主要还是以学习为主。

随机森林的特点

  1. 包外估计
  2. 特征重要性
  3. 样本相似图(proximity plot)
    4.  随机森林的过拟合

包外估计

由于随机森林采用了bootstrap sampling对样本采样,每次采样约有36.8%样本未被采样。因此,利用这部分样本作为验证集得到的包外误差(Out-Of-Bag Error)与N折交叉验证得到的误差基本一致;因此,随机森林可以将交叉验证融入模型的训练中,一旦包外误差趋于稳定,就可以终止训练了。下图显示了在一垃圾邮件分类应用中,包外误差和测试误差的差别。图片来自《The Elements of Statistical Learning》

特征重要性

随机森林可以在构建模型时计算特征的重要性,主要有两种方法:
1. 由基尼系数计算
2. 由包外估计计算

由基尼系数计算

和CART一样,随机森林根据特征分裂节点时,可以计算其分裂前后基尼系数的变化。统计每个变量在所有树中分裂时基尼系数的变化和,也就能刻画每个变量的重要程度了;

由包外估计计算

假设包外样本矩阵为:

x11xk1x1jxkjx1pxkp

其中k为包外估计的样本数(约为 0.368N ),我们可以认为,如果一个特征对于预测很重要的话,那么该特征的改变对预测误差影响肯定很大。因此,我们可以通过随机打乱第 j 列的特征向量,计算打乱前后的包外误差的差值来衡量特征的重要性。也就是说,如果 j 特征很重要,那么我们打乱它的值,则会大幅增加预测的误差。
下图显示了两种方法的应用实例,可以看出,第一种方法特征重要性差距明显,第二种方法倾向于平均化特征重要性。 这里写图片描述

样本相似图(proximity plot)

样本相似图也是随机森林的一大特点,样本之间的相似度通过一个 NN 的相似矩阵刻画,矩阵元素: P(i,j) 代表样本 i j 的相似度,具体数值为样本 i j 在随机森林生成的所有树中,出现在同一叶节点的次数,最后归一化(除以总共生成树的数目)。

随机森林的过拟合

有一种观点认为,随机森林不会过拟合。确实,增加随机森林生成树木的数量不会导致随机森林过拟合,根据公式随机森林预测近似为

猜你喜欢

转载自blog.csdn.net/wutao1530663/article/details/71302358