在信息论中可以根据香农熵估计一个字符串中每个符号$S_{i}$编码所需的最小位数,前提是每个字符出现的概率$P_{i}$是已知的.
H=−∑i(Pi×log2(Pi))
举个例子:
比如,APPLE这个单词的香农熵:
每个字符在字符串中出现的概率:
PA=PL=PE=15=0.2
PL=25=0.4
信息熵:
H=−3×0.2×log2(0.2)−0.4×log2(0.4)=1.92193
所以在采取最优编码时,'APPLE’中的每个字符需要2位.
在对符号进行编码时,如果假设了其他概率
qi
而不是真实概率
Pi
,则每个符号的编码长度会增加,可以采用一种次优的编码方案对同一个字符串进行计算编码所需的平均最小位数.
H=−∑i(Pi×log2(qi))
例如,ASCII对APPLE中的每一个字符赋予的概率是相同的
qi=1256
在采用ASCII编码时,APPLE的信息熵:
H=−3×0.2×log2(1256)−0.4×log2(1256)=8
所以在ASCII编码对每个字符编码为8位
在采用交叉熵构建损失函数时候,P为期望的输出和概率分布,即实际的概率分布.q为模型计算得到的输出.根据上面的例子:当
Pi=qi
时,得到的熵最小.所以利用交叉熵来比较两个分布的吻合情况,非常合适,交叉熵越小,模型的输出就越接近真实的概率分布.