作者arrenwu (最是清楚哇她咩)
看板Math
标题Re: [机统] 资讯理论熵编码证明
时间Tue Dec 24 15:53:21 2024
※ 引述《chun10396974 (娜嗲希抠老公)》之铭言:
: 手机发文排版请见谅
: 假设现有n个符号,且n为2的正整数次方,其机率由1至n递减排列为p1, p2, ..., pm, ..., pn
: 其中自第m个开始其编码後长度大於log2(n),亦即log2(1/pm)>log2(n)
: 以下是我的猜测,但证明到一半卡住:
: 现在针对每个输入额外多1bit作为检查bit,若其编码後长度>log2(n),则不编码,以log2(n)传送;反之若编码後长度<log2(n)则以原本熵编码的log(1/pi)进行传送,试证此方法的平均码长较其entropy还高
: 我的做法是原本entropy为
: p1log2(1/p1) + p2log2(1/p2) + ... + pnlog2(1/pn) < log2(n)
: =p1log2(n) + ... pnlog2(n) (1)
: 加上检查bit後的平均码长为
: p1log2(1/p1) + ... + p(m-1)log2(1/p(m-1)) + pmlog2(n) + pnlog2(n) + 1
: (2)
: 原本是拿(2)去扣(1)的上界
: http://i.imgur.com/dnQmMxy.jpg
: 结果发现这样证不出来,所以改成用检查bit的码长减entropy永远大於0,即
: 1 + pm[log2(n)+log2(pm)] + p(m+1)[log2(n)+log2(p(m+1))] + ... +
: pn[log2(n)+log2(pn)] > 0?
: 到这边卡住了,看起来也没办法用对数求和不等式?麻烦各位解惑,谢谢。
这部分可以用 log-sum inequlity 得出
下面所使用的log全部都是 log2,
同时,令 k = log(n)
https://i.imgur.com/suKH9Yi.jpg
其中 -Plog(P) <= 1 的证明来自
-Plog(P) <= -Plog(P) - (1-P)log(1-P) <= 1
--
角卷绵芽给予炭治郎的建议
https://i.imgur.com/0mPdESk.jpg
https://i.imgur.com/Ts4dBjy.jpg
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 98.45.195.96 (美国)
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Math/M.1735026803.A.528.html
※ 编辑: arrenwu (98.45.195.96 美国), 12/24/2024 16:18:44
1F:推 chun10396974: 感谢 12/25 09:25