Featured image of post 機械学習でよく出るシャノンの情報量

機械学習でよく出るシャノンの情報量

目次

情報量とエントロピー

  • 情報理論における「情報」とは何か
  • 重要なのは、情報の中身ではなく「どれくらい意外か」ということ
  • その意外さを数値にしたものが、情報量
  • そして、その情報量の平均がエントロピー
  • そこらへんは機械学習でよく出るので改めてまとめた

情報量

情報量の基準は珍しさ

  • たとえばコイン投げ
  • 表が出る確率50%
  • 裏が出る確率50%
  • この場合、どちらが出てもある程度の情報

一方で、かなり偏ったコイン。

  • 表が出る確率 99%
  • 裏が出る確率 1%
  • 99%で出る表には、ほとんど驚きなし
  • 1%しか出ない裏には、大きな驚き

つまり以下の関係。

  • 起こりやすい出来事 → 情報量が小さい
  • 起こりにくい出来事 → 情報量が大きい

これを数式にしたものが、自己情報量。

$$ I(x)=-\log p(x) $$
  • $p(x)$ は、出来事 $x$ が起こる確率
  • 確率が小さくなるほど、大きくなる情報量
  • 「珍しい出来事ほど情報量が大きい」という考え方

なぜマイナスがつくのか

確率の範囲は以下。

