【ディープラーニング】交差エントロピーとは?初心者が数学的に解説

大学数学

交差エントロピーとは

交差エントロピーの定義

交差エントロピーやクロスエントロピー(英: cross entropy)とは、情報理論において2つの確率分布の間に定義される尺度である。符号化方式が、真の確率分布 {\displaystyle p} ではなく、ある所定の確率分布{\displaystyle q}  に基づいている場合に、とりうる複数の事象の中からひとつの事象を特定するために必要となるビット数の平均値を表す。

引用:「交差エントロピー」

https://ja.wikipedia.org/wiki/交差エントロピー

これはちょっとすぐに理解できないです。用語用語1つずつ理解しながら全体の意味を理解してきましょう。

交差エントロピーを具体例で解説

今回は以下のクッキーさんの記事を参考にして解説していきます。

雑記: 交差エントロピーって何 - クッキーの日記
機械学習をしているとよく交差エントロピーを最小化させられると思います。 でも冷静に考えると交差エントロピーが何かよくわかりませんでした。むしろエントロピーがわかりませんでした。 以下の記事を読み、もっと無理がない例で短くまとめたかったのですが、やはり例に無理があり、長くなってしまいました。参考文献 情報理論を視覚的に理...
筆者
筆者

非常にわかりやすく解説してくださっています。本当に感謝しかないです。

エントロピーを定義を理解する

今回使う仮のモデルケースとして日本と中国で1日に発生する地震の規模を使います。あ、もちろん架空のデータなのでデータに違和感を持つのは当然です。ともあれ交差エントロピーを理解するための材料として使います。

無地震

地震(震度12)

地震(震度34)

地震(震度5位上)

日本

50

30

10

10

中国

60

30

5

5

それぞれの震度を以下のエンコード方法で表現するとします。

地震(震度0)

00

地震(震度12)

01

地震(震度34)

10

地震(震度5~)

11

今回あるメモリが与えられるとしてそのメモリの容量が1K[byte](8000[bit])とします。日本の各日付でデータを保存しようとした場合

$$ 8000/2 = 4000 [日]$$

のデータが保存できます。ここでデータの保存方法を最適化することを考えます。無地震が全体の50%を占めているので以下のようにエンコード方法を変更すると

地震(震度0)

0

地震(震度12)

10

地震(震度34)

110

地震(震度5~)

111

この時の1日の平均ビット数は

$$ 0.5 \times 1 + 0.3 \times 2 + 0.1 \times 3 + 0.1 \times 3 = 1.7 [bit]$$

最適化前の平均ビット数は

$$ 0.5 \times 2 + 0.3 \times 2 + 0.1 \times 2 + 0.1 \times 2 = 2 [bit]$$

ですので0.3bit、1日のデータの保存量を削減できたことになります。この最適化を行う方法はすでに存在しており、数学的に証明されています。その方法は確率P(\omega) で起こるできごとには長さlog(\frac1{P(\omega))} を割り当てるという方法です。また1回の試行の結果を伝えるのに要する平均ビット数をエントロピーといいます。

$$ H(P)=E_{P}\left[\log \frac{1}{P(\omega)}\right]=\sum_{\omega \in \Omega} P(\omega) \log \frac{1}{P(\omega)}  $$

筆者
筆者

ようやくエントロピーの定義がでてきました。それでは交差エントロピーの定義も確認しましょう!

エントロピーの値について

まずエントロピーは各事象の発生する確率分布が偏っているほど大きくなります。というのも仮にA国の各地震発生率が25%だったとするならばどの地震が起こっても「ふ〜ん(珍しくはない)」という反応になると思います。しかしB国の各地震発生率が以下の表の場合

地震(震度0)

地震(震度12)

地震(震度34)

地震(震度5~)

B国

33

33

33

1

B国で地震(震度5~)が起きた場合は「は?まじか!!(珍しい)」という反応になるのは想像できますよね。このようなイメージで分布が偏っている場合は平均としてのエントロピーは大きくなります。 P_{b}(\omega)の値が非常に小さい時、\frac{1}{P_{b}(\omega)} の値が大きくなる(割り当てるビット数が増える)ということから数式的にも自然と理解できると思います。

交差エントロピーを定義する

ある確率分布に基づいて最適化された方法で他の確率分布をエンコードした際の平均ビット長を交差エントロピーと呼びます。以下の式は「Qの情報の価値尺度でPの情報を受け取ったときの平均的な価値」として考えることができます。

$$ H(P, Q)=E_{P}\left[\log \frac{1}{Q(\omega)}\right]=\sum_{\omega \in \Omega} P(\omega) \log \frac{1}{Q(\omega)}$$

2つの確率分布が存在し、片方の分布の価値尺度で片方の分布を考えた時、大抵の場合ギャップ(ビット数の無駄遣い)が発生します。おそらく機械学習ではこのギャップを埋めるための処理を挟むのでしょう。両方の確率分布が等しくなればギャップはなくなりますから。

筆者
筆者

以上で交差エントロピーの解説は終了です。最後までお読みいただきありがとうございました。

数学力を身に付けるBESTな参考書3選

解析入門I

大学数学をきちんと理解したい人向けの参考書です。工学系の数学の参考書は式の解説が雑だったりして結構がっかりするのですが、この参考書は丁寧に解説してくれます。(ただし難易度はちょっと高め) 数学系ユーチュバーの予備ノリもオススメしてた本なので、数学が好きな人は是非読んでみましょう。

解析入門 Ⅰ(基礎数学2)

やさしく学べる微分方程式

大学数学でやたら使う、微分方程式を徹底理解することができます。こちらの本は教育系起業家の迫 佑樹 (さこ ゆうき)さんがオススメしていました。

やさしく学べる微分方程式

確率・統計の本

この参考書は東工大の進路相談会に行った時に教授におすすめされた確率・統計の参考書です。古い本ですが、かなり丁寧に解説されており非常に読みやすかったのでおすすめです。

確率・統計 (理工系の数学入門コース 7)
タイトルとURLをコピーしました