(1)编码长度的推算
按照0,1编码方式,信息量假设为N,那么所需要的位数为logN,底数为2,。那么如果在一个样本中的概率分布x~P,那么编码长度可以通过[1]式确定。事实上当一个概率很小的事情发生的时候,这个事件代表着更大的信息量,所以寻求一个函数图像能够在接近0的时候信息量趋向正无穷,而且当函数自变量取值为1(即某个事件一定发生)时,信息量为0,对数函数就刚好满足了需求。打个简单的比分,和别人说太阳从东边升起来了和太阳从西边升起来了的信息量永远是后者更多,前面一句话可以视作废话,也就是信息量可以当成0。
(2)算法应用
信息熵的运用十分广,最常见的就是决策树的决策问题上,在选择某个决策因素时,往往比较这个决策因素和其他决策因素的信息熵增益量,选择熵增更大的因素往往会取得更好的分类效果。
(3)交叉熵
交叉熵是一个应用更加广泛的熵,作为神经网络中重要的,具有代表性的损失函数的一种,它的特性有着很多的好处。
如下所示是交叉熵的计算方法:
通常上述交叉熵用来评估真实与预测之间的一种距离关系,距离越小代表越接近真是结果,在TensorFlow中,优化器optimizer通常使用minimize交叉熵得到神经网络模型。
这是一种人为界定信息量的数学方法,却又仿佛和大自然完美锲合。