情報エントロピーが1を超えるのはなぜですか?


11

エントロピーを計算するために、次の関数を実装しました。

from math import log

def calc_entropy(probs):
    my_sum = 0
    for p in probs:
        if p > 0:
            my_sum += p * log(p, 2)

    return - my_sum

結果:

>>> calc_entropy([1/7.0, 1/7.0, 5/7.0])
1.1488348542809168
>>> from scipy.stats import entropy # using a built-in package 
                                    # give the same answer
>>> entropy([1/7.0, 1/7.0, 5/7.0], base=2)
1.1488348542809166

私の理解では、エントロピーは0と1の間であり、0は非常に確実であることを意味し、1は非常に不確実であることを意味しています。エントロピーの測定値が1を超えるのはなぜですか?

ログベースのサイズを大きくすると、エントロピー測定値が小さくなることはわかっていますが、ベース2が標準であると思っていたので、それは問題ではないと思います。

私は明らかな何かを見逃しているに違いありませんが、何ですか?


ベースはエントロピーの種類に依存しませんか?2を底とするシャノンエントロピーと自然対数統計力学エントロピーではないですか?
Alexis

@アレクシスですが、シャノンのエントロピー範囲は0から1の間ではありませんか?
Akavall 14

1
いいえ:シャノンエントロピーは負ではありません。
Alexis 14

2
イベントが2つ以上ある場合、エントロピーが1を超えても問題はないようです。エントロピーの値は、イベントがバイナリである(2つのイベントがある)特別な場合にのみ0と1の間です。
Akavall 14

回答:


17

エントロピー確率と同じではありません

エントロピーは、確率変数の「情報」または「不確実性」を測定します。base 2を使用している場合、ビット単位で測定されます。また、変数には1ビット以上の情報が含まれる場合があります。

この例では、1つのサンプルに約1.15ビットの情報が含まれています。つまり、一連のサンプルを完全に圧縮できた場合、サンプルあたり平均でそれだけ多くのビットが必要になります。


ありがとうございました。理解できたと思うが、確認したい。私は次のステートメントで正しいですか?結果が2つしかない場合、取得できる情報のほとんどは1ビットですが、結果が3つ以上ある場合は、1ビット以上の情報を取得できます。
Akavall

はい。(たとえば、サンプルごとに2回のコイン投げで生成される可能性のある、4つの均一に分布した結果を検討してください。)
CL。

これに追加するために、エントロピーの範囲は、バイナリ分類問題の場合は0〜1、ログベース2 kの場合は0です。ここで、kはクラスの数です。
MichaelMMeskhi

13

logkk

log210log2211121log2k

logk01


知りませんでした、ありがとう。つまり、基本的に対数の底はサンプルの長さと同じであり、それ以上ではありませんか?
Fierce82

2
サンプルの長さも重要ではありません。カテゴリの数です。
Nick Cox

明確にするために、それはkが可能なカテゴリの数ですか、それともエントロピーを計算するカテゴリの数ですか?例えば。私は10の可能なカテゴリを持っていますが、エントロピーを計算しているシステムに2つのカテゴリを表す3つのサンプルがあります。この場合kは2ですか?
eljusticiero67

0log0

-2

e

from math import log

def calc_entropy(probs):
    my_sum = 0
    for p in probs:
        if p > 0:
            my_sum += p * log(p)

    return - my_sum

与える:

>>> calc_entropy([1/7.0, 1/7.0, 5/7.0])
0.796311640173813

できることはわかっていますが、対数の底2を使用すると、0と1の間のエントロピー値も得られるという印象を受けました。対数の底2は、2つの確率がある場合にのみ使用できますか?
Akavall 2014

log2p

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