パターン認識と機械学習の勉強ノート【1.2 確率理論 Part2】

深層学習を学ぶシリーズ

こちらの『パターン認識と機械学習』を読んで,勉強したことをまとめていきます.

前回は,1.2節の確率理論において,確率の基礎についてまとめました.

今回は,1章1.2節の確率理論の残りの部分です.

導入と概要

前回は,確率の基礎についてまとめました.

前回の復習(確率の基礎)
和の公式と積の公式

和の法則

    \[p(X)=\sum_{Y} p(X,Y)\]

積の法則

    \[p(X,Y) = p(Y|X)p(X)\]

p(X,Y)同時確率

p(Y|X)条件付き確率

ベイズの定理

    \[p(Y|X)=\frac{p(X|Y)p(Y)}{p(X)}\]

p(Y)事前確率

p(Y|X)事後確率

期待値,分散,共分散

期待値

    \[E[f(x)]=\sum_{x}p(x)f(x)\]

条件付き期待値

    \[E[f(x)|y]=\sum_{x}p(x|y)f(x)\]

分散

    \[var[f(x)]=E[(f(x)-E[f(x)])^2]\]

共分散

    \[cov[x,y] = E_{x,y}[\{x-E[x]\}\{y-E[y]\}]\]

確率変数が連続

和の法則

    \[p(x)= \int p(x,y)dy\]

積の法則

    \[p(x,y)=p(y|x)p(x)\]

期待値

    \[E[f(x)]=\int p(x)f(x)dx\]

p(x)確率密度で,x~x+dxに含まれる確率を表します.

今回は,これらの基礎を用いて,以下の事項について述べていきます.

1.2節Part2の内容

・古典確率とベイズ確率の違い

・尤度関数最大化によるフィッティング

・入力に対して,出力がどれくらいの曖昧さで答えを出すか(ベイズ主義)

まず,機械学習の神髄ともいえるベイズ主義について,頻度主義(古典確率)と比較しながら説明します.

次に,ガウス分布を紹介し,その対数尤度関数を最大化することが,フィッティングすることと同値であることを示します.

最後に,ベイズの観点からフィッティングを行い,「どれくらいの曖昧さで答えを出すか」を定量化します.

古典確率とベイズ確率の違い

前回の「赤と青の箱から果物を取り出す問題」を例に,古典(頻度)確率とベイズ確率の違いについての説明していきます.

簡単にいうと,こんな問題です.

箱から果物を取り出す問題

リンゴが2個,オレンジが6個入った赤の箱と,

リンゴが3個,オレンジが1個が入った青の箱がある.

赤の箱を選ぶ確率は40%,青の箱を選ぶ確率は60%である..

どちらの箱かは分からないが,果物を取り出りだしてみたらリンゴが出たとき,赤い箱から取り出した確率p(B=r|F=a)は?

(分からない人は前回の記事をみよう)

以降では,ベイズ確率に対していわゆる「普通の確率」を古典確率もしくは頻度確率と呼んでいきます.

「普通の確率」とは,箱の問題例で言えば,『赤い箱からリンゴを取り出す確率』です.普通ですよね.式で書けば,p(F=a|B=r)です.

一方で,ベイズ確率は,『リンゴを取り出したとき,箱が赤である確率』のようなものです.式で書けば,p(B=r|F=a)です.

なにが違うかというと,因果関係が逆なのです.

古典確率では赤い箱(原因)をもとに,リンゴ(結果)である確率を求めるのに対し,

ベイズ確率では,リンゴ(結果)をもとに,赤い箱(原因)である確率を求めます.

古典確率とベイズ確率の違い

古典確率: 原因 → 結果

ベイズ確率:結果 → 原因

つまり,古典確率とベイズ確率では求める確率,すなわち目的が違うのです.

因果関係が逆なので,ベイズ確率は古典確率と比較して逆確率と呼ばれます.

もうすこし堅くいうと,頻度主義(古典)では背景にある母数(箱の問題例でいうと箱の色)を定数として扱い,データ(果物の種類)が変化するものとして確率を求めます.

一方,ベイズ主義では母数(箱の色)は変わりうるものとし,データ(取り出した果物の種類)は一定と考えます.

頻度主義ベイズ主義
母数
(背景にあるもの,原因)
定数確率変数
データ(結果)確率変数定数

話が分かりやすいように,ベイズの定理を,先ほどの「箱から果物を取り出す問題」の例に書き直しましょう.

    \[p(r|a)=\frac{p(a|r)p(r)}{p(a)}\]

