损失函数,代价函数,风险函数,目标函数

https://blog.csdn.net/qq_28448117/article/details/79199835


  • 损失函数(Loss Function)== 代价函数(Cost Function):是定义在单个样本上的,是指一个样本的误差。与代价函数是同一个东西。损失函数越小说明拟合结果越符合数据集的情况。

                                  L(Y,f(X))=(Y-f(X))^2

  • 风险函数: 损失函数的期望(前n个损失函数之和/N),这是由于我们输入输出的(X,Y)遵循一个联合分布,但是这个联合分布是未知的,所以无法计算。但是我们是有历史数据的,就是我们的训练集,f(X)关于训练集的平均损失称作经验风险(empirical risk),我们的目标就是最小化经验风险。

                                  L(Y,f(X))=\frac{1}{N}\sum_{i=1}^{N}L(y_i,f(x_i))

  • 目标函数(Object Function):是指最终需要优化的函数,一般来说是经验风险+结构风险,也就是(代价函数+正则化项)。

                                  min\frac{1}{N}\sum_{i=1}^{N}L(y_i,f(x_i))+\lambda*J(f)

正则化项J(f)的由来:

过拟合时的过于复杂的函数模型,导致了较高的结构风险。我们不仅要让经验风险最小化,还要让结构风险最小化。这个时候就定义了一个函数J(f),这个函数专门用来度量模型的复杂度,在机器学习中也叫正则化(regularization)。常用的有L1, L2范数,在下一章会介绍。


几种损失函数:

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

也就是说,当预测错误时,损失函数为1,当预测正确时,损失函数值为0。该损失函数不考虑预测值和真实值的误差程度。只要错误,就是1。

image.png
  1. 平方损失函数(quadratic loss function) (常用于线性回归)

指预测值与实际值差的平方。

                                 L(y,f(x))=(y-f(x))^2

  1. 绝对值损失函数(absolute loss function)

该损失函数的意义和上面差不多,只不过是取了绝对值而不是求绝对值,差距不会被平方放大。

image.png
  1. 对数损失函数(logarithmic loss function)

这个损失函数就比较难理解了。事实上,该损失函数用到了极大似然估计的思想。P(Y|X)通俗的解释就是:在当前模型的基础上,对于样本X,其预测值为Y,也就是预测正确的概率。由于概率之间的同时满足需要使用乘法,为了将其转化为加法,我们将其取对数。最后由于是损失函数,所以预测正确的概率越高,其损失值应该是越小,因此再加个负号取个反。

image.png
  1. Hinge loss

Hinge loss一般分类算法中的损失函数,尤其是SVM,其定义为:


image.png

其中 y=+1或y=−1 ,f(x)=wx+b ,当为SVM的线性核时。


代价函数

(1)均方误差(Mean Squared Error)
均方误差是指参数估计值与参数真值之差平方的期望值; MSE可以评价数据的变化程度,MSE的值越小,说明预测模型描述实验数据具有更好的精确度

image.png

(2)均方根误差:
均方根误差是均方误差的算术平方根,能够直观观测预测值与实际值的离散程度。

image.png

(3)平均绝对误差(Mean Absolute Error)
平均绝对误差是绝对误差的平均值 ,平均绝对误差能更好地反映预测值误差的实际情况。

image.png

(4)交叉熵代价函数(Cross Entry)
交叉熵是用来评估当前训练得到的概率分布与真实分布的差异情况,减少交叉熵损失就是在提高模型的预测准确率。其中 p(x) 是指真实分布的概率, q(x) 是模型通过数据计算出来的概率估计。

image.png

其中 f(x) 可以是sigmoid函数。或深度学习中的其它激活函数。而 y(i)∈0,1 。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容