期望风险、经验风险与结构风险的区别
在机器学习中,通常会遇到期望风险、经验风险和结构风险这三个概念,⼀直不知道这三个概念之间的具体区别和联系,今天来梳理⼀下,要区分这三个概念,⾸先要引⼊⼀个损失函数的概念。损失函数是期望风险、经验风险和结构风险的基础。
1、损失函数
损失函数是针对单个具体的样本⽽⾔的。表⽰的是模型预测的值与样本真实值之间的差距。⽐如对于某个样本<Xi,Yi>,其真实的值为Yi,⽽我们的模型选择决策函数为f,那么通过模型预测的值为f(Xi);损失函数就是⽤来表⽰Yi与f(Xi)之间的差距的,我们⽤函数L(f(Xi),Yi)来衡量。我们希望的是这个L函数最⼩化。理想的情况是我们的模型决策函数预测值f(Xi)刚好等于该样本的真值Yi。常见的损失函数有以下⼏种:
2、经验风险
现在我们已经清楚了,对于具体的某个样本点,有了衡量其预测值与真实值的差异度的⽅法了(选取上⾯任意⼀个损失函数即可)。通过损失函数我们只能知道模型决策函数f(X)对于单个样本点的预测能⼒(借⽤损失函数L(Y,f(x)),损失函数越⼩,说明模型对于该样本预测越准确。),那么如果想知道模型f(X)对训练样本中所有的样本的预测能⼒应该怎么办呢?显然只需所有的样本点都求⼀次损失函数然后进⾏累加就好了。如下式
这就经验风险,所谓的经验风险最⼩化便是让这个式⼦最⼩化,注意这个式⼦中累加和的上标N表⽰的是训练样例集中样本的数⽬。
3、期望风险
经验风险是对训练集中的所有样本点损失函数的平均最⼩化。经验风险越⼩说明模型f(X)对训练集的拟合程度越好,但是对于未知的样本效果怎么样呢?我们知道未知的样本数据(<X,Y>)的数量是不容易确定的,所以就没有办法⽤所有样本损失函数的平均值的最⼩化这个⽅法,那么怎么来衡量这个模型对所有的样本(包含未知的样本和已知的训练样本)预测能⼒呢?熟悉概率论的很容易就想到了⽤期望。即假设X和Y服从联合分布P(X,Y).那么期望风险就可以表⽰为:
这就是期望风险,期望风险表⽰的是全局的概念,表⽰的是决策函数对所有的样本<X,Y>预测能⼒的⼤⼩,⽽经验风险则是局部的概念,仅仅表⽰决策函数对训练数据集⾥样本的预测能⼒。理想的模型(决策)函数应该是让所有的样本的损失函数最⼩的(也即期望风险最⼩化),但是期望风险函数往往是不可得到的,即上式中,X与Y的联合分布函数不容易得到。现在我们已经清楚了期望风险是全局的,理想情况下应该是让期望风险最⼩化,但是呢,期望风险函数⼜不是那么容易得到的。怎么办呢?那就⽤局部最优的代替全局最优这个思想吧。这就是经验风险最⼩化的理论基础。
4、经验风险与期望风险之间的联系区别
通过上⾯的分析可以知道,经验风险与期望风险之间的联系与区别。现在在总结⼀下:
  a) 经验风险是局部的,基于训练集所有样本点损失函数最⼩化的。
  b) 期望风险是全局的,是基于所有样本点的损失函数最⼩化的。
  c) 经验风险函数是现实的,可求的;
正则化是结构风险最小化策略的实现  d) 期望风险函数是理想化的,不可求的;
5、结构化风险
只考虑经验风险的话,会出现过拟合的现象,过拟合的极端情况便是模型f(x)对训练集中所有的样本点都有最好的预测能⼒,但是对于⾮训练集中的样本数据,模型的预测能⼒⾮常不好。怎么办呢?这个时候就引出了结构风险。结构风险是对经验风险和期望风险的折中。在经验风险函数后⾯加⼀个正则化项(惩罚项)便是结构风险了。如下式:
相⽐于经验风险,结构风险多了⼀个惩罚项,其中是⼀个lamada是⼀个⼤于0的系数。J(f)表⽰的是是模型f的复杂度。结构风险可以这么理解:
经验风险越⼩,模型决策函数越复杂,其包含的参数越多,当经验风险函数⼩到⼀定程度就出现了过拟合现象。也可以理解为模型决策函数的复杂程度是过拟合的必要条件,那么我们要想防⽌过拟合现象的⽅式,就要破坏这个必要条件,即降低决策函数的复杂度。也即,让惩罚项J(f)最⼩化,现在出现两个需要最⼩化的函数了。我们需要同时保证经验风险函数和模型决策函数的复杂度都达到最⼩化,⼀个简单的办法把两个式⼦融合成⼀个式⼦得到结构风险函数然后对这个结构风险函数进⾏最⼩化。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。