机器学习中涉及到的很多概念都和 Expectation 相关联,例如:
所以本文特此明确一下这个基础概念。
The average value of some function f(x) under a probability distribution p(x) is called the expectation of f(x) .
如果 p(x) 是均匀分布的话,我们其实就是求一个函数 f(x) 的平均值而已;如果函数不同的值出现概率不同,我们当然要考虑 p(x) ,来求解真正期望出现的值。标准公式如下(discrete or continuous):
我们不一定能精确地用公式求解出 E[f] ,但我们可以直接对 f(x) 采样,采样得到的值直接求均值 sample mean 来近似出 E[f] (函数期望 约为 函数采样均值 ):
期望 Expectation 作为一个运算符,有着如下4条运算规则:
(假设 c 为一个常量)
方差本身也可以看作是一个期望,我们依据方差的运算规则,可以等价标准的方差公式如下:
方差 variance E[(f(x)−E[f(x)])2] 也被称为二阶中心距(减去期望 normalize 后对其二次方求期望);其他统计量 偏度 skewness 称为三阶中心距,峰度 kurtosis 四阶中心距。
另外,这里还可以导出一个常用的等价变换公式: E[f(x)2]=VAR[f(x)]+E[f(x)]2
从统计的角度来看,机器学习 中模型的 泛化误差 generalization error 可以 分解 decomposition 为 Bias-Variance 来解释;这里面包含了 Bias-Variance Tradeoff,或者说 Underfitting-Overfitting Tradeoff。
首先再回顾一下俩者概念:
The bias is error from erroneous assumptions in the learning algorithm. High bias can cause an algorithm to miss the relevant relations between features and target outputs (underfitting).
The variance is error from sensitivity to small fluctuations in the training set. High variance can cause overfitting: modeling the random noise in the training data, rather than the intended outputs.
下面的 Figure 1. 中给出了模型泛化时,产生俩种 Errors(Bias,Variance);注意,泛化指的是在测试集上的误差测量,就是衡量模型在之前没有见过的数据上的表现。
泛化误差 generalization error 定义如下:
上式需要我们在了解 f(x) 和 p(x) 来求解,显然不可能。现实中,我们会构造一个 test set 或者 validation set 来近似 泛化误差 的评估。其实这也就是通过采样来近似估计期望:
接下来,最重要的一点是:使用不同的训练集 Dataset 我们会得到不同的模型参数 w ;所有模型整合到一块的 average response 就是 ED[f(x|w)] ,也就是 Figure 1. 中的绿点;由此引出 bias 和 variance 的精确描述:
bias 和 variance 在实践中无法精确估计,常见通过 cross-validation 的方法例如 k-fold 作近似计算。
最后,我们其实可以基于 泛化误差,直接分解为 bias-variance:
上述的 cross term 通过 ED 带入第一项后, ED[(f(x|w)−ED[f(x|w)]]=0 所以直接消除整项。
还有其他的 decomposition 解释方法,例如 wiki 上的版本为 true function f(x) 加入了一个 zero mean and variance σ2 的误差项 ϵ ,也就是说我们的观测本身就包含 unseen noise,这种 noise 是无法被消除的;所以其分解结果是:bias+variance+ σ2 ,本文不展开讨论。