机器学习Machine Learning:cost 函数,loss函数,objective函数的区别和联系?
关于这个问题,我也是机器学习初学者,对于这些概念感觉有必要追根究底。
不同笔者有不同的见解,通过搜集一些相关笔者的回答和个人的理解,我整理了材料如下:
首先在Andrew NG的Coursera:Neural Networks and Deep Learning 课程中,有如下一段话:
The loss function computes the error for a single training example; the cost function is the average of the loss funcitons of the entire training set.
课堂PPT如下所示:
loss(error) function 是单个样例的损失/误差;而 cost function 是对数据集整体的误差描述,是选定参数 w 和 b 后对数据进行估计所要支付的代价,cost 是对所有数据的误差取平均得到的。
关于此块具体详解,参考周志华老师的《机器学习》书中如下解释,
以在SVM中为例,SVM中优化目标函数如下:
经验损失(loss)就是传说中的损失函数或者代价函数。结构损失(Ω)就是正则项之类的来控制模型复杂程度的函数。
其中经验风险(empirical risk),用于描述模型与训练数据的契合程度;C用于对二者分析进行折中。从经验风险最小化的角度来看,表达了我们需要获得具有何种性质的模型(例如取得复杂度较小的模型),这为引入领域知识和用户意图提供了路径;另一方面,该信息有助于削减假设空间,从而降低了最小化训练误差的过拟合风险。