二段階の意思決定に情報エントロピーを計算する方法は?

StackOverflow https://stackoverflow.com/questions/2323910

  •  22-09-2019
  •  | 
  •  

質問

私は情報理論の分野では、「条件付きエントロピーを」必要だと思う質問があります。私はそれのまわりで私の頭をラップしようとしていますが、いくつかの助けを使用することができます。我々は、4つの家を持っている例を考えてみましょう。最初の家では8人があり、4人は、第二の家に住んで、そして第三の家で2人、そして二人は、第四家の中にあります。だから、4軒の家屋や16人。私は単にランダムにこれらの人々のいずれかを選択した場合は、次の選択がその選択のための4ビットの情報エントロピーを得、16人の中からの選択であること。

しかし、今、私はランダムに1家を選択し、私が選択した家の人々のいずれかを選択する最初の二段階の選択を検討してください。したがって、最初のステップは、利用可能な4家からの1軒の家をピッキングすることは、情報エントロピーの2ビットを生成します。しかし、今、私は最初の家を選ぶことを時間の25%で、第二段階は、最初の家で8人の中から一人の選んで別の3つのビットを追加します。例別の25%で、私は2番目の家に住んで4から1人を選択するためにのみ、別の2つのビットを必要としています。そして最後に、完全に半分例では、私は第三または第四家のいずれかに住んでいるペアから1人を選択するだけで、単一のビットを必要としています。

どういうわけか、2段階のアプローチのためのビット数の加重平均は、単一工程の方法が必要であることと同じ4ビットの合計を生成する必要があることを、私には思えます。しかし、私はそうはっきりとより多くの数学に私はそこに検討していますされているよりも、数字がアップ追加することができません。私はあなたが単純にそうように確率をアップに追加することができるはずという期待していた。

(picking a house) + (picking a person in that house) ==

log(4) + [(1/4)*log(8) + (1/4)*log(4) + (1/4)*log(2) + (1/4)*log(2)]

しかし、これは3.75ビットではなく、私が期待してい4ビットの結果を生成します。ここで私はこれを評価するために使用されることのpythonのビットです。

from math import log
def log2(x):
    return log(x,2)
x = log2(4) + ((1.0/4)*log2(8) + (1.0/4)*log2(4) + (1.0/4)*log2(2) + (1.0/4)*log2(2))
print x

だから、何かが私の数字から欠落しています。右方向への缶誰ポイントを私に?

役に立ちましたか?

解決

あなたは(一様な確率、略してUPして)ランダムに家を選択した場合、ランダム(UP)で居住者を選択し、あなたしているのないの16 UPの1を選択する - あなたは当然のことながら(UP最大化エントロピー)より低いエントロピーを生じる多少歪んだ分布を有します。 1/8の確率で各8人は、1/32それぞれの確率で選択されている4つは1/16それぞれの確率で選択されている、および他の4つ。 このの分布は、あなたの別のアプローチで計算と同じように、3.75ビットのエントロピーを持っています。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top