偏差与方差

统计领域为我们提供了很多工具来实现机器学习目标,不仅可以解决训练集上的任务,还可以泛化。点估计试图为一些感兴趣的量提供单个”最优”预测。 一般地,感兴趣的量可以是单个参数,或是某些参数模型中的一个向量参数,例如线性回归中的权重,但是也有可能是整个函数。
为了区分参数估计和真实值,我们习惯将参数 \theta 的点估计表示为 \hat{\theta}
{x^{(1)},\dots,x^{(m)}}m 个独立同分布(i.i.d.)的数据点。 点估计或统计量是这些数据的任意函数:

\hat{\theta}_m=g(x^{(1)},\ldots,x^{(m)}).

这个定义不要求 g 返回一个接近真实 \theta 的值,或者 g 的值域恰好是\theta的允许取值范围。 点估计的定义非常宽泛,给了估计量的设计者极大的灵活性。 虽然几乎所有的函数都可以称为估计量,但是一个良好的估计量的输出会接近生成训练数据的真实参数\theta

现在,我们采取频率派在统计上的观点。 换言之,我们假设真实参数 \theta 是固定但未知的,而点估计 \hat{\theta} 是数据的函数。 由于数据是随机过程采样出来的,数据的任何函数都是随机的。 因此 \hat{\theta} 是一个随机变量。

点估计也可以指输入和目标变量之间关系的估计。 我们将这种类型的点估计称为函数估计。有时我们会关注函数估计(或函数近似)。 这时我们试图从输入向量 x 预测变量 y。 我们假设有一个函数 f(x) 表示 yx 之间的近似关系。 例如,我们可能假设 y = f(x) + \epsilon,其中 \epsilony 中未能从 x 预测的一部分。 在函数估计中,我们感兴趣的是用模型估计去近似 f,或者估计 \hat{f}。 函数估计和点估计参数 \theta 是一样的;函数估计 \hat{f} 是函数空间中的一个点估计。

估计的偏差被定义为:

\text{bias}(\hat{\theta}_m) = \mathbb{E}(\hat{\theta}_m) - \theta

其中期望作用在所有数据(看作是从随机变量采样得到的)上,\theta 是用于定义数据生成分布的 \theta 的真实值。

我们有时会考虑估计量的另一个性质是它作为数据样本的函数,期望的变化程度是多少。 正如我们可以计算估计量的期望来决定它的偏差,我们也可以计算它的方差。 估计量的方差就是一个方差

\text{Var}(\hat{\theta})

其中随机变量是训练集。 另外,方差的平方根被称为标准差,记作 \text{SE}(\hat{\theta})。我们可以使用均方误差权衡偏差和方差:

\text{MSE} = \mathbb{E}[(\hat{\theta}_m - \theta)^2] = \text{bias}(\hat{\theta}_m)^2 + \text{Var}(\hat{\theta}_m)

1.1 偏差和方差的区别与权衡

偏差和方差度量着估计量的两个不同误差来源。 偏差度量着偏离真实函数或参数的误差期望。 而方差度量着数据上任意特定采样可能导致的估计期望的偏差。

  • 偏差,对象是单个模型,期望输出与真实标记的差别(可以解释为描述了模型对本训练集的拟合程度)
  • 方差,对象是多个模型(这里更好的解释是换同样规模的训练集,模型的拟合程度怎么样;也可以说方差是刻画数据扰动对模型的影响,描述的是训练结果的分散程度)

我们把模型拟合函数的能力称为模型的容量

bais_var

从上图可以知道:随着容量的增大偏差随之减少,而方差随之增大,使得泛化误差呈现 U 形。因而,降低偏差或者方差需要针对不同的场景来设计,下面我们以线性回归为例来说明,我们使用了如下的代价函数来评估预测误差:

J(\theta) = \frac{1}{2m} [\sum\limits_{i=1}^m(h_\theta(x^{(i)})-y^{(i)})^2+\lambda\sum\limits_{i=1}^m\theta_j^2]

改进策略 使用场景
采集更多的样本 高方差
降低特征维度 高方差
采集更多的特征 高偏差
进行高次多项式回归(增加模型复杂度) 高偏差
降低正则化项系数 \lambda 高方差
增大正则化项系数 \lambda 高偏差

1.2 从方差-偏差角度分析 bagging 和 boosting

  • bagging 是并行的(即分别训练几个不同的模型,然后让所有模型表决测试样例的输出),每个基学习器可以单独训练。基学习器独立性很强,所以说 bagging 关注的是降低方差。
  • boosting 是串行的,后一个学习器要在前一个学习器训练好之后才能训练,即学习器之间独立性没那么强,且 boosting 关注偏差 (每一步我们都会在上一轮的基础上更加的拟合原数据,所以可以保证偏差,所以对于每个基分类器来说,问题就是如何选择方差更小的分类器,即更简单的弱分类器)。于是 boosting 对样本集会拟合的更好,所以说boosting 关注的是降低偏差。
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
禁止转载,如需转载请通过简信或评论联系作者。

相关阅读更多精彩内容

  • 一、什么是偏差和方差 在监督学习中,模型的泛化误差可分解为偏差、方差与噪声之和。 偏差与方差分别是用于衡量一个模型...
    Ivan_Lan阅读 4,719评论 0 0
  • 机器学习就是利用训练数据去训练一个模型(model),使得这个模型尽可能逼近真实,用来衡量模型好坏的依据是模型的误...
    AIAndData阅读 9,207评论 0 4
  • 下午和好朋友M聊天的时候,她说起一个非常有意思的故事。 那天M和男友一起去逛街的时候(男友趁假期特意跑来看她),在...
    曾琦阅读 4,044评论 0 0
  • 元宵节,可能是中国古代的狂欢节,强调的是全民的参与性。大名府的闻达给大名府的最高长官梁中书提出的元宵节活动方案中...
    湖边人老刘阅读 5,173评论 0 0
  • 人生如戏,戏剧人生, 我们都在人生舞台上扮演着不同的角色,我们也是舞台之下的观众。我们在生活中扮演着喜剧或者悲剧的...
    Y于兮X阅读 1,499评论 0 1

友情链接更多精彩内容