主要参考博客:
1.理解机器学习中的偏差与方差
2.周志华《机器学习》笔记:2、模型评估与选择
3.机器学习模型性能评估方法笔记
比较检验
前面介绍了各种性能度量方式,但是其度量的是模型在测试集下的测试误差的性能状况,虽然其可以近似代替泛化性能,但毕竟与真实的泛化性能有一定的距离,在这里我们介绍通过假设检验的方式,利用测试误差来预估泛化误差从而得到模型的泛化性能情况,即基于假设检验结果我们可以推断出若在测试集上观察到模型A比B好,那么A的泛化性能在统计意义上优于B的概率有多大
一句话:无假设不检验
牵涉到概论的知识太多,尤其是后面的各种分布(都有点忘光了,不做详细介绍)
假设检验
假设检验就是数理统计中依据一定的假设条件,由样本推断总体的一种方法。其步骤如下所示:
1. 根据问题的需要对所研究的总体做某种假设,记为
2. 选取合适的统计量,这个统计量的选取要使得在假设
3. 由实测的样本计算出统计量的值,根据预先给定的显著性水平进行检验,做出拒绝或接受假设
误差方差与偏差
学习算法的预测误差, 或者说泛化误差(generalization error)可以分解为三个部分: 偏差(bias), 方差(variance) 和噪声(noise). 在估计学习算法性能的过程中, 我们主要关注偏差与方差. 因为噪声属于不可约减的误差 (irreducible error).
首先抛开机器学习的范畴, 从字面上来看待这两个词:
偏差
这里的偏指的是 偏离 , 那么它偏离了什么到导致了误差? 潜意识上, 当谈到这个词时, 我们可能会认为它是偏离了某个潜在的 “标准”, 而这里这个 “标准” 也就是真实情况 (ground truth). 在分类任务中, 这个 “标准” 就是真实标签 (label).
方差
很多人应该都还记得在统计学中, 一个随机变量的方差描述的是它的离散程度, 也就是该随机变量在其期望值附近的 波动程度 . 取自维基百科一般化的方差定义:
如果
来个靶心图:(确实很直观)
假设红色的靶心区域是学习算法完美的正确预测值, 蓝色点为每个数据集所训练出的模型对样本的预测值, 当我们从靶心逐渐向外移动时, 预测效果逐渐变差.
很容易看出有两副图中蓝色点比较集中, 另外两幅中比较分散, 它们描述的是方差的两种情况. 比较集中的属于方差小的, 比较分散的属于方差大的情况.
再从蓝色点与红色靶心区域的位置关系, 靠近红色靶心的属于偏差较小的情况, 远离靶心的属于偏差较大的情况.
有了直观感受以后, 下面来用公式推导泛化误差与偏差与方差, 噪声之间的关系.
符号 | 涵义 |
---|---|
|
测试样本 |
|
数据集 |
|
|
|
|
|
训练集
|
|
由训练集
|
|
模型
|
泛化误差
以回归任务为例, 学习算法的平方预测误差期望为:
在一个训练集
上面的期望预测也就是针对 不同 数据集
使用样本数相同的不同训练集产生的方差为:
噪声为真实标记与数据集中的实际标记间的偏差:
期望预测与真实标记的误差称为偏差(bias), 为了方便起见, 我们直接取偏差的平方:
对算法的期望泛化误差进行分解:
蓝色部分是对上面对应的等价替换, 然后对其展开后, 红色部分刚好为 0.
上述公式比较难理解的地方就是两个红颜色部分为什么为零。
解释:
第一个红色式子:可以做如下变换
第二个红色的式子:可以作如下变换
对最终的推导结果稍作整理:
这个图片做的很漂亮以及生动
至此, 继续来看一下偏差, 方差与噪声的含义:
想当然地, 我们希望偏差与方差越小越好, 但实际并非如此. 一般来说, 偏差与方差是有冲突的, 称为偏差-方差窘境 (bias-variance dilemma).