Coursera - 机器学习技法 - 课程笔记 - Week 10

Random Forest

Random Forest Algorithm

  • Bagging:通过投票降低方差
  • DT:建树过程严重依赖数据——较大的方差
  • 随机森林:bagging + 完全生成CART
    • 使用bootstraping方法抽取数据集
    • 利用这样的数据集建立多棵决策树
    • 决策树结果投票决定最终结果
  • 可以平行化学习:十分高效
  • 继承下来CART的优势,并缓解了CART的高方差问题
  • 类比数据的随机性带来的模型多样化:
    • 特征的随机性——随机选择 d ′ d^\prime d个特征
    • 一般情况下 d ′ ≪ d d^\prime \ll d dd,更加高效
  • RF中,每一次分支确定,都可以随机挑选一个特征子集
  • 进一步的增强:随机选择并线性组合若干特征(投影)

Out-of-Bag Estimate

  • OOB样本:未被选入数据集 D ′ \mathcal D^\prime D
  • 抽选 N N N次仍没有被抽到的概率:

( 1 − 1 N ) N ≈ 1 e \left( 1 - \frac 1 N \right)^N \approx \frac 1 e (1N1)Ne1

  • 因此数据集中OOB的数据量大约为 1 e N \frac 1 e N e1N
  • 类似Validation:这些OOB样本可以用来评估性能
    • 但是实际针对badding,验证 g t g_t gt没有太大意义
    • 但是可以用来验证 G G G
    • 可以验证 G − G^- G x n \bold x_n xn作为OOB样本的若分类器集合: G n − ( x ) = avg ⁡ ( g 1 , … , g k ) G_n^- (\bold x ) = \operatorname{avg}(g_1, \ldots, g_k) Gn(x)=avg(g1,,gk)

E O O B ( G ) = 1 N ∑ n = 1 N err ⁡ ( y n , G N − ( x n ) ) E_{OOB}(G) = \frac 1N \sum_{n = 1}^N \operatorname{err}(y_n, G_N^-(\bold x_n)) EOOB(G)=N1n=1Nerr(yn,GN(xn))

  • 实现对bagging和RF的自验证
    • 而且不用像Validation一样进行一次重训练
  • 通常非常准确

Feature Selection

  • 希望去除的特征
    • 冗余特征
    • 任务无关特征
  • 特征选择的优势
    • 高效
    • 泛化性强——去除了大量的特征噪声
    • 可解释性更强
  • 劣势
    • 选择过程的计算消耗(组合问题)
    • 容易过拟合
    • 可能导致的错误解释(关联而非因果)
  • 决策树实际上是内建了特征选择过程
  • 重要性选择:
    • 按照重要性排序,取最大的若干特征作为目标特征子集
    • 线性模型:可以使用绝对值最大的若干特征,即 importance ⁡ ( i ) = ∣ w i ∣ \operatorname{importance}(i) = |w_i| importance(i)=wi
    • 非线性模型?比较麻烦
  • 置换测试:
    • 如果一个特征很重要:替换一个随机值会很明显地降低性能
    • 随机值:将数据顺序随机打乱(不改变数据的分布情况)
    • 重要性即置换前后的性能变化差异(置换后需要重新训练和验证)
    • 对RF:直接使用OOB误差进行比较,省去了验证过程 importance ⁡ ( i ) = E o o b ( G ) − E o o b ( G p ) \operatorname{importance}(i) = E_{oob}(G) - E_{oob}(G^p) importance(i)=Eoob(G)Eoob(Gp)
    • 简化训练: importance ⁡ ( i ) = E o o b ( G ) − E o o b p ( G ) \operatorname{importance}(i) = E_{oob}(G) - E_{oob}^p(G) importance(i)=Eoob(G)Eoobp(G)
      • 对OOB的值进行置换

Random Forest in Action

  • 随机森林:
    • 平滑、大间隔分类边界
    • 更加鲁棒
    • 能够尽量消除噪声
  • 树越多越好:多少棵合适呢?
    • 保证随机情况下的稳定性
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值