シャノンのエントロピーにおける対数の役割は何ですか?


72

シャノンのエントロピーは、各結果の確率の合計に各結果の確率の対数を掛けたものの負数です。この方程式では対数はどのような目的に役立ちますか?

(深い数学的な答えとは対照的に)直感的または視覚的な答えにボーナスポイントが与えられます!


11
A. Renyi(1961)、On Measures of Entropy and InformationProc。数理統計と確率に関する第4回バークレーシンポジウム、vol。1、547-561。
枢機

あなたの反応に基づいてシャノンは彼の式で対数を使用した理由だと思いますよね?
オーカー

@Ooker:それはそれを表現する一つの方法です。「なぜ」彼はそれを入れたのですか?それは、機能や役割「何」だである『それは達成していますか?『何』それが役に立つどのように私には、これらはすべて同じ近所にある..."?』?
histelheim


私の答えを見てください。ログの意味は、統計力学のシャノンエントロピーのルーツを調べることによってのみ本当に理解できると思います
Aksakal

回答:


51

シャノンエントロピーは、一連の関係を満たす量です。

要するに、対数は、システムのサイズに比例して成長し、「情報のように振る舞う」ことです。

最初は、コイン投げのエントロピことを意味する倍である回のコイン投げのエントロピー:nn

i=12n12nlog(12n)=i=12n12nnlog(12)=n(i=1212log(12))=n.

( -確率を有するヘッドと、おそらく不当二つの異なるコイン投げたときにそれがどのように動作するか、または単に参照する及び尾最初の硬貨のために、及びと秒間) したがって、対数のプロパティ(製品の対数は合計対数の)は重要です。p1p2q1q2

i=12j=12piqjlog(piqj)=i=12j=12piqj(log(pi)+log(qj))
=i=12j=12piqjlog(pi)i=12j=12piqjlog(qj)=i=12pilog(pi)j=12qjlog(qj)

しかし、Rényiエントロピーにもこの特性があります(実数でパラメーター化されたエントロピーで、シャノンエントロピーになります)。αα1

ただし、ここに2番目のプロパティがあります。シャノンエントロピーは、情報に関連しているため特別です。直観的な感覚を得るために、 を平均として見ることができます 。

H=ipilog(1pi)
log(1/p)

情報を呼び出すことができます。どうして?すべてのイベントが確率で発生する場合、イベントがあることを意味するためです。どのイベントが発生したかを知るには、ビットを使用する必要があります(各ビットは、区別できるイベントの数を2倍にします)。log(1/p)p1/plog(1/p)

「OK、すべてのイベントが同じ確率である場合、情報の尺度としてを使用するのが理にかなっています。しかし、そうでない場合、なぜ情報を平均するのが理にかなっていますか?」-そしてそれは自然な懸念です。log(1/p)

しかし、それは理にかなっていることがわかります- シャノンのソースコーディング定理によると、長さ確率の無相関文字を含む文字列は、より短いバイナリ文字列に圧縮できません。実際、ハフマンコーディングを使用して文字列を圧縮し、に非常に近づけることができます。{pi}innHn HnH

こちらもご覧ください:


11
この答えには多くの素晴らしい詳細があります-しかし、素人の観点から、それはまだ問題を回避しています-対数の役割は何ですか?対数なしでエントロピーを計算できないのはなぜですか?
histelheim

6
@histelheim「対数なし」とはどういう意味ですか?は1つです。せずにダイバーシティの別の測定が必要な場合は、ダイバーシティインデックスを見てください。たとえば、平均シンプソンインデックスと呼ばれるインバースシンプソンインデックスを見て、Gini–Simpsonインデックスこれは常に0と1の間です。また、シャノンエントロピーの微妙な情報関連のプロパティを気にしない場合は、それらのいずれかを使用できます(ただし、低い確率と高い確率はそれぞれ異なります)。 log 1 / i p 2 i 1 i p 2 iipilog 1/ipi2 1ipi2
ピョートル

10
私はあなたの最後のコメント、Histelheimに困惑しています。「対数のないエントロピー」は何を指すのでしょうか?それは、あなたがまだ「エントロピー」のいくつかの表明されていない概念を念頭に置いているように聞こえるので、あなたはまだあなたの質問を明確に明確にしていないことを示唆します。推測を避けてください-質問を編集して、読者が探している種類の答えを提供できるようにしてください。
whuber

1
@ Piotr Migdal-「対数とは、システムのサイズに応じて線形に成長させ、「情報のように振る舞う」ことです」と書きます。-これは、対数の役割を理解するために私にとって非常に重要であるように見えますが、それが何を意味するかについては明確ではありません。
histelheim

1
@ Piotr Migdal-さらに、「log(1 / p)情報を呼び出すことができます。なぜですか?」に続く説明 私には理にかなっているようです。対数が本質的にダイバーシティインデックスから情報インデックスに移動するということですか?イベントを区別するために必要なビット数を測定することです。
histelheim

25

これは他の答えと同じですが、それを説明する最良の方法は、シャノンが元の論文で言っていることを見ることだと思います。

対数測定は、さまざまな理由でより便利です。

  1. 実際にはもっと便利です。時間、帯域幅、リレーの数などの工学的に重要なパラメーターは、可能性の数の対数に比例して変化する傾向があります。たとえば、1つのリレーをグループに追加すると、リレーの可能な状態の数が2倍になります。この数値の2を底とする対数に1を加算します。時間を2倍にすると、考えられるメッセージの数がほぼ2倍になり、対数が2倍になります。
  2. 適切な尺度に関する直感的な感覚に近い。これは(1)と密接に関連しています。なぜなら、一般的な標準との線形比較によってエンティティを直感的に測定するからです。たとえば、2枚のパンチされたカードには、情報を保存するための1倍の容量と、情報を送信するための1倍の容量を持つ2つの同一チャネルが必要であると感じます。
  3. 数学的にはより適切です。制限操作の多くは対数の点では単純ですが、可能性の数の点では不器用な修正を必要とします

出典:Shannon、A Mathematical Theory of Communication(1948) [ pdf ]。


シャノンエントロピーは統計力学のギブスエントロピーと一致し、ギブスエントロピーでログが発生する理由の説明もあります。統計力学では、エントロピーは、システムが見つかる可能性のある状態数の尺度であると想定されています。理由より優れているあるためです通常、その引数の非常に急速に成長している関数であり、その有効テイラー展開で近似することができないのに対し、することができます。(これがログを取るための元の動機であったかどうかはわかりませんが、多くの入門物理学の本でこのように説明されています。)ログΩ Ω Ω ログΩをΩlogΩΩΩlogΩ


この答えは、最も焦点を絞ったものの有益なもののようです。
ブライトスター14

1
これは、ログがエントロピー計算に表示される理由ではありません。これが、報告された情報がそのように報告される理由です。代替量があります:ログなしで情報を報告する「困惑」。彼の論文のこの部分では、シャノンはビット/ナット/ハートレーを支持し、困惑に反対していると主張しています。
ニールG 14

15

これを見る別の方法は、アルゴリズムの観点からです。数値を推測し、この数値が区間にあるという唯一の情報があると想像してください。この状況では、数を推測するための最適なアルゴリズムは、順序でを見つける単純なバイナリ検索アルゴリズムです。この式は、何であるかを知るために質問する必要がある質問の数を直感的に示します。たとえば、場合、不明なを見つけるために最大3つの質問をする必要があります。1 X N X O ログ2 NをxはN = 8 xとx1xNxO(log2N)xN=8x

宣言する確率的観点から、範囲内の任意の値であることが等しく可能性があるとして、それが意味するのための。クロードシャノンは、結果情報内容が次のように定義されることをうまく示しました。1つのX NのP X = 1 / N 1 X NのXx1xNp(x)=1/N1xNx

h(x)=log21p(x)

対数の底2の理由は、ここではビット単位で情報を測定しているからです。natsで情報を測定する自然対数を仮定することもできます。例として、outcom情報コンテンツはです。この値は、バイナリ検索アルゴリズムのステップ数(またはアルゴリズムのIFステートメントの数)と正確に等しくなります。したがって、を見つけるために必要な質問の数はに等しく、結果情報内容です。x=4h(4)=3x4x=4

可能性のある結果について、バイナリ検索アルゴリズムのパフォーマンスを分析することもできます。それを行う1つの方法は、値について尋ねられる質問の予想数を調べることです。上で説明したように、値を推測するために必要な質問の数はことに注意してください。したがって、に対する予想される質問の数は、定義により次のようになります。xxh(x)x

h(x)=1xNp(x)h(x)

質問の期待数としてちょうど同じであるエントロピーアンサンブルの、又はショートでエントロピ。したがって、エントロピーは、結果を推測するために尋ねる必要がある質問(またはバイナリ検索アルゴリズムの計算の複雑さ)の予想(または平均)数を定量化すると結論付けることができます。h(x)H(X)H(X)


1
+これは、情報理論の私のお気に入りのアプリケーションの1つ-アルゴリズム分析です。配列にインデックスを付けるときなど、結果が2を超える決定ポイントがある場合、それがハッシュコーディングとO(n)ソートの背後にある原則です。
マイクダンラベイ14

この引数は、離散エントロピーには適していますが、連続エントロピーに簡単に一般化することはできません。
ニールG 14

12

すぐに使える説明を次に示します。同じサイズの2冊の本には、1冊の本の2倍の情報があると言えますか?(本をビット列とみなします。)さて、特定の結果に確率Pがある場合、その情報内容は1 / Pを書き出すのに必要なビット数と言えます。(たとえば、P = 1/256の場合、それは8ビットです。)エントロピーは、すべての結果にわたる情報ビット長の単なる平均です。


5

シャノンのエントロピーに現れるの目的は、がエントロピー関数が具体化するために保持されるプロパティの基本セットを満たす唯一の関数であるということです。log(pi)log(pi)H(p1,,pN)

シャノンは、この結果の数学的証明を提供し、徹底的に取り上げられ、広く受け入れられました。したがって、エントロピー方程式の対数の目的と重要性は、仮定と証明の範囲内に含まれています。

これは理解を容易にするものではありませんが、最終的には対数が現れる理由です。

私は、他の場所にリストされているものに加えて、次の参考文献が役立つことを発見しました。

  1. 確率論:ET Jaynesによる科学の論理。Jaynesは、ゼロから多くの結果を導き出す数少ない著者の1人です。第11章を参照してください。
  2. David MacKayによる情報理論、推論、学習アルゴリズム。シャノンのソースコーディング定理の詳細な分析が含まれています。第4章を参照してください。

4

概要:

これは、まだ見たことのないデータのすべてのあいまいさを完全に解決するために答える必要がある完璧な質問の平均総数を表すためです。可能な答えを持つ完璧な質問は、答えられると、可能性の空間が倍に減少するものです。nn

例:

私が面のフェアサイコロを振って、あなたがその結果を予測すると仮定します。可能性のスペースはです。このバイナリ1のような質問は「結果ですか?」(答えはyesまたはno、つまりいずれかです)、私の答えは「nopies!」です。次に、可能性の空間をだけます。したがって、この質問は尋ねるのに適したものではありません。661n=21

あるいは、この優れたバイナリ質問「より大きいか?」などのより良い質問をすることもできます。私の答えは「はい!」です。-その後、ブーム、可能性のスペースが半分に削減されました!すなわち、そこにある候補(元々 6のうち)左。地獄うん。3.56/2=3

ここで、可能性の空間に可能性しかない場合に到達するまで、これらの良い質問を再帰的に繰り返し続けると仮定します。1

これをやろう:

  • 6可能性。Q:結果はますか?A:はい。>3.5
  • 6/2=3残り可能性。Q:結果はですか?A:はい。5
  • 6/2/2=1.5可能性が残っています。Q:結果ですか?A:はい。=6

結果は番でなければならないと結論付け、バイナリ質問をするだけで済みました。すなわち、63ceil(log2(6))=ceil(2.58)=3

