目标函数(Objective Function)、损失函数(Loss Function)与代价函数(Cost Function)

目标函数(Objective Function)、损失函数(Loss Function)、代价函数(Cost Function)在某些情况下可以互换使用,本文将详细说明它们之间有什么区别。

Loss Function
损失函数(Loss Function)衡量了模型 f ff 对样本 x xx 的预测结果 \hat y = f(x) 与真实标签y \equiv y ( x ) 的距离。注意,损失函数的计算目标是单个样本 x。因此,大部分距离度量函数都能够作为损失函数,而选择不同的损失函数也有各自的优缺点。比如:

Square Loss:

L_{square} (\hat{y},y)=(\hat{y}-y)^{2}

Absolute Loss:

L_{abs} (\hat{y},y)=\left | \hat{y}-y \right |

Cost Function
代价函数(Cost Function)和损失函数(Loss Function)通常是一个意思,但有些作者对两者做出了明显的区分:损失函数的计算目标是单个样本 x,而代价函数的计算目标是一组样本。

假设 L 为损失函数,计算样本 x上的损失。那么代价函数则可以表示为整个训练/验证/测试集\mathcal{D} = \{ (x_i, y_i) \}_{i=1}^{n} 上所有样本的损失之和的平均值(Cost = mean Loss):

Cost(f,D)=\frac{1}{n}\sum_{i=1}^{n}L(\hat(y_{i}),y_{i})

Mean Squared Error:

MSE=\frac{1}{n}\sum_{i=1}^{n}L_{squared}(\hat{y_{i}},y_{i})=\frac{1}{n}\sum_{i=1}^{n}(\hat{y_{i}}-y_{i})^{2}

Root-Mean-Square Error (RMSE):

MSE=\sqrt{\frac{1}{n}\sum_{i=1}^{n}(\hat{y_{i}}-y_{i})^{2}}

Objective Function

在模型训练过程中,我们想要 Loss(Cost)值尽可能低,但是在训练集上的 low loss (cost) 不是唯一追求的目标。我们更关心的是模型的泛化能力,也就是在验证/测试集上的表现。为了避免模型对训练集的过拟合,我们通常会加一个正则化项(regularization term)来惩罚模型的复杂度,此时我们想要最小化的函数就变成了:

\mathbb{E} = Cost(f, \mathcal{D}) + Regularizer(f)

此时 \mathbb{E} 就是目标函数(Objective Function),是我们最终想要最小化/最大化的目标。这时代价函数作为目标函数中的一项,不一定能达到最小值(因为有正则化项约束)。当然,若不添加正则化项,则目标函数就等于代价函数。

Conclusion
损失函数(Loss Function)指在单个样本上的损失,代价函数(Cost Function)指在整个集合上所有样本损失的平均值,目标函数(Objective Function)指整体优化目标,可能包含额外的正则化项。

一种比较通用的说法是,最小化在整个集合上的损失函数,等价于最小化代价函数:

minimizing the cross-entropy loss over a training set \{ (x_i, y_i) \}_{i=1}^{n}


原文链接:https://blog.csdn.net/qq_31347869/article/details/131322084

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值