cost function、 Loss Function、 期望风险、经验风险与结构风险
损失函数是一个非负实数函数, 用来量化模型预测和真实标签之间的差异.
损失函数(Loss Function): 是定义在单个训练样本上的,计算的是一个样本的误差。
代价函数(Cost Function): 是定义在整个训练集上面的,也就是所有样本的误差的总和的平均,也就是损失函数的总和的平均。
目标函数(Object Function) 最终需要优化的函数。等于结构风险(=经验风险+正则化项)。
期望风险(Expected Risk): 是一种全局的概念,表示的是决策函数(模型)对所有的样本(X,Y)预测能力的大小。
经验风险(Empirical Risk): 是局部的概念,仅仅表示决策函数对训练数据集里样本的预测能力
结构风险(Structure Risk): =经验风险+正则化项。是为了防止经验风险最小化导致过拟合而提出来的。
理想的模型(决策函数)应该是让所有的样本的损失函数最小(即期望风险最小化),但是期望风险函数往往是不可得到的。但是呢,期望风险函数又不是那么容易得到的。
怎么办呢?那就用局部最优代替全局最优这个思想吧。而这就是经验风险最小化的理论基础。
经验风险与期望风险之间的联系与区别
经验风险是局部的、基于训练集所有样本点损失函数最小化的。
期望风险是全局的,是基于所有样本点的损失函数最小化的。
经验风险函数是现实的,可求的。
期望风险函数是理想化的,不可求的。
若是只考虑经验风险的话,会出现过拟合的现象,过拟合的极端情况便是模型f(x)对训练集中所有的样本点都有最好的预测能力,但是对于非训练集中的样本数据,模型的预测能力非常不好
那么这个时候应该怎样进行处理呢?引入结构风险
这时候就开始引入结构风险的概念,结构风险是对经验风险和期望风险的折中。在经验风险函数后面加一个正则化项(惩罚项)便是结构风险了。
总结
经验风险越小,模型决策函数越复杂,其包含的参数越多,当经验风险函数小到一定程度就出现了过拟合现象。也可以理解为模型决策函数的复杂程度是过拟合的必要条件,那么要想防止过拟合现象的方式,就要破坏这个必要条件,即降低决策函数的复杂度。也即,让惩罚项(正则化项)最小化,那么到现在为止,已经出现两个需要最小化的函数了。
我们需要同时保证经验风险函数和模型决策函数的复杂度都达到最小化,一个简单的办法就是把两个式子融合成一个式子得到结构风险函数然后对这个结构风险函数进行最小化。
以上概念可以通过学习以下知识深化理解
邱锡鹏《神经网络与深度学习》- 2.2 机器学习的三个基本要素
参考
《神经网络与深度学习》邱锡鹏
https://blog.csdn.net/lyl771857509/article/details/79428475
https://www.cnblogs.com/Belter/p/6653773.html
https://cloud.tencent.com/developer/news/274952
https://zhuanlan.zhihu.com/p/159189617