机器学习
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函数,
交叉熵代价函数的定义如下
利用链式法则进行求导分析
此外,还应注意到的导数化简后具有很简洁的形式
最终可以得到非常简洁的化简结果
同理可得到对的偏导数
当我们使用交叉熵作为代价函数时,由于导数的特殊形式,可以抵消交叉熵代价函数的导数中这一项,从而避免了某些情况下进入饱和区而导致梯度消失的情况。此外,当误差较大时,也就是 较大时,其梯度也较大,从而可以实现误差较大时网络的学习速率也较快,从而加速网络的收敛。
因此,在处理分类问题上,我们通常选择交叉熵作为网络的代价函数。