コンテンツにスキップ

エントロピー計算ツール - オンラインで無料のシャノンエントロピーを計算

与えられたデータセットのシャノンエントロピーをビット単位で計算する無料ツール。数値を入力すると、エントロピー値と各値の頻度分布、対数を用いた計算過程が段階を追って表示される。データに含まれるランダム性や不確実性、情報量を測るのに役立ち、データサイエンスや機械学習の学習にも使える。

エントロピー計算機

選択した形式に応じて、スペースまたはカンマで区切られた数値を入力してください。

データ形式

頻度分布

可視化するデータを入力してください

ローディング計算機...
📚

ドキュメンテーション

エントロピー計算機とは?

エントロピー計算機は、数値集合のシャノンエントロピーを求めます。シャノンエントロピーは、データセットがどの程度予測不能かを測る方法です。すべての値が同じデータセットのエントロピーはゼロです。何も不確かなことがないためです。すべての値が同じ確率で現れるデータセットは、その大きさに対して可能な限り高いエントロピーを持ちます。

この考え方は情報理論に由来します。情報理論は、アメリカの数学者クロード・シャノンが1948年に始めた分野です。シャノンは、メッセージがどれだけの情報を含むかを測ろうとしました。彼はエントロピーを、記号列に含まれる「意外性」の平均量として定義しました。同じ公式は現在、データサイエンス、暗号学、生物学、機械学習など、結果の集合におけるランダム性を測る必要があるあらゆる分野で使われています。

シャノンエントロピーの公式

一意な値 x₁ から xₙ までがあり、それぞれが確率 p(xᵢ) で現れるデータセットでは、シャノンエントロピー H は次のようになります。

H(X)=−∑i=1np(xi)log⁡2p(xi)H(X) = -\sum_{i=1}^{n} p(x_i) \log_2 p(x_i)

言葉で説明すると、各一意な値について、その確率にその確率の底2の対数を掛け、これらの積をすべて足し合わせてから、符号を反転します。結果は常にゼロ以上です。

この計算機は常に底2の対数を使うため、結果の単位は ビット です。別の目的には、自然対数を使ってナットを単位とする方法や、底10を使ってハートレーを単位とする方法もあります。ビットはコンピューティングと情報理論における標準単位なので、この計算機では底2を使います。

結果が負にならない理由

すべての確率 p(xᵢ) は0から1までの範囲にあるため、その対数はゼロまたは負です。確率に負またはゼロの対数を掛けると、負またはゼロの値になります。それらを合計して符号を反転すると、常にゼロ以上の結果になります。

可能な最大エントロピー

n 個の一意な値を持つデータセットでは、すべての値が同じ頻度で現れるときにエントロピーが最大になります。その最大値は log₂(n) ビットです。4個の一意な値が同じ頻度で現れるデータセットのエントロピーは、最大でも2ビットです。log₂(4) = 2だからです。同じ4個の値でも、分布に偏りがあればエントロピーは低くなります。

エントロピーの計算方法:手順

  1. 一意な値を一覧にする データセット内の一意な値を挙げ、それぞれが何回現れるかを数えます。
  2. 各個数を値の総数で割る 各一意な値の確率を求めるため、個数を値の総数で割ります。
  3. 各確率の底2の対数を求める その対数に同じ確率を掛けます。
  4. これらの積をすべて足し合わせる 合計に−1を掛けます。

この計算機は、同じ4つの手順を自動的に実行します。入力欄に数値を入力し、スペースまたはコンマで区切って、対応する形式を選択すると、エントロピー、確率表、棒グラフがすぐに表示されます。結果の下にある表には、一意な数値ごとの値、個数、確率、p(x) × log₂(p(x)) が表示されるため、最終結果だけでなく計算過程も確認できます。

入力規則

  • 数値のみ入力できます。整数、小数、負の数をすべて使用できます。
  • 選択した形式に応じて、値はスペース(例:1 2 3 4)またはコンマ(例:1,2,3,4)で区切ります。
  • データセットには最大100,000個の値を格納できます。それを超える値を入力すると、データセットを小さくするよう求めるエラーメッセージが表示されます。
  • 科学表記法も使用できるため、1e3は1000として読み取られます。
  • 区切り文字の間にある文字列、記号、空の項目は受け付けられず、無視されることなくエラーになります。
  • 1e400のように、コンピューターが格納できないほど大きな数も受け付けられません。計算機が保持できる最大値は約1.8 x 10^308です。

