信息熵、交叉熵、相对熵原理与softmax函数的应用

信息熵在人工智能领域有着举足轻重的作用,尤其在分类的算法中,可利用其特性设计损失函数推导出最优数学模型;softmax函数是一种处理数据手段,一般会出现在模型最后阶段,比如各种神经网络的最后一层,经过softmax函数处理后可把任意数据(一般表现为向量) 处理成概率形式,这样就可以用交叉熵的方法得到与真实概率分布之间损失,进而优化模型参数,本篇先介绍信息熵、交叉熵、相对熵,然后对softmax函数做相应介绍。

一、信息熵、交叉熵、相对熵

    熵原本是物理中一个热力学概念,熵反应了物质无序的程度,熵越大其无序性也越大,任何物质都会自发的向无序状态演变。而在计算机信息领域借用了这个概念,用信息熵来反应信息的不确定性,信息熵越大,不确定性越大,如果有些信息能够消除不确定性,使熵变小,那么这类信息对我们处理问题就是有益的。比如你老板是一位男性,在电影院陪着家人看电影,你突然有事去找他但不知道具体他在哪个位置,这时你满电影院地找他这就是这个问题本来的信息熵,代表了你找到你老板的难度比较大,如果有人告诉你他在第四排,这个好找多了,代表着信息熵就变小了,这个第几排的信息对我们消除找到你老板的难度是有帮助的,而如果我告诉的是你老板是一个40岁的男子,这类信息对降低信息熵没丝毫作用,因为你本来就知道这些信息。

1.1   信息熵的概念

信息熵.png

1.2   交叉熵与最大似然法

   信息熵反映了真实数据的不确定性,这是样本固有的一个概率特性,机器学习等人工智能方法就是需要利用数学模型模拟出一个概率(我们可以称之为实验概率)接近这个真实概率,从而量化真实数据掌握其规律,利用交叉熵来衡量实验概率与真实概率之间的差距。

交叉熵1.jpg

交叉熵2.jpg

这样我们就明白了,利用交叉熵优化分类模型其实分为两个步骤,先求出实验概率分布与真实分布之间的交叉熵,然后定义损失函数使这个交叉熵逐渐变小直到最小值;而最大似然法就更为直接,就是求最小的交叉熵,所以两者殊途同归,核心都是降低交叉熵。

1.3  相对熵

  有了信息熵和交叉熵之后就可以定义相对熵的概念了,相对熵=交叉熵-信息熵。严格意义上来说众多"熵"的概念中,相对熵才是真正反映实验概率与真实概率之间差异的“熵”,只不过在真实数据给定后其信息熵是一个常量,所以我们把优化相对熵的任务集中在优化交叉熵的问题上。相对熵是一个大于等于0的数,其值取零时,交叉熵等于信息熵,意味着实验概率完全拟合了真实概率。这里会有一个疑问,为什么交叉熵一定大于等于信息熵呢?

相对熵.jpg

jesson_1.jpg

相对熵一.jpg

相对熵二.jpg

以上一系列推导,是我们发现交叉熵是一个构造出来的函数,其性质非常优美,交叉熵非常好的将概率知识与分析学完美的结合在一起,而最终也将使用交叉熵来建立损失函数,提高模型的准确率。接下来介绍softmax的函数其实并没有太大的创新,只是将所有类型的数据处理成交叉熵能够接受的形式,通过之前介绍可以发现,熵接受的参数都是概率,这是一个[0,1]之间实数,而大千世界各种样本都有,这就需要把各种各样的数据都处理成概率形式。

利用交叉熵实现softmax函数请看下面链接

相对熵原理与softmax函数的应用