Reading

损失函数

机器学习

Hinge Loss

Hinge的叫法来源于其损失函数的图形,为一个折线,通用函数方式为:

Hinge可以解 间距最大化 问题,带有代表性的就是svm,最初的svm优化函数如下:

将约束项进行变形则为:

则可以将损失函数进一步写为:

因此svm的损失函数可以看成L2-Norm和Hinge损失误差之和.

交叉熵

从熵来看交叉熵损失

信息量

信息量来衡量一个事件的不确定性,一个事件发生的概率越大,不确定性越小,则其携带的信息量就越小。

设𝑋是一个离散型随机变量,其取值为集合 ,则其概率分布函数为,则定义事件 的信息量为

时,该事件必定发生,其信息量为0.

熵用来衡量一个系统的混乱程度,代表系统中信息量的总和;熵值越大,表明这个系统的不确定性就越大。

信息量是衡量某个事件的不确定性,而熵是衡量一个系统(所有事件)的不确定性

熵的计算公式

其中,为事件的概率,为事件的信息量。

可以看出,熵是信息量的期望值,是一个随机变量(一个系统,事件所有可能性)不确定性的度量。熵值越大,随机变量的取值就越难确定,系统也就越不稳定;熵值越小,随机变量的取值也就越容易确定,系统越稳定。

相对熵 Relative entropy

相对熵也称为KL散度(Kullback-Leibler divergence),表示同一个随机变量的两个不同分布间的距离

 分别是 离散随机变量𝑋的两个概率分布,则的相对熵是:

相对熵具有以下性质:

  • 如果和的分布相同,则其相对熵等于0
  • ,也就是相对熵不具有对称性。

  • 总的来说,相对熵是用来衡量同一个随机变量的两个不同分布之间的距离。在实际应用中,假如是目标真实的分布,而𝑞(𝑥)是预测得来的分布,为了让这两个分布尽可能的相同的,就需要最小化KL散度。

交叉熵 Cross Entropy

分别是 离散随机变量𝑋的两个概率分布,其中是目标分布,的交叉熵可以看做是,使用分布 表示目标分布的困难程度:

将熵、相对熵以及交叉熵的公式放到一起,

通过上面三个公式就可以得到

在机器学习中,目标的分布 通常是训练数据的分布是固定,即是 是一个常量。这样两个分布的交叉熵也就等价于最小化这两个分布的相对熵

 是目标分布(训练数据的分布),我们的目标的就让训练得到的分布尽可能的接近,这时候就可以最小化,等价于最小化交叉熵 。

从最大似然看交叉熵

设有一组训练样本 ,该样本的分布为 。假设使用参数化模型得到 ,现用这个模型来估计𝑋的概率分布,得到似然函数

最大似然估计就是求得𝜃 使得𝐿(𝜃) 的值最大,也就是

对上式的两边同时取log ,等价优化log 的最大似然估计即log-likelyhood ,最大对数似然估计

对上式的右边进行缩放并不会改变𝑎𝑟𝑔max 的解,上式的右边除以样本的个数𝑚

和相对熵等价

上式的最大化 是和没有训练样本没有关联的,就需要某种变换使其可以用训练的样本分布来表示,因为训练样本的分布可以看作是已知的,也是对最大化似然的一个约束条件。

注意上式的

相当于求随机变量𝑋 的函数logq(𝑋;𝜃) 的均值 ,根据大数定理,随着样本容量的增加,样本的算术平均值将趋近于随机变量的期望。 也就是说

其中 表示符合样本分布𝑃 的期望,这样就将最大似然估计使用真实样本的期望来表

对右边取负号,将最大化变成最小化运算。

由于 是训练样本的期望,是个固定的常数,在求最小值时可以忽略,所以最小化 就变成了最小化,这和最大似然估计是等价的。

和交叉熵等价

最大似然估计、相对熵、交叉熵的公式如下

从上面可以看出,最小化交叉熵,也就是最小化 ,从而预测的分布𝑞(𝑥) 和训练样本的真实分布𝑝(𝑥) 最接近。而最小化 和最大似然估计是等价的。

交叉熵优点

假设有一个带可学习的权值w和偏置b的神经元,输入x,输出为z,即,然后使用sigmoid函数激活,那么最终的输出如下,其中为sigmoid函数,

交叉熵代价函数的定义如下

利用链式法则进行求导分析

此外,还应注意到的导数化简后具有很简洁的形式

最终可以得到非常简洁的化简结果

同理可得到对的偏导数

当我们使用交叉熵作为代价函数时,由于导数的特殊形式,可以抵消交叉熵代价函数的导数中这一项,从而避免了某些情况下进入饱和区而导致梯度消失的情况。此外,当误差较大时,也就是 较大时,其梯度也较大,从而可以实现误差较大时网络的学习速率也较快,从而加速网络的收敛。

因此,在处理分类问题上,我们通常选择交叉熵作为网络的代价函数。