谈谈“熵”。
熵的起源
热力学第一定律:能量守恒定律
19世纪,科学家们通过热力学的研究得出了「热力学第一定律」即「能量守恒定律(energy conservation law)」指在一个封闭(孤立)系统的总能量保持不变。
但能量在转换时,效率不是100%,有很多丢失孙好了。比如家用车的燃料从化学能到动能只转化了30%左右。
这些被耗散的能量就是「熵」,即「无法利用的能量」。
热力学第二定律:熵增加原理
热力学第二定律比较拗口:
- 热总是从高温物体到低温物体
- 热能转其他能量不可能达到100%
更准确地说:孤立系统的熵值永远是增加的,即「熵增加原理」。
- 可以利用的能量是「聚在一起的」,比如高温物体,燃料,水库里面的水。他们是「有序」的。
- 不可以利用的能量(即熵)是「平均分布的」,因为高温物体总要把热传递给低温物体。他们是「无序」的。
热力学熵的公式如下。其中W是桂冠状态数。即微观状态越多(越无序),则熵越大。
$$ S=kln(W) $$
信息论角度的熵
信息论的熵和热力学的熵不是一回事,但有相通之处。从信息编码的角度,信息熵就是编码某信息所需的最小比特数。
$$ H(X)= - \sum_{x \in X} P(x)logP(x) $$
对于一个确定的事情,其概率为1,则熵为0。
信息熵的三条性质
- 单调性:发生概率越高的事物,信息熵越低
- 非负性:总是大于或等于0
- 累加性:若事件A和B独立,则H(A, B) = H(A) + H(B)
关于累加性,如果A和B不独立,则H(A, B) = H(A) + H(B) - I(A, B)。其中I(A, B)是互信息(mutual information),代表一个随机变量包含另一个随机变量信息量的度量。
交叉熵,相对熵(KL散度),JS散度
- 熵表示对A进行最佳编码所需要的平均编码长度
- 交叉熵表示用B的最佳编码来表示A时,所需要的平均编码长度
- KL散度表示 交叉熵减去熵,即用B的编码来表示A所需要的额外编码长度(相比用A自己编码)
- JS散度基于KL散度,但变得对称。
中文的熵
熵越大,表示越不确定,越需要更多的比特数去描述信息。很不幸,中文的熵很高,甚至可以说是所有语言里面最高的。