老饼讲解-深度学习 机器学习 神经网络 深度学习
CNN入门教程

【原理】softmax函数与交叉熵函数的原理

作者 : 老饼 发表日期 : 2023-07-28 10:49:35 更新日期 : 2024-03-07 17:45:07
本站原创文章,转载请说明来自《老饼讲解-深度学习》www.bbbdata.com


    

softmax函数与交叉熵函数是机器学习中类别预测最常用的两个函数

本文讲解softmax函数与交叉熵函数的具体原理及推导,

通过本文可以了解softmax函数与交叉熵函数是怎么来的,它们的背景意义是什么




    01. softmax函数与交叉熵函数简介    



本节简单介绍softmax函数与交叉熵损失函数



     softmax函数与交叉熵函数     


softmax与交叉熵损失函数是两把利器,可以把一切数值预测模型转化为类别预测的模型
 其中,softmax负责把模型的预测数值转换为概率,而交叉熵损失函数则引导模型各个参数的求解
 

softmax与交叉熵损失函数几乎成为了最常见的搭配,而它们的原理都同样来源于信息学
本文详细解释softmax与交叉熵两者到底是怎么来的,它们背后的意义的原理各是什么




       信息量回顾       


为方便理解softmax与交叉熵损失函数,下面我们先回顾简单信息量是什么
如果发生事件A的概率为p,那么事件A的信息量根据信息学的定义就为-ln(p)
 例如一般明天下雨的概率为0.3,现在我告诉你,明天会下雨,这件事的信息量就为-ln(0.3)
 

 在机器学习中,我们希望信息量越低越好,说明这件事尽在我们掌握之中,惊讶不到我们
 可以将信息量理解为事件的“震惊程度”,信息量越大(事件发生的概率越低),越让人惊讶






    02. softmax的原理    



本节讲解softmax函数的原理,通过本节可以了解softmax函数是怎么来的




       softmax的原理       


在深度学习中经常用到softmax函数,将数值转换为概率
那么,softmax函数是怎么来的?它的背景意义是什么?为什么能把数值
转换为概率
softmax的整体原理源自于信息学,它把看作模型从X中得知样本属于类别i的信息量,
再根据信息量与概率的关系,把转换为概率, 下面进行简单推导与讲述
softmax的公式如下:
 
 ,
假设样本属于各个类别的总信息量都为b,则事后得知样本类别时所获得的信息量应当扣除
 
即得知样本属于第i个类别时所获得的信息量为,即如下:
 
                       
进一步消去b,则有:
  
 所以,一个好的模型应能从X中获取更多的样本真正类别的信息量,即真正类别对应的z应更加大
备注:上述推导中把作为已获取信息量,所以不能为非负数,
但事实上softmax中的
是可以为负数的,这只需进行一个简单的推广就可以,这里不再拓展








    03. 交叉熵损失函数的原理    



本节讲解交叉熵损失函数的原理,通过本节可以了解交叉熵损失函数是怎么来的




      交叉熵损失函数的原理       


现有m个样本,假设第i个样本真实标签为第k类,而我们认为它属于第k类的概率为,
在这个认知的基础上,当我们知道样本的真实标签时,
每个样本带给我们的平均震惊程度,也就是信息量期望(熵)为
 
 其中,为第i个样本属于真实类别的预测概率
这就是交叉熵损失函数,又由于我们的预测结果一般是如下的概率矩阵
 
由于类别的数量一般远小于样本数据,计算时一般按类别进行历遍,
所以我们一般将交叉熵损失函数写成如下形式
  
其中,为第i个样本属于第k类的概率,k是样本的真实类别





好了,以上就是softmax函数与交叉熵函数的原理了~







 End 





联系老饼