2017年9月14日木曜日

MIT OCW, Machine Learning 15日目

Rohit Singh, Tommi Jaakkola, and Ali Mohammad. 6.867 Machine Learning. Fall 2006. Massachusetts Institute of Technology: MIT OpenCourseWare, https://ocw.mit.edu. License: Creative Commons BY-NC-SA.
Lecture 19, 20.

は初期分布,はstateの数とする.またMarkov chainの初期のstateはである.

Markov chains(cont’d)

Markov chainを記述する方法には2つある. state transition diagramgraphical modelである. transition diagramはstateたちをノードとし,遷移確率が0でないstateをつないだ有向グラフであって,例えばfig.1のようである. また,初期分布を,特別に設定したnull stateからの遷移とみてグラフに書き込むことも出来る.
graphical modelでは対照的に,確率変数たちの独立/従属関係に着目する. ある時刻におけるstate は確率変数であって,と独立でないことがMarkov chainの定義から言える. ある頂点(state)がほかのある頂点(state)に従属しているときに有向辺によってその従属関係を示して,graphical modelを構成する.つまり,
に従属する
という規則をグラフ化する. fig.2 がその例である.
enter image description here
enter image description here

State prediction


から,任意の

が成立する. 番目の要素がであるような横ベクトルであって,

と書くことにすると,

が成立する.

Estimation

sample pathの観測からMakov chainのtransition matrixを推測することが出来る.
の現れ(sample path)のが与えられたとき,そのlog-likelihoodは,
においてみられたからへの推移の回数とすると,

であって,を考えれば,transition matrix の最尤推定は

である. しかし,初期分布を推測するには多くのsample path が必要不可欠である.

Hidden Markov Models

Hidden Markov Models (HMMs)は,観測している値が,直接観測されないMarkov chainが更に確率的に生成しているものであると仮定したモデルである. HMMモデルは広く利用され,例えば,あとで発話をphoneme(音素)のMarkov chainでHMM化し,また,アミノ基の列であるタンパク質をモデル化するのに,タンパク質分子をその構造的特徴のMarkov chainによってHMM化する.
HMMはMarkov chainとmixture modelによって理解できる. fig.3の単純な例を議論する. 時刻はの4つだけで,fig.3.aは何度かの観測によって得られた値の複数のプロットである. 一旦時刻の情報を捨て去って,の値だけを基準にクラスタリングすると,two component mixture

でうまくモデル化出来る. 例えばなどとできる. このmixture modelから(まだ時刻を無視しつつ)各時刻でsampleを生成すると,fig.3.bの楕円の中に収まるようになる. このとき,各時刻における観測値のサンプルは,選ばれたコンポーネントからのみ生成される(fig.4).
各時刻で正しい方の楕円でのみsampleを生成させるためにMarkov chainを使う. Markov chainによって正しい方のcomponentを選ぶようにするのである. すなわち,でのcomponentを,で選んだcomponentによって選ぶ(fig.5).
enter image description here
enter image description here
enter image description here

Probability model

HMMをgraphical modelで書くことによって,全ての確率変数に対する同時確率を簡単に書き下せる. グラフはどの変数がどの変数に依存しているかを明確にし,どの条件付き確率が同時確率のfactorであるかがわかる. fig.5では,

である.

Three problems to solve

  1. 観測値の確率を評価する
  2. 観測値が与えられたとき,最もありそうな隠れたMarkov path を推測する.
  3. 時系列に沿った観測値の集合の集合 から,モデルのパラメータを推測する.

Problem 1.

として,
と計算していくアルゴリズム(forward algorithm)と,と計算していくアルゴリズム(backward algorithm)があり,どちらか一方だけでも計算できるのだが,計算ステップ()が多くなるほど計算量が幾何級数的に増大するので,前後から挟み撃ちして効率的に計算する.
以下はforward algorithmの導出だが,backwardの場合も殆ど同様である.


によって

などと計算できる. 同様に

これを繰り返して,

が得られる. とすると,

さらにとすると,

である.組み合わせて

が任意のに成立する.
これは,

と理解でき,あるいはMarkov propertyによって

からも理解できる.

Problem 2. most likely hidden state sequence (Viterbi)

目的は

なるを求めることだった.

とすると,

が計算できる. であって,これによって

が得られて,これを起点として

によって,を計算していく.
このように,forwad algorithmによっての最大値をごとに計算し,さらにbackward algorithmによって,具体的にを最大化するを求めていくアルゴリズムをViterbi Algorithmという.

Example

enter image description here
fig.1で表されるHMMを例に上のアルゴリズムを考察する.state が選ばれると,,によって観測される値が確率的に決まるとし,,で共通とする.観測点はが与えられていて,を推測する.
まず,が,の変化によってどう振る舞うかを見る. が大きいとき,はほとんど同じ分布になり,観測値が役に立たなくなる.
と近似できるから,となる.
が非常に小さい時,今度はほとんど観測値と制約条件だけが推測に影響するようになる.というのは,

において,(2)の部分が極めて大きな,あるいは極めて小さな値を取るようになり,(1)の部分をほとんど無視できるからである.
が極端な値でない場合には,Markov chainのtransition matrixからstate 2へできるだけ早く移ろうとする性質と,観測値に合ったhidden pathを辿ろうとする性質のバランスを取ろうとする. 例えばなら,most likely state sequenceは1122222である.

Problem 3: estimation

Hidden statesを観測できず,そこから確率的に生成される値のみを観測できるというのは,モデルの全ての変数を知ることなくモデルを推測しようとしているという点でmixture modelと似ている. この問題はmixture modelと同様にEM algorithmを反復的に用いることで解ける. 普通は複数回行われる,すなわちのように観測値が得られるのだが,簡単のためにすなわち観測値は1通りしか無いとする.
EM-algorithmを導く簡単な方法は,まずは全ての変数が観測されているとしてモデルを構成することである.

とすると,complete log-likelihoodは

(1): 初期状態の確率
(2): 各state における,を生成する確率をでの総和
(3): の遷移が起きる回数
(4): 全てのstateの組で,遷移がどれほど起こるかの総和

を緩和させた”soft”なカウント

と定める.

だから,posteriorは

という正規化で計算できて,同様に

したがって

Multiple (partial) alignment

複数の列が与えられるとき,その類似点をさがすのがalignment問題である. そのパターンは,全ての列に存在するということの他にはほとんど情報が得られていないとする. 簡単のため,そのパターンは長さ4であることは既知とする. この状況で考えられる最も簡単なHMMはfig.2である.というstatesは”match states”といって,求めるべきパターンを生成したであろうstatesである. は”insert states”であって,探しているパターン以外の列を生成する. それぞれのstateはというoutput distributionをもつ.これらの分布との値を与えられた列たちから推測する.
enter image description here
このモデルは有限長の列を生成する. に入って最初の要素を生成し,平均ステップにとどまった後,に遷移してパターンを生成し,に遷移してまた平均ステップとどまってから列を終わらせる.
複数の列が与えられたとき,このHMMのパラメータを,EM algorithmによって最尤推定する. ここではまだどこが生成されたパターンなのかは考えず,単にパラメータを最適化する. パラメータが見つかったら,Viterbi algorithmによってそれぞれの観測点がどのhidden stateによって生成されたかを推測する.例えば観測列

という対応の推測が得られたとき,hiddenの列とobesrvationの列には一対一の関係が有り,この例では,パターンはにおいて,すなわちmatch statesが始まったところで始まる.
それぞれの観測列でのパターンの部分列はfig.3のようにアラインされる.
figure 3
figure 3

0 件のコメント:

コメントを投稿