损失函数、风险函数、经验风险最小化、结构风险最小化

摘自李航《统计学习方法》

损失函数

损失函数(loss function)或代价函数(cost function)用以度量预测错误的程度。损失函数式 f(X) y 的非负实值函数,记作 L(Y,f(X))
统计学中常用的损失函数有以下几种:

  • 0-1损失函数(0-1 loss function)

L(Y,f(X)={1,0,Yf(X)Y=f(X)

  • 平方损失函数(quadratic loss function)

L(Y,f(X))=(Yf(X))2

  • 绝对损失函数

L(Y,f(X))=|Yf(X)|

  • 对数损失函数(logarithmic loss function)或对数似然损失函数(log-likelihood loss
    function)

L(Y,P(Y|X))=logP(Y|X)

风险函数

损失函数值越小,模型就越好。由于模型的输入、输出 X,Y 是随机变量,遵循联合分布 PX,Y ,所以损失函数的期望是

Rexp(f)=EP[L(Y,f(X))]=xyL(y,f(x))P(x,y)dxdy

这是理论上模型 f(X) 关于联合分布 P(X,Y) 的平均意义下的损失,称为风险函数(risk function)或期望损失(expected loss)。
学习的目标就是选择期望风险最小的模型。由于联合分布 P(X,Y) 是未知的, Rexp(f) 不能直接计算。实际上,如果知道联合分布P(X,Y),可以从联合分布直接求出条件概率分布P(Y|X),也就不需要学习了。正因为不知道联合概率分布,所以才需要进行学习。这样一来,一方面根据期望风险最小学习模型要用的联合分布,另一方面联合分布又是未知的,所以监督学习就称为一个病态问题(ill-formed problem)。
给定一个训练集,模型 f(X) 关于训练数据集的平均损失称为经验风险(empirical risk)或经验损失(empirical loss),记作 Remp :
Remp(f)=1NNi=1L(yi,f(xi))

期望风险是模型关于联合分布的期望损失,经验风险是模型关于训练样本集的平均损失。根据大数定律,当样本容量N趋于无穷时,经验风险趋于期望风险。所以一个很自然的想法是用经验风险估计期望风险常常并不理想,要对经验风险进行一定的矫正。这就关系到监督学习的两个基本策略:经验风险最小化和结构风险最小化。

经验风险最小化

在假设空间、损失函数以及训练数据集确定的情况下,经验风险函数就可以确定。经验风险最小化(empirical risk minimization,ERM)的策略认为,经验风险最小的模型就是最优的模型。根据这一策略,按照经验风险最小化求最优模型就是求解最优化问题:

minfF1NNi=1L(yi,f(xi))

其中,F是假设空间。
当样本容量足够大时,经验风险最小化能保证有很好的学习效果,在现实中被广泛采用。比如极大似然估计(maximum likelihood estimation)就是经验风险最小化的一个例子。当模型是条件概率分布,损失函数式对数函数时,经验风险最小化就等于极大似然估计。
但是,当样本容量很小时,经验风险最小化学习的效果就未必很好,会产生“过拟合”现象。

结构风险最小化

结构风险最小化(structural risk minimization,SRM)是为了防止过拟合而提出来的策略。结构风险最小化等价于正则化(regularization)。结构风险在经验风险上加上表示模型复杂度的正则化项(regularize)或罚项(penalty term)。在假设空间、损失函数以及训练数据集确定的情况下,结构风险的定义是

Rmin(f)=1NL(yi,f(xi))+λJ(f)

其中 J(f) 为模型的复杂度,是定义在假设空间F上的泛函。模型 f 越复杂,复杂度 J(f) 就越大;反之,模型 f 越简单,复杂度 J(f) 就越小。也就是说,复杂度表示了对复杂模型的惩罚。 λ0 是系数,用以权衡经验风险和模型复杂度。结构风险小需要经验风险与模型复杂度同时小。结构风险小的模型往往对训练数据以及未知的测试数据都有较好的预测。
比如,贝叶斯估计中的最大后验概率估计(maximum posterior probability estimation,MAP)就是结构风险最小化的一个例子。当模型是条件概率分布、损失函数就是对数损失函数、模型复杂度由模型的先验概率表示时,结构风险最小化就等价于最大后验概率估计。
结构风险最小化的策略认为结构风险最小的模型是最优的模型。所以求最优模型,就是求解最优化问题:
minfF1NNi=1L(yi,f(xi))+λJ(f)

这样,监督学习问题就变成了经验风险或结构风险函数的最优化问题。这时经验或结构风险函数是最优化的目标函数。

你可能感兴趣的:(损失函数,风险函数,经验风险,结构风险)