計算例

6個の数からなるデータセット1 2 3 1 2 1を考えます。

まず、各一意な値を数えます。

値数確率
133/6 = 0.5
222/6 ≈ 0.3333
311/6 ≈ 0.1667

次に、各行に公式を適用し、結果を合計します。

H=−(0.5log⁡20.5+0.3333log⁡20.3333+0.1667log⁡20.1667)H = -(0.5 \log_2 0.5 + 0.3333 \log_2 0.3333 + 0.1667 \log_2 0.1667) H=−(0.5×−1+0.3333×−1.585+0.1667×−2.585)H = -(0.5 \times -1 + 0.3333 \times -1.585 + 0.1667 \times -2.585) H≈1.4591 ビットH \approx 1.4591 \text{ ビット}

このデータセットには3個の一意な値があるため、可能な最大エントロピーは log₂(3) ≈ 1.585ビットです。実際の結果である1.4591ビットがその最大値を下回るのは、値1が他の値より頻繁に現れ、完全に均等な分割よりもデータセットのランダム性が少し低くなるためです。

不確実性のないデータセット

データセット5 5 5 5 5には一意な値が1つしかないため、その確率は1です。log₂(1) = 0なので、合計の各項はゼロとなり、エントロピーは正確に0ビットです。すべての値が同一のデータセットには、不確実なことが何もありません。

結果の読み方

  • 0に近いエントロピーは、データが反復的で予測しやすいことを意味します。1つまたは少数の値が大部分を占めています。
  • log₂(n) に近いエントロピーは、n を一意な値の個数とすると、データがすべての一意な値にほぼ均等に分布していることを意味します。
  • 正確に0のエントロピーは、データセット内のすべての値が同じであることを意味します。

エントロピーだけでは、データセットが「良い」か「悪い」かは分かりません。パスワード生成器は、パスワードを推測しにくくするため、高いエントロピーを必要とします。一方、一定の温度を示すべきセンサーは、読み取り値が安定していることを意味する低いエントロピーを必要とします。

シャノンエントロピーの利用分野

  • 機械学習: 決定木アルゴリズムは、データセットを予測しやすいグループに分ける際、どの特徴量で分割するのが最適かを判断するためにエントロピーを使います。
  • データ圧縮: エントロピーは、情報を失わずにファイルをどこまで小さく圧縮できるかという理論上の限界を定めます。
  • 暗号学: エントロピーは、パスワードや暗号鍵がどの程度予測不能かを測ります。
  • 遺伝学: エントロピーは、DNA配列内の特徴的な領域や変動性の高い領域を明らかにするのに役立ちます。
  • テキスト分析: 文字や単語を「値」として扱うことで、エントロピーにより文章の一部がどの程度予測しやすいかを測定できます。

よくある質問

情報理論におけるエントロピーとは? データセットがどの程度不確実または予測不能かを測る数値です。データ内の値そのものではなく、各一意な値の確率から計算します。

シャノンエントロピーを手計算する方法は? 各一意な値が何回現れるかを数え、各個数を総数で割って確率を求め、各確率にその底2の対数を掛け、結果を合計して、−1を掛けます。

エントロピーは負になることがありますか? いいえ。可能な最小値は0ビットで、データセット内のすべての値が同一の場合に生じます。

データセットの最大エントロピーはいくつですか? 最大値は log₂(n) ビットです。n は一意な値の個数で、すべての一意な値が同じ頻度で現れる場合にのみこの値になります。

データセットのサイズに制限はありますか? はい。1つのデータセットに最大100,000個の値を入力できます。それを超える入力にはエラーが返されます。

エントロピーは分散とどう違いますか? 分散は、数値が平均値の周りにどの程度広がっているかを測ります。エントロピーは、数値そのものの大きさに関係なく、確率だけに基づいて結果のパターンがどの程度予測不能かを測ります。

参考文献

  1. Shannon, C. E. (1948). A Mathematical Theory of Communication. Bell System Technical Journal, 27(3), 379–423.
  2. Cover, T. M., & Thomas, J. A. (2006). Elements of Information Theory(2版). Wiley-Interscience.
  3. MacKay, D. J. C. (2003). Information Theory, Inference, and Learning Algorithms. Cambridge University Press.