からっぽのしょこ

読んだら書く!書いたら読む!読書読読書読書♪同じ事は二度調べ(たく)ない

1.1.1-7:確率の基礎【『トピックモデル』の勉強ノート】

はじめに

 機械学習プロフェッショナルシリーズの『トピックモデル』の勉強時に自分の理解の助けになったことや勉強会用のレジュメのまとめです。トピックモデルの各種アルゴリズムを「数式」と「プログラム」から理解することを目指します。

 この記事は、1.1節の前半「確率の基礎」の内容です。確率に関する基本的な定義の説明と、それが本の中でどのように利用されるのかを確認します。

【他の節一覧】

www.anarchive-beta.com

【この節の内容】


1.1.1 確率と確率分布

 例えばサイコロを1回振ると、「1から6の目」(事象の集合)から「どの目も$\frac{1}{6}$の確率」(確率分布)に従って「1つの目」(事象)が出る。コインで例えるなら表を1裏を0として1回投げると、「0か1」(事象の集合)から「どちらも$\frac{1}{2}$の確率」(確率分布)に従って「0か1か」(事象)が決まる。

 全ての事象を$\mathcal{X}$で表し、全ての事象が1から6までであることを(明示するとき)$\mathcal{X} = {1, 2, 3, 4, 5, 6}$と表記する。$\mathcal{X}$の中のある事象を$x$とし、$x$は$\mathcal{X}$の中から決まることを(明示するとき)$x \in \mathcal{X}$と書く。また事象$x$が起きる確率を$p(x)$とし、ある事象$x$とその確率$p(x)$を全ての事象で対応付けたものを確率分布と言う。

 サイコロのように、1の次は2その次は3と連続していない値を離散値という。また離散値をとる確率を離散確率という。連続しているというのは1.0000…のように区切れない値で、そのような値を連続値という(連続確率については1.1.9項にて)。

 本(トピックモデル)では、文書中の単語は(サイコロの出目のように)確率的に決まる(出現する・観測される)と想定している。単語や単語の出現回数は離散値をとる。
 文書に登場する可能性ある全ての単語の数を$V$、その中のある単語を$v$としたとき、$v \in {1, 2, \cdots, V}$であり、単語$v$の出現確率$p(v)$を$\phi_v$と表記する。(そのため1章でも、確率全般に$\phi$が使われている。)\

 各単語の出現確率は0から1の値をとる。それを数式で表現すると次のようになる。

$$ 0 \leq \phi_v \leq 1 $$

 また、全ての単語の出現確率$\phi_1$から$\phi_V$までを足し合わせると1になり、それを次のように書く。

$$ \sum_{v=1}^V \phi_v = \phi_1 + \phi_2 + \cdots + \phi_V = 1 $$


1.1.2 同時確率

 事象$A$と$B$が同時に起こる確率を同時確率と呼び、$p(A, B)$と書く($A$かつ$B$の確率$p(A \cap B)$のこと)。また事象$A$が起こった状態で(条件として)事象$B$が起こる確率を条件付き確率と呼び、$p(B | A)$と書く。

 同時確率と条件付き確率には、乗法定理

$$ p(A, B) = p(B | A) p(A) = p(A | B) p(B) \tag{1.3} $$

が成り立つ。

 本(トピックモデル)では、文書を構成する単語はサイコロの出目のように確率的に決まる(と考える)ので、文書に含まれる1つ目の単語から$N$番目の単語を$w_1, w_2, \cdots, w_N$とすると、ある文書に単語$w_1, w_2, \cdots, w_N$が含まれる(これらの単語が同時に文書に確率的に出現した)とき、同時確率$p(w_1, w_2, \cdots, w_N)$と表現できる。

 ちなみに、$w$で表す単語は1つの文書を構成する単語を順番に並べた表現で、例えば1番目と5番目の単語が同じだったとしても$w_1,\ w_5$のように別々に扱う。一方$v$で表す単語(以降は語彙あるいはユニーク単語と呼ぶ)は、全ての文書で出現する単語を重複を許さずナンバリングした表現で、語彙$v$の出現回数$N_v$と対応付けて扱う。(詳しくは3章以降にて。)

1.1.3 周辺化

 同時確率$p(A, B)$の1つの確率変数$B$について全事象の和をとると$p(A)$になる。

$$ p(A) = \sum_B p(A, B) = \sum_B p(A | B) p(B) $$

 この操作を周辺化と呼ぶ。周辺化することで、他の事象の影響を排除して考えることができる。

 また、連続確率変数の場合は積分して周辺化する。

$$ p(A) = \int p(A, B) dB = \int p(A | B) p(B) dB $$

 積分によって変数を周辺化することを積分消去とも呼ぶ。

 本(トピックモデル)では、3つパラメータ$\boldsymbol{z},\ \boldsymbol{\theta},\ \boldsymbol{\phi}$が登場するが、どれか1つに注目するために他のパラメータを積分消去することがある。

1.1.4 ベイズの定理

 乗法定理(1.3)を用いて、ベイズの定理を導出する。

$$ p(B | A) p(A) = p(A, B) \tag{1.3} $$

 この式の両辺を$p(A)$で割ると

$$ p(B | A) = \frac{p(A, B)}{p(A)} $$

となる。更にこの式の分子に1.1.2項の式(1.3)の右辺を代入すると

$$ p(B | A) = \frac{ p(A | B) p(B) }{ p(A) } \tag{1.4} $$

ベイズの定理が導ける。

 また分母に周辺化の式を代入すると

$$ p(B | A) = \frac{ p(A | B) p(B) }{ \sum_B p(A, B) } $$

となる。連続値の場合は、$\int p(A, B) dB$である。

 分母は、$p(B | A)$の$B$に関する全事象の和を1とする($\sum_B p(B | A) = 1$)ための正規化項である。

 ただし最終的に正規化(総和が1)できればいいので、途中式の段階では$B$に影響しない分子$p(A)$を省き比例関係にのみ注目して進めることがある。比例関係は$\propto$を使って

$$ p(B | A) \propto p(A | B) p(B) $$

と書く。

 ベイズの定理には2つの利用目的がある。
 1つ目は、$B$が分かっているときの$A$の確率$p(A | B)$から、$A$を分かっていないと分からない確率$p(B | A)$を求めることができる。このようにデータと条件との関係を逆にした確率を求められることから、ベイズの定理は逆確率とも呼ばれる。
 2つ目は、何も条件付けられていない確立分布$p(B)$に対して、データ$A$の情報を加味した分布$p(B | A)$に更新できる。

 本(トピックモデル)では、手元にある文書データ(単語の出現回数)から各種パラメータ(分布)を更新するために、ベイズの定理の考え方が使われる。あるいは、同時確率から求めたいパラメータの条件付き確率への式変形で、先ほどのベイズの定理の式の導出と同じ流れとなる。それをベイズの定理を用いるということもある。(詳細は2章以降をお楽しみに。)

1.1.5 独立

 条件付き確率$p(B | A)$について$A$と$B$が互いに影響しないとき、$B$は$A$という条件に依存しないため

$$ p(B) = p(B | A) $$

となる。これを加法定理(1.3)に代入すると

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

となる。この式が成り立つとき$A,\ B$は独立であるといえる。

 $C$が与えられた下での$A,\ B$についても

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

が成り立つとき、条件付き独立といえる。

 本(トピックモデル)では各単語は独立して出現するとしているので、文章に含まれる単語の同時確率は

$$ p(w_1, w_2, \cdots, w_N) = p(w_1) p(w_2) \cdots p(w_N) = \prod_{n=1}^N p(w_n) $$

各単語の出現確率$p(w_n)$の総乗となる。

1.1.6 計算例

 特になし。

1.1.7 期待値

・期待値

 確率$p(x)$に従う$x$の関数$f(x)$の加重平均をとった値が期待値となる。式にすると次のようになる。

$$ \mathbb{E}[f] = \sum_{x \in {\cal X}} p(x) f(x) \tag{1.5} $$

 また、$f(x) = x$であるときの期待値を平均と呼ぶ。

$$ \mathbb{E}[x] = \sum_{x \in {\cal X}} p(x) x $$


・最頻値

 最も確率が高くなる値のことを最頻値という。

$$ \mathrm{mode}[x] = \mathop{\mathrm{argmax}}\limits_{x \in \mathcal{X}} p(x) $$

 $\mathop{\mathrm{argmax}}\limits_{x}$とは、$p(x)$を最大化(max)する引数(argument)$x$(の集合)を求めることである。

・分散

 分散とは、偏差(平均との差)の2乗の期待値のことで、分布の散らばり具合を表す。

$$ \begin{aligned} \mathrm{Var}[x] &= \mathbb{E}\Bigl[ (x - \mathbb{E}[x])^2 \Bigr] \\ &= \mathbb{E}\Bigl[ x^2 - 2 x \mathbb{E}[x] + \mathbb{E}[x]^2 \Bigr] \\ &= \mathbb{E}[x^2] - 2 \mathbb{E}\Bigl[ x \mathbb{E}[x]\Bigr] + \mathbb{E}\Bigl[\mathbb{E}[x]^2\Bigr] \\ &= \mathbb{E}[x^2] - 2 \mathbb{E}[x] \mathbb{E}[x] + \mathbb{E}[x]^2 \\ &= \mathbb{E}[x^2] - \mathbb{E}[x]^2 \end{aligned} $$

【途中式の途中式】

  1. 変数$x$とその期待値$\mathbb{E}[x]$との差(偏差)を2乗して、全体の期待値をとる。
  2. 2乗の計算をする。
  3. $\mathbb{E}[X - Y] = \mathbb{E}[X] - \mathbb{E}[Y]$、$\mathbb{E}[k X] = k \mathbb{E}[X]$の変形を行う。
  4. $\mathbb{E}[x]$も定数なので、$\mathbb{E}\left[\mathbb{E}[x]\right] = \mathbb{E}[x]$である。
  5. 式を整理する。


 変数の「2乗の期待値」から「期待値の2乗」を引いた値が分散となることが分かる。

・共分散

 共分散とは、2つの変数の偏差の積の期待値のことで、2変数の相関を表す。

$$ \begin{aligned} \mathrm{Cov}[x, y] &= \mathbb{E}\Bigl[ (x - \mathbb{E}[x]) (y - \mathbb{E}[y]) \Bigr] \\ &= \mathbb{E}\Bigl[ x y - \mathbb{E}[y] x - \mathbb{E}[x] y + \mathbb{E}[x] \mathbb{E}[y] \Bigr] \\ &= \mathbb{E}[x y] - \mathbb{E}\Bigl[ x \mathbb{E}[y] \Bigr] - \mathbb{E}\Bigl[ y \mathbb{E}[x] \Bigr] + \mathbb{E}\Bigl[ \mathbb{E}[x] \mathbb{E}[y] \Bigr] \\ &= \mathbb{E}[x y] - \mathbb{E}[x] \mathbb{E}[y] - \mathbb{E}[x] \mathbb{E}[y] + \mathbb{E}[x] \mathbb{E}[y] \\ &= \mathbb{E}[x y] - \mathbb{E}[x] \mathbb{E}[y] \end{aligned} $$

【途中式の途中式】

  1. 変数$x,\ y$の偏差の積の期待値をとる。
  2. 括弧を展開する。
  3. $\mathbb{E}[X + Y] = \mathbb{E}[X] + \mathbb{E}[Y]$の変形を行う。
  4. $\mathbb{E}[x],\ \mathbb{E}[y]$は定数なので、$\mathbb{E}[k X] = k \mathbb{E}[X]$の変形を行う。
  5. 式を整理する。


 2つの変数の「積の期待値」から「期待値の積」を引いた値が共分散となることが分かる。

参考書籍

  • 岩田具治(2015)『トピックモデル』(機械学習プロフェッショナルシリーズ)講談社
  • 須山敦志(2017)『ベイズ推論による機械学習入門』(機械学習スタートアップシリーズ)講談社
  • 中谷秀洋(2019)『わけがわかる機械学習』技術評論社


おわりに

 訳あって色んな段階をすっ飛ばしてトピックモデルに手を出すことになりました。正直知識不足過ぎて辛いです。一応手助けもあるので今のところは付いて行けていますが、1ページ目に3種類のxが出てきたところから躓きましたね。その内の1つは$\boldsymbol{\chi}$\boldsymbol{\chi}で代用していますが、何ですかあれは?違いますよね。($\mathcal{X}$\mathcal{X}でした!)
 まぁそんなレベルから悩んでいるので色々大変なのですが、全く分からない事が分かるという経験を高速で繰り返すことになっているので、気持ちよくはあります。良いですね勉強って。人生で一番真剣に勉強している気がします。

 それとこういうのって書籍の転載みたいな部分が出てしまいますけど、どの程度は引用として認められるものなのでしょうか。作品ではないので、内容自体は一般的なものではある訳ですし。色んな事が分からん。折角作ったレジュメなのですが、色々落として記事にしています…。
 はてなブログにいい感じに数式を書く方法もイマイチで、この記事は綺麗に表示されているのでしょうか。

 ということなので、あくまで自分のノートで記録ですので、過度な期待はしないでね。これを参考にされても私は何も担保できませんよ。
 なんなら間違っているところがあれば教えてくださいという気持ちです。

 心が折れなければ暫く続きます。

2019/08/24:加筆修正しました。

 目標の4章まで書き終わりましたのち、全編修正も完了しました!3周目の予定は未定です。

2020.06.08:加筆修正しました。

 心折れることなく1年間続けられました。楽しい!

【次節の内容】

www.anarchive-beta.com