一、损失函数、代价函数、目标函数定义
首先给出结论:
损失函数(Loss Function )是定义在单个样本上的,算的是一个样本的误差。
代价函数(Cost Function )是定义在整个训练集上的,是所有样本误差的平均,也就是损失函数的平均。
目标函数(Object Function)定义为:最终需要优化的函数。等于经验风险+结构风险(也就是Cost Function + 正则化项)。
二、目标函数和代价函数的区别
关于目标函数和代价函数的区别还有一种通俗的区别:目标函数是最大化或者最小化,而代价函数是最小化。
举个例子解释一下:(图片来自Andrew Ng Machine Learning公开课视频)上面三个图的函数依次为 , , 。我们是想用这三个函数分别来拟合Price,Price的真实值记为 。
我们给定 ,这三个函数都会输出一个 ,这个输出的 与真实值 可能是相同的,也可能是不同的,为了表示我们拟合的好坏,我们就用一个函数来度量拟合的程度,比如: ,这个函数就称为损失函数(loss function),或者叫代价函数(cost function)(有的地方将损失函数和代价函数没有细分也就是两者等同的)。
损失函数越小,就代表模型拟合的越好。那是不是我们的目标就只是让loss function越小越好呢?还不是。这个时候还有一个概念叫风险函数(risk function)。风险函数是损失函数的期望,这是由于我们输入输出的 遵循一个联合分布,但是这个联合分布是未知的,所以无法计算。但是我们是有历史数据的,就是我们的训练集, 关于训练集的平均损失称作经验风险(empirical risk),即 ,所以我们的目标就是最小化 ,称为经验风险最小化。
到这里完