信息熵 H(x) 的取值范围
地址:https://leetcode-cn.com/problems/profitable-schemes/帮派里有 G 名成员,他们可能犯下各种各样的罪行。第 i 种犯罪会产生 profit[i] 的利润,它要求 group[i] 名成员共同参与。让我们把这些犯罪的任何子集称为盈利计划,该计划至少产生 P 的利润。有多少种方案可以选择?因为答案很大,所以返回它模 10^9 + 7 的值...
信息熵 H(x)H(x)H(x) 的范围
信息熵的定义如下:
H(X)=−∑x∈Xp(x)logp(x)H(X) = -\sum_{x \in X} p(x)\log p(x) H(X)=−x∈X∑p(x)logp(x)
- 很显然,当随机变量 XXX 的分布是确定的时候,信息熵 H(X)H(X)H(X) 最小,此时 H(X)=−1⋅log21+0⋅log20⋯+0⋅log20=0H(X) = -1 \cdot \log_21 + 0 \cdot \log_20 \cdots + 0 \cdot \log_20 = 0H(X)=−1⋅log21+0⋅log20⋯+0⋅log20=0;
- 求 H(x)H(x)H(x) 的最大值要用到拉格朗日乘子法。下面是具体步骤:
目标函数求的是最大值:
maxH(X)=−∑x∈Xp(x)logp(x) \max \quad H(X) = -\sum_{x \in X} p(x)\log p(x) maxH(X)=−x∈X∑p(x)logp(x)
我们写成拉格朗日乘子法的标准形式,前面加一个符号,就变成了求最小值:
min−H(X)=∑x∈Xp(x)logp(x) \min \quad -H(X) = \sum_{x \in X} p(x)\log p(x) min−H(X)=x∈X∑p(x)logp(x)
这个问题的约束条件就是:
∑x∈Xp(x)=1 \sum_{x \in X} p(x) = 1 x∈X∑p(x)=1
引入拉格朗日函数:
L(X,w)=∑x∈Xp(x)logp(x)+w(∑x∈Xp(x)−1)L(X,w) = \sum_{x \in X} p(x)\log p(x) + w(\sum_{x \in X} p(x)-1)L(X,w)=x∈X∑p(x)logp(x)+w(x∈X∑p(x)−1)
就变成了求解拉格朗日函数的无约束最优化问题,这个函数取极值的必要条件是它的偏导数向量为 0 向量,于是我们计算偏导数。
假设随机变量 XXX 是一个有 nnn 个取值的随机变量,那么把上面的符号改一改:
∑x∈Xp(x)=∑i=1np(xi)=1 \sum_{x \in X} p(x) =\sum_{i=1}^{n} p(x_i)=1 x∈X∑p(x)=i=1∑np(xi)=1
L(X,w)=∑i=1np(xi)logp(xi)+w(∑i=1np(xi)−1) L(X,w) = \sum_{i=1}^{n} p(x_i)\log p(x_i) + w(\sum_{i=1}^{n} p(x_i)-1) L(X,w)=i=1∑np(xi)logp(xi)+w(i=1∑np(xi)−1)
于是:
∂L(X,w)∂p(xi)=∂[p(xi)logp(xi)]∂p(xi)+w=logp(xi)+1+w \frac{\partial L(X,w)}{\partial p(x_i)} = \frac{\partial [p(x_i)\log p(x_i)]}{\partial p(x_i)} + w=\log p(x_i)+1+w ∂p(xi)∂L(X,w)=∂p(xi)∂[p(xi)logp(xi)]+w=logp(xi)+1+w
令:
∂L(X,w)∂p(xi)=0 \frac{\partial L(X,w)}{\partial p(x_i)} =0 ∂p(xi)∂L(X,w)=0
得到:
logp(xi)+1+w=0 \log p(x_i)+1+w = 0 logp(xi)+1+w=0
这个式子对于 x1x_1x1、x2x_2x2 直到 xnx_nxn 都成立,因此 x1=x2=⋯=xnx_1=x_2=\cdots=x_nx1=x2=⋯=xn。
又因为
∑i=1np(xi)=1 \sum_{i=1}^{n} p(x_i)=1 i=1∑np(xi)=1
故 x1=x2=⋯=xn=1nx_1=x_2=\cdots=x_n=\frac{1}{n}x1=x2=⋯=xn=n1,代入
H(X)=−∑i=1np(xi)logp(xi)=−∑i=1n1nlog1n=logn H(X) = -\sum_{i=1}^{n} p(x_i)\log p(x_i) = -\sum_{i=1}^{n} \frac{1}{n} \log \frac{1}{n} = \log n H(X)=−i=1∑np(xi)logp(xi)=−i=1∑nn1logn1=logn
故 0≤H(x)≤logn0 \le H(x) \le \log n0≤H(x)≤logn。
更多推荐



所有评论(0)