随机森林是一种有效的分类预测方法,它有很高的分类精度,对于噪声和异常值有较好的稳健性,且具有较强的泛化能力。Breiman1在论文中提出了随机森林的数学理论,证明随机森林不会出现决策树的过拟合问题,推导随机森林的泛化误差界,并且利用 Bagging 产生的袋外数据给出泛化误差界的估计。
随机森林
前几天面试的时候,面试官问了下随机森林与 Bagging 的区别,
- 每棵树的训练样本
- 划分时属性的随机选择
Why not overfit
Breiman证明了,随着随机森林中决策树增加,其泛化误差会趋于一个有限的上限。
但是我们需要指出的是,任何机器学习算法都可能会过拟合,作者证明的是随机森林不会随着决策树的增加而产生过拟合问题(但会产生一定限度内的泛化误差),随机森林也是会过拟合的2。
This result explains why random forests do not overfit as more trees are added, but produce a limiting value of the generalization error.(作者原话)
下面我们来分析下具体证明过程3。
Weak Classifiers: $h = \{h_1(\mathbf{x}),h_2(\mathbf{x}),\cdots,h_K(\mathbf{x})\}$.
定义余量函数(margin function):
其中,$I(\cdot)$为示性函数(indicator function),$av_k(\cdot)$表示取平均。余量函数衡量了组合分类器将样本分类正确的平均票数与错分为其他类的平均票数之差。也就是说余量越大,分类正确可能性越大。
- $mg(\mathbf{x},y)>0$ : 分类正确.
- $mg(\mathbf{x},y)>0$ : 分类错误.
定义泛化误差( generalization error):
定理:随着 $K \rightarrow \infty$(决策树数目),
其中, $h_k(\mathbf{x})\equiv h(\mathbf{x},\Theta_k)$.
又有,
实际上我们需要证明的是,
原因也很明了,令:
而实际上,
我们知道,对于一个给定的训练集 $\mathbf{x}$ 和 $\Theta$,使得 $h(x,\Theta)=j$ 成立的所有 $x$构成一个超立方体(hyper-rectangle)的并集4。我们假设对于所有的 $h(x,\Theta_k)$ 最后组成 $K$ 个这样的超立方体: $\{S_k\}_{k=1}^K$.
定义,
可知,
根据 $N_k$ 的定义可知,
更进一步,
得证。
总结
好吧,我还没法完全领悟这个证明的内涵,知其形而不知其意。
资料传送门: