機械学習と決定理論

「機械学習と決定理論」の編集履歴(バックアップ)一覧に戻る

機械学習と決定理論 - (2009/01/09 (金) 17:13:46) のソース

ここでは、パターン認識や回帰分析の研究をするにあたって基礎となる機械学習と決定理論について、知っておくべき事項を簡単まとめる。

__TOC__


==機械学習==
<span style="color:green">学習データセット<math>\mathcal{D}_x = \{x_1, \dots, x_i, \dots\}</math>から確率分布<math>P(X)</math>を推定することを機械学習という。</span>とくに、<!-- 1つの学習データセット<math>\mathcal{D}_x</math>から、<math>X</math>についての確率分布<math>P(X)</math>を推定する場合は、<span style="font-weight:bold">教師なし学習</span>という。一方、入力変数<math>X</math>と出力変数<math>Y</math>について、-->対となる2つの学習データセット<math>\mathcal{D}_x, \mathcal{D}_y</math>から結合分布<math>P(X,Y)</math>もしくは条件付き分布<math>P(Y|X)</math>を推定する場合を<span style="font-weight:bold">教師あり学習</span>という。パターン認識や回帰分析は、教師あり学習の一つである。

機械学習では、無作為抽出されたサンプル集団から元の確率分布を推定することになるので、<span style="font-weight:bold">推測統計学</span>と関係が深い。実際、機械学習で使う技法の多くは推測統計学のものである。

機械学習には、大きく分けてパラメトリック法とノンパラメトリック法とがある。パラメトリック法は、パラメトリックモデル — 有限次元のモデルパラメータで記述された関数の族(Ex.正規分布) — を用いて確率変数<math>X</math>の確率分布を推定する方法である。パラメトリック法には、最尤法、ベイズ推定法、最大事後確率推定法がある。一方、ノンパラメトリック法は、モデルパラメーターは用いずに、データ集合から直接に目的の確率<math>P(X)</math>を計算する方法である。ノンパラメトリック法には、ヒストグラム密度推定法やカーネル密度推定法、最近傍法がある


===最尤法===
パラメトリック法のなかで、もっともポピュラーかつ古典的な推定法が最尤法である。<span style="color:green">最尤法のコンセプトは、<span style="font-weight:bold">学習データがもっとも生起しやすいようにモデルパラメーター<math>\theta</math>を決めること</span>である。</span>変数<math>X</math>の確率分布が、モデルパラメーター<math>\theta</math>を用いて条件付き確率<math>P(X|\theta)</math>であらわせるとしたら、尤度関数
:<math>f(\theta) = P(\mathcal{D}_x|\theta) = \prod_i P(x_i|\theta)</math>
を最大化する<math>\theta</math>を推定値<math>\hat{\theta}</math>とする:
:<math>\hat{\theta} = \arg \max_{\theta} f(\theta)</math>。

実際に利用する場合には、尤度関数を直接最大化するのではなく、対数尤度関数<math>f'(\theta) = \log f(\theta)</math>を最大化することが多い。対数をとることで、
:<math>f'(\theta) = \log f(\theta) = \sum_i \log P(x_i|\theta)</math>
となり、解析的な取り扱いが容易となるためだ。とくに、確率分布が指数関数族であらわされる場合は右辺が多項式になるので、解析的に<math>\frac{d f'(\theta)}{d\theta} = 0</math>となる<math>\theta</math>を求めることができる。

教師あり学習において、条件付き確率を<math>P(Y|X,\omega,\sigma) = \rm{N}(y(x),\sigma^2)</math>,<math>y(x) = \sum \omega_i \phi_i(x)</math>とモデル化すれば、最尤法と最小二乗法が等価になることが数学的に証明されている。さらに、<math>P(Y|X,\omega,\sigma) = \rm{N}(y(x),\sigma^2)</math>に対して決定理論を適用すると、予測関数は<math>y(x) = \sum \omega_i \phi_i(x)</math>となり、これもやはり最小二乗法の予測関数と一致する。


===ベイズ推定法===
パラメトリック法において、本来、定数であるはずのモデルパラメーターに不確実性があることをみとめ、その不確実性をも評価する推定法がベイズ推定法である。モデルパラメーターの不確実性は(ベイズ)確率によって定量的に評価する。古典的な確率論の立場では、確率は客観的な頻度としてしか解釈されないので、定数であるモデルパラメーターに確率を定義することはできない。そのため、ベイズ主義者のなかでしか認められていない推定法である。

<span style="color:green">ベイズ推定法のコンセプトは、モデルパラメーターの<span style="font-weight:bold">確率変数化</span>と<span style="font-weight:bold">周辺化</span>である。</span>まず、データセット<math>\mathcal{D}_x</math>からモデルパラメーターの事後確率<math>P(\theta|\mathcal{D}_x) = P(\theta)P(\mathcal{D}_x|\theta)</math>を求める。次に、求めた事後確率<math>P(\theta|\mathcal{D}_x)</math>に条件付き確率<math>P(X|\theta)</math>をかけて、結合分布<math>P(X,\theta|\mathcal{D}_x) = P(X|\theta)P(\theta|\mathcal{D}_x)</math>を計算する。これをモデルパラメーターについて周辺化することで、<math>P(X|\mathcal{D}_x)</math>を推定する:
:<math>P(X|\mathcal{D}_x) = \sum_{\theta} P(X,\theta|\mathcal{D}_x)</math>。

ベイズ推定法を用いる利点としては、次のものが挙げられる。
*モデルの複雑度が高い場合でも、オーバーフィッティング(モデルパラメーターの過適応)を避けることができる。
*モデルの比較・選択を訓練データからおこなえる。→ [http://www9.atwiki.jp/novpat/pages/35.html#id_fe5eeba7251083396a90a86b54be4dac 周辺尤度最大化法]
*ベイズ確率を認めていることから、逐次的な学習が容易に導入できる。今、モデルパラメーター<math>\theta</math>の確率分布<math>P(\theta)</math>が既知であるとする(事前確率)。ここで、新しい情報<math>X_1=x_1</math>が得られたとすると、ベイズの定理より、<math>P(\theta|X_1=x_1) \propto P(\theta)P(X_1 = x_1|\theta)</math>と更新できる(事後確率)。さらに、新しい情報<math>X_2=x_2</math>を得られたとすると、<math>P(\theta|X_1=x_1,X_2=x_2) \propto P(\theta|X_1=x_1)P(X_2 = x_2|\theta, X_1=x_1)</math>と更新できる。これを繰り返すことで、最終的に<math>P(\theta|\mathcal{D}_x)</math>を得ることができる。


===MAP推定法(最大事後確率推定法)===
最尤法とベイズ推定法の中間に位置する推定法である。ベイズ推定法と同様に、ベイズ確率を採用している。

基本的な考え方は、最尤法にしたがうが、尤度を最大化するのではなく、モデルパラメーターの事後確率<math>P(\theta|\mathcal{D}_x) = P(\theta)P(\mathcal{D}_x|\theta)</math>を最大化する:
:<math>\hat{\theta} = \arg \max_{\theta} P(\theta|\mathcal{D}_x)</math>。

MAP推定法は、最尤推定法に正則化項を加えることに対応する。事前確率が正則化項にあたる。正則化項を加えることで、確率モデルの複雑度を制御し、オーバーフィッティングを防止できる。ただし、ベイズ推定法とは異なり、適切な事前確率を見つけ出すことができなければ、オーバーフィッティングを防ぐことはできない。


===ヒストグラム密度推定法===
ノンパラメトリックなアプローチにおける確率分布の推定法である。


===カーネル密度推定法===
ヒストグラム密度推定法と同様に、ノンパラメトリックなアプローチの推定法である。


===最近傍法===
これも、ノンパラメトリックなアプローチの推定法である。


==モデル選択==
===交差確認===
モデルの推定に最尤推定法を用いた場合のモデル選択法が交差確認である。訓練データ<math>\mathcal{D}</math>とは別にテストデータ<math>\mathcal{T}</math>を用意し、尤度関数<math>P(\mathcal{T}|\omega, \mathcal{M}_i)</math>を最大化するモデル<math>\mathcal{M}_i</math>を選択する。<math>\omega</math>はモデルパラメーターで、訓練データによって最尤推定する。

訓練データとテストデータを分けねばならず、効率が悪い。また、モデルパラメーターを繰り返し学習しなおす必要があるため、時間もかかる。


===周辺尤度最大化===
モデルの推定にベイズ推定法を用いた場合のモデル選択法が周辺尤度最大化である。ベイズ確率を認めているので、モデルの確かさを確率によって定量的に評価できる。交差確認と異なり、<span style="color:green">訓練データとテストデータを分ける必要がなく、手持ちのデータをすべて有効活用できるという長所を持つ。</span>モデル選択のひとつであるハイパーパラメーターの決定も、周辺尤度最大化によって解決できる。

今、モデルの候補を<math>\mathcal{M}_i</math>であらわすと、モデルの確かさは次のようにあらわせる。
:<math>P(\mathcal{M}_i|\mathcal{D}) \propto P(\mathcal{M}_i)P(\mathcal{D}|\mathcal{M}_i)</math>。
ここで、事前確率<math>P(\mathcal{M}_i)</math>はモデルの好みをあらわしている。事前確率が等確率であると仮定すれば、
:<math>P(\mathcal{M}_i|\mathcal{D}) \simeq P(\mathcal{D}|\mathcal{M}_i) = \int P(\mathcal{D},\omega|\mathcal{M}_i) d\omega = \int P(\mathcal{D}|\omega,\mathcal{M}_i)P(\omega) d\omega</math>
である。<math>\omega</math>はモデルパラメーターである。モデルパラメーターについて周辺化しているので、<math>P(\mathcal{D}|\mathcal{M}_i)</math>を<span style="font-weight:bold">周辺尤度</span>という。周辺尤度最大化では、これを最大化するモデル<math>\mathcal{M}_i</math>を選択する。

周辺尤度を最大化することの、根拠は以下のとおりである。もし、モデルの複雑度が小さすぎると、自由度の狭さから、周辺尤度は小さくなる可能性が高い。一方で、モデルの複雑度が大きすぎると、密度が薄くなり、やはり周辺尤度は小さくなる可能性が高い。この結果、周辺尤度最大化によって、中程度の複雑さをもったモデルが選ばれることになる。


==決定理論==
パターン認識や回帰分析のような教師付き学習において、条件付き確率<math>P(Y|X,\theta)</math>から予測関数<math>y = f(x)</math>を求める方法が決定理論である。条件付き確率<math>P(Y|X,\theta)</math>は機械学習によって求める。


===識別率最大化法===
識別率を最大化するように予測関数を決定する。定式化すると下記のようになる。
:<math>y(x) = \arg \max_y P(Y=y|X=x,\theta)</math>


===期待損失最小化法===
===棄却オプション===
書き込み中


==ベイズの定理==
ベイズ推定法において重要な役割を果たすベイズの定理は次式である。
:<math>P(\theta|\mathcal{D}) \propto P(\theta)P(\mathcal{D}|\theta)</math>
<math>P(\theta)</math>は、情報<math>\mathcal{D}</math>が得られる<span style="font-weight:bold">前</span>からわかっている確率分布だから、<span style="font-weight:bold">事前確率分布</span>とよぶ。一方、<math>P(\theta|\mathcal{D})</math>は、情報<math>\mathcal{D}</math>が得られた<span style="font-weight:bold">後</span>にわかる確率分布だから、<span style="font-weight:bold">事後確率分布</span>と呼ぶ。事前確率を事後確率に変換するために必要な関数<math>P(\mathcal{D}|\theta)</math>は尤度である。


==参考文献==
*Christopher M. Bishop "Pattern Recognition And Machine Learning" Springer-Verlag (2006) ISBN 978-0387310732 (中上級の教科書) サポートページ


----


*統計学
&font(green){無作為抽出されたサンプル集団から母集団の確率分布を推定する方法論が統計学である。}

確率分布の推定方法には、大きく分けてパラメトリックモデルとノンパラメトリックモデルがある。パラメトリックモデルは、確率分布を関数の線型(非線型)結合によって表現し、そのパラメーターを推定することで、確率分布の推定をおこなう。一方、ノンパラメトリックモデルは、今現在得られているデータ集合から目的の確率分布を計算する。

パターン認識や回帰分析は、目的変数と従属変数の結合分布もしくは条件付き分布を推定することと言い換えることもできる。

*ベイズ統計学
**ベイズ推論の概要
&font(green){ベイズ推論とは、確率の加法定理や乗法定理を過不足なく用いて(未知)変数の確率分布を推論することである。}従来の方式(未知変数の不確実性を無視し一つの推定値を求めていた)とは異なり、すべての可能性を保持・評価するため、
+ベイズの定理を用いることで、逐次的な学習(確率分布の更新)が自然に導入できる。今、目的変数$$Y$$の確率分布$$P(Y)$$が既知であるとする(事前確率)。ここで、新しい情報$$X_1=x_1$$が得られたとすると、ベイズの定理より、$$P(Y|X_1=x_1) \propto P(Y)P(X_1 = x_1|Y)$$と更新できる(事後確率)。さらに、新しい情報$$X_2=x_2$$を得られたとすると、$$P(Y|X_1=x_1,X_2=x_2) \propto P(Y|X_1=x_1)P(X_2 = x_2|Y, X_1=x_1)$$と更新できる。ただし、逐次的に得られる情報が独立であると仮定できる場合は(ほとんどの例でできる)、$$P(Y|X_1=x_1,X_2=x_2) \propto P(Y|X_1=x_1)P(X_2 = x_2|Y)$$である。これをナイーブベイズ識別器という。最尤推定法でも、Robbins-Monroアルゴリズムを用いれば、逐次的な学習は可能であるが、収束スケジュールの調整など技巧的なテクニックを必要とする。
+期待値を推定値とすることで、学習時に含まれる誤差(外れ値)の影響を少なくできる。
+決定理論と組み合わせることで、最適な意志決定(事後確率の最大化 or 期待損失の最小化)ができる。
+棄却オプションを利用できる。
+確率モデル(独立に学習した結果)の結合が容易である。
というメリットがある。

ベイズ推論をおこなおうとすると、客観確率(頻度としての確率)に加えて主観確率(不確実性の尺度としての確率)をも確率として認める必要がでてくる。というのも、ベイズ推論にしたがえば、頻度の定義できない変数にも確率分布が定義できてしまうためである。たとえば、正規分布にしたがって生成された乱数列から元の正規分布の平均$$\mu$$を推定することを考える。このとき、$$\mu$$は間違いなく定数であり確率(頻度)を伴う変数ではない。しかし、ベイズ推論にしたがうと、$$\mu$$の確率分布を求める(考える)ことになる。確率を不確実性の尺度として理解することで、この矛盾が解消できるのである。

**ベイズの定理
ベイズ推論では、未知変数の確率分布を求めようとする。そのため、確率分布の更新を可能とするベイズの定理:
$$P(Y|X=x) \propto P(Y)P(X=x|Y)$$
は大きな意味をもつ。$$X, Y$$は確率変数である。確率分布$$P(Y)$$を&bold(){事前確率}, $$P(Y|X=x)$$を&bold(){事後確率}とよぶ。$$P(Y)$$は、$$X=x$$という情報を得る&bold(){前}にわかっている確率分布だから&bold(){事前}確率であり、$$P(Y|X=x)$$は$$X=x$$という情報を得た&bold(){後}にわかる確率分布だから&bold(){事後}確率である。&font(green){ベイズの定理によれば、事後確率$$P(Y|X=x)$$は、事前確率$$P(Y)$$に尤度関数$$P(X=x|Y)$$を掛けることで得ることができる。}

**パターン認識への3つのアプローチ
:生成モデル
|$$x$$を入力変数、$$y$$を目的変数とする。結合分布$$P(x,y)$$をモデル化し、決定理論を用いることで$$y$$の最適値を決定する。このモデルの最大の特徴は、サンプリング法によって人工の入力列を生成できる点にある。これによって学習データの不足領域が明らかになる。入力変数の確率分布までも求めなければならないため、3つのアプローチのなかで最も手間がかかる。特に入出力空間が大きい場合は、パラメトリック学習を用いないと安定した識別器を得ることは難しい。
:識別モデル
|事後確率$$P(y|x)$$を直接モデル化する。推論と意思決定だけが問題である場合、識別モデルで十分である。
:識別関数モデル
|識別関数$$y = f(x)$$の関数形を直接モデル化する。このとき、学習の対象は関数のパラメーターとなる。このアプローチは、他の2つの方法と異なり、入力変数や出力変数の確率分布を考慮しない。そのため、ベイズ推論をおこなうメリットのうち、2.〜5.は使えない。しかし、一度学習さえ完了すれば、意思決定は高速にできるので、音声認識などの実時間処理をしたいシステムに向いている。誤差逆伝搬法やSVMは、ノンパラメトリックな識別関数の学習法の一種である。

*決定理論
ベイズ推論によって得られた確率分布から最適な意思決定(行動決定)するための方法論が決定理論である。入力ベクトルを$$\bf{x}$$とすると、入力空間$$\bf{x}$$のすべてに最適なクラス$$\rm{C}_k$$を割り当てることが目標となる。以後の説明では、結合確率$$P(x,\rm{C}_k)$$は既知とする。クラス$$\rm{C}_k$$の決定領域(クラス$$\rm{C}_k$$に割り当てられた$$\bf{x}$$の集合)は$$\rm{R}_k$$で表す。

:ベイズ決定則(事後確率最大化法)
|事後確率$$P(\rm{C}_k|\bf{X=x})$$は、$$\bf{X=x}$$という乗法が与えられたとき、クラスが$$\rm{C}_k$$となる確率を表しているが、&bold(){クラスが}$$\rm{C}_k$$&bold(){で正しい確率}と読み替えることもできる。このように読み替えると、決定領域$$\rm{R}_k$$が正しい識別結果を返却する確率は&br()$$\sum_k \int_{\bf{x} \in \rm{R}_k} P(\rm{C}_k|\bf{X=x})d\bf{x}$$&br()によって表すことができる。この確率を最大化するように決定領域を設定したい。その方法は、上式より明らかに、事後確率$$P(\rm{C}_k|\bf{X=x})$$を最大にするクラスへ分類することだ。
:期待損失最小化
|入力$$x$$にクラス$$\rm{C}_k$$を割り当てたときの期待損失(損失の期待値)を考える。損失は$$x$$と思っていたものが
:期待値
|目的変数$$y$$が実数ならば・・・
:棄却オプション
|

*最尤推定法
**最尤推定法の概要
ベイズ推論とは異なり、頻度主義にもとづく推定法である。

*確率モデル

*情報理論
**情報量

**エントロピー
期待できる情報量。驚きの期待値。分布の一様性を定量的に表したもの。

**カルバックライブラー情報量

----
ツールボックス

下から選んでください:

新しいページを作成する
ヘルプ / FAQ もご覧ください。