概念
Shannon熵是一种用于衡量信息量或信息的不确定性的度量方法,它由信息论的创始人之一Claude Shannon提出。Shannon熵的计算公式如下:
H(X) = - Σ P(x) * log2(P(x))
其中,H(X)表示随机变量X的熵,P(x)表示随机变量X取值为x的概率。
具体计算步骤如下:
-
确定随机变量X的取值范围,并计算每个取值出现的概率P(x)。
-
对于每个取值x,计算P(x) * log2(P(x))的乘积。
-
对于所有取值x的乘积,求和并取负值,得到Shannon熵H(X)的值。
需要注意的是,计算中的对数底数通常选择为2,以便结果以比特(bits)为单位度量信息量。如果选择其他底数,结果的单位将相应变化。
Shannon熵越大,表示随机变量的不确定性越高,含有的信息量越大。随之相反。当随机变量的所有取值出现概率相等时,Shannon熵达到最大值,表示最大的不确定性和信息量。
意义
计算token值的强度
计算cookie值的强度
目的:推理、创造、破解
代码
from math import log
def calcEntropy(data):
"""
该函数用于计算Shannon熵.
"""
if not data:
return 0
entropy = 0 # init