p(a)事前確率p(r|a)事後確率と呼ぶのでした.

事前に箱(背景)の確率(事前確率)が分かっていて,箱の色を確認しながらリンゴ(データ)を取り出すことで(p(a|r)),事後確率が求まります.

ベイズの定理において,この古典確率p(a|r)尤度と呼び,その確率分布の尤もらしさを意味します(後でより詳しく述べます).

箱の問題の例では『背景にあるもの』は箱の色,『データ』は果物の種類でしたが,

フィッティングの例では,『背景にあるもの』は重みパラメータ/bfmath wであり,『データ』はプロット点です.

今後は,このように『背景にあるもの』と『データ』を意識しましょう.

これを意識して見ることで,それがベイズ確率なのか,尤度(古典確率)なのかが分かりやすいです.

尤度関数最大化によるフィッティング

ここでは,尤度関数について述べ,対数尤度を最大化することでフィッティングを行ういます.

尤度関数

尤度p(X|Y)は,パラメータYがセッティングされたとき,Xが起きる確率であり,我々が何かの確率分布を予想しモデル化したとき,尤度p(X|Y)は大きい確率であってほしいです.

例えば,コインをN回投げるとき,表がn回出る確率を(パラメータを調節して)求めたいとします.その確率p(\mu)を次のような形でモデル化してみましょう.\muがパラメータです.

    \[_NC_n \mu^{n} (1-\mu)^{N-n}\]

\mu=0.5の確率分布と,\mu=0.01の確率分布と,\mu=0.8の確率分布について計算してみましょう.

コインを5回投げた時,(表,表,裏,裏,裏)というデータ出たとして,上式のモデルで計算すると,

\mu=0.5の場合:p(0.5)=0.3125

\mu=0.01の場合:p(0.01)=0.00097

\mu=0.8の場合:p(0.8)=0.0512

となります.

つまり,パラメータを\mu=0.5にしておいてほうが,(表,表,裏,裏,裏)というデータが起きやすい(確率が大きい),尤もらしい確率分布になりそうだ,ということになります.

(※この場合,表が出る確率が0.5のコインを使用するとき,\mu=0.5としてモデル化しておいて,投げる回数を増やしていけば尤度は1に近づきます)

ちなみに,この例では『背景にあるもの』はパラメータ\mu(コインの特徴に由来する表が出る確率)であり,データはn(表が出た回数)やN(投げた回数)です.

対数尤度関数最大化(最尤推定)

尤度関数は,様々な分野で出てくる関数であり,

尤度を最大化することが確率モデルの妥当性を上げることになるため,(最大化したい)目的関数として使われます.

ただし,そのままの形p(X|Y)では扱いにくいので,目的関数としてはこの対数をとり,以下の形で扱うことがほとんどです.

対数尤度関数

    \[\log p(x)\]

このようにすることで,微分したりするときに(目的関数なので微分することが多い),計算が扱いやすくなります.

この対数尤度関数を最大化して確率モデル(のパラメータ)を推定する方法を,最尤推定といいます.

対数尤度関数最大化によるフィッティング

さて,尤度とはその確率モデルは妥当かどうかを示す量であるということを上で述べました.

一方,フィッティングとは各点xでそれっぽい(尤もらしい)点,すなわち正解データtに近い点yを通るように線を引くことでした.

つまり,尤度の考え方を使えば,フィッティングとは「各点においてターゲットデータtになる確率を最大化することで,妥当な線が引くこと」になります.

ここで,ガウス分布について紹介します.

ガウス分布

    \[N(x|\mu,\sigma^2)=\frac{1}{{2\sigma^2}^\frac{1}{2}} \exp\left{-\frac{1}{2\sigma^2}(x-\mu)^2\right}\]

ガウス分布は規格化条件

    \[\int _{-\infty}^{\infty} N(x|\mu,\sigma^2) =1\]

を満たします.

ここで,ガウス分布におけるx期待値と分散を計算してみると,

期待値:E(x) = \mu

分散:var(x) = \sigma^2

となります.

さて,ガウス分布の簡単な紹介が終わったので,各入力点において,ガウス分布でデータが分布するという仮定で多項式フィッティングしましょう.

ガウス分布の平均値(mean)を多項式y(x, \mathbf w) = w_0 + w_1x^1 + w_2x^2 + ... + w_Mx^Mと置いた以下の分布を考えます.

    \[p(t|x, \mathbf w,\beta)=N(t|y(x, \mathbf w),\sigma^2)\]

この分布p(t|x, \mathbf w,\beta)の意味するところは,ある入力点x, パラメータ\mathbf w,\betaが与えられたときに,テストデータtとなる確率なので,

我々は,この確率p(t|x, \mathbf w,\beta)を尤度として最大化することにより,正解データtが出力されるように分布パラメータ\mathbf w,\betaを決定する(それっぽい分布をつくる)ことができます.

これは,フィッテイングそのものです.

パターン認識と機械学習から引用

ここまではある入力点xに対しての話でしたが,データ点がある入力点N個ある場合(上図で青いガウス分布が各点x_nにある場合)は,尤度は

    \[p(\mathbf t|\mathbf x, \mathbf w,\beta)=\prod_{i=1}^n N(t_n|y(x_n, \mathbf w),\sigma^2)\]

となります.

この対数は,以下のようになります.

対数尤度

    \[{\rm ln} p(\mathbf t|\mathbf x, \mathbf w,\beta) = -\frac{\beta}{2} \sum_{n = 1}^N \{y(x_n, \mathbf w) - t_n\}^2+\frac{N}{2}{\rm ln}\beta-\frac{N}{2}{\rm ln}2\pi\]

これを最大化してパラメータ\mathbf w,\betaを決定するということは,これにマイナス(-)をかけた以下のものを最小化するということと同じです.

最小化すべき関数(上式に-1をかけたもの)

    \[\frac{\beta}{2} \sum_{n = 1}^N \{y(x_n, \mathbf w) - t_n\}^2-\frac{N}{2}{\rm ln}\beta+\frac{N}{2}{\rm ln}2\pi\]

これは,1.1節で行った多項式フィッティングの評価関数(二乗誤差関数)

    \[E(\mathbf w) = \frac{1}{2} \sum_{n = 1}^N \{y(x_n, \mathbf w) - t_n\}^2\]

と,同じ形になっています.

(最小化するときに定数項である-\frac{N}{2}{\rm ln}\beta+\frac{N}{2}{\rm ln}2\piは微分で消えるので,今は意味を成しません)

つまり,二乗誤差関数の最小化ガウス分布を用いた最尤推定と同じ意味になります.

ベイズ論的フィッテイング

さて,1.1節では,正則化する項を加えた評価関数について述べました.

正則化項が加わった評価関数

    \[E(\mathbf w) = \frac{1}{2} \sum_{n = 1}^N \{y(x_n, \mathbf w) - t_n\}^2 + \frac{\lambda}{2} \|\mathbf w\|^2\]

右辺第一項は確率理論的にはガウス分布を意味することは分かりましたが,

次に,右辺第二項である正則化項は,確率理論的にはどういう意味をもつのか?について考えます.

ベイズの定理

    \[p(Y|X) \propto p(X|Y)p(Y)\]

において(分母であるp(X)は規格化定数なので表記していません),

事前確率p(Y)と事後確率p(Y|X)の分布形は同じであってほしいです.なぜなら,情報Xを得て,ベイズの定理を用いて更新していっても,分布モデルは変わらない方が自然だからです.

ちなみに,ベイズの定理は

事後確率 \propto 尤度 × 事前確率

を意味しており,今のフィッテイングの場合,先ほどのp(\mathbf t|\mathbf x, \mathbf w,\beta)が尤度です.

尤度に事前確率をかけたものが事後確率であり,事前分布と事後確率の分布形を同じにしたいので,ガウス分布(尤度)にガウス分布(事前確率)をかけます.そうすれば,事後確率もガウス分布になります.

つまり,今の場合は,事前確率も尤度も事後確率もガウス分布です(このように,事前確率と事後確率の形は尤度によって決まります).

したがって,事前確率p(\mathbf w|\alpha)(パラメータ\mathbf wの分布)は

    \[p(\mathbf w|\alpha)=\left(\frac{\alpha}{2\pi}\right)^{(M+1)/2} \exp\left(-{\mathbf w}^{\mathbf T}\mathbf w\right)\]

のように書くことができます.

\alphaは定数です.あとから説明します)

事後確率p(\mathbf w|\mathbf x, \mathbf t,\beta, \alpha),すなわち,入力データ\mathbf x,正解データ\mathbf tが与えられたときに,重みパラメータ\mathbf wとなっている確率は

    \[p(\mathbf w|\mathbf x, \mathbf t,\beta, \alpha) \propto p(\mathbf t|\mathbf x, \mathbf w,\beta) \times p(\mathbf w|\alpha)\]