今、明らかに、バイナリ質問の数は常に自然数です。それでは、シャノンのエントロピーが関数を使用しないのはなぜですか?なぜなら、実際に尋ねる必要のある良い質問の平均数を吐き出すからです。ceil

(Pythonコードを記述して)この実験を繰り返すと、平均で完全なバイナリ質問をする必要があることに気付くでしょう。2.58

もちろん、バイナリの質問をする場合は、ログのベースをそれに設定します。ここでは、という質問がバイナリであったためです。の可能な答えを期待する質問をする場合、ベースをではなくに設定します。つまり、ます。log2(...)nn2logn(...)

シミュレーション:

import random

total_questions = 0
TOTAL_ROUNDS = 10000

for i in range(0,TOTAL_ROUNDS):
    outcome = random.randrange(1,7)
    total_questions += 1
    if outcome > 3.5:
        total_questions += 1
        if outcome >= 5:
            total_questions += 1
            if outcome == 5:
                pass
            else:
                # must be 6! no need to ask
                pass
        else:
            # must be 4! no need to ask
            pass
    else:
        total_questions += 1
        if outcome >= 2:
            total_questions += 1
            if outcome == 2:
                pass
            else:
                # must be 3! no need to ask
                pass
        else:
            # must be 1! no need to ask
            pass


print 'total questions: ' + str(total_questions)
print 'average questions per outcome: ' + str(total_questions/float(TOTAL_ROUNDS))

結果:

total questions: 26634
average questions per outcome: 2.6634

聖なる男。2.6634log2(6)2.58

どうしましたか?それはだ、ほぼ近いが、私は期待していない本当に近いです。PythonのPRNGは遅いジョークを言っているのでしょうか?それとも、シャノンが間違っているのですか?それとも-神は禁じられている-私の理解は間違っていますか?いずれにせよヘルプ。SOSはすでに男です。


2
あなたは良い説明をしています。あなたの難しさの解決は、別々の問題組み合わせることです。説明します。一度に1つのダイを予測しないでください。たとえば、一度に5つのダイを予測してください。ありの可能性が。尋ねることによっての質問にあなたはすべての可能な組み合わせを突き止めることができます。その結果(サイコロが独立しているため)、ダイあたり平均ビットの情報があります。より良いのは、サイコロを振る:すべての値を発見するには質問、またはすべてを予測するにはダイごとに質問が必要です。など65=7776log2(65)=1313/5=2.6190537492531492531/1905372.584962500722
whuber

@whuberはこれが私のコードでやっていることではありませんか?私は10000のダイスを投げ、すべてのダイスに尋ねる質問の総数を合計します。それからsum / 10000を実行すると2.66が得られます。
穴居人

1
いいえ、あなたはあなたのコードでそれをまったくしていません!すべてのサイコロの状態を同時に取得するように設計された一連の質問をする必要があります。これは、一度に1つのダイの状態を見つけるために必要な質問の平均数とは異なります。
whuber

3

確率有限アルファベットからシンボルを生成する離散情報ソースがあるとします。シャノンは、メジャーとしてエントロピーを定義そのようなΩ={ω1,,ωn}p1,,pnH(p1,,pn)

  • Hはパラメーターが連続であり、
  • Hは、(不確実性が増加しているため)の場合、単調に増加します。np1==pn=1n
  • Hは、選択肢が連続した選択肢に分割される方法とは無関係です。たとえば、黒のダイスと白のダイスを振るときの3つのイベントを考えてみましょう。(1)白のダイスが奇数、(2)白のダイスが偶数、黒のダイスが3未満、(3)そうでない場合。サイコロを一緒に転がすか、白のダイスを先に転がし、必要に応じて黒のダイスを転がします。この要件は、
    H(12,16,13)=H(12,12)+12H(13,23).

シャノンは、3つの要件を満たす唯一のの形式が であることをここで任意の情報測定単位に対応します。場合、この単位はビットです。H

H(p1,,pn)=i=1npilogkpi
k>1k=2

3

この質問は2年前に提起され、すでに多くの素晴らしい答えがありましたが、私は自分自身を大いに助けてくれたものを追加したいと思います。

質問は

