成绩函数、目标函数、代价函数和损失函数

成绩函数(score function)、目标函数(objective function)、代价函数(cost function)和损失函数(loss function)这四个术语经常出现在机器学习和深度学习的各类算法中

目标函数、代价函数和损失函数

目标函数指的是最优化经验风险和结构风险的函数(最大值/最小值优化)。经验风险指的是针对训练数据的损失值,在深度学习中指的是数据损失(data loss);结构风险指的是针对模型复杂度的损失值,在深度学习中指的是正则化损失(regularization loss)。

损失函数和代价函数指的是最小值优化函数,Andrew Ng在机器学习课程Logistic Regression Cost Function - deeplearning.ai | Coursera中给出一个解释如下:

  • 损失函数用于评判单个训练数据计算结果的好坏

  • 代价函数用于评判整个训练数据计算结果的好坏

目标函数可以看成损失函数或代价函数的泛化形式,在深度学习中,获取最优的分类结果需要最小化损失函数或者代价函数值

关联

理清每个术语的概念以及联系,以分类算法为例,假设有一组训练数据X,大小为m×nm表示数据个数,n表示单个数据维数。X中的每个数据都有一个类别,保存为Y,大小为m×1

想要实现一个算法F,输入X中的数据就能够输出Y中相对应的类别,并且希望能够进一步泛化,输入和X相同类型的数据也能够输出正确的类别

通常实现方法是设置一个函数S,输入数据后输出一组评分,每个评分表示属于某一个标签的可能性,选取最大的评分值作为输入数据所属类别

S就是成绩函数,又称为评分函数,其目的是原始数据到类别的映射

那么怎么来计算S的好坏呢?可以设置另一个函数O,用来计算S输出的评分值和正确类别(将类别数值化)之间的差距

O就是目标函数,其目的是量化预测分类结果和真实结果之间的的距离

函数O的结果越小,表明函数S的结果越好,也就是分类效果越好

目标函数的计算包括两部分,一是针对计算结果的评判,二是针对算法复杂度的评判

针对计算结果的评判,就是数据损失,表示损失函数或者代价函数;针对算法复杂度的评判,就是正则化损失

O(θ)=L(θ)+Ω(θ)=1Nj=1Nloss(yj,f(xj))+λR(W)

相关阅读