欢迎转载,作者:Ling,注明出处:深度学习:原理简明教程09-深度学习:损失函数

损失函数:又称Objective函数或者称Cost函数,主要是用于衡量预测值与真实值的差异情况。

1)如果预测结果和真实结果越接近,损失函数值越小,预测结果和真实结果越不同,损失函数值越大

2)通过BP算法,根据损失函数,可以不断优化神经网络各种参数

框架常见损失函数有:基本所有损失函数都是输入预测值与真实值

mean_squared_error

mean_absolute_error

mean_absolute_percentage_error

mean_squared_logarithmic_error

squared_hinge

hinge

categorical_hinge

logcosh

binary_crossentropy

categorical_crossentropy

sparse_categorical_crossentropy

kullback_leibler_divergence

poisson

cosine_proximity


mean_squared_error

公式

dl_09_001

特点

1)常用于回归问题

2)MSE均方误差损失

 

mean_absolute_error

公式:

dl_09_002

特点

1)MAE平均绝对值误差损失

mean_absolute_percentage_error:

公式:

dl_09_003

特点:

1)MAPE平均绝对百分误差

mean_squared_logarithmic_error:

公式:

dl_09_004

特点

1)MSLE均方对数损失(mse的改进)

2)MSLE相比与MSE的改进:如果想要预测的值范围很大,MSE会受到一些大的值的引导,即使小的值预测准也不行.假设如:

y_true:[1,2,3,100]

y_1:[1,2,3,110]

y_2:[2,3,4,100]

MSE计算结果(y_1:100,y_2:3)会认为y_2优于y_1.

MSLE计算结果(有_1:0.047,0.27)通过预先将所有值取log缓解了这一情况,会认为y_1优于y_2.这比较合理.


squared_hinge:

公式:

dl_09_005


hinge:

公式:

dl_09_006

 

categorical_hinge:

公式:

dl_09_007

 

logcosh:

公式:

dl_09_008

特点

1)从图中大致可以看出来如果y_pred与y_true差异越小则值越小.

dl_09_009

2)感觉用得不多

 

binary_crossentropy:(注意keras中是概率,需要先转成logits,也就是w*x没有经过sigmoid之前的值)

公式:

L    = y * -log(sigmoid(z)) + (1 – y) * -log(1 – sigmoid(z))

      = y * -log(1 / (1 + exp(-z))) + (1 – y) * -log(exp(-z) / (1 + exp(-z)))

      = y * log(1 + exp(-z)) + (1 -y) * (-log(exp(-z)) + log(1 + exp(-z)))

      = y * log(1 + exp(-z)) + (1 – y) * (z + log(1 + exp(-z))

      = (1 – y) * z + log(1 + exp(-z))

      = z – z * y + log(1 + exp(-z))

其中z=w*x,即没有做sigmoid之前的值,在tensorflow中称为logits

如果是做了sigmod之后的值为:

dl_09_010

本文标准写法:

dl_09_011

特点:

1)主要用于二分类

2)配合sigmod用

 

categorical_crossentropy:

公式:

dl_09_012

特点

1)其中n为样本数,c为label类别,主要适用于one-hot

2)一定配合softmax

3)适用于多分类问题

4)必须是one-hot类型的vector作为y值

 

sparse_categorical_crossentropy:

特点:

1)和categorical_crossentropy一样,不过可以接受非one-hot的vector作为y值

2)配合softmax用

3)可用于稀疏多分类问题

 

kullback_leibler_divergence:

公式:

dl_09_013

特点:

1)两个概率分布P和Q差别的非对称性的度量. 典型情况下,P表示数据的真实分布,Q表示数据的理论分布,模型分布,或P的近似分布。如果两者可以互相替代,值越小,否则越大。

2)KL散度

 

 

poisson:

公式:

dl_09_014

 

cosine_proximity:

公式:

dl_09_015

 

总结:

1)回归问题,经常用:

mean_squared_error

mean_absolute_error

mean_absolute_percentage_error

mean_squared_logarithmic_error

squared_hinge

hinge

categorical_hinge

logcosh

kullback_leibler_divergence

poisson

cosine_proximity

2)二分类问题常用:

binary_crossentropy

3)多分类问题常用:

categorical_crossentropy:one-hot的y

sparse_categorical_crossentropy:非one-hot的y