情報理論におけるエントロピーという概念をご存知でしょうか。熱力学のエントロピーと同じ名前ですが、こちらは情報の不確実性や多様性を数値化したものです。通信工学やデータ圧縮、機械学習など、現代の情報技術の基礎となる重要な概念です。
しかし、情報量やエントロピーの計算方法、大きい・小さいが何を意味するのかは、初めて学ぶ方にはわかりにくいかもしれません。さらに、平均情報量や相互情報量といった関連概念もあり、それぞれの違いを理解することが重要です。
この記事では、情報エントロピーの基本的な定義から、自己情報量やエントロピーの具体的な求め方、エントロピーの大小の意味、平均情報量や相互情報量まで、わかりやすく丁寧に解説していきます。計算例も交えながら実践的に学べる内容になっていますので、ぜひ最後までお読みください。
情報理論におけるエントロピーとは?
それではまず、情報理論におけるエントロピーの基本的な概念について解説していきます。
情報エントロピー(シャノンエントロピー)の定義
情報エントロピーとは、情報源が持つ不確実性や情報の多様性を定量化した指標です。1948年にクロード・シャノンが提唱したため、シャノンエントロピーとも呼ばれます。
ある確率分布に従って事象が起こるとき、その不確実さの度合いがエントロピーです。確率変数Xがとり得る値をx₁, x₂, …, xₙとし、それぞれの確率をp₁, p₂, …, pₙとするとき、エントロピーH(X)は次の式で定義されます。
H(X) = −Σ pᵢ log₂ pᵢ
ここで、Σはi = 1からnまでの和を表し、log₂は2を底とする対数です。慣例として、0 log₂ 0 = 0と定義します。
エントロピーが大きいほど、情報源の不確実性が高く、予測が困難です。逆にエントロピーが小さいほど、情報源は予測可能で確定的です。
この概念は、通信システムの設計、データ圧縮アルゴリズム、暗号理論、機械学習など、幅広い分野で応用されています。
熱力学のエントロピーとの違い
情報エントロピーと熱力学のエントロピーは、同じ「エントロピー」という名前を持ちますが、異なる文脈で使われます。
熱力学のエントロピーは、物理系の乱雑さや無秩序さを表す物理量で、単位はJ/Kです。ボルツマンの式S = k ln Wで表され、状態の数Wに関係します。
一方、情報エントロピーは、確率分布の不確実性を表す情報理論の量で、単位はビット(bit)です。シャノンの式H = −Σ p log₂ pで表され、確率分布に関係します。
興味深いことに、両者の数学的構造は非常に似ています。これは偶然ではなく、どちらも「状態の多様性」という共通の本質を持っているからです。熱力学のエントロピーは物理的な状態の多様性、情報エントロピーは情報の多様性を表しています。
| 項目 | 熱力学のエントロピー | 情報エントロピー |
|---|---|---|
| 分野 | 物理学、化学 | 情報理論、通信工学 |
| 単位 | J/K | bit、nat |
| 式 | S = k ln W | H = −Σ p log₂ p |
| 意味 | 物理系の乱雑さ | 情報の不確実性 |
実際、情報エントロピーの概念は、熱力学のエントロピーにヒントを得て生まれたとされています。
情報量とエントロピーの関係
情報量とエントロピーは密接に関連していますが、厳密には異なる概念です。
自己情報量は、ある特定の事象が起こったときに得られる情報の量を表します。確率pで事象が起こるとき、その自己情報量I(p)は、
I(p) = −log₂ p = log₂(1/p)
で定義されます。確率が低い事象ほど、それが起こったときの情報量は大きくなります。
一方、エントロピーは、すべての事象の自己情報量の期待値(平均)です。つまり、
H(X) = E[I(X)] = Σ pᵢ × I(pᵢ) = −Σ pᵢ log₂ pᵢ
となります。エントロピーは「平均情報量」とも呼ばれ、情報源全体の不確実性を表します。
例えば、コイン投げで表が出る確率をp、裏が出る確率を1−pとします。表が出たときの情報量は−log₂ p、裏が出たときの情報量は−log₂(1−p)です。エントロピーは、これらを確率で重み付けした平均値となります。
自己情報量:特定の事象が起こったときの情報量
エントロピー:すべての事象の情報量の期待値(平均)
この関係を理解することが、情報理論を学ぶ上での第一歩となります。
エントロピーと情報量の求め方・計算方法
続いては、エントロピーと情報量を実際に計算する方法を確認していきます。
自己情報量の求め方
自己情報量の計算から始めましょう。自己情報量I(p)は、
I(p) = −log₂ p
で求められます。
計算例1:確率1/2の事象の情報量
コインを投げて表が出る確率p = 1/2のとき、
I(1/2) = −log₂(1/2) = −log₂(2⁻¹) = −(−1) = 1 bit
公平なコインの表が出る情報量は1ビットです。
計算例2:確率1/4の事象の情報量
サイコロを2回投げて両方6が出る確率p = 1/4のとき、
I(1/4) = −log₂(1/4) = −log₂(2⁻²) = 2 bit
確率が低いほど、その事象が起こったときの情報量は大きくなります。
計算例3:確率1の事象の情報量
必ず起こる事象(p = 1)の情報量は、
I(1) = −log₂ 1 = 0 bit
確実に起こる事象には情報量がありません。これは直感的にも納得できます。
一般に、確率pが小さいほど、I(p) = −log₂ pは大きくなります。めったに起こらない事象が起こったときほど、多くの情報を得ることになるのです。
エントロピーの計算式と計算例
エントロピーH(X)の計算は、すべての事象について自己情報量を確率で重み付けして合計します。
H(X) = −Σ pᵢ log₂ pᵢ
計算例1:公平なコイン投げ
表の確率p₁ = 1/2、裏の確率p₂ = 1/2のとき、
H(X) = −(1/2 × log₂(1/2) + 1/2 × log₂(1/2))
= −(1/2 × (−1) + 1/2 × (−1))
= −(−1/2 − 1/2)
= 1 bit
公平なコインのエントロピーは1ビットです。これは2値の情報源の最大エントロピーです。
計算例2:偏ったコイン投げ
表の確率p₁ = 3/4、裏の確率p₂ = 1/4のとき、
H(X) = −(3/4 × log₂(3/4) + 1/4 × log₂(1/4))
= −(3/4 × (−0.415) + 1/4 × (−2))
= −(−0.311 − 0.5)
= 0.811 bit
偏ったコインのエントロピーは1ビットより小さくなります。
計算例3:サイコロ投げ
すべての目が等確率p = 1/6で出るとき、
H(X) = −6 × (1/6 × log₂(1/6))
= −(1/6 × (−2.585)) × 6
= 2.585 bit
6面サイコロのエントロピーは約2.585ビットです。
| 情報源 | 確率分布 | エントロピー(bit) |
|---|---|---|
| 公平なコイン | 1/2, 1/2 | 1.000 |
| 偏ったコイン | 3/4, 1/4 | 0.811 |
| サイコロ | 1/6, 1/6, …, 1/6 | 2.585 |
| 確定的 | 1, 0, 0, … | 0.000 |
計算のポイントは、log₂の計算です。log₂ x = (ln x)/(ln 2)または(log₁₀ x)/(log₁₀ 2)として計算できます。
エントロピーの単位(ビット)
エントロピーの単位について詳しく見ていきましょう。
最も一般的な単位はビット(bit)です。これは2を底とする対数log₂を使ったときの単位で、2進数での情報量を表します。1ビットは、2つの状態(0か1)を区別するのに必要な情報量です。
自然対数lnを使う場合、単位はナット(nat)になります。
H(X) = −Σ pᵢ ln pᵢ [nat]
1 nat ≈ 1.443 bitの関係があります。
常用対数log₁₀を使う場合、単位はディット(dit)またはハートレー(hartley)です。
H(X) = −Σ pᵢ log₁₀ pᵢ [dit]
1 dit ≈ 3.322 bitの関係があります。
情報理論では通常、log₂を使ってビット単位で表現することが最も一般的です。これは、コンピュータが2進数で動作することと関係しています。
エントロピーが1ビットということは、その情報を符号化するのに平均して1ビットが必要ということを意味します。エントロピーは、データ圧縮の理論的限界を示す重要な指標となります。
エントロピーの大きい・小さいの意味と判断
続いては、エントロピーの大小が何を意味するのかを詳しく見ていきます。
エントロピーが大きいとは
エントロピーが大きいということは、情報源の不確実性が高く、多様性があることを意味します。
具体的には、以下のような特徴があります。
すべての事象がほぼ等確率で起こる状態では、エントロピーは最大になります。例えば、公平なサイコロ(各目が1/6の確率)は、偏ったサイコロよりエントロピーが大きくなります。
予測が困難な情報源ほど、エントロピーは大きくなります。ランダムな文字列は、規則的な文字列よりもエントロピーが大きいです。
データ圧縮の観点では、エントロピーが大きいほど圧縮が困難です。完全にランダムなデータは、これ以上圧縮できません。
暗号理論では、エントロピーが大きいパスワードほど安全です。すべての文字がランダムに選ばれたパスワードは、最もエントロピーが高く、推測が困難です。
機械学習では、決定木の分岐にエントロピーを使います。エントロピーが大きい属性を選んで分岐することで、効率的に分類できます。
エントロピーが小さいとは
エントロピーが小さいということは、情報源の不確実性が低く、予測可能であることを意味します。
具体的には、以下のような特徴があります。
特定の事象が高確率で起こる状態では、エントロピーは小さくなります。例えば、99%の確率で表が出る偏ったコインは、エントロピーが非常に小さくなります。
規則的なパターンを持つ情報源ほど、エントロピーは小さくなります。「AAAAAAA」という文字列は、完全にランダムな文字列よりエントロピーが小さいです。
データ圧縮の観点では、エントロピーが小さいほど圧縮しやすいです。同じ文字の繰り返しは、効率的に圧縮できます。
極端な場合、ある事象の確率が1(他は0)のとき、エントロピーは0になります。これは完全に確定的な情報源で、不確実性が全くありません。
日常生活の例では、朝に太陽が東から昇ることはほぼ確実なので、そのエントロピーは0に近いです。一方、明日の天気は不確実なので、エントロピーは大きくなります。
最大エントロピーと最小エントロピー
エントロピーの取り得る範囲を理解することも重要です。
最小エントロピーは0です。これは、ある事象の確率が1で、他がすべて0のときに実現します。
H_min = 0
このとき、情報源は完全に確定的で、不確実性はありません。
最大エントロピーは、すべての事象が等確率のときに実現します。n個の事象があるとき、
H_max = log₂ n
となります。例えば、
2値(コイン):H_max = log₂ 2 = 1 bit
6値(サイコロ):H_max = log₂ 6 ≈ 2.585 bit
8値:H_max = log₂ 8 = 3 bit
256値(8ビット):H_max = log₂ 256 = 8 bit
0 ≤ H(X) ≤ log₂ n
最小値0:完全に確定的
最大値log₂ n:すべて等確率
この性質は、情報源の効率を評価する際に使われます。実際のエントロピーと最大エントロピーの比を取ると、情報源の冗長度がわかります。
冗長度 = 1 − H(X)/H_max
冗長度が大きいほど、その情報源には圧縮の余地があることを示しています。
平均情報量と相互情報量
続いては、より高度な概念である平均情報量と相互情報量について確認していきます。
平均情報量(エントロピー)
実は、エントロピーH(X)自体が平均情報量と呼ばれることがあります。これは、自己情報量の期待値(平均値)だからです。
H(X) = E[I(X)] = E[−log₂ p(X)]
= Σ p(xᵢ) × (−log₂ p(xᵢ))
= −Σ p(xᵢ) log₂ p(xᵢ)
「ある情報源から1つの記号を取り出したとき、平均してどれだけの情報量が得られるか」を表すのが平均情報量、つまりエントロピーです。
例えば、日本語のテキストのエントロピーは、約5〜7ビット/文字と推定されています。これは、日本語の1文字を表すのに平均5〜7ビット必要ということを意味します。
英語のテキストのエントロピーは約1〜1.5ビット/文字です。アルファベットは26文字ありますが、出現頻度に偏りがあり、前後の文字に相関があるため、実際のエントロピーはlog₂ 26 ≈ 4.7ビットより小さくなります。
この平均情報量の概念は、通信システムの設計やデータ圧縮アルゴリズムの理論的基礎となっています。
条件付きエントロピー
条件付きエントロピーは、ある情報が与えられた状態での不確実性を表します。
確率変数Xについて、別の確率変数Yの値が与えられたときの条件付きエントロピーH(X|Y)は、
H(X|Y) = Σ p(y) H(X|Y=y)
= −Σ Σ p(x,y) log₂ p(x|y)
で定義されます。
例えば、天気(X)と気温(Y)を考えます。気温の情報が何も与えられていない状態での天気の不確実性がH(X)です。一方、気温が30℃だとわかった状態での天気の不確実性がH(X|Y=30℃)です。
気温がわかれば、天気の予測がしやすくなるため、通常H(X|Y) 情報が与えられることで不確実性は減少します。
重要な性質として、
H(X,Y) = H(X) + H(Y|X) = H(Y) + H(X|Y)
という連鎖律が成り立ちます。これは、2つの確率変数の同時エントロピーを、片方のエントロピーともう片方の条件付きエントロピーに分解できることを示しています。
相互情報量とその意味
相互情報量は、2つの確率変数がどれだけ関連しているかを表す指標です。
確率変数XとYの相互情報量I(X;Y)は、
I(X;Y) = H(X) − H(X|Y) = H(Y) − H(Y|X)
または、
I(X;Y) = Σ Σ p(x,y) log₂[p(x,y)/(p(x)p(y))]
で定義されます。
相互情報量の意味は、「Yの情報を得ることで、Xの不確実性がどれだけ減少するか」です。
例えば、天気(X)と傘の売り上げ(Y)を考えます。雨の日は傘がよく売れるため、傘の売り上げから天気をある程度予測できます。このとき、I(X;Y)は大きくなります。
相互情報量の性質:
1. I(X;Y) ≥ 0(常に非負)
2. XとYが独立なら、I(X;Y) = 0
3. I(X;Y) = I(Y;X)(対称性)
4. I(X;X) = H(X)(自己情報量)
機械学習では、特徴選択に相互情報量が使われます。目的変数と相互情報量が大きい特徴を選ぶことで、効率的なモデルを構築できます。
| 概念 | 式 | 意味 |
|---|---|---|
| エントロピー | H(X) | Xの不確実性 |
| 条件付きエントロピー | H(X|Y) | Yが与えられたときのXの不確実性 |
| 相互情報量 | I(X;Y) | XとYがどれだけ関連しているか |
| 同時エントロピー | H(X,Y) | XとYの組の不確実性 |
これらの概念の関係は、ベン図のように視覚化できます。H(X,Y)が全体で、I(X;Y)が重なり部分、H(X|Y)とH(Y|X)が重ならない部分に対応します。
まとめ
情報理論におけるエントロピーと情報量について、基本的な定義から計算方法、エントロピーの大小の意味、平均情報量や相互情報量まで詳しく解説してきました。
情報エントロピーH(X) = −Σ pᵢ log₂ pᵢは、情報源の不確実性や多様性を定量化した指標です。自己情報量I(p) = −log₂ pの期待値として定義され、単位にはビット(bit)が使われます。
エントロピーの計算では、すべての事象の確率にlog₂を適用し、確率で重み付けして合計します。等確率のときエントロピーは最大、特定の事象の確率が1のときエントロピーは0となります。
エントロピーが大きいほど情報源は予測困難で圧縮しにくく、小さいほど予測可能で圧縮しやすくなります。この性質は、データ圧縮、暗号理論、機械学習など幅広い分野で応用されています。
条件付きエントロピーH(X|Y)は、情報が与えられた状態での不確実性を、相互情報量I(X;Y)は2つの確率変数の関連性を表します。これらの概念を組み合わせることで、複雑な情報システムを解析できます。
情報エントロピーは現代の情報技術の基礎となる重要な概念です。この記事で学んだ知識を使って、実際のデータに対してエントロピーを計算してみることをお勧めします