常用损失函数loss(均方误差、交叉熵)

一、均方误差(Mean Squared Error)

表示预测数据和原始数据对应点误差的平方和的均值,常用于线性回归问题。

公式:loss=\frac{1}{2m}\sum\limits_{i=1}^{m}{​{​{({​{y}_{i}}-\hat{y_{i}})}^{2}}}

m表示样本数量。

二、交叉熵(cross entropy):

极其有意思的现象:A和B的交叉熵 = A与B的KL散度 - A的熵。

信息论

1、信息量

含义:越不可能发生(概率p(x)越小)的事件发生了,其信息量就越大。 

公式:I(x)=-log(p(x))

表示:负对数函数。

2、熵

含义:所有信息量的期望。

公式:H(X)=-\sum\limits_{i=1}^{n}{p({​{x}_{i}})log(p({​{x}_{i}}))}

不确定性越大熵越大。

相对熵&KL散度(Kullback-Leibler (KL) divergence)

含义:衡量同一个随机变量 x 的两个单独的概率分布 P(x) 和 Q(x)的差异,KL散度值越小表示两个分布越接近,其就像两个分布之间的距离。

公式:{​{D}_{KL}}(p||q)=\sum\limits_{i=1}^{n}{p({​{x}_{i}})log(\frac{p({​{x}_{i}})}{q({​{x}_{i}})})}

交叉熵(cross entropy):

含义:和KL散度一样衡量两个分布的差异性,常用于分类问题。

公式:H(p,q)=-\sum\limits_{i=1}^{n}{p({​{x}_{i}})log(q({​{x}_{i}})}

深度学习中为什么使用交叉熵

目的:求目标值与预测值之间的差距。

对于深度学习中使用交叉熵作为损失函数,其实和采用KL散度没有区别,计算交叉熵更简便。

KL散度公式变形:

{​{D}_{KL}}(p||q) =\sum\limits_{i=1}^{n}{p({​{x}_{i}})log(\frac{p({​{x}_{i}})}{q({​{x}_{i}})})} \\ =\sum\limits_{i=1}^{n}{p({​{x}_{i}})[log(p({​{x}_{i}}))-log(q({​{x}_{i}}))]} \\ =\sum\limits_{i=1}^{n}{p({​{x}_{i}})log(p({​{x}_{i}}))}\sum\limits_{i=1}^{n}{p({​{x}_{i}})log(q({​{x}_{i}}))} \\ =-H(p(x))+[-\sum\limits_{i=1}^{n}{p({​{x}_{i}})log(q({​{x}_{i}}))}] \\

公式后半部分恰好为交叉熵,其中熵H(p(x))是不变的。

注:对于深度学习优化时,最小化KL散度等同于最小化交叉熵。

单分类交叉熵

多分类交叉熵

猜你喜欢

转载自blog.csdn.net/qq_41750911/article/details/124075295
今日推荐