誤りのある通信路とか情報量とかそのへん | Trellis Blog

注意: これは僕が情報量などについての直感を得るために書くものなので必ずしも定義などからして正確でない可能性があります。

1 2元対称通信路

送り手が受け手に 1 bit の情報を送るという最も単純な通信路です。 送り手を Alice、受け手を Bob とすると、 この通信路にはエラーがありうるので、

  • Alice が 0 を送って Bob が 0 を受け取る
  • Alice が 0 を送って Bob が 1 を受け取る
  • Alice が 1 を送って Bob が 0 を受け取る
  • Alice が 1 を送って Bob が 1 を受け取る

の 4 パターンになりうるということがわかります。 ここで、Alice が 0 を送る確率を \(\alpha\) 、エラーが起こる可能性を \(q\) とすると、 Alice が送りうる情報 (01) それぞれに関して、Bob が受け取る情報が 0 になる確率、 1 になる確率が計算できるということがわかると思います。 例えば、 \(\alpha = 0.4\) 、 \(q = 0.3\) とすると、

  • Alice が 0 を送り、Bob が 0 を受け取る確率は、 \(\alpha \times (1 - q) = 0.4 \times 0.7 = 0.28\)
  • Alice が 0 を送り、Bob が 1 を受け取る確率は、 \(\alpha \times q = 0.4 \times 0.3 = 0.12\)

2 平均情報量

情報量というのは、

\begin{eqnarray*} \log_2 \frac{(事前の場合の数)}{(事後の場合の数)} \end{eqnarray*}

で求まるんだったので、平均情報量はそれぞれの情報量を場合が起こる確率のウェイトをもとに足せばいいことになります。 ちなみに平均情報量のことをエントロピーといいます。 すんなり底 2 を省略するって書きましたが、物理のエントロピーだと e を使うみたいなこともあるみたいです。でも僕は情報の人なので知らん。 普通に平均を求めるときは全部ウェイトが同じなので全部 1/N しているのと同じことです。まあ結局期待値ですが。 このへんの考え方は平均で確率がからんでくるときは全部同じはず。 ところで、情報量を求めるときに脳死で (ちゃんと考えてやれって話ですが)

\begin{eqnarray*} -\log{(起こる確率)} \end{eqnarray*}

(雑) みたいにやるやつの意味は、この「起こる確率」ってヤツが (事後の場合の数)÷(事前の場合の数) だからです。 逆数の関係になっている訳です。log の中が分数だった場合、分子をマイナスにして分離できるってのを使ってます。

3 出力を知った後の入力の平均情報量

要は、「出力を見せられました、はいじゃあ入力を予想しましょう、入力がその通りだった確率はどのくらいでしょう」みたいな話です。 入力を X 、出力を Y とすると、 \(H(X|Y)\) です。なんでこんなに分かりにくいんだよ!!! で、文面で分かったと思いますが (分かる訳ねえだろ) 、これは、さっき出てきた平均情報量の「起こる確率」のところが条件付き確率になったものです。 なぜかと言うと、条件付き確率というのは「ある出力に対してある入力だった確率はどのくらいでしょう」という尺度だからです。 つまり、情報量は「事前の場合の数」にあたるところが、「ある出力だった場合の数」、「事後の場合の数」にあたるところが、 「ある出力を得て、かつそれがある予期した入力のときに起こっていた場合の数」ということになります。

4 相互情報量

出力が分かったときに入力に対する不確かさがどれだけ減ったかということで、\(H(X;Y)\) と表します。なんでこんなに(略 さっきの出力を知った後の入力の平均情報量と似てるなーと思うでしょう。相互情報量は出力を知った後の入力の平均情報量とおおいに関係しています。 例えば、出力を知ったところで入力が全く予想できない (あらゆる入力に対してランダムな値を出力するとか) ということであれば、不確かさは全く減っていないですよね。 だから相互情報量は 0 ということになります。 逆に、出力を知ったら入力が 100% 予想できる (入力と出力が同じとか) ということであれば、 不確かさは全く残っていないということになり、減った不確かさの量は出力の情報量や入力の情報量と同じということになります。 結局、相互情報量というのは、「入力や出力の情報量」から「出力や入力を知った後の入力や出力の平均情報量」を引いたものということになります。

5 結合エントロピー

入力と出力の結びつきの強さみたいな意味みたいですが、正直よく分かりません。

6 おわりに

オールぎみになりながら書いているので間違っているかもしれません。その場合は教えてください。

Last Update: 2019/07/08

Recent Posts

gsettings で変更したい設定メモ
Android の Factory Image を Linux でマウントする
C言語使っていると「すげえ」ってなるC++の機能