目标函数(Objective Function)、损失函数(Loss Function)、代价函数(Cost Function)在某些情况下可以互换使用,本文将详细说明它们之间有什么区别。
Loss Function
损失函数(Loss Function)衡量了模型 f f f 对样本 x x x 的预测结果 y ^ = f ( x ) \hat y = f(x) y^=f(x) 与真实标签 y ≡ y ( x ) y \equiv y(x) y≡y(x) 的距离。注意,损失函数的计算目标是单个样本 x x x。因此,大部分距离度量函数都能够作为损失函数,而选择不同的损失函数也有各自的优缺点。比如:
Square Loss:
L s q u a r e ( y ^ , y ) = ( y ^ − y ) 2 L_{square}(\hat y, y) = (\hat y – y)^2 Lsquare(y^,y)=(y^−y)2
Absolute Loss:
L a b s ( y ^ , y ) = ∣ y ^ − y ∣ L_{abs}(\hat y, y) = |\hat y – y| Labs(y^,y)=∣y^−y∣
Cost Function
代价函数(Cost Function)和损失函数(Loss Function)通常是一个意思,但有些作者对两者做出了明显的区分:损失函数的计算目标是单个样本 x x x,而代价函数的计算目标是一组样本。
假设 L L L 为损失函数,计算样本 x x x 上的损失。那么代价函数则可以表示为整个训练/验证/测试集 D = { ( x i , y i ) } i = 1 n \mathcal{D} = \{ (x_i, y_i) \}_{i=1}^{n} D={(xi,yi)}i=1n 上所有样本的损失之和的平均值(Cost = mean Loss):
C o s t ( f , D ) = 1 n ∑ i = 1 n L ( y ^ i , y i ) Cost(f, \mathcal{D}) = \frac{1}{n} \sum_{i=1}^{n} L(\hat y_i, y_i) Cost(f,D)=n1i=1∑nL(y^i,yi)
Mean Squared Error:
M S E = 1 n ∑ i = 1 n L s q u a r e d ( y ^ i , y i ) = 1 n ∑ i = 1 n ( y ^ i − y i ) 2 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 MSE=n1i=1∑nLsquared(y^i,yi)=n1i=1∑n(y^i−yi)2
Root-Mean-Square Error (RMSE):
R M S E = 1 n ∑ i = 1 n ( y ^ i − y i ) 2 RMSE = \sqrt{\frac{1}{n} \sum_{i=1}^{n} (\hat y_i – y_i)^2} RMSE=n1i=1∑n(y^i−yi)2
Objective Function
在模型训练过程中,我们想要 Loss(Cost)值尽可能低,但是在训练集上的 low loss (cost) 不是唯一追求的目标。我们更关心的是模型的泛化能力,也就是在验证/测试集上的表现。为了避免模型对训练集的过拟合,我们通常会加一个正则化项(regularization term)来惩罚模型的复杂度,此时我们想要最小化的函数就变成了:
E = C o s t ( f , D ) + R e g u l a r i z e r ( f ) \mathbb{E} = Cost(f, \mathcal{D}) + Regularizer(f) E=Cost(f,D)+Regularizer(f)
此时 E \mathbb{E} 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 \{ (x_i, y_i) \}_{i=1}^{n} {(xi,yi)}i=1n
参考资料:
[1] Difference Between the Cost, Loss, and the Objective Function
[2] Objective function, cost function, loss function: are they the same thing?
今天的文章
lead over函数_目标函数的正则项分享到此就结束了,感谢您的阅读。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/80324.html