经验风险最小化
损失函数和风险函数
损失函数度量模型一次预测的好坏,风险函数度量平均意义下模型预测的好坏。
常用的损失函数有以下几种:
- 0-1损失函数(0-1 loss function)
- 平方损失函数(quadratic loss function)
- 绝对损失函数(absolute loss function)
- 对数损失函数(logarithmic loss function)或对数似然损失函数(log-likelihood loss function)
损失函数值越小,模型就越好。由于模型的输入输出是随机变量,遵循联合分布
,所以损失函数的期望是:
这是理论上模型关于联合分布
的期望损失,称为期望风险。
然而,联合分布是未知的,期望风险
不能直接计算,可以近似为
关于训练数据集的平均损失,也就是经验风险(empirical risk),即:
根据大数定律,当样本容量趋于无穷时,经验风险
趋于期望风险
。但是现实中训练样本数目有限,用经验风险来估计期望风险往往并不理想,要对经验风险进行一定的矫正,也就是形成结构风险。
经验风险最小化与结构风险最小化
经验风险最小化(empirical risk minimization,ERM)
经验风险最小化的策略认为,经验风险最小的模型是最优的模型:
当样本容量足够大时,经验风险最小化能保证有很好的学习效果。比如,极大似然估计(就是经验风险最小化的一个例子,当模型是条件概率分布,损失函数是对数损失函数时,经验风险最小化就等价于极大似然估计。
但当样本容量很小时,经验风险最小化容易导致“过拟合”。
机器学习模型,通常由下面几个部分组成。
- 输入数据
- 数据集 (Domian Set):\(X\)
- 标签集 (Label Set):\(Y\)
- 训练集由\(X\)与\(Y\)组合而成:\({(x_i, y_i)}\in X \times Y\)
- 输出
- 预测规则 (Predictor):
- 抽样模型
- 存在定义在的未知抽样规则分布,存在未知标签规则
- 成功度量
这样我们其实就获得了一个学习模型:
ERM模型,经验风险最小化
ERM是一个单纯依赖训练集\(S\subset X\times Y\)的方法,类似于下面这个:
\(h_s(x) = \begin{cases} 1 & \text{if } (x,1) \in S\\ 0 & \text{otherwise} \end{cases} \\\)
由于\((D,f)\)都是未知的,因此为了评估我们的模型可靠性,
我们引入经验误差 (Empirical Risk):
\(Def(Empirical\ Risk)\):样本集为 \(S=\{(x_1,y_1),...,(x_n, y_n)\}\), 我们定义
\(L_S(h)=\frac{m(\{i|h(x_i)\neq y_i\})}{n}\\\)
ERM很显然是可以做到让\(L_S(h)=0\),但它也会带来过拟合的问题,比如说下面这个例子。
如果\(f(x_1,x_2)=\begin{cases}1 & \text{if } (x_1,x_2)\in[0.1,0.9]\times[0.1,0.9]\\0 & \text{otherwise}\end{cases}\)
,那么我们如果根据ERM提供的思路构造\(h\),那样就会只有\(m(S)\)个点落在\([0.1, 0.9]\times[0.1, 0.9]\)之间,而有限点的测度为0,所以所有落在\([0.1,0.9]\times[0.1,0.9]\)内的,未被抽样出的点都会造成误差,这样的点有不可数个且几乎充满了整个正方形,那么我们的实际误差为
\(L_{(D,f)}(h)=0.8^2=0.64\\\)
先验知识
当然我们可以结合特定的先验知识,然后再基于先验知识进行学习,例如在上面的例子中,我们如果已经知道,\(\{x|f(x)=1\}\),是一个矩形 \([x_1,y_1]\times [x_2, y_2]\),那么我们便可以调整我们的算法使其学习的目标改为矩形的各个边的位置。
严格的说,先验知识是一组规则\(H\subset Y^X\),\(Y^X=\{f|f:X\rightarrow Y\}\),我们的学习也只限于这样一个集合之中。这样我们就有了带先验知识的\(ERM_H\)模型:
但我们仍需要下面两个假设来确保上面这个模型是可用的:
-
可实现性:\(\exists h\in H,\ L_{(D,f)}(h)=0\)
-
确定性:\(S\)是由\(D\)抽样得到并且由确定性的\(f\)标记,也就意味着对于任意\(x\),\(f(x)\)的结果是确定的
在H有限时,ERM是可学习的
令\(H\)为一个预测规则的有限集合[\(m(H)<\infty\)],并且上面的两个假设成立,那么每一个\(ERM_H\)模型都能随着样本数量\(m(S)\)趋于无穷收敛到一个零误差策略。
证明如下:
首先我们定义一个“不好的策略集合”
\(B_\epsilon={h\in H|L_{(D,f)}(h)>\epsilon}\) \(B_\epsilon\)包含了所有总体误差大于 \(\epsilon\) 的集合,接下来我们需要定义那些误导样本,就是在样本集上误差为零,会收敛到\(B_\epsilon\)中的一个坏策略的样本。
就是说,在\(S\)上你可能训练出一个经验误差为0,全局误差不为0的策略。
我们注意到一件事:
在构成\(M\)的两部分中,后者在\(ERM_H\)模型中被抛弃了,因此我们可以获得下面的结论,
我们只要找到\(\mathbb{P}[S\in M]\)的上界就可以了,这是容易的。
定义下面的集合
对于大小为 \(n\) 的样本 \(S\) 而言,为了使样本误差为0,其选取的 \(n\) 个独立同分布样本都必须来自于 \(K^\mathbb{C}\)。
然后由于\(h\in B_\epsilon\),我们有
然后就很简单了,
最后,
结构风险最小化
结构风险最小化(structural minimization, SRM)是为了防止过拟合提出的策略。结构风险最小化等价于正则化(regularization)。结构风险在经验风险上加上表示模型复杂度的正则化项(regularizer)或罚项(penalty term)。结构风险的定义是:
其中是模型复杂度的函数,
是系数,用来权衡经验风险和模型复杂度。
结构风险最小化的策略认为结构风险最小的模型是最优模型:
结构风险小需要经验风险和模型复杂度同时都小,结构风险小的模型往往对训练数据以及未知的测试数据都有较好的预测。
比如,贝叶斯估计中的最大后验概率估计(maximum posterior probability estimation,MAP)就是结构风险最小化的一个例子,当模型是条件概率分布、损失函数是对数损失函数、模型复杂度由模型的先验概率表示时,结构风险最小化就等价于最大后验概率估计。
参考文献:
1. 《统计学习方法》第一章统计学习方法概论——李航
转载源