bias是什么意思:机器学习中的Bias(偏差),Error(误差),和Variance(方差)有什么区别和联系?作者:管他叫大靖

发布时间:2020-02-09 05:56:06   来源:网络 关键词:bias是什么意思

01 引言

希望通过一个模型(RF)从算法上解释清楚偏差(bias)和方差(Variance)的关系,以及怎么降低偏差或者方差。先看三个问题:

1、为什么随机森林增加树的数量时,泛化误差会变小,但是增加到一定数量,泛化误差就稳定了呢?

2、随机森林列采样的数量(spliting Variables)是如何影响泛化误差的?

3、随机森林每棵树的深度(或者叶子节点最小样本数量)是如何影响泛化误差的?

02 分析

每个模型都是依赖于训练样本的随机变量。当训练样本变化时,模型就会变化,于是在相同的 x 上的预测值 \hat{f}(x) 就会变。接下来,我们将 \hat{f}(x) 写成 \hat{f}_Z(x) ,其中 Z=(X,Y) 是训练样本,这样更容易看清模型和样本之间的依赖关系。随机森林可以写成:

\\T(x)=\frac{1}{B}\sum_{i=1}^{B}T_{i,Z_i}(x)

其中 B 是树的数量;T_{i,Z_i} 是第 i 颗决策树; Z_i 是训练样本,从 Z 中通过行采样和列采样得到。因为每棵树通过相同的采样方式,和相同的算法得到,因此:

1、 对于给定的 xT_{i,Z_i}(x) 服从相同的分布, 1\leq i \leq B

因此,增加树的数量对降低模型偏差无帮助。

2、 T_{i,Z_i}(x) 彼此不独立

每次都是从相同的样本集 Z 采样,根据相同的算法得到每颗树,所以 T_{i,Z_i}(x) 之间是相关的。一个极端的例子,不进行列采样和行采样,则每棵树完全一样,相关系数为1。不妨假设相关系数为 \rho ,每棵树的方差为 \sigma^2 。简单计算可以得到 T(x) 的方差:

Var(T(x))=[\frac{1}{B},\cdots,\frac{1}{B}]\left[\begin{matrix}1&\frac{1}{\rho}&\cdots&\frac{1}{\rho} \\ \frac{1}{\rho}&1&\cdots&\frac{1}{\rho}\\ \vdots & \vdots&\ddots&\vdots \\ \frac{1}{\rho}&\frac{1}{\rho}&\cdots&1 \end{matrix} \right] \left[\begin{matrix} \frac{1}{B}\\ \vdots\\ \frac{1}{B} \end{matrix} \right]\sigma^2 \\=\rho\sigma^2+\frac{1-\rho}{B}\sigma^2\tag{1}

可以看到 Var(T(x)) 是树的数量(B)的减函数,下极限是 \rho\sigma^2因此,随机森林增加树的数量时,泛化误差会变小,但是增加到一定数量,泛化误差就稳定了。

于是,一个自然的想法就是减小 \rho减小列采样的数量或者减小树的深度,都能减小相关性,从而降低随机的方差。但泛化误差从来都不只和方差有关系,方差的减小往往意味着偏差的增加。

回忆一下机器学习的一般形式:

\\\hat{f}=\arg \min_{f \in H}\sum_{i=1}^{n}l(y_i,f(x_i))+\Omega(f)

记Oracle的函数为 f_\rho (最优的那个函数)。注意 f\in H , H 表示假设空间。考虑一簇嵌套的假设空间,则假设空间越大,找到的 \hat{f}f_\rho 越近,偏差就越小。减小列采样的数量或者减小树的深度,对应的假设空间就变小了,因此偏差就变大了(大于等于)。

所以我们需要做Bias-Variance trade-off,选择适当的参数。

03 小结

对于随机森林的参数,做一个关于偏差方差的小结。注意,以下方差和偏差都是对于 T(x)

1、其它参数不变,增加树的数量,偏差不变;方差减小,方差下限为 \rho\sigma^2

2、 其它参数不变,增加树的深度,偏差减小( \leq ); \rho 变大, \sigma^2 减小;

3、其它参数不变,增加列采样,偏差减小( \leq ); \rho 变大, \sigma^2 减小;

总的来说,由(1)可知,随机森林主要是在降低模型的方差。与此相对比,Boosting方法主要是在降低模型的偏差。以GBDT为例,从梯度下降可以看出,其以逼近原函数为首要目标。因此随着树的增加,偏差越来越小。由于每棵树不是同分布的,而且最终模型是多颗树之和,不难看出,方差会越来越大。其中细节,读者可以细细玩味。

更多回复:

知乎网友徐凯:
以前总结过一些,以最浅显的语言表达了,希望能帮助你blog.csdn.net/MrLevo520






本文关键词:bias是什么意思
猜你喜欢
推荐文章: