応用数学学習まとめ: 第4章 情報理論

# 第4章: 情報理論
## 情報量とエントロピー
- 情報量(自己エントロピーや自己情報量とも呼ぶ)
    - 事象を観測したときに得る情報量は，その事象が起きる確率が低い(＝珍しい)ほど大きい
    - $ I(x) = - \log P(x) $
        - $I$は、確率$ P(x) $で起こる事象を観測したときに得られる情報量
            - 対数の底が2のとき、単位はbit
            - 対数の底が$e$(ネイピア数)の時、単位はnat
    - 例
        - 表が出る確率が1/2のコインを投げて表が出た: $ - \log_2 \dfrac{1}{2} = 1&ensp;bit $
        - 確率0.000002で1億円当たる宝くじで1億円を当てた: $ -\log_2 0.000002 \approx 19.9&ensp;bit $
    - 情報量では$ \log $を使うことにより、複数事象の同時確率を足し算で表すことができる
- エントロピー(シャノンエントロピーや平均情報量とも呼ぶ)
    - 情報量の期待値
        - 情報源がどれだけ情報を出しているかの指標
        - 期待値なので、事象の起こりにくさで重み付けしていることになる
    - $ H(x) = \mathbb{E}(I(x)) $
        $ = - \mathbb{E}(\log P(x)) $
        $ = - \displaystyle \sum_x P(x) \log P(x) $
    - 例
        - 表が出る確率が$ p $(=裏が出る確率は$ 1-p $)のコインを投げた表裏の平均情報量: $ - p \log_2 p - (1-p) \log_2 (1-p) $
        - 上記は$ \log_2 $なので単位はbit

## 交差エントロピーとカルバック・ライブラー ダイバージェンス
- 交差エントロピー
    - 二つの確率分布$ P, Q $がどれぐらい離れているかを表す指標
        - 二つの確率分布が似ているほど小さな値となる
    - $ H(P, Q) = - \displaystyle \sum_x P(x) \log Q(x) $
        - $P$が真の分布(正解データ)で、$Q$がモデルの分布(推論したデータ)
        - シャノンエントロピーの後半が$Q$になっている
        - $Q$についての自己情報量を$P$の分布で平均している
            - $P$の分布の確率密度関数が密な領域に対する誤りに着目している、つまり、真の分布で密な領域がモデルの分布でも密になることを期待している
    - 分類問題を解くための損失関数として使われる
        - $ Loss = - \displaystyle \sum_k t_k \log y_k $
            - 正解ラベルが$ t $、モデルの推定値が$ y $
- カルバック・ライブラー(KL) ダイバージェンス(相対エントロピーとも呼ぶ)
    - 同じ事象・確率変数における異なる確率分布$ P, Q $の違いを表す
        - 二つの確率分布の近さを数量化したもの(同一であれば0)
        - ある確率分布$Q$がターゲットの確率分布$P$をどのくらい忠実に近似しているかを数値として表す
    - $ D_{KL}(P \Vert Q) = \displaystyle \sum_x P(x) \log \dfrac{P(x)}{Q(x)} $
        $ = \sum(P(x) \log P(x) - P(x) \log Q(x)) $
        $ = -\sum P(x) \log Q(x) - (- \sum P(x) \log P(x)) $
        - $ P $と$ Q $の交差エントロピー$ H(P, Q) $から$ P(x) $のエントロピー$ H(P) $を引いている
            - $ D_{KL}(P \Vert Q) = H(P, Q) - H(P) $
        - 確率分布$P(x)$をベースとしたとき、$Q(x)$はどれだけエントロピーがあるかを示す
        - $P = Q$の場合には$ D_{KL}(P \Vert Q) = 0 $
        - なお、 $ D_{KL}(P \Vert Q) \neq D_{KL}(Q \Vert P) $であることに注意
            - KLダイバージェンスの非対称性を解消したものがJSダイバージェンス
                - $ D_{JS}(P \Vert Q) = \frac{1}{2}(D_{KL}(P \Vert R) + D_{KL}(Q \Vert R) $
                - ここで、$ R = \frac{P + Q}{2} $

## 結合エントロピーと条件付きエントロピー
- 結合エントロピー(同時エントロピーとも呼ぶ)
    - 二つの事象が同時に起こる確率、同時確率$ P(X, Y) $のエントロピー
    - $ H(X, Y) = - \displaystyle \sum_{j=1}^{M_Y} \sum_{i=1}^{M_X} P(x_i, y_j) \log P(x_i, y_j) $
        - $ H(X, Y) $という同じ表記になるが、交差エントロピーとは異なる概念であることに注意
    - $ X $と$ Y $が互いに独立した確率変数の場合には、$ P(X, Y) = P(X)·P(Y) $となるので、$ H(X, Y) = H(X) + H(Y) $となる
- 条件付きエントロピー
    - 事象Yが生じているという条件下における事象Xのエントロピーを条件付きエントロピーとよぶ
    - $ H(X \vert Y) = - \displaystyle \sum_{j=1}^{M_Y}  P(Y = y) H(X \vert Y = y) $
    - 結合エントロピーは、条件付きエントロピーを使って以下のように表すことができる
        - $ H(X, Y) = H(X \vert Y) + H(Y) $

## 相互情報量
- 相互情報量
    - $ X $, $ Y $が互いに独立でない場合は、$ H(X, Y) = H(X) + H(Y) $
が成り立たず、その差は相互情報量と呼ばれ、相互情報量は確率変数間の依存度を表す
        - ここでの$ H(X, Y) $は交差エントロピーではなく、結合エントロピーを指す
    - $ I(X; Y) = H(X) + H(Y) - H(X, Y) $
        $ = H(X) - H(X \vert Y) $
        - $ Y $を知ることによって、$ X $のエントロピーがどれだけ減少したかを示す
    - 相互情報量は常に非負の値

## 連続型確率分布の場合
- 連続型確率分布の場合もほぼ同様だが、$ \sum $が$ \int $になる
- 連続型確率分布$ p $のエントロピー
    - $ H(p) = - \displaystyle \int_X p(x) \log p(x) dx $
- 連続型確率分布$ p $と$ q $の交差エントロピー
    - $ H(p, q) = - \displaystyle \int_X p(x) \log q(x) dx $
    - 真の分布$ p(x) $による期待値をデータ$ D $による平均によって置き換えるという近似をモンテカルロ積分と呼ぶ
        - $ \tilde{H}(p, q) = - \dfrac{1}{n} \displaystyle \sum_{i=1}^n \log q(x_i) $
- 連続型確率分布$ p $と$ q $のKLダイバージェンス
    - $ D_{KL}(p \Vert q) = \displaystyle \int_X p(x) \log \dfrac{p(x)}{q(x)} dx $

## 例題
### 例題1
- サイコロを振り、出た目を表す確率変数を$ X_1 $とおく。ただし、このサイコロは細工が施されており、それぞれの目が出る確率は以下のようになっている。
- 細工されたサイコロの出る目の確率分布表
![20231214確率・統計01.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3574945/6864dc52-7631-f149-40c0-2a2533b58b7b.png)

- このサイコロを振った時、3の目が出た時に得られる情報量はどれだけか?
    - $ I(P(X = 3)) = - \log_2 0.2 $
- $ X_1 $のエントロピー$ H(X_1) $はどれだけか?
    - $ H(X_1) = - \sum P(X_1) \log P(X_1) $
    $ = - (0.3 * \log_2 0.3 + 0.2 * \log_2 0.2 * 3 + 0.1 * \log_2 0.1 ) $ 
- 次にこのサイコロをもう一度振り、出た目を表す確率変数を$ X_2 $とする。$ X_1 = X_2 $のとき$ 1 $、$ X_1 \neq X_2 $のとき$ 0 $となる確率変数$ Y $を定義する。この時、結合エントロピー$ H(X_1, Y)　$はどれだけか?
    - $ X, Y $の同時分布は以下の通りとなる
![20231214確率・統計02.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3574945/90b58a95-aaba-f34c-8aea-b32be960aab1.png)
    - 確率変数$ X, Y $の結合エントロピーは、$ H(X, Y) = - \displaystyle \sum_{j=1}^{M_Y} \sum_{i=1}^{M_X} P(x_i, y_j) \log P(x_i, y_j) $
    $ = -(0.21 * \log_2 0.21 + 0.16 * \log_2 0.16 * 3 + 0.09 * \log_2 0.09 * 2 + 0.04 * \log_2 0.04 * 2 + 0.01 * \log_2 0.01) $
- 相互情報量$ I(X_1; Y) $はどのように表されるか?
    - $ I(X_1; Y) = H(X_1) + H(Y) - H(X_1, Y) $
    - ここで、$ H(X_1, Y) = H(X_1 \vert Y) + H(Y) $であることから、$ I(X_1; Y) = H(X_1) - H(X_1 \vert Y) $とも表される
- $ H(Y)= 0.76, H(X_1, Y) = 2.99 $ であるとき、相互情報量$　I(X_1; Y) $はいくつか? なお、$ \log_2 0.3 = -1.73 $, $ \log_2 0.2 = -2.32 $, $ \log_2 0.1 = -3.32 $とする
    - 上記から$ H(X_1) = - (0.3 * \log_2 0.3 - 0.2 * \log_2 0.2 * 3 - 0.1 * \log_2 0.1 ) = 2.24 $
    - $ I(X_1; Y) = H(X_1) + H(Y) - H(X_1, Y) $だから、$ I(X_1; Y) = 2.24 + 0.76 - 2.99 = 0.01 $

### 例題2
- あるスーパーで、1時間に80人の客が来店した。来店した客の性別の内訳と、客がマイバッグを持っているかの内訳は以下の通りであった。
![20231214確率・統計03.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3574945/6d3ce2a9-b055-b79c-c55a-462c254f69a5.png)
- 来店した客の性別を確率変数$ Y $とした時に、$ Y $のエントロピーはどれだけか? 必要であれば以下の値を用いてもよい。$ \log_2 0.375 = -1.42 $, $ \log_2 0.625 = -0.68 $, $ \log_2 0.75 = -0.42 $, $ \log_2 0.875 = -0.19 $
    - $ H(Y) = - \sum P(Y) \log_2 P(Y)$
    $ = - (0.375 * \log_2 0.375 + 0.625 * \log_2 0.625) $
    $ \simeq 0.96 $
- マイバッグの有無を確率変数$ X $とした時に、$ X $と$ Y $の結合エントロピー$ H(X, Y) $はいくつか?
    - $ H(X, Y) = - \displaystyle \sum_{j=1}^{M_Y} \sum_{i=1}^{M_X} P(x_i, y_j) \log P(x_i, y_j) $
    $ = -(0.125 * \log_2 0.125 + 0.25 * \log_2 0.25 + 0.375 * \log_2 0.375 + 0.25 * \log_2 0.25) $
    $ = -(0.125 * -3 + 0.25 * -2 * 2 + 0.375 * -1.42) $
    $ \simeq 1.91 $
        - $ \log_2 0.125, \log_2 0.25 $の値は与えられていないが、それぞれ$ \log_2 2^{-3} = -3, \log_2 2^{-2} = -2 $と自分で計算できることに注意
- 客の性別はわかった上で、その客がマイバッグを所持しているかを知った時の条件付きエントロピーはいくつか?
    - 確率変数$ Y $(ここでは客の性別)がすでに与えられている条件で、確率変数$ X $(ここではマイバッグの有無)を知った時に得られる情報量の平均値である条件付きエントロピー$ H(X \vert Y) $は、結合エントロピー$ H(X, Y) $とエントロピー$ H(Y) $との間に$ H(X \vert Y) = H(X, Y) - H(Y) $という関係を持っている。
    - ここで、上記より$ H(X, Y) = 1.91 $、$ H(Y) = 0.96 $であるから、$ H(X \vert Y) = 1.91 - 0.96 = 0.95 $

### 例題3
- 画像を入力した際に、犬か猫かを分類する分類器を作成した。そこへ未知データとして猫が写った新規画像を入力したところ、得られた仮説は$ [0.2, 0.8] $であった。この時の交差エントロピーはいくつか? なお、正解ラベルは$ [0.0, 1.0] $であり、$ \log_2 0.2 = -0.69, \log_2 0.8 = -0.09 $とする。
    - 交差エントロピーは$ - \displaystyle \sum_k t_k \log y_k $
        - ここで正解ラベルが$ t_k $、モデルの推定値が$ y_k $
    - 交差エントロピーは、$ -1 * log_2 0.8 = 0.09 $
        - 正解ラベル以外の要素は0との積になるため、考慮する必要がない