こちらの『パターン認識と機械学習』を読んで,勉強したことをまとめていきます.
前回は,1.2節の確率理論において,確率の基礎についてまとめました.
今回は,1章1.2節の確率理論の残りの部分です.
導入と概要
前回は,確率の基礎についてまとめました.
和の法則
積の法則
は同時確率,
は条件付き確率
は事前確率,
は事後確率
期待値
条件付き期待値
分散
共分散
和の法則
積の法則
期待値
※は確率密度で,
に含まれる確率を表します.
今回は,これらの基礎を用いて,以下の事項について述べていきます.
・古典確率とベイズ確率の違い
・尤度関数最大化によるフィッティング
・入力に対して,出力がどれくらいの曖昧さで答えを出すか(ベイズ主義)
まず,機械学習の神髄ともいえるベイズ主義について,頻度主義(古典確率)と比較しながら説明します.
次に,ガウス分布を紹介し,その対数尤度関数を最大化することが,フィッティングすることと同値であることを示します.
最後に,ベイズの観点からフィッティングを行い,「どれくらいの曖昧さで答えを出すか」を定量化します.
古典確率とベイズ確率の違い
前回の「赤と青の箱から果物を取り出す問題」を例に,古典(頻度)確率とベイズ確率の違いについての説明していきます.
簡単にいうと,こんな問題です.
リンゴが2個,オレンジが6個入った赤の箱と,
リンゴが3個,オレンジが1個が入った青の箱がある.
赤の箱を選ぶ確率は40%,青の箱を選ぶ確率は60%である..
どちらの箱かは分からないが,果物を取り出りだしてみたらリンゴが出たとき,赤い箱から取り出した確率は?
(分からない人は前回の記事をみよう)
以降では,ベイズ確率に対していわゆる「普通の確率」を古典確率もしくは頻度確率と呼んでいきます.
「普通の確率」とは,箱の問題例で言えば,『赤い箱からリンゴを取り出す確率』です.普通ですよね.式で書けば,です.
一方で,ベイズ確率は,『リンゴを取り出したとき,箱が赤である確率』のようなものです.式で書けば,です.
なにが違うかというと,因果関係が逆なのです.
古典確率では赤い箱(原因)をもとに,リンゴ(結果)である確率を求めるのに対し,
ベイズ確率では,リンゴ(結果)をもとに,赤い箱(原因)である確率を求めます.
古典確率: 原因 → 結果
ベイズ確率:結果 → 原因
つまり,古典確率とベイズ確率では求める確率,すなわち目的が違うのです.
因果関係が逆なので,ベイズ確率は古典確率と比較して逆確率と呼ばれます.
もうすこし堅くいうと,頻度主義(古典)では背景にある母数(箱の問題例でいうと箱の色)を定数として扱い,データ(果物の種類)が変化するものとして確率を求めます.
一方,ベイズ主義では母数(箱の色)は変わりうるものとし,データ(取り出した果物の種類)は一定と考えます.
頻度主義 | ベイズ主義 | |
母数 (背景にあるもの,原因) | 定数 | 確率変数 |
データ(結果) | 確率変数 | 定数 |
話が分かりやすいように,ベイズの定理を,先ほどの「箱から果物を取り出す問題」の例に書き直しましょう.
を事前確率,
を事後確率と呼ぶのでした.
事前に箱(背景)の確率(事前確率)が分かっていて,箱の色を確認しながらリンゴ(データ)を取り出すことで(),事後確率が求まります.
ベイズの定理において,この古典確率を尤度と呼び,その確率分布の尤もらしさを意味します(後でより詳しく述べます).
箱の問題の例では『背景にあるもの』は箱の色,『データ』は果物の種類でしたが,
フィッティングの例では,『背景にあるもの』は重みパラメータであり,『データ』はプロット点です.
今後は,このように『背景にあるもの』と『データ』を意識しましょう.
これを意識して見ることで,それがベイズ確率なのか,尤度(古典確率)なのかが分かりやすいです.
尤度関数最大化によるフィッティング
ここでは,尤度関数について述べ,対数尤度を最大化することでフィッティングを行ういます.
尤度関数
尤度は,パラメータ
がセッティングされたとき,
が起きる確率であり,我々が何かの確率分布を予想しモデル化したとき,尤度
は大きい確率であってほしいです.
例えば,コインを回投げるとき,表が
回出る確率を(パラメータを調節して)求めたいとします.その確率
を次のような形でモデル化してみましょう.
がパラメータです.
の確率分布と,
の確率分布と,
の確率分布について計算してみましょう.
コインを5回投げた時,(表,表,裏,裏,裏)というデータ出たとして,上式のモデルで計算すると,
の場合:
の場合:
の場合:
となります.
つまり,パラメータをにしておいてほうが,(表,表,裏,裏,裏)というデータが起きやすい(確率が大きい),尤もらしい確率分布になりそうだ,ということになります.
(※この場合,表が出る確率が0.5のコインを使用するとき,としてモデル化しておいて,投げる回数を増やしていけば尤度は1に近づきます)
ちなみに,この例では『背景にあるもの』はパラメータ(コインの特徴に由来する表が出る確率)であり,データは
(表が出た回数)や
(投げた回数)です.
対数尤度関数最大化(最尤推定)
尤度関数は,様々な分野で出てくる関数であり,
尤度を最大化することが確率モデルの妥当性を上げることになるため,(最大化したい)目的関数として使われます.
ただし,そのままの形では扱いにくいので,目的関数としてはこの対数をとり,以下の形で扱うことがほとんどです.
このようにすることで,微分したりするときに(目的関数なので微分することが多い),計算が扱いやすくなります.
この対数尤度関数を最大化して確率モデル(のパラメータ)を推定する方法を,最尤推定といいます.
対数尤度関数最大化によるフィッティング
さて,尤度とはその確率モデルは妥当かどうかを示す量であるということを上で述べました.
一方,フィッティングとは各点でそれっぽい(尤もらしい)点,すなわち正解データ
に近い点
を通るように線を引くことでした.
つまり,尤度の考え方を使えば,フィッティングとは「各点においてターゲットデータになる確率を最大化することで,妥当な線が引くこと」になります.
ここで,ガウス分布について紹介します.
ガウス分布は規格化条件
を満たします.
ここで,ガウス分布における期待値と分散を計算してみると,
期待値:
分散:
となります.
さて,ガウス分布の簡単な紹介が終わったので,各入力点において,ガウス分布でデータが分布するという仮定で多項式フィッティングしましょう.
ガウス分布の平均値(mean)を多項式と置いた以下の分布を考えます.
この分布の意味するところは,ある入力点
, パラメータ
が与えられたときに,テストデータ
となる確率なので,
我々は,この確率を尤度として最大化することにより,正解データ
が出力されるように分布パラメータ
を決定する(それっぽい分布をつくる)ことができます.
これは,フィッテイングそのものです.

ここまではある入力点に対しての話でしたが,データ点がある入力点
個ある場合(上図で青いガウス分布が各点
にある場合)は,尤度は
となります.
この対数は,以下のようになります.
これを最大化してパラメータを決定するということは,これにマイナス(-)をかけた以下のものを最小化するということと同じです.
最小化すべき関数(上式に-1をかけたもの)
これは,1.1節で行った多項式フィッティングの評価関数(二乗誤差関数)
と,同じ形になっています.
(最小化するときに定数項であるは微分で消えるので,今は意味を成しません)
つまり,二乗誤差関数の最小化はガウス分布を用いた最尤推定と同じ意味になります.
ベイズ論的フィッテイング
さて,1.1節では,正則化する項を加えた評価関数について述べました.
右辺第一項は確率理論的にはガウス分布を意味することは分かりましたが,
次に,右辺第二項である正則化項は,確率理論的にはどういう意味をもつのか?について考えます.
ベイズの定理
において(分母であるは規格化定数なので表記していません),
事前確率と事後確率
の分布形は同じであってほしいです.なぜなら,情報
を得て,ベイズの定理を用いて更新していっても,分布モデルは変わらない方が自然だからです.
ちなみに,ベイズの定理は
事後確率 尤度 × 事前確率
を意味しており,今のフィッテイングの場合,先ほどのが尤度です.
尤度に事前確率をかけたものが事後確率であり,事前分布と事後確率の分布形を同じにしたいので,ガウス分布(尤度)にガウス分布(事前確率)をかけます.そうすれば,事後確率もガウス分布になります.
つまり,今の場合は,事前確率も尤度も事後確率もガウス分布です(このように,事前確率と事後確率の形は尤度によって決まります).
したがって,事前確率(パラメータ
の分布)は
のように書くことができます.
(は定数です.あとから説明します)
事後確率,すなわち,入力データ
,正解データ
が与えられたときに,重みパラメータ
となっている確率は
より,
これの対数をとると,フィッテイングにおいて最もらしいパラメータを決める対数尤度関数にマイナス(-)をかけたもの(最小化したい関数)は
となります(定数項は無視してある).
これは正則化項付き評価関数と一致しており,第二項の正則化項は,事前確率
に由来するものです.
正則化項は,パラメータが大きくなりすぎないように抑え,過剰適合を防ぐものでした.
すなわち,パラメータの情報を事前確率として取り入れることは,パラメータに目星をつけ,パラメータ
が大きくなりすぎないように,より絞った推定を行うことになり,過剰適合を防いでいるということになります.
最後に,を求めましょう.
つまり,トレーニングデータが与えられたときに(学習した後に),新しい入力
を与えて,答えが
となる確率を求めたいです.
(ここでは,や
を含んでいる関数においても,本質的でないので省略してあります)
この確率は,和の法則を用いて,以下の式で求まります.
これを計算してみると,のようなガウス分布になります.
ただし,平均と分散
は以下の式で与えられます.
for
(導出は省略)
以上をまとめると,以下のような図になります.

トレーニングデータで学習した後に,新しい入力
を与えて,答えが
となる確率
はガウス分布ということで,
トレーニングによってえれたフィッテイング(赤の線)の周りに,分散で分布します(薄い赤の帯).
1.2節のまとめ(重要なことだけ)
古典確率: 原因 → 結果
ベイズ確率:結果 → 原因
ベイズ理論では,結果(データ)をもとに,母集団(背景)を推測する.
データが与えられたとき,そのデータが出るような尤もらしい確率分布.
これ(の対数)を最大化することで,尤もらしい確率分布(のパラメータ)を求めることで,フィッテイングなどを行ることができる.
事前確率と事後確率の分布形は同じであってほしい.ベイズの定理は
事後確率 尤度 × 事前確率
なので,尤度によって,事前確率と事後確率の分布が決まる.
例えば,尤度が(分散が分かっている)ガウス分布であるとき,事前確率と事後確率の分布はどちらもガウス分布になる.
かなり長くなってしまいました…
次回以降はもう少し細分化してまとめていきます…
次回は,1.3節『モデル選択』について述べます.
コメント