より,

    \[p(\mathbf w|\mathbf x, \mathbf t,\beta, \alpha) \propto \left(\frac{\alpha}{2\pi}\right)^{(M+1)/2}\prod_{i=1}^n N(t_n|y(x_n, \mathbf w),\sigma^2)  \exp(-{\mathbf w}^{\mathbf T}\mathbf w)\]

これの対数をとると,フィッテイングにおいて最もらしいパラメータ\mathbf wを決める対数尤度関数にマイナス(-)をかけたもの(最小化したい関数)は

-1×対数尤度(事後確率)

    \[\frac{\beta}{2} \sum_{n = 1}^N \{y(x_n, \mathbf w) - t_n\}^2 + \frac{\alpha}{2} \|\mathbf w\|^2\]

となります(定数項は無視してある).

これは正則化項付き評価関数と一致しており,第二項の正則化項\frac{\alpha}{2} \|\mathbf w\|^2は,事前確率p(\mathbf w|\alpha)=\left(\frac{\alpha}{2\pi}\right)^{(M+1)/2} \exp\left(-{\mathbf w}^{\mathbf T}\mathbf w\right)に由来するものです.

正則化項は,パラメータ\mathbf wが大きくなりすぎないように抑え,過剰適合を防ぐものでした.

すなわち,パラメータ\mathbf wの情報を事前確率として取り入れることは,パラメータに目星をつけ,パラメータ\mathbf wが大きくなりすぎないように,より絞った推定を行うことになり,過剰適合を防いでいるということになります.

最後に,p(t|x, \mathbf x, \mathbf t)を求めましょう.

つまり,トレーニングデータ\mathbf x, \mathbf tが与えられたときに(学習した後に),新しい入力xを与えて,答えがtとなる確率を求めたいです.

(ここでは,\alpha\betaを含んでいる関数においても,本質的でないので省略してあります)

この確率p(t|x, \mathbf x, \mathbf t)は,和の法則を用いて,以下の式で求まります.

    \[p(t|x, \mathbf x, \mathbf t) = \int p(t|x, \mathbf w)p(\mathbf w|\mathbf x,\mathbf t)\]

これを計算してみると,p(t|x, \mathbf x, \mathbf t)=N(t, m(x), s^2(x))のようなガウス分布になります.

ただし,平均m(x)と分散s^2(x)は以下の式で与えられます.

    \[m(x) = \beta \phi(x)^{\rm T} \mathbf S \sum_{n=1}^{N}\phi(x_n)t_n\]

    \[s^2(x)=\beta^{-1} + \phi(x)^{\rm T} \mathbf S \phai(x)\]

    \[\mathbf S = \alpha \mathbf I  + \beta \sum_{n=1}^{N}\phi(x_n)\phi(x)^{\rm T}\]

\phi_i(x) = x^i for i=0,...,M

(導出は省略)

以上をまとめると,以下のような図になります.

トレーニングデータ\mathbf x, \mathbf tで学習した後に,新しい入力xを与えて,答えがtとなる確率p(t|x, \mathbf x, \mathbf t)はガウス分布ということで,

トレーニングによってえれたフィッテイング(赤の線)の周りに,分散s^2(x)で分布します(薄い赤の帯).

1.2節のまとめ(重要なことだけ)

古典確率とベイズ確率の違い

古典確率: 原因 → 結果

ベイズ確率:結果 → 原因

ベイズ理論では,結果(データ)をもとに,母集団(背景)を推測する.

尤度関数

データが与えられたとき,そのデータが出るような尤もらしい確率分布.

これ(の対数)を最大化することで,尤もらしい確率分布(のパラメータ)を求めることで,フィッテイングなどを行ることができる.

事後確率と事前確率と尤度の関係

事前確率と事後確率の分布形は同じであってほしい.ベイズの定理は

事後確率 \propto 尤度 × 事前確率

なので,尤度によって,事前確率と事後確率の分布が決まる.

例えば,尤度が(分散が分かっている)ガウス分布であるとき,事前確率と事後確率の分布はどちらもガウス分布になる.

かなり長くなってしまいました…

次回以降はもう少し細分化してまとめていきます…

次回は,1.3節『モデル選択』について述べます.

コメント

タイトルとURLをコピーしました