2017年9月16日土曜日

MIT OCW, Machine Learning 16日目

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.

Bayesian networks

Bayesian networkは確率的な情報を表現し,使うのに有用なモデルである. Bayesian networkは1. 有向グラフと,2. それに付随する確率分布からなる. グラフは確率変数たちの質的な関係(条件付き独立性)を表現し,確率分布は確率変数たちの量的な関係を記述する. HMMでforward-backward algorithmが効率的であったのはMarkov性ゆえであり,これをBayesian networkの場合にも一般化するため,確率変数同士の独立性,条件付き独立性,従属性を明確に記述するグラフは非常に重要である.
まずは単純なBayesian networkを挙げる(fig.1). 確率変数は独立なコイントスの結果で,のどちらかの値を取る. またで確率変数を定義する. 状況設定から同時分布は

とわかるが,同じ分布をfig.1のグラフだけから導ける. その前にいくつかの用語を定義する.
からへの辺が有るから,parent(親)であり,child(子)であるという. もまたの親であり,このときに従属する. グラフに合致した同時確率分布は必ず,それぞれの確率変数の親たちによって条件付けられた条件付き確立の積として書ける. よって(1)はfig.1のグラフと合致している.

Marginal independence and induced dependence


このように,他の確率変数を無視すると周辺分布が独立になるとき,marginary independentであるという. これはグラフからも見て取れる.

確率変数のもう一つの典型的な関係はinduced dependenceである. の現れを与えられず,の現れのみを与えられた場合を考える.ならばのどちらかに決まり,ならばに決まるから,が決まればが決まるし,が決まればが決まる. すなわちが決定されるとdependentな関係になる. これは後で述べる方法によってグラフから見て取れる.

marginal independence とinduced dependenceは現実のモデルでよく現れる. fig.2cのfactorial Hidden Markov Modelはその例である. このモデルでは2つの周辺独立なMarkov chainが観測値を作り出している. 換言すれば,2つのMarkov chainが観測値によってのみ結び付けられているということである(induced dependence). このモデルからサンプリングするには,2つのMarkov modelから独立にサンプリングを行い,各時点において2つのstateから観測値をサンプリングする. fig.2cの同時分布は

とfactorizationできる. このモデルは例えば二人が話しているのを1つのマイクで録音し,それぞれの人が何を話したか推測したり,2つのハプロタイプから生成された表現型からもとのハプロタイプを推測するのに利用できる.

Explaining away

また,Bayesian networkでうまく把握できる確立モデルにexplaning awayがある.Pearl, 1988による,強盗警報機の鳴る原因のモデル(fig.3)を例に見る. 4つの二値(0, 1)確率変数があって,
は警報機,,は地震,はラジオで地震情報がなされていることを代表している.

を仮定する. fig.3で影のついた確率変数の情報のみを持っているとする.
のみが解っているときを考える(fig.3.b).の少なくとも一方が成立しているとわかるが,ともに滅多に生じない事象だから,は必ず起きないと仮定する. この仮定のもとでの情報を得たらを確信し,を排除(explain away)できる. したがって

である. ここでのもとで条件付き従属であることを使った.これもまたグラフから見て取れる性質である.

Bayesian networks and conditional independence

グラフはもともと変数の独立性をencodeしているから,その独立性をextractするための基準が必要である. Bayesian networkの場合,この基準をD-separtation criterionという.

例えば先程のモデルを拡張したfig.4aを考える.ここでは,警報がなったので帰宅したという事象を代表する変数である. のもとで独立か否かと言った問いに答えるための手順を考える.
1. 対象の変数のancestral graphを構成する. ここでは対象とはであって,ancestral graphはこれらとともに,これらの変数に至る有向辺を何ステップでも辿って現れる変数全てを含む. 今の場合,ancestral graphはfig.4bである.
2. 得られたancestral graphにおいて,子ノードを共有するノード間に無向辺を加える. 3つ以上のノードが子ノードを共有する場合には,それらのつくる全てのペアについて辺を加える(fig.4c).これをmoralizeという.
3. 全ての有向辺を無向辺に置き換え,無向グラフ(fig.4d)を得る.

結果得られた無向グラフから,もとの問の答えを読み取れる. 得られた無向グラフからとそれに結ばれた辺を取り去ったとき,を結ぶpathが存在しなければによって条件付き独立であり,存在すれば条件付き独立であると言える. したがってfig.4dから,によって条件付き従属である.

fig.1に立ち返り,D-separated criterionを使うと,fig.5によってがmarginally independentであることが見て取れるし,fig.6からによって条件付従属であることが見て取れる.

Graph and the probability distribution

以上の議論は,グラフとそれに対応付けられる確率分布がconsistentであるときにのみ成立する. consistentとは,グラフから見て取れる全ての(条件付き含む)独立性が,確率分布の上でも言えるということである. グラフから見て取れる独立性というのは数多く存在する.
個のノードをもつ循環しないグラフが与えられたとき,

はそのグラフとconsistentであることが知られている.ただしの親ノードの集合である.

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

2017年9月13日水曜日

MIT OCW, Machine Learning 14日目

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 18.

Specral clustering

データ点の近さの尺度を導入してそれぞれの点同士を頂点とし,辺をその近さの尺度によって重み付けしたグラフを構成できる. spectral clusteringはその重みづけグラフの分割を,固有値問題と考えるアルゴリズムのクラスである. 大きな正の重みで繋がれているノードたちは同じクラスターに入れられることが多い. グラフ表現を行うことで,そのアルゴリズムがノード間の近さだけを基準にして分類を行っていることを際立たせることができる.

Graph construction

ベクトル空間上で表現できる場合にも,グラフ構造での表現には有利な点が有る.例えばfig.1.aの点は2つの半円上の点に分類できるが,これを少数のGaussianの混合で表現することはできない一方,それぞれの点の最近傍の2点をつなげることで,fig.1.bの,非常によく特徴を捉えたグラフが構成できる. このような重み付けグラフを構成するより一般的な方法を議論する. これには多くの方法が有るが,もっとも典型的なのが,上で見たように,k-nearest neighborを使う方法である. すなわち,すべての点について,個の最近傍の点をつなげる無向グラフを作成し,さらに

によって重みを計算する. である. 対角成分は全て0とする.
が選べるパラメータである. は求めたいクラスターたちの次元によって適した値が決まってくる.例えば,クラスターが次元の表面をもつとするなら,が望ましい. 小さなは疎なグラフを作りやすくし,よく似た点たちのみのクラスターが作られるようになる. これは,遠く離れた点ではユークリッド距離を使うのがナンセンスになるような場合に有利である .例えば球面にのみ全てのデータ点が存在して,点たちの距離が球面に沿った距離で図られるべきときには,点が遠くなれば遠くなるほど,ユークリッド距離と球面上の距離が乖離してくることが想像できるだろう.
も同様の役割を果たす.

Graph partitioning and criteria

個の点を2つに分類する問題を定式化する. より多くの種類に分類するときには再帰的に二値分類を適用する. 対象は,重み付け行列で表現されていて,は非負の対称行列で対角成分は0である. を近さの尺度として,ノードたちをの二つに分類する. という変数を定義する.
を決めれば分類は一意に定まり,その分類(cut)に対する重み

を導入する. が異なって分類されると分の重みがにつく. 全てが同じクラスタに分類されるときだから,どちらのクラスタにも同じくらいの数のノードが入るようにするため,minimum cut criterionを導入する. よく使われるcriterionにnormalized cut(Shi and Malik 2000)がある.

である.ただしとする.
この問題を厳密かつ効率的に解く方法は存在しないため,eigenvalue problemによって近似的に解く.

Spectral clustering, the eigenvalue problem

でそれぞれはのどちらかを取ったが,に条件を緩和する.やはりとする.このように二値分類問題を緩和し,eigenvalue問題に帰着させる.まずはcutの重みを改めて表現する.

という対角行列を使って表現した.
graph Laplacianという名でしられ,半正定値行列である. の最小固有値は必ずであり,対応する固有ベクトルはである. normalized cut criterionを考慮すると,最適化問題は

となる. Lagrange multiplierを使うと,

の2番目に小さい固有値を求めることと同じになる(らしい). の符号が有るノードが入るクラスターになる.fig.2はあるspectral cluseringの近似解である.

Spectral clustering, random walk

normalized cut problemを緩和して近似的に解いた.全く異なったアプローチでこの近似方法を正当化する. 重み付きグラフの上でのrandom walkを考えるのである.

によって定義される行列である. で,が成立する.よってを重み付きグラフの上でのrandom walkのtransition matrixと考えることが出来る. すなわち,を時刻(ここでは回目の遷移とする)でのrandom walkのstateを表すとすると,

