设为离散型随机变量的所有可能值;而是取的概率,即
则称为(离散)随机变量的概率分布,而且它满足下面的条件:
在现实中,通常这个随机变量的取值个数是可数的。这里假设随机变量的取值个数为个,那么随机变量的概率分布可以表示为
可见,这是一个集合。而在Python中,可以这认为是一个列表(list)。换句话说,在熵时,我们需要传入一个list这样的数据格式。
二、熵的计算公式假设具有个取值个数的随机变量的概率分布为,那么随机变量的熵被定义为
通常使用以2为底的对数函数。
三、使用scipy.stats.entropy计算scipy.stats.entropy提供了一种熵的计算方法,其中的对数函数的底默认为自然数e,也可以指定具体的底。调用方法为
from scipy.stats import entropy entropy_a = entropy([0/9, 0/9, 9/9]) entropy_b = entropy([1/999, 1/999, 997/999]) entropy_c = entropy([0/9, 1/9, 8/9]) entropy_d = entropy([1/9, 3/9, 5/9]) entropy_e = entropy([1/3, 1/3, 1/3]) entropy_f = entropy([1/3, 1/3, 1/3], base=2) print(entropy_a) print(entropy_b) print(entropy_c) print(entropy_d) print(entropy_e) print(entropy_f)四、计算结果
0.0 0.01582733355150361 0.34883209584303193 0.9368883075390159 1.0986122886681096 1.584962500721156五、参考
李贤平,概率论基础[M],高等教育出版社
Kevin P. Murphy,Machine Learning A Probabilistic Perspective,The MIT Press
scipy.stats.entropy — SciPy v1.8.1 Manual



