信息熵的公式
计算信息熵的公式为:
\[ H(x)=-\sum p(x_i)logp(x_i) \]
其中\(p(x_i)\)表示事件结果为\(x_i\)的概率
理解
信息熵表示对事件不确定性的一个度量,计算思路为“编码一个事件的最短平均编码长度”(任意进制编码都行,彼此差一个常数,但常用的是二进制以及自然对数)
所以信息熵的计算也可以写作:
\[ H(x)=\sum p(x_i)f(x_i) \]
其中\(p(x_i)\)表示事件结果为\(x_i\)的概率,\(f(x_i)\)为编码\(x_i\)需要的位数(这也是为什么在比较概率分布的时候,会选择用拟合的概率来计算\(f(x_i)\))
Huffman编码树
类比哈夫曼树,根据贪心思想,
- 出现概率大的结果应该占据相对短的编码
- 编码结果的种类和编码位数是指数级关系
所以我们得到
\[ f(x_i)=-logp(x_i) \]
代入就得到了最终形式。
应用
- KL散度
- 交叉熵损失