之前看过为什么使用交叉熵作为损失函数的一些文章,认为花书上讲的更接近本质,从最大似然估计出发推导交叉熵,记录一下,有描述不对的地方敬请指教。
什么是最大似然估计?通俗而言,利用已知的样本结果,反推最有可能这样结果的模型参数。
考虑一组含有m个样本的数据集,独立地由未知的真实数据生成分布生成,就是已知的样本。
令是一族由确定在相同空间上的概率分布。换言之,是模型参数,将任意输入映射到到实数来估计真实概率。
对的最大似然估计被定义为:
已知样本,求解值,使的模型估计概率最大。多项乘积不利于计算,转换为求和形式:
重新缩放代价函数时argmax不会改变。比如,当样本等价分布时,我们除以m得到训练经验分布相关的期望作为准则,即交叉熵:
其中,函数关于某分布的期望是指:当就是X服从分布,作用于x时,的均值。
另一种解释最大似然估计的观点是将它看作最小化训练集上的经验分布和模型分布之间的差异。两者的差异程度可以通过KL散度度量。
KL散度被定义为:
上式中,左式仅涉及数据本身,与模型无关。这意味着当训练模型最小化KL散度,我们只需要最小化
这与下式是等价的。