来自:纸鱼AI
对于一个多分类问题(假设为 类),有数据集 。我们希望建立模型去建模概率分布 ,模型参数为 。
我们使用损失函数评估模型的好坏,可以采用两种方式来导出。
由于是多分类问题,故样本空间上的 满足某个分类分布。由分类分布定义知,
其中, 是分布的参数,也是分布的输出概率向量。 是one-hot编码的标签向量。
例如对于一个天气4分类问题,输出概率向量如下(向右滑动):
p = {'rain': .14, 'snow': .37, 'sleet': .03, 'hail': .46}
则分类为snow的概率为
我们使用极大似然估计去估计分布参数 。注意:这里极大似然估计并,。
假设有 个样本: ,则似然函数为
我们期望最大化似然估计,即最小化负对数似然函数:
由于采用one-hot编码,故 的项乘积均为0,只需考虑 时。故上述函数可变形为:
Chaos processes more information.
信息一般可以被表述为不确定性的程度,有如下特性
事件的信息可以形式化为:
熵用于衡量信息的多少,被定义为:
离散随机变量 的熵即:
若 以2为底,则可以衡量编码信息的比特数多少。在信息论中,信息与随机性是正相关的。高熵等于高随机性,需要更多的比特来编码。
例如,计算丢一枚硬币的熵(公式向右滑动):
则我们可以用1位比特来编码。
KL Divergence常用于衡量两个分布 的距离,被定义为(公式向右滑动)
故对于离散型随机变量而言(公式向右滑动),
source: wikipedia
注意,KL距离并不对称。
熵可以衡量编码信息的最少比特数,交叉熵则可以衡量使用Q的错误优化编码方案对具有分布P的x进行编码的最小比特数。其被定义为(公式向右滑动):
同时,其可以被写为(公式向右滑动):
由于 与模型参数无关,可以视为常数。故最小化KL距离等价于最小化交叉熵。
在深度学习中, 一般为真实标签的分布, 一般为模型预测输出的分布。
我们希望能够最小化真实分布 与模型输出分布 的距离,等价于最小化两者的交叉熵,其被定义为(公式向右滑动):
由此可见,最小化交叉熵和最小化负对数似然函数是等价的。
[1] http://willwolf.io/2017/05/18/minimizing_the_negative_log_likelihood_in_english/
[2] https://www.quora.com/What-are-the-differences-between-maximum-likelihood-and-cross-entropy-as-a-loss-function
[3] https://jhui.github.io/2017/01/05/Deep-learning-Information-theory/
[4] https://en.wikipedia.org/wiki/Categorical_distribution
推荐两个专辑给大家:
专辑 | 李宏毅人类语言处理2020笔记
整理不易,还望给个在看!