$$ 0
  • 確率は0より大きく、1以下
  • この範囲の値に対して対数を取ると、0以下の値
  • たとえば底を2にした場合。

    $$ \log_2\frac{1}{2}=-1 $$$$ \log_2\frac{1}{4}=-2 $$$$ \log_2\frac{1}{8}=-3 $$
    • 確率が小さくなるほど、対数の値はより小さな負の値
    • 一方で、情報量は珍しい出来事ほど大きくしたいところ
    • そこでマイナス符号の登場

    自己情報量を底2で表したもの。

    $$ I(x)=-\log_2p(x) $$

    たとえば、確率が半分の出来事。

    $$ p(x)=\frac{1}{2} $$

    情報量は以下。

    $$ I(x)=-\log_2\frac{1}{2}=1 $$
    • 1bitの情報量となる

    確率が8分の1の場合。

    $$ p(x)=\frac{1}{8} $$

    情報量は以下。

    $$ I(x)=-\log_2\frac{1}{8}=3 $$
    • 3bitの情報量

    つまり、珍しくなるほど増えることを表現するために、負の対数になった。

    なぜ対数なのか

    情報量を以下とする理由。

    $$ I(x)=-\log p(x) $$
    • 単なる数学上の都合ではないもの
    • 重要なのは、「情報は足し算できてほしい」という要請

    たとえば、独立した2つの出来事$A$ と$B$。

    それぞれの確率。

    $$ p(A)=\frac{1}{2} $$$$ p(B)=\frac{1}{4} $$

    独立なので、両方が起こる確率は掛け算。

    $$ p(A,B)=\frac{1}{2}\times\frac{1}{4}=\frac{1}{8} $$

    両方が起きたときの情報量。

    $$ I(A,B)=-\log_2\frac{1}{8}=3 $$

    一方、それぞれの情報量。

    $$ I(A)=-\log_2\frac{1}{2}=1 $$$$ I(B)=-\log_2\frac{1}{4}=2 $$

    それぞれを足した結果。

    $$ I(A)+I(B)=3 $$

    つまり以下の関係。

    $$ I(A,B)=I(A)+I(B) $$

    確率については掛け算。

    $$ p(A,B)=p(A)p(B) $$

    情報量については足し算。

    $$ I(A,B)=I(A)+I(B) $$

    これを可能にしているものが、対数の性質。

    $$ \log(ab)=\log a+\log b $$
    • 確率の掛け算を、情報量の足し算に変換する対数
    • 情報量に対数が登場する大きな理由

    情報量を「二択の回数」と考える

    • 底を2にすると、情報量をより直感的に理解可能
    • たとえば8個の箱
    • そのうち1つだけが当たり
    • どの箱も同じ確率

    当たりの確率。

    $$ p=\frac{1}{8} $$

    当たりの箱を知ったときの情報量。

    $$ -\log_2\frac{1}{8}=3 $$
    • 3 bitの情報量

    これは、二択の質問を3回すれば8個から1個を特定できることに対応。

    • 8個 → 4個
    • 4個 → 2個
    • 2個 → 1個

    候補数との関係。

    $$ 2^3=8 $$
    • 3回のYes / Noで1つに特定
    • 1bitとは、ざっくり言えば「二択を1回解決するための情報量」

    エントロピー

    エントロピーとは

    • ここまでは、実際に起きた1つの出来事についての情報量
    • しかし結果を見る前には、どの出来事が起きるか不明
    • そこで知りたいのが、「平均するとどれくらいの情報が得られるのか」ということ
    • その量がエントロピー

    確率変数 $X$ が、以下のいずれかの値を取るとする。

    $$ x_1,x_2,\dots,x_n $$

    それぞれの確率。

    $$ p_1,p_2,\dots,p_n $$

    出来事

    $$x_i$$

    が起きたときの情報量。

    $$ -\log p_i $$

    これを、それぞれの発生確率で重み付けして平均。

    $$ H(X)=\sum_i p_i(-\log p_i) $$

    整理すると以下。

    $$ H(X)=-\sum_i p_i\log p_i $$
    • これがシャノンエントロピー
    • 自己情報量の期待値
    • 結果を見る前の不確実性を表す量

    エントロピーは「平均的な驚き」

    エントロピーの直感。

    • 自己情報量 → 実際に起きた出来事の驚き
    • エントロピー → 起こりうる出来事についての平均的な驚き

    たとえば公平なコイン。

    表と裏の確率。

    $$ p(\text{表})=\frac{1}{2} $$$$ p(\text{裏})=\frac{1}{2} $$

    エントロピー。

    $$ H(X)=-\frac{1}{2}\log_2\frac{1}{2}-\frac{1}{2}\log_2\frac{1}{2} $$

    計算結果。

    $$ H(X)=1 $$
    • 1bit
    • 結果を見るまで、表か裏か分からない状態
    • 二択が完全に不確実な状態

    一方で、必ず表が出るコイン。

    $$ p(\text{表})=1 $$$$ p(\text{裏})=0 $$
    • 結果を見る前から答えが分かっている状態
    • 新しく得られる情報はなし

    この場合のエントロピー。

    $$ H(X)=0 $$
    • 情報量ゼロ
    • 完全に予測可能な状態

    偏るほどエントロピーは小さくなる

    たとえば、かなり偏ったコイン。

    $$ p(\text{表})=0.99 $$$$ p(\text{裏})=0.01 $$
    • ほとんど表
    • 結果を見る前から、かなり予測可能な状態
    • そのためエントロピーも小さめ

    逆に、公平なコイン。

    $$ p(\text{表})=0.5 $$$$ p(\text{裏})=0.5 $$
    • どちらが出るか最も分からない状態
    • このときエントロピーは最大

    つまり以下の関係。

    • 結果が予測しやすい → エントロピーが小さい
    • 結果が予測しにくい → エントロピーが大きい
    • 確率分布が偏っている → エントロピーが小さい
    • 確率分布が均等 → エントロピーが大きい

    別の言い方をすると、

    • エントロピーを「乱雑さ」と説明することもある
    • 情報理論では「不確実性」と考える方が直感的

    4つの選択肢

    • たとえば4種類の結果
    • すべて同じ確率の場合

    それぞれの確率。

    $$ p_1=p_2=p_3=p_4=\frac{1}{4} $$

    エントロピーは以下。

    $$ H(X)=-4\times\frac{1}{4}\log_2\frac{1}{4} $$

    計算結果。

    $$ H(X)=2 $$
    • 2bit
    • 4択から1つを特定するために必要な二択質問が2回

    具体的には以下。

    • 4個 → 2個
    • 2個 → 1個

    一方、以下のような偏った確率分布。

    $$ p=(0.97,0.01,0.01,0.01) $$
    • ほぼ最初の結果

    • 結果をかなり予測可能

    • 不確実性が小さい状態

    • そのためエントロピーも小さい状態

    • 同じ「4つの選択肢」でも、確率分布によって変わるエントロピー

    エントロピーが最大になるとき

    • $n$個の結果が存在する場合
    • エントロピーが最大になるのは、すべてが等確率のとき

    それぞれの確率。

    $$ p_i=\frac{1}{n} $$

    エントロピーの定義に代入。

    $$ H(X)=-\sum_{i=1}^{n}\frac{1}{n}\log_2\frac{1}{n} $$

    同じ項が $n$個あるため、以下。

    $$ H(X)=-\log_2\frac{1}{n} $$

    したがって以下。

    $$ H(X)=\log_2n $$

    具体例。

    • 2通り → 1 bit
    • 4通り → 2 bit
    • 8通り → 3 bit
    • 16通り → 4 bit
    • 256通り → 8 bit

    つまり、

    • 候補が倍になるごとに、必要な情報量が1 bit増加
    • 対数らしい増え方

    BitとNat

    BitとNatとは

    情報量の基本形。

    $$ I(x)=-\log p(x) $$
    • ここで重要なのが「対数の底」
    • どの底を使うかによって変わる情報量の単位

    Bit

    • 底を2にした場合
    • 単位はbit

    定義。

    $$ I(x)=-\log_2p(x) $$

    たとえば確率が半分。

    $$ p=\frac{1}{2} $$

    情報量は以下。

    $$ I=1\ \mathrm{bit} $$

    確率が4分の1の場合。

    $$ p=\frac{1}{4} $$

    情報量は次になる。

    $$ I=2\ \mathrm{bit} $$

    確率が8分の1の場合。

    $$ p=\frac{1}{8} $$

    情報量は以下。

    $$ I=3\ \mathrm{bit} $$
    • 二進数との相性がいい単位
    • コンピュータや通信でよく登場するbit
    • 二択を何回繰り返せば特定できるか、という直感との相性の良さ

    Nat

    • 自然対数を使った場合
    • 単位は nat

    定義。

    $$ I(x)=-\ln p(x) $$
    • natは natural unit of information に由来する単位
    • 対数の底は自然対数の$e$

    たとえば、確率が以下の出来事。

    $$ p=\frac{1}{e} $$

    その情報量。

    $$ I(x)=-\ln\frac{1}{e}=1 $$
    • 1nat

    BitとNatは別の情報なのか

    • 違いは単位だけ
    • 情報量そのものが変わるわけではない
    • 同じ距離をメートルとフィートで表すようなもの

    bitとnatの変換関係。

    $$ 1\ \mathrm{nat}=\log_2e\ \mathrm{bit} $$

    近似値。

    $$ 1\ \mathrm{nat}\approx1.443\ \mathrm{bit} $$

    逆方向の変換。

    $$ 1\ \mathrm{bit}=\ln2\ \mathrm{nat} $$

    近似値。

    $$ 1\ \mathrm{bit}\approx0.693\ \mathrm{nat} $$

    たとえば公平なコイン。

    bitで測った場合。

    $$ -\log_2\frac{1}{2}=1\ \mathrm{bit} $$

    natで測った場合。

    $$ -\ln\frac{1}{2}=\ln2\approx0.693\ \mathrm{nat} $$
    • 数字は違う
    • 表している情報量は同じ
    • 違うのは単位だけ

    なぜ機械学習ではNatをよく見るのか

    • 情報理論ではbitが直感的
    • 一方で、機械学習や統計では自然対数も頻繁に登場
    • その場合、情報量の単位はnat

    たとえばクロスエントロピー。

    $$ H(p,q)=-\sum_xp(x)\ln q(x) $$
    • 自然対数を使えば単位はnat
    • 自然対数を使う理由のひとつが、数学的な扱いやすさ

    自然対数の微分。

    $$ \frac{d}{dx}\ln x=\frac{1}{x} $$
    • 非常にシンプルな形
    • 微分や最適化との相性の良さ
    • 最適化を大量に行う機械学習で自然対数がよく使われる理由のひとつ

    ざっくりとした傾向。

    • 通信・情報理論 → bit
    • 数学・統計・機械学習 → natも頻繁に利用
    • ただし、本質的な違いではなく単位の選択

    情報量とエントロピーの違い

    自己情報量の定義。

    $$ I(x)=-\log p(x) $$
    • ある出来事$x$が実際に起きたときの情報量
    • その出来事がどれくらい珍しいかを表す量

    エントロピーの定義。

    $$ H(X)=-\sum_xp(x)\log p(x) $$
    • 起こりうるすべての出来事について、自己情報量を平均したもの
    • 結果を見る前の不確実性を表す量

    ざっくり言えば以下。

    • 情報量 → 1回の驚き
    • エントロピー → 驚きの平均
    • 確率が低い → 情報量が大きい
    • 確率が高い → 情報量が小さい
    • 予測しにくい → エントロピーが大きい
    • 予測しやすい → エントロピーが小さい
    • 底が2 → bit
    • 底が$e$ → nat

    まとめ

    • 情報理論における情報とは、単なるデータの量ではないもの
    • 「どれだけ予想外だったか」を定量化したもの

    その基本となる自己情報量。

    $$ I(x)=-\log p(x) $$
    • 珍しい出来事ほど大きな情報量
    • 起こりやすい出来事ほど小さな情報量
    • 確率の掛け算を、情報量の足し算に変える対数

    そして、その平均としてのエントロピー。

    $$ H(X)=-\sum_xp(x)\log p(x) $$
    • これがシャノンエントロピー
    • 結果が読める世界では、小さなエントロピー
    • 結果が読めない世界では、大きなエントロピー
    • エントロピーとは、不確実性の大きさ

    対数の底によって変わる単位。

    • $\log_2$ → bit
    • $\ln$ → nat

    最後に一言でまとめるなら以下。

    • 情報量 → 「その結果はどれくらい意外だったか」
    • エントロピー → 「結果を見る前にどれくらい分からないか」
    Built with Hugo
    テーマ StackJimmy によって設計されています。