【ML】常用损失函数

Backto ML Index

Loss function 损失函数description 描述Scenes 使用问题
MAEMean Absolute Error L ( y ^ , y ) = 1 n ∑ i n ∣ y i − y i ^ ∣ L(\hat y, y)= \frac 1 n\sum_i^n{ \vert y_i - \hat {y_i} \vert} L(y^,y)=n1inyiyi^Regression
MSEMean Squared Error L ( y ^ , y ) = 1 n ∑ i n ( y i − y i ^ ) 2 L(\hat y, y)= \frac 1 n\sum_i^n{ (y_i - \hat {y_i})^2} L(y^,y)=n1in(yiyi^)2Regression
Entropy Loss L ( y ^ , y ) = − 1 n ∑ i n ( y i ln ⁡ y i ^ + ( 1 − y i ) ln ⁡ ( 1 − y i ^ ) ) L(\hat y, y)= - \frac 1 n \sum_i^n({ y_i\ln \hat {y_i}} + (1-y_i)\ln {(1-\hat{y_i})}) L(y^,y)=n1in(yilnyi^+(1yi)ln(1yi^))classification
Hinge Loss L o s s = ∑ j ≠ y i max ⁡ ( 0 , s j − s y i + 1 ) Loss = \sum_{j \neq y_i} \max (0, s_j - s_{y_i} + 1) Loss=j̸=yimax(0,sjsyi+1)classification

Cross Entropy Loss

交叉熵损失函数,完整形式为 L ( y ^ , y ) = − 1 n ∑ i ( y i ln ⁡ y i ^ + ( 1 − y i ) ln ⁡ ( 1 − y i ^ ) ) L(\hat y, y)= - \frac 1 n \sum_i({ y_i\ln \hat {y_i}} + (1-y_i)\ln {(1-\hat{y_i})}) L(y^,y)=n1i(yilnyi^+(1yi)ln(1yi^)). 当真实 label 的值 y i = 0 y_i = 0 yi=0 的情况下,前半部分消失,当 y i = 1 y_i = 1 yi=1的情况下,后半部分消失。

Cross Entropy Loss 有两个特性:

  • 非负性。我们的目标是最小化 L, 也就是逼近 0
  • 当网络输出 y ^ \hat y y^ 与 事实label y y y 很接近的时候,即准确性很高的时候,L 的值都接近 0. 非常理想的情况。

这两个特性也是我们设计 Cross Entropy Loss 的初衷。

再看BP 中的导数计算,已知
y ^ = δ ( z ) , z = ∑ i ω i x i + b \hat y = \delta(z), z = \sum_i \omega_i x_i + b y^=δ(z),z=iωixi+b
对于单个神经元而言, L ( y ^ , y ) = − ( y ln ⁡ y ^ + ( 1 − y ) ln ⁡ ( 1 − y ^ ) ) L(\hat y,y) = -(y\ln \hat y + (1-y) \ln (1-\hat y)) L(y^,y)=(ylny^+(1y)ln(1y^))

(TODO: 待补充,with Andrew Ng)

Hinge Loss

hinge loss 常用于最大间隔分类(maximum-margin classification),最常用的是SVM。
基本思路是 :在一定的安全间隔内(通常是 1),正确类别的分数应高于所有错误类别的分数之和。
Hinge Loss不可微,但它是一个凸函数,因此可以轻而易举地使用机器学习领域中常用的凸优化器。

L o s s = ∑ j ≠ y i max ⁡ ( 0 , s j − s y i + 1 ) Loss = \sum_{j \neq y_i} \max (0, s_j - s_{y_i} + 1) Loss=j̸=yimax(0,sjsyi+1)

举例:
以下是分类器在三个样本(Image #1,#2, #3)上对于三个类别(Dog/Cat/Horse)预测的结果,哪个好,哪个坏呢?通过 Hinge Loss 计算一哈
在这里插入图片描述

## 1st training example
max(0, (1.49) - (-0.39) + 1) + max(0, (4.21) - (-0.39) + 1)
max(0, 2.88) + max(0, 5.6)
2.88 + 5.6
8.48 (High loss as very wrong prediction)
## 2nd training example
max(0, (-4.61) - (3.28)+ 1) + max(0, (1.46) - (3.28)+ 1)
max(0, -6.89) + max(0, -0.82)
0 + 0
0 (Zero loss as correct prediction)
## 3rd training example
max(0, (1.03) - (-2.27)+ 1) + max(0, (-2.37) - (-2.27)+ 1)
max(0, 4.3) + max(0, 0.9)
4.3 + 0.9
5.2 (High loss as very wrong prediction)

Ref

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值