## EM 学習

この節は，グラフィカルな構造が与えられている場合に，条件付き確率分布を"学習" するためにデータ（すなわち， ケースの集合）を用いる機能を説明します．これは，バッチ学習として知られています．初期の条件付き確率分布が与えられている場合も，バッチ学習を使用できます

逐次学習は知識を徐々に更新することができるが，条件付き確率の初期の評価が当たられていることが必要なのに対して，バッチ学習は，学習プロセスが開始されるときに，すべてのデータが利用可能であることを必要とし，グラフィカルな構造のみが必要である． 現在Huginで実装されているバッチ学習法は，EM-アルゴリズム または EM-学習と呼ばれ，Lauritzen (1995)によって開発された; Cowel & Dawid (1992)の論文も参照のこと．

ケースは，ドメインのいくつか，あるいはすべてのノードへの値の割り当てである．すべてのノードに値が割り当てられた場合，そのケースは 完全であると言われ; それ以外は，不完全であると言われる． 学習アルゴリズムによって使用されるデータは，ケースの集合からなる．ケースは，0 から N-1に連続に番号づけされており，ここでN は，ケースの総数である．

現在Huginに実装されている学習アルゴリズムは，連続ノードの条件付き分布を学習することはできないものの，そのようなノードは，離散（確率）ノードの信念に寄与することができる．ゆえに，Huginは，連続ノードの値を入力して回収する機能も提供する．

学習を行う前に，データ集合に加えて，条件付き確率分布が学習されるべきノードの集合が指定されなければならない．この集合は，経験表 (described in section 学習 - 適応の節で説明）を持つノードの集合として指定されます．学習アルゴリズムへの入力は，ケース・データである; ケースの集合には，空欄があってはならない． ドメインがインフルエンス・ダイアグラムの場合，ドメインの決定ノードは，すべてのケースでインスタンス化されていなければならないことに注意せよ．

学習アルゴリズムは，推論を行うために必要で，学習アルゴリズムを呼び出す前に，ドメインはコンパイルされなければならない．もしうまくいけば，その手順は，経験表を持つドメインの各ノードの条件付き確率表と経験表を更新する．さらに，推論エンジンは，リセットされ，新しい条件付き確率が使用されます．

経験表の中身がすべてのゼロの場合，アルゴリズムはどのような表も有効である（すなわち，表の形式上の制限がない）と仮定して，最良の （"最大尤度の"）条件付き確率表を計算する．中身がすべてゼロでない場合，データ集合から派生してそれらに追加されるカウント（"事前カウント"）を形成するために，経験表と条件付き確率表の積が用いられる．これは， "罰則つきEM(penalized EM)"として知られる．

EMアルゴリズム開始点は，ドメインがこれらの表でコンパイルされたと仮定して，アルゴリズムを呼び出すために，事前に指定された条件付き確率である．表が指定されていない場合，一様分布が仮定される．ときどき，不可能なコンフィギュレーション（すなわち，ゼロ確率を持つ）の条件付き確率表でゼロを強制することが望ましいことがある．

EMアルゴリズムは，たくさんの繰り返しを実行する．各繰り返しについて，現在の同時確率分布を仮定して，ケース・データの確率の対数が計算される． この量は， 対数尤度として知られ，EMアルゴリズムは，この量を最大化しようとする． 繰り返し数がコントロールされる2つの方法がある: (1) 最大繰り返し数 が指定できる（ゼロは，最大がないことを意味する）．(2) 2つの連続する繰り返しの対数尤度の間の相対的差異が十分に小さくなれば，指定された最大繰り返し数をまだ超えなくても，EMアルゴリズムは終了する．つまり．2つの連続する繰り返しの間の相対的差異が，正の数でなければならないトレランス（tolerance）よりも小さくなったときである．デフォルトでは，トレランスの値は，10から4である．

EM学習を起動するには，EM学習ボタンを押すか，ウイザード・メニューの EM 学習ウィザード項目を選択する.

Back