であって,homogeneous Markov chainと考えることが出来る. Markov chainのstateはこの場合グラフのnodeである. Markov chainのErgodic propertyを定義する.

Definition

Markov chain ergocid

erogodicであるとき,はirreducible かつrecurrentかつstationary distributionをもつ.
stationary distribution である. これまで議論してきた重み付きグラフを上の方法でMarkov chainにするとergodicであり,したがってergodic theoremが成立する.

(以下,講義はもう少し続くが固有値とMarkov chainがどうつながるかわからないので飛ばす.そのうちいい教科書を見つけて読む)

2017年9月12日火曜日

MIT OCW, Machine Learning 13日目

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.

停電でデータが消えるという悲しみ

Mixture models and clustering

与えられたデータは暗黙的に複数の種類に分けられると仮定し,それを踏まえてより精度の高い推測をするというのがmixture modelの動機のひとつだった. 一方で,その暗黙の構造自体を明らかにすることも有用である. このような問題をclusteringという. つまり,データセットをいくつかのclusterに分類するのである.
mixture modelをgenerative modelとして扱うには,我々が分類しようとしているクラスターがどんなものなのか知らなければならない. 最も単純な例がspherical Gaussian clusterで,すなわち

というmixture modelを推測する.
他にも様々なクラスタリングアルゴリズムがあり,あるものはネストしたクラスターを小さなクラスターをマージしていくことで生成し(hierarchical agglomerative clustering),またあるものはに最適なクラスターの数を推測してからクラスタリングを行う(k-means). などと期待問題によって適したアルゴリズムは異なる.

データセットに対してをどのように設定すればいいかとか,が十分大きければEM-algorithmでよいクラスタリングが出来るのかとか,頑強なモデルであるのかとか,様々な疑問があり,その答えの一部を以下で与える.

Mixtures and K-means

Gaussian mixture modelを,全ての分散行列を同一のspherical(単位行列の定数倍)にし,さらに全てのcomponentの頻度を同一にすることで単純化する.すなわち

を考える. これをEM-algorithmで最適化するとどうなるのかをみる.
まず,クラスターの境界がどうなっているかをみる. つまりをみたすをみる. 仮定より,この点で
が成立する.どちらのGaussianも同じsphericalな共分散行列を持つので, これが成立するでは

が成立する.
すなわち境界は線形であり,fig.1のように,任意のクラスターの組に対してこのような境界を引ける. 組ごとの比較はVoronoi partitionを導く. Voronoi partitionのあるregionでは,例えば,全ての点がに最も近い.このregionは同時にが任意ので成立する.

K-means

上のような単純なモデルではEM-algorithmも単純化できて,それを特にK-meansという.
K-meansでは,E-stepで,とし,M-stepでとmeanを設定し直す.

K-meansは非常によく利用されるhard assignment(各点がどれかただ一つのクラスターに分類される)版EM-algorithmである. K-meansはEM-algoと同様初期値が結果に大きく影響するので,初期値を変更して何度も行うのが望ましい. また,ある一点をに割り当て,から最も遠い点を,から最も遠い点を,…として初期のを決める方法をgreedy packingという.

Distance and clustering

これまでの議論でEuclidean distanceを使ってきたことを正当化する. ところで,多くの場合,特徴データを特別な関数で空間に写像して,それからclusteringを考えたりする.
例えば文書をクラスタリングすることを考える. document を単語の入った袋と考えて,これを以下の写像によって扱いやすいベクトルにする.

をTFIDF(term frequency - inverse document frequency)写像という. IDFは,多くの文書に現れるためクラスタリングに役立たなそうなwordほど小さく(1に近く)なる. こうして文書を実数空間に写して,K-meansのようなアルゴリズムに掛けることができる.
クラスタリングを行う際には適切な距離関数を使うことが非常に重要で,適切な距離を使うためにクラスタリングアルゴリズムを選んでもよいほどである. ほとんどのアルゴリズムは任意の距離関数で使える. 適切な距離関数はモデル選択理論を使って選ぶことが出来る.

2017年9月11日月曜日

MIT OCW, Machine Learning 12日目

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.

モデル選択理論難しすぎ

Mixture models

mixture model(混合モデル)は与えられたデータの曖昧さを捉えるモデルで,データの背後に有る,観測できない要因についての仮定を行う. 観測された一つのexampleをというベクトルで表すとする. exampleは個の要因(とする)のどれかによって生成されているcomponentの数という. その要因であるとすると,の事後確率はである. またの頻度をとすると,. 実際のが何であるかは一般にはわからず,全てのについて混合して,の確率

となる.

Example: Student exam model: 1-year

例えば,学生たちの試験の結果をモデル化することを考える. 学生たちは,例えば学士での専攻のような,では与えられていない要因によってことなった正答/誤答の傾向が存在すると仮定する. そのような要因が合計で個(このを選ぶのはmodel selectionの問題である)あって,さらに個々の学生がどれに該当するかわからないときのモデリングを考える.
それぞれの学生の点数が独立とするなら
である.

Example: student exam model: K-years

上の例で,過去年間のデータがあるとする. 年での学生数で,は学生年目の試験結果とする(はただのインデックスで,が同じだからといって同じ学生であるというわけではない). は変わらないと仮定する. しかし学生の数は各年でことなって,の頻度も一定でなく,と条件付きにする. この場合のmixture modelは

そして全てのデータを考えたときの尤度は

となる.ここでのをも決定する.

Collaborative filtering

mixture modelは推薦システムにもよく使われる. 人のユーザに本の映画を推薦する問題を考える. ユーザはのうち極わずかだけに点数をつけているとして,つけていない映画たちをどう評価するかを推測するのが我々の課題である. このような問題をcollaborative filtering(協調フィルタリング)という.
点数はをつけられるとする. ただしはユーザの映画に対する評価とする. ユーザたちが実際に与えた評価をとする. が与えられているときと書く.
collaborative filteringでは,ユーザと映画の両方にいくつかの種類があって,それが評価に影響すると仮定する.すなわち,それぞれの映画が”movie types” の分布の上にあって,ユーザも”user types” の分布の上にあるとする. 有る映画が,すべてのユーザにとって同じタイプであるとは考えず,それぞれの映画が,その映画に対応した特徴のバッグをもっており,それぞれのユーザごとにそのバッグからタイプを取り出すと考える. この仮定はユーザにも適用される. すなわち点数を付けるたびに,そのユーザのタイプのバッグからタイプが取り出される.
を以下によって推測する.
から映画のタイプをサンプルし,またからユーザのタイプをサンプルする. さらにからをサンプルするのである. これを全てのに足し合わせて

となる. はタイプから評価への写像を決定する.
を与えられたときの尤度は

である.
さらに,ユーザの評価のスタイルもモデルに組み込める. 例えばのような高評価に偏った評価をする人や,のみのような極端な評価をする人を考えることが出来る.このような評価スタイルの集合をとする.ユーザのスタイルは全ての映画に一貫しているが,個々のユーザにどうスタイルを割り当てるかは未知とする. ユーザがスタイルをもつ確率はと書ける. スタイルもすべてをを重みにして総和を考えて尤度を求めるとすると,尤度は,

となる.(1): user がスタイルによって評価する尤度
このモデルは

個のパラメータを持つ.
さらに充実したモデルでは,”missing elements”のモデル,すなわちある映画の評価がなぜなされないかもモデル化するはずである.

Estimating mixtures: the EM-algorithm (期待値最大化法)

midture modelの例をいくつか見てきた. データによく合うようにパラメータを設定する方法を論じる. の要因が不明なので,で総和を取ってきたのだが,まずは要因がわかっているモデルを考える.

Complete data


それぞれのに対応するが既知であると仮定して議論する. を使うと便利である. log-likelihoddは

尤度を最大とするパラメータをハットで表すと,


となる.このようにが既知である場合には,最尤推定は簡単に行えるとわかる.

Imcomplete data

がわかっていない場合を考える. を初期のパラメータとする. このパラメータで,あるによって生成される確率は

という二値の割当の代わりに,という”soft”な割当を使うのである. この割当はによっており,を更新していくたびに変化していく.
これらの結果から,Expectation Maximization algorithm (EM)が導かれる. EMは全てのmixture modelと更に広範なモデルに適用できる. Gaussian mixtureでのEM-algorithmは以下の通り.

Algorithm (EM)

(step1)
を定める. 例えばとし,をランダムに選んだの点に,の分散行列としたりなどする.
(E-step)
によって評価する.
(M-step)
パラメータを,

によって更新する.

この更新則によってlog-likelihoodは増加し,またパラメータは収束することが証明されているが, その極限ではが成立することしか保証されていない.

Example

2つのGaussianのmixture modelを考える. fig.2 はEM-algorithmのイテレーションの様子である.
enter image description here