交叉熵损失函数和似然估计_交叉熵和极大似然估计的再理解

对于一个多分类问题(假设为

类),有数据集

。我们希望建立模型去建模概率分布

,模型参数为

我们使用损失函数评估模型的好坏,可以采用两种方式来导出。

极大似然估计

由于是多分类问题,故样本空间上的

满足某个Categorical distribution。由Categorical distribution定义知,

其中,

是分布的参数,也是分布的输出概率向量。

是one-hot编码的标签向量。

例如对于一个天气4分类问题,输出概率向量如下:

p = {'rain': .14, 'snow': .37, 'sleet': .03, 'hail': .46}

则分类为snow的概率为

我们使用极大似然估计去估计分布参数

假设有

个样本:

,则似然函数为

我们期望最大化似然估计,即最小化负对数似然函数:

由于采用one-hot编码,故

的项乘积均为0,只需考虑

时。故上述函数可变形为:

交叉熵

信息论背景知识补习In information theory, chaos processes more information.

信息一般可以被表述为不确定性的程度,有如下特性一定发生的事件没有信息

很有可能发生的事件几乎没有信息

随机事件拥有更多的信息

独立事件可以增加信息——抛两次正面的骰子的信息量大于抛一次正面骰子的信息量

事件的信息可以形式化为:

熵用于衡量信息的多少,被定义为:

离散随机变量$x$的熵即:

以2为底,则可以衡量编码信息的比特数多少。在信息论中,信息与随机性是正相关的。高熵等于高随机性,需要更多的比特来编码。

例如,计算丢一枚硬币的熵:

则我们可以用1位比特来编码。

KL Divergence常用于衡量两个分布

的距离,被定义为

故对于离散型随机变量而言,

注意,KL距离并不对称。

熵可以衡量编码信息的最少比特数,交叉熵则可以衡量使用Q的错误优化编码方案对具有分布P的x进行编码的最小比特数。其被定义为:

同时,其可以被写为:

由于

与模型参数无关,可以视为常数。故最小化KL距离等价于最小化交叉熵。

在深度学习中,

一般为真实标签的分布,

一般为模型预测输出的分布。

交叉熵损失函数

我们希望能够最小化真实分布

与模型输出分布

的距离,等价于最小化两者的交叉熵,其被定义为:

由此可见,最小化交叉熵和最小化负对数似然函数是等价的。

参考链接

你可能感兴趣的:(交叉熵损失函数和似然估计)