この方程式では対数はどのような目的に役立ちますか?

対数(通常は2に基づく)は、クラフトの不等式によるものです。

i=1m2li<=1

このように直観できます。長さすべてのコードの確率の合計は1未満です。不等式から、一意にデコード可能なコードのすべてのコード長関数について、分布そのようなliLxP(x)

P(x)=2L(x)

したがって、およびは、長さのコードの確率です。L(x)=logP(x)P(x)L(x)

シャノンのエントロピーは、すべてのコードの平均長として定義されます。長さを持つすべてのコードの確率はであるため、平均長(またはシャノンのエントロピー)はです。L(x)P(x)P(x)logP(x)

直感的なイラストや視覚的な答えは(あなたが必要ですが、より具体的にクラフトの不等式の場合と同様に)本論文では、多関節れるコードツリー、およびクラフトの不等式


1

既に回答が受け入れられなかったことに基づいて、探しているのは、シャノンが最初に式で対数を使用した理由だと思います。言い換えれば、それの哲学。

免責事項:私はあなたと同じような質問があるためにここに来て、1週間だけこの分野にいます。これに関するより多くの知識があれば、私に知らせてください。

ウラノウィッツの最も重要な論文の1つである「エントロピーの増加」を読んだ後に、この質問があります。熱死か永久調和か。。これは、式に(1-p)ではなく-log(p)が含まれる理由を説明する段落です。

エントロピーの正式な定義をさらに展開する前に、存在しない最も適切な尺度として[–log(p)]の代わりに(1 – p)を単に選択しない理由を尋ねるのは正当化されるでしょう。答えは、pの結果の積(つまり[p–p ^ 2])が値p = 0.5を中心に完全に対称であるということです。このような対称的な組み合わせによる計算では、可逆的な宇宙のみを記述することができます。しかし、ボルツマンとギブスは、不可逆的な宇宙を定量化しようとしていました。単変量の凸対数関数を選択することにより、ボルツマンはそれによって存在を超えないことにバイアスを与えました。たとえば、max [–xlog {x}] = {1 / e}≈0.37であることがわかります。そのため、不確定性の測定値はpiの低い値に偏っています。

シャノンは理由もなく対数を選んだようです。彼は対数を使用する必要があることを「ワカサギ」するだけです。Newtonが数式F = m * aで乗算演算を選択したのはなぜですか?

そのとき、彼はエントロピーについて全く知らなかったことに注意してください:

私の最大の懸念はそれを何と呼ぶか​​でした。私はそれを「情報」と呼ぶことを考えましたが、この言葉は過度に使用されていたので、「不確実性」と呼ぶことにしました。ジョン・フォン・ノイマンと話し合ったとき、彼はより良いアイデアを持っていました。フォン・ノイマンは私に言った、「あなたはそれをエントロピーと呼ぶべきだ。二つの理由がある。そもそも、あなたの不確実性関数はその名前の統計力学で使用されているので、すでに名前を持っています。第二に、そしてより重要なことには、エントロピーが実際に何であるかを誰も知らないので、議論の中であなたは常に優位に立つでしょう。

だから私の答えは:これには理由はありません。彼がこれを選んだのは、魔法のようにうまくいったからです。


0

エントロピーは、システムが存在できる状態の数を表す多項係数の幾何平均の対数として定義されます。

log(Nn1,,nk)N

対数は、階乗のスターリング近似を使用した後に式に表示されます(この説明を参照 )


3
OPは対数が定義の一部であることを知っていると思います。彼らはなぜそこにあるのかと尋ねます。
whuber

0

ログは、特定の自然な要件を満たす関数Hの導出から得られます。pgを参照してください。3秒 このソースの2:

http://www.lptl.jussieu.fr/user/lesne/MSCS-entropy.pdf

公理が与えられると、最適化を実行すると、ログを含む一意の(定数までの)関数が得られます。

上記の答えはすべて正しいですが、ログを解釈しますが、そのソースを説明しません。


0

あなたの質問は、特定の要件に対する定義の一貫性を示す単なる形式主義ではなく、その対数の「意味」と、各成分が式の全体的な意味に寄与する理由に関するものだと思います。

シャノンエントロピーの考え方は、FREQUENCY(つまり)およびGENERALITY(つまり-log)を見てメッセージの情報を評価することです。p(x)log(p(x))

  • p(x):メッセージの「頻度が高い」ほど、伝達される情報は少なくなります(つまり、予測しやすくなります)。
  • log(p(x)):メッセージが「一般的」であるほど、より多くの情報が伝達されます。

最初の項は周波数に関するもので、はその一般性に関するものです。p(x)log(p(x))


これから、GENERALITYが最終的なエントロピー公式にどのように影響するかを説明します。

そのため、エンコードに必要なビット数に基づいて、一般的(例:雨/雨ではない)または特定(例:ligth / avg / heavy / veryHeavy雨)を定義できます:

log2(x)=number_of_bits_to_encode_the_messages

さあ、座ってリラックスして、シャノンのエントロピーがいかに美しくするかを見てください。それは、より一般的なメッセージはより頻繁であるという(合理的な)仮定に基づいています。

たとえば、平均的、激しい、または非常に激しい雨の場合、雨が降っていると言います。したがって、彼は、メッセージの頻度に基づいてメッセージの一般性をエンコードすることを提案しました...

log2N=log21/N=log2P

メッセージの頻度。Nx

方程式は次のように解釈できます。まれなメッセージは一般的ではないため、エンコードが長くなります。したがって、エンコードするビットが多くなり、情報量が少なくなります。したがって、多くの一般的なメッセージや頻繁なメッセージよりも、より具体的でまれなメッセージを持つ方がエントロピーに大きく貢献します。


最終的な定式化では、2つの側面を検討します。最初のは、頻繁なメッセージの予測が容易であり、この観点からは情報量が少なくなります(つまり、エンコードが長くなるとエントロピーが大きくなります)。2番目のは、頻繁なメッセージも一般的であり、この観点からはより有益です(つまり、エンコードが短いほどエントロピーが低くなります)。p(x)log(p(x))

最大のエントロピーは、まれで特定のメッセージが多数あるシステムがある場合です。頻繁で一般的なメッセージを伴う最低のエントロピー。その間に、まれなメッセージと一般的なメッセージの両方、または頻繁ではあるが特定のメッセージが含まれる可能性のあるエントロピー等価システムのスペクトルがあります。


0

普遍的な「直感的な」答えをあなたに与えることは不可能だと思います。物理学者など、一部の人々にとって直感的な答えを提供します。対数は、システムの平均エネルギーを取得するためにあります。詳細はこちら。

シャノンは「エントロピー」という言葉を使用しました。なぜなら、彼は統計力学の概念を採用したからです。統計力学には、ボルツマンにちなんで名付けられた独創的な分布があります。興味深いことに、これは現在、機械学習において重要な分布です!

ボルツマン分布は、ように記述できます ここは定数、は状態空間状態におけるシステムのエネルギーです。古典的な熱力学では、は粒子の座標と運動量です。定数が適切に選択されている場合、つまり 場合、これは適切な確率関数です。また、がシステムの温度に対応していることがおもしろいかもしれません。

P=eaEb
a,bEdVVdV=dpdxx,pa,bVPdV=1b

ここで、、つまり確率の対数がエネルギーに対して線形(比例)であることに注意してください。これで、次の式が本質的にシステムのエネルギーの期待値であることがわかります これがギブスのしたことです。lnPE

SVPlnPdV=<E>

そのため、シャノンはこのことを取り、として離散化し、それを「エントロピー」と呼び、これを「シャノンエントロピー」と呼びます。そこには、よりませんエネルギーここでのコンセプトは、しかし、多分あなたは、状態の確率抗ログインできして、これを呼び出すのエネルギー状態の?

η=iPilnPi
e P iePi

これはあなたにとって直観的ですか?それは私にとってですが、私は過去の人生の理論物理学者でした。また、温度やボルツマンとクラウジウスの作品など、さらに古い熱力学の概念にリンクすることにより、より深いレベルの直感に進むことができます。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.