机器学习中的交叉熵

信息量

  机器学习中的交叉熵

机器学习中的交叉熵

P(x)为条件概率,意义为表达一个事件发生的概率 ( P(x)∈[ 0 , 1 ] )

 

当小概率事件发生时,提供的信息量往往很大,或者说令人惊讶,例如中国男足勇夺世界杯冠军因为概率很小趋近于0,所以当该事件发生时提供的信息量就很大I趋近于∞,反之中国乒乓球包揽金牌,该事件概率很大趋向于1,那么信息量I就很小趋近于0。

总结

信息量I ,表征事件冷门程度,越冷门,信息量越大

 

补充:实际上,log的底可以是其他的数字,常用的是2和e这两个底。底是2的时候,单位为bit。.底是e的时候,单位为nat。


机器学习中的交叉熵        

其中0 log0=0可能出现某个取值概率为0的情况

所有可能结果的信息量的总和组成熵

 

举个例子:

中国队vs巴西队,假设中国队的胜率是0,巴西队胜率是1,可知:

H(巴西队)=赢球的信息量+输球的信息量=1×-log1+0×-log0 = 0

荷兰队vs巴西队,假设荷兰队和巴西队的胜率都是0.5,可知:

H(巴西队)=赢球的信息量+输球的信息量=0.5×-log0.5+0.5×-log0.5= 1

 

显然熵表征的是期望的稳定性,值越小越稳定,当熵为0时该事件为必然事件,熵越大表示该事件的可能性越难以估量。


相对熵

机器学习中的交叉熵

其中p(x),q(x)为同一随机变量两个相互的里的概率分布。

 

举例:在机器学习的问题中常用p(x)表示label,q(x)表示predict值,如p(x)=[1,0,0]表示该样本属于第一类,q(x)=[0.9,0.3,0.2]表示预测该样本有0.9的概率属于第一类,显然这里用p(x)来描述样本是十分完美的,而用q(x)描述样本只能得到一个大致的描述,不是那么完美,缺少了一些信息量。经过反复的train最后q(x)=[1,0,0]即可以完美描述该样本则,DKL=0。

在一定程度上面,相对熵可以理解为两个随机变量之间的距离。当两个随机分布相同的时候,他们的相对熵为0,当两个随机分布的差别增大的时候,他们之间的相对熵也会增大。 但这样的理解是不够准确的,因为相对熵是不具有对称性的:

 

回顾一下条件概率的公式:

机器学习中的交叉熵

显然

机器学习中的交叉熵

在机器学习中,我们常将相对熵(交叉熵是相对熵的一部分)定义为损失函数loss,我们train的目标就是要minimize(loss),其中为p(x)真实的标签,q(x)为预测值。基于以上将相对熵定义为,q(x)刻画p(x)的难易程度,即为其值越小则q(x)刻画p(x)越简单,当相对熵为0时,预测值完美刻画真实样本。


交叉熵

 

机器学习中的交叉熵

其中机器学习中的交叉熵

所以机器学习中的交叉熵,将后半部分称之为交叉熵,定义为:机器学习中的交叉熵

在机器学习中,我们需要评估label和predicts之间的差距,显然H(x)在优化过程中保持不变,故在优化过程中,只需要关注交叉熵就可以了。所以一般在机器学习中直接用用交叉熵做loss,评估模型。