構造学習のチュートリアル

Hugin グラフィカル・ユーザー・インタフェースは,強力な構造学習能力(すなわち,データ(ケースの集合)からベイジアンネットワーク・モデルの構造を学習)をユーザーに提供します.構造学習は, 学習ウィザード(データベースからのデータの読み込み,前処理が可能)から,または,構造学習アルゴリズムの1つを直接起動して実行できます. このチュートリアルでは,構造学習アルゴリズムが直接起動されています.

構造学習には2つのアルゴリズムが利用可能です: PC アルゴリズムNPC アルゴリズム.このチュートリアルでは,これらのアルゴリズムがどのように動作するかを知っていることを前提とします.

図1に示す胸部クリニック ネットワークからサンプルされたデータ・ファイルasia.dat を考えましょう.

図 2: データがサンプルされた構造.

図 2 は,全部で10000ケースのデータ・ファイルの最初の2行を示します.

図 2: データ・ファイルの最初の2行.

構造学習機能は, "ファイル" メニューの下とメイン・ウィンドウのツールバーの構造学習ボタンから利用できます.図3に,構造学習ボタンを示します.

図 3: 構造学習機能を起動するボタン.

ボタンを押すと,構造学習ダイアログが現れる(図4).構造学習の間に実行される統計的独立検定の有意水準 を指定する"有意度の水準"フィールドに注意してください. "ファイルを選択" ボタンを押し,構造を推定する元のファイルを選ぶ.ファイルが選択されると "OK" ボタンが有効になります.

図 4:構造学習ダイアログ.

ここで,OK ボタンを起動する前に,使用したい学習アルゴリズムを選択します: PC アルゴリズムまたはNPC アルゴリズム.これらのアルゴリズムの説明は,構造学習ダイアログのヘルプ・ボタンからも利用できます(図4).

"OK" ボタンを押すと,構造学習アルゴリズムがスタートします. 

PC アルゴリズムを選択した場合,図5のような結果が現れます.明らかに,もとのネットワークの構造は,完全とは言えません.問題は, 変数E (結核または肺がん)が変数 T とL にlogical ORで決定論的に従属していることです.これは, (i) T と X がEを仮定して条件付き独立, (ii) L と X がEを仮定して条件付き独立, (iii) E と X がare conditionally independent given L と Tを仮定して条件付き独立であることを意味します.したがって,PC アルゴリズムは,T と Xの間,L と Xの間, E と Xの間にリンクがないと結論づけます.明らかに,これは間違いです. 同じ論拠で PC アルゴリズムは, D を T, L, Eと接続しないままにすることを導きます.また, as the PC アルゴリズムの有向リンクは,多かれ少なかれランダムなので(もちろん,データから導かれる条件付き独立と従属について),いくつかのリンクの向きは間違っています.

図 5: PC アルゴリズムによる構造学習

NPC アルゴリズムを選択して,不確実なリンクや向きが確実に決定できないリンクがある場合,ユーザーは,これらの構造の不確実性を解決するための直感的なグラフィカル・インタフェースを提供されます(詳細な説明はNPC アルゴリズムを参照).図 6 は,同じデータに NPC 構造学習アルゴリズムを適用した(中間の)結果を示します.

図 6: NPC アルゴリズムによって学習された中間構造

ユーザーの選択によっては,この中間構造から異なる最終構造(図1に示すもとの構造も含む)が生成される場合もあります.

ベイジアンネットワークの構造が生成されると, EM-学習アルゴリズムを用いて,ネットワークの条件付き確率を推定できます.EM のチュートリアルを参照.


Back

翻訳者:多田くにひろ(マインドウェア総研