香浓信息量:用于刻画消除随机变量X在x处的不确定性所需的信息量的大小
计算公式:,但是在深度学习中一般使用的是自然对数
其中:如果是连续型随机变量的情况,设p为随机变量X的概率分布,即p(x)为随机变量X在X=x处的概率密度函数值,如果是离散分布,那么p(x)为随机变量X在X=x处的概率值
特点:因为p(x)是0-1的值,所以香浓信息量大小总是大于0比特
信息熵:用于刻画消除随机变量X的不确定性所需的总体信息量的大小。表示随机变量不确定性的度量。
评估整体系统的信息量,利用期望,即“事件香农信息量×事件概率”的累加
计算公式:
其中:如果是连续型随机变量的情况 ; 如果是离散型随机变量的情况
特点:信息熵总是大于0的,取值范围在[0,logn]。信息熵越大,随机变量的不确定性就越大。
交叉熵(cross entropy):若其中一个概率分布p为真实分布,另一个为理论(拟合)分布q,那么交叉熵就是用q的香浓信息量来拟合p分布的信息熵。当这两个分布一样的时候,拟合分布q的香浓信息量就会相等于真实分布p的香浓信息量,那么结果交叉熵就是真实分布p的信息熵
计算公式:
其中:H(p,q)使用的概率是p(x)。如果是连续型随机变量的情况 ; 如果是离散型随机变量的情况
特点:,当且仅当p=q分布一样的时候等号成立,看证明参考下面
相对熵(KL散度):是两个概率分布间差异的非对称性度量。若其中一个概率分布为真实分布,另一个为理论(拟合)分布,则此时相对熵等于交叉熵与真实分布的信息熵之差,表示使用理论分布拟合真实分布时产生的信息损耗 。评判两个分布的差异程度。也就是在理论拟合出来的事件概率分布跟真实的一模一样的时候,相对熵等于0。而拟合出来不太一样的时候,相对熵大于0。
计算公式:
其中:如果是连续型随机变量的情况 ; 如果是离散型随机变量的情况
特点:
1.相对熵永远是一个大于等于0的,即
证明:利用Jensen不等式,如果一个函数是凸函数(弦在曲线上面的),那么函数的期望大于等于期望的函数,由于-log函数是一个凸函数。还有就是利用
全部概率之和是1。
2.不对称的,.因为一般我们希望距离越远下降越快,而相对熵取哪个为参考在同等距离情况下下降的速度都不一样。因此虽然相对熵的距离特性不是特别好,但总归好过直接梯度消失玩不下去,因此比如逻辑分类,以及很多用sigmoidsigmoid作为激活函数和使用Softmax函数的神经网络还是广泛的选择了用相对熵衍生出来的交叉熵作为损失函数
3.将KL散度作为损失函数:在神经网络训练中,我们要训练的是q(x)使得其与真实事件的分布p(x)越接近越好,也就是说在神经网络的训练中,我们希望它越小越好,当 H(p) 为常量时(注:在机器学习中,训练数据分布是固定的),最小化相对熵 D(p||q) 等价于最小化交叉熵 H(p,q) 也等价于最大化似然估计,参考deep learning5.5
4.KL算出的值并不是有限的,因此无法作相对对比。比如3个分布, P, Q, R 如果 KL(P||Q) > KL(R || Q), 并不能说明分布P比R更接近Q。这是针对没有overlap的时候说的,也就是说如果这些分布之间都没有overlap,那么KL的值是没有意义的,因此比较大小也是没有意义的。(KL的值无界)
JS散度:用来表示两个概率分布之间的差异,克服KL散度不对称问题
计算公式:
特点:
1.JS散度的值域范围是[0,ln2],p与q分布相同即完全重叠则是0,完全不相交为ln2。
2.对称的
3.如果两个分布p,q离得很远,完全没有重叠的时候,那么KL值是没有意义的,而JS值是一个常数。意味这这一点的梯度为0。梯度消失了
条件熵:
设有随机变量(X,Y),其联合分布为,i=1,2,....,m;j=1,2,...,k;x取值m个,y取值k个
条件熵H(Y|X):定义为X给定的条件下,Y的条件概率分布的熵,对X的数学期望
,其中
,具有m个值
当熵和条件熵中的概率由数据估计(特别是极大似然估计)得到时,所对应的熵和条件熵分别称为经验熵和经验条件熵。
信息增益:特征A对训练数据集D的信息增益g(D,A)定义为
集合D的经验熵H(D),与给定特征A条件下D的经验条件熵H(D|A)之差,即
当熵和条件熵公式里面的概率是由数据估计得到时,所对应的熵和条件熵分别称为经验熵和经验条件熵。如果有0概率,那么令0log0=0
互信息:
一般的,熵H(Y)和条件熵H(Y|X)之差称为互信息,决策树学习中的信息增益等价于训练数据集中类与特征的互信息。
信息增益的算法:表示得知特征X的信息而使得类Y的信息的不确定性减少的程度。
具体的如下:表示由于特征A而使得对数据集D的分类的不确定性减少的程度。
假设训练数据集为D,|D|表示其样本容量,即样本个数。设有K个类,k=1,2,...,K,为属于类
的样本个数,
.
设特征A有m个不同的取值,根据特征A的取值将D划分为m个子集
,
表示对应的样本个数,则有
。记子集
中属于类
的样本的集合为
,即
,
为
的样本个数,于是计算如下:
(1)输入:训练数据集D和特征A --------> 输出:特征A对训练数据集D的信息增益g(D,A)
(2)计算数据集D的经验熵H(D):
(3)计算特征A对数据集D的经验条件熵H(D,A):
(4)计算信息增益:g(D,A) = H(D) - H(D|A)
决策树使用信息增益来选择特征,计算每个特征的信息增益,并比较大小,选择使信息增益最大的那个特征。
信息增益比:若以信息增益作为依据,存在偏向于选择取值较多的特征的问题,使用信息增益比可以对这一问题进行校正。