name: entropy description: “信息论中熵的问题解决策略” allowed-tools: [Bash, Read]
熵
何时使用
当处理信息论中的熵问题时使用此技能。
决策树
-
香农熵
- H(X) = -sum p(x) log2 p(x)
- 均匀分布的最大值:H_max = log2(n)
- 最小值为0,对于确定性(一个结果确定)
- 对于离散分布,使用
scipy.stats.entropy(p, base=2)
-
熵的性质
- 非负性:H(X) >= 0
- 在概率分布p上是凹函数
- 链式法则:H(X,Y) = H(X) + H(Y|X)
- 使用
z3_solve.py prove "entropy_nonnegative"
-
联合熵和条件熵
- H(X,Y) = -sum sum p(x,y) log2 p(x,y)
- H(Y|X) = H(X,Y) - H(X)
- H(Y|X) <= H(Y),当且仅当独立时相等
-
微分熵(连续)
- h(X) = -integral f(x) log f(x) dx
- 可能为负值!
- 高斯分布:h(X) = 0.5 * log2(2pie*sigma^2)
- 使用
sympy_compute.py integrate "-f(x)*log(f(x))" --var x
-
最大熵原理
- 给定约束下,最大熵分布是最无偏的
- 无约束时为均匀分布
- 对于期望E[X] = mu约束,为指数分布
- 对于期望E[X]和方差Var[X]约束,为高斯分布
工具命令
Scipy_熵
uv run python -c "from scipy.stats import entropy; p = [0.25, 0.25, 0.25, 0.25]; H = entropy(p, base=2); print('Entropy:', H, 'bits')"
Scipy_KL散度
uv run python -c "from scipy.stats import entropy; p = [0.5, 0.5]; q = [0.9, 0.1]; kl = entropy(p, q); print('KL divergence:', kl)"
Sympy_熵
uv run python -m runtime.harness scripts/sympy_compute.py simplify "-p*log(p, 2) - (1-p)*log(1-p, 2)"
关键技术
来自索引教材:
- [信息论要素] Elements of Information Theory – Thomas M_ Cover & Joy A_ Thomas – 第二版,纽约,NY,2012 – Wiley-Interscience – 9780470303153 – 2fcfe3e8a16b3aeefeaf9429fcf9a513 – Anna’s Archive。这个信道的信道容量是多少?这是由Liao和Ahlswede解决的多址信道问题。
认知工具参考
查看 .claude/skills/math-mode/SKILL.md 获取完整工具文档。