机器学习技法第十课笔记
随机森林
前面我们已经知道Bagging可以降低模型的variance,而决策树(特别是完全生长的决策树)bias较低,variance较高。
Random Forest可以看做利用Bagging的思想对多个决策树模型做融合。
为了使得每次生成的决策树模型尽可能不同,一方面我们通过Bootstrapping抽取不同的训练集,另一方面我们在决策树每一次分裂的时候,对特征进行列采样。
OOB Estimation
每次利用Bootstrapping抽取样本的时候,因为是有放回的抽样,会有一部分样本不会被抽到。
假设总共N份样本,每次训练决策树模型我们有放回的抽取N个样本,大概会有1/3的样本抽不到。
袋外误差估计,
Feature Selection
一种直观的思路是我们能不能想办法计算每个特征的重要性?
比如在线性模型里面,我们可以用训练出来的权重来衡量特征的重要性。
基本思想: 如果某维特征很重要,当我们随机改变特征的取值(不改变原来分布的情况下),我们的结果将会受到很大的影响。
那么这样的话,在随机改变特征训练模型,有没有啥偷懒的办法呢?
我们可以在验证的时候再对特征做permutation,而不是在训练的时候,这样我们就不用重新训练模型。
总结一下,
随机数的设置会一定程度影响我们的结果。