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

参考:Deep Learning Basics: The Score Function & Cross Entropy

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

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

参考:

What is a loss function in decision theory?

Objective function, cost function, loss function: are they the same thing?

What is the difference between a cost function and a loss function in machine learning?

机器学习中的目标函数、损失函数、代价函数有什么区别?

CS231n笔记|3 损失函数和最优化

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

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

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

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

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

关联

参考:CS231n课程笔记翻译:线性分类笔记(上)

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

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

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

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

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

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

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

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

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

坚持原创技术分享,您的支持将鼓励我继续创作!