ファイルのエントロピーを実際に測定するにはどうすればよいですか?


9

私のファイルに含まれる多くの非冗長(実際の)情報を測定しようとしています。これをエントロピーの量と呼ぶ人もいます。

もちろん標準のp(x)log {p(x)}はありますが、シャノンはチャネルを介して送信するという観点からのみ考慮していたと思います。したがって、式にはブロックサイズが必要です(たとえば、ビット単位で8)。大きなファイルの場合、この計算はほとんど役に立ちません。シンボル間の短距離から長距離への相関は無視されます。

二分木とZiv-Lempelメソッドがありますが、これらは本質的に高度に学術的であるように見えます。

圧縮率もエントロピーの尺度と見なされますが、圧縮の程度に下限はないようです。私のファイルhiss.wavの場合、

  • 元のhiss.wav = 5.2 MB
  • シャノン公式によるエントロピー= 4.6 MB
  • hiss.zip = 4.6 MB
  • hiss.7z = 4.2 MB
  • hiss.wav.fp8 = 3.3 MB

hiss.wav内に存在するエントロピーの量を測定する合理的に実行可能ないくつかの方法はありますか?


1
「高学歴」とはどういう意味かわかりません。
David Richerby

死んだ。データの送信とストレージを最大化するために世界中で費やされた研究費の規模があれば、実際に処理しているとんでもないものの量を見積もるより発展した方法があると思いました。理論的なエントロピー推定値を出力するデータを渡すファイルユーティリティが存在する可能性があるという領域を超えて考えたことはなかったでしょう。通信事業者とディスクメーカーは何をしているのですか?
Paul Uszak

回答:


9

エントロピーは確率変数の特徴です。与えられたファイルは定数なので、エントロピーはゼロです。エントロピーは、チャネルがない多くの状況で意味があり、特定のソースから生成されたWAVファイルなどのランダムなアンサンブルに適用できます。この場合、はWAVファイル全体です。バツ

NNHNHN+oNgzip

LempelおよびZivのこの結果により、Lempel–Zivアルゴリズムを使用して長いサンプルのシーケンスを圧縮することにより、ソースのエントロピーを概算できます。これは特定のサンプルのエントロピーを推定するものではありません。これは明確に定義された概念(定数シーケンスにはゼロのエントロピーがあります)ではなく、それを生成するソースのエントロピーを推定します。

関連する概念は、アルゴリズムエントロピーであり、コルモゴロフ複雑度とも呼ばれます。これは、ファイルを生成する最短のプログラムの長さです。この量は、個々のファイルには意味があります。ランダムソースによって生成されたファイルの場合、Lempel–Zivの定理は、ファイルのアルゴリズムエントロピーがシャノンエントロピーによって高い確率で制限されることを示しています。残念ながら、アルゴリズムエントロピーは計算できません。そのため、これは理論上の概念です。

絵を完成させるために、出典のエントロピーを推定する別のアプローチについて、印刷された英語の予測とエントロピーに関するシャノンの論文を読むことをお勧めします。


私が持っています。そして、Schurmann&Grassbergerの論文。英語の推定エントロピーに基づくと、取得できる最良のエントロピー推定は、fp8のようなPAQ8バリアントを使用した圧縮によるものであるようです。シェイクスピアの散文については、結構うまくいきます。
Paul Uszak

問題は、ソースのエントロピーには制限的な理論値があるはずだと私は思っていたはずですが、圧縮による決定は、圧縮アルゴリズムの効率を反映するだけです。経験的に、gzipは優れていますが、7zの方が優れています。そして、私の質問に示されているように、fp8ははるかに優れています。遠い将来にfp12000を使用する場合、hiss.wavに含まれる合計エントロピーは10バイトのみであることを確認できますか?
Paul Uszak

エントロピーはファイルのプロパティではありません。個々のファイルはすべてエントロピーがゼロです。むしろ、エントロピーはランダムなソースの特性です。特定のファイルに適したランダム性の尺度は、コルモゴロフの複雑度(アルゴリズムエントロピーとも呼ばれます)ですが、残念ながらこの尺度は計算できません。
Yuval Filmus

ファイルを圧縮してソースのエントロピーを推定する場合、ソースによって生成されたデータの圧縮率がソースのエントロピーに近づくことが保証される定理を使用します。ただし、実際の圧縮ユーティリティは、基本的なLempel–Zivアルゴリズムを適用するのではなく、より実用的なバージョンを適用します。エントロピーを推定する場合は、おそらくこの目標を念頭に置いてアルゴリズムを再実装する必要があります。
Yuval Filmus

私は非建設的な議論を削除しました。コメントは、手元の投稿を改善することを除いて、長い議論のためのものではありません。エントロピーの問題について正直に話したい場合は、チャットルームを作成してください。それを市民に保つことを忘れないでください。
ラファエル
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.