前言:很多看似困难的事情,只要我们静下心来理清整个过程,逐一击破各个知识点,最终我们会做到看似不可能的事
一.交叉熵损失函数理解过程
1.什么是信息量
2.什么是熵
3.什么是相对熵(KL散度)
4.什么是交叉熵(由KL散度推出)
5.用例子来理解交叉熵损失函数
使用交叉熵时,其预测结果必须是概率值,所以CrossEntropy函数才会内置softmax对结果进行概率化
上面5个知识点详见下面blog:
交叉熵损失函数(Cross Entropy Loss)_SongGu1996的博客-CSDN博客
二.最小化负对数似然函数理解过程
1.什么是似然函数
2.为什么要对数似然
3.最大化对数似然==最小化负对数似然
详见:一文搞懂极大似然估计 - 知乎
三.联系
1.最小化负对数似然是为了得到最可能满足当前预测结果分布的参数
2.交叉熵损失函数是为了最小化预测分布与真实分布的差距(从KL散度来理解)
3.对于单标签多分类问题,最小化负对数似然等价于交叉熵损失函数(公式推得)
这里我们只给出了单个样本的示例:
(此处是真实标签 one-hot,是对应标签的概率值)
因为是单标签多分类任务,我们采用的真实标签是one-hot编码,这意味着上述公式简化为
(真实标签为1则保留该项、为0则舍去,是对应标签的概率值)
可以看到上述公式与最小化负对数似然函数相同!
当模型输出没有使用softmax时,直接使用负对数似然函数!=交叉熵损失函数;另一个意思也就是,当输出使用softmax后再使用负对数似然函数,其结果等价于交叉熵损失函数
结语:
本文只是为了提供一个理解的过程,并不会给出具体解释,这样会看着很杂乱。当按照上文逐一理解每个点时,你也就理解两个函数的联系