ML中几种常见熵学习笔记

写在前面:刚刚敲了黑板,有几点学习总结,先记在这里,一来作为自己的知识回顾,二来欢迎各位指正批评,共同进步。

在机器学习中包括各种,例如信息熵条件熵交叉熵、相对熵、互信息、信息增益等。下面将分别介绍:

:其实我们最早接触熵的概念应该是在高中学化学时候接触的‘熵增焓减’,熵,热力学中表征物质状态的参量之一,用符号S表示,其物理意义是体系混乱程度的度量其在信息论中则表示了对随机变量不确定性的度量。

信息论眼里的熵):在机器学习中我们可以理解其为表示 feature random variable分布的混乱程度,这种分布越是混乱、无序,则熵值就越大,反之则反(在物理学中表示物质的状态,用其来度量体系的混乱程度);熵存在的意义是用于信息量的度量,即用其来衡量信息量的多少,意义在于此。熵(希腊语:entropia 英语:entropy)的概念是由德国物理学家克劳修斯1865年所提出[1] . 对于熵的理解下面这个例子较为简洁明了[2]:

“整个宇宙发展就是一个熵增的过程,具体到细节就是气体扩散、热量传递、宇宙爆炸等等,如果不加干扰,几种气体肯定会混合到一起,任何比环境温度高的物体,都会把热量向低温环境散发,直到系统内温度平衡,所有的恒星终将熄灭,宇宙中不再有能量的流动,因而不可避免地走向无序。如果房间不去打扫,那么房间肯定越来越乱,这就是一个自然的熵增过程。如果不施加外力影响,事物永远向着更混乱的状态发展,故而人存在的意义就是通过自身努力改造自身、改造自然。借用一句话:过去五千年,人类文明的进步只是因为人类学会利用外部能量(牲畜、火种、水力等等),越来越多的能量注入,使得人类社会向着文明有序的方向发展即通过人类的努力使得熵值一直在下降。大家一起努力使得整个世界熵值下降的更多吧!!!”

综上所述,熵的意义不仅限于数学的推导,其还十分接地气哩。


自信息:表示对某一事件发生时所带来信息量的多少(单位bit,提出人:香农);当某一事件以较大概率发生时,自信息就会很少,当某事件以较小 的概率发生了,自信息就比较大。举个栗子:已知A班有若干同学,有一位同学每次都考试考高分,真正的学霸,整体看书学习,而另外一位同学不爱学习,抽烟、喝酒、干仗。但是某一次考试这位不爱学习的同学居然也考了很高的分数,那么该事件背后隐含的信息量就比较大,such as 是否抄袭等等,或者一件我们认为不可能发生的事件发生了,那么我们收到的信息将会多于可能发生的事件。

数学表示为:(函数图象如下图(1)所示)


                

                                        图 1(横轴为概率,纵轴为自信息)

由图可见,自信息最小为0,但不能为负值(从概率的角度来说,不能为负,也受函数特性约束,从直观上来说,要么没有信息,不存在为负一说),概率越小,自信息越大



信息熵

1)单变量信息熵:自信息用于描述随机变量的某个事件发生带来的信息量,而信息熵则是在自信息的基础上,常用来描述整个随机分布所带来的信息量的平均值(由点及面,更具统计意义)。信息熵又名香农商,由香农提出;在ML领域,因为熵的计算是依据样本数据,所以也称之为经验熵,其数学表达如下:

              


由公式可见,(1)信息熵H(x)是由各项自信息的累加值均值。从中可以看出随机变量越多状态数(即事件的可能性)就越多信息熵也就越大(可通过证明)。在概率均等的情况下,存在的可能越多,信息熵越大,事件就越不确定

        (2)信息熵与事件的概率分布情况有关,概率分布越平均,信息熵越大,当所有概率均等的情况下,信息熵达到最大


2)多变量信息熵:联合信息熵数学表达如下:


其中:熵只依赖随机变量的分布,与其取值无关;0log0=0 是由某事件概率为0引起;熵越大,随机变量的不确定性就越大,分布就越混乱,随机变量的状态数就越多。



条件熵:即给定X的情况下,Y的条件概率分布的熵对X的期望,公式如下:(懒得画公式了,截图过来)



交叉熵:广泛用于逻辑回归的Sigmoid和softmax函数中作为损失函数。主要用于度量两个概率分布之间的差异性信息。P对Q的交叉熵表示P分布的自信息对Q分布的期望。数学定义为:


由定义我们可以知道,P是真实的样本,而q是预测出来的。

交叉熵被应用于logistic regression中,该算法应用的损失函数就是交叉熵,亦称负对数似然。定义如下

其中,yi是第i个样本的真实标签,h是sigmoid预测输出值,J是凸函数,可以得到全局

最优解。

  对于多分类的逻辑回归算法,通常我们使用Softmax作为输出层映射,其对应的损失函数也叫交叉熵,只不过写法有点区别,具体如下:

其中,m是样本个数,k是输出层个数


从上述两个公式我们可以看出,softmax是sigmoid在多分类上的推广。



相对熵:亦称kl散度,其作用类似于交叉熵,描述两个概率分布P和Q差异的一种方法,它是非对称的。在信息论中,D(P||Q)表示当用概率分布Q来拟合真实分布P时,产生的信息损耗,其中P表示真实分布,Q表示P的拟合分布。

数学公式如下:

相对熵与交叉熵相比有很多优点:1. 当p分布和q分布相等时候,KL散度值为0; 
                                                   2. 可以证明是非负的;

                                                  3 . 非对称的,通过公式可以看出,KL散度是衡量两个分布的不相似性,不相似性越大,则值越大,当完全相同时,取值为0。

简单对比交叉熵和相对熵,可以发现仅仅差了一个H(p),如果从优化角度来看,p是真实分布,是固定值,最小化KL散度情况下,H(p)可以省略,此时交叉熵等价于KL散度





互信息:用来评价两个分布之间的距离因为他是对称的,这里区别于相对熵,其不对称,只能用来描述两个分布 的相似性。定义是:一个随机变量由于已知的一个随机变量而减少其不确定性(即某一变量由于加入某观测变量使其不确定程度降低)。具体公式如下所示:

注:互信息在特征选择、分布距离评估中应用十分广泛。

信息增益:信息增益是决策树ID3算法在进行特征切割时使用的划分准则,其物理意义和互信息完全相同,并且公式也是完全相同


其中D表示数据集,A表示特征,信息增益表示得到A的信息而使得类X的不确定度下降的程度,在ID3中,需要选择一个A使得信息增益最大,这样可以使得分类系统进行快速决策

信息增益率:信息增益率是决策树C4.5算法引入的划分特征准则,其主要是克服信息增益存在的在某种特征上分类特征细,但实际上无意义取值时候导致的决策树划分特征失误的问题。例如假设有一列特征是身份证ID,每个人的都不一样,其信息增益肯定是最大的,但是对于一个情感分类系统来说,这个特征是没有意义的,此时如果采用ID3算法就会出现失误,而C4.5正好克服了ID3算法的不足。数学表达如下:


基尼系数:基尼系数是决策树CART算法引入的划分特征准则,其提出的目的不是为了克服上面算法存在的问题,而主要考虑的是计算快速性、高效性,这种性质使得CART二叉树的生成非常高效。其公式如下:


可以看出,基尼系数越小,表示选择该特征后熵下降最快,对分类模型效果更好,其和信息增益和信息增益率的选择指标是相反的。基尼系数主要是度量数据划分对训练数据集D的不纯度大小,基尼系数越小,表明样本的纯度越高。

这里还存在一个问题,这个公式显得非常突兀,感觉突然就出来了,没有那种从前人算法中改进而来的感觉?其实为啥说基尼系数计算速度快呢,因为基尼系数实际上是信息熵的一阶进似,作用等价于信息熵,只不过是简化版本。根据泰勒级数公式,将处展开,忽略高阶无穷小,其可以等价为,所以可以很容易得到上述定义

 

 

 

好了,以上为今天所有学习内容,自己对几种熵有了重新认识(认真脸),学到了很多,故此笔记,部分段落摘自参考资料内容(如信息增益比,基尼系数等),建议大家看参考资料[2]更为详细。。。。。。。









参考资料:


[1百度百科

[2]机器学习各种熵:从入门到全面掌握

[3]统计学习方法:李航








你可能感兴趣的:(机器学习,深度学习)