ベイジアンネットワーク概説 3.6 構造の探索アルゴリズム

Slides:



Advertisements
Similar presentations
©2008 Ikuo Tahara探索 状態空間と探索木 基本的な探索アルゴリズム 横形探索と縦形探索 評価関数を利用した探索アルゴリズム 分岐限定法 山登り法 最良優先探索 A ( A* )アルゴリズム.
Advertisements

5.制御構造と配列 場合分け( If Then Else , Select Case ) 繰返し( Do While ) 繰返しその2( For Next )
木探索によるCSPの解法 (Tree search algorithms for solving CSPs) 認知システム論 制約充足( 2 ) 制約をみたす組合せを探すエージェント バックトラック法 フォワードチェック 動的変数順序.
プロセスの生成とコマンドの実行 プロセスの生成とコマンドの実行 プロセス生成のシステムコール プロセス生成のシステムコール プロセス生成のプログラム例 プロセス生成のプログラム例 プログラム実行のシステムコール プログラム実行のシステムコール 子プロセスの終了を待つシステムコール 子プロセスの終了を待つシステムコール.
配列の宣言 配列要素の初期値 配列の上限 メモリ領域 多次元配列 配列の応用
正規表現からのDFA直接構成.
XHTML構文検証手法における スクリプト要素の静的解析アルゴリズム
アルゴリズムとデータ構造 第8回 ソート(3).
近似アルゴリズム 第10章 終了時刻最小化スケジューリング
アルゴリズムとデータ構造 2013年6月18日
アルゴリズムとデータ構造1 2005年7月8日
アルゴリズムとデータ構造 2010年7月5日
スレッドの同期と、スレッドの使用例 スレッドの同期 Lockオブジェクト: lockオブジェクトの生成
遺伝的アルゴリズム  新川 大貴.
第11回 整列 ~ バケットソート,基数ソート,ヒープソート~
対話型遺伝的アルゴリズムを用いた室内レイアウトシステムの開発
ファジィ論理と ファジィ構造モデリング 北海道工業大学 情報デザイン学科 三田村 保.
配列(2) 第10回[平成15年6月26日(木)]:PN03-10.ppt 今日の内容 1 素数を求める(教科書の例):復習
Problem D: Double Sorting 原案: oxy, 解答作成: oxy, nya.
Microsoft Excel 2010 を利用した 2項分布の確率計算
白井ゼミ 豊田秀樹(2008)『データマイニング入門』 (東京図書)第7章
情報知能学科「アルゴリズムとデータ構造」
アルゴリズムとデータ構造 2012年6月14日
ベイジアンネットワーク概説 第5章 ベイジアンネットワークの応用 5.1 ベイジアンネットワークのソフトウェア BayoNet
担当:青木義満 情報工学科 3年生対象 専門科目 システムプログラミング システムプログラミング プロセス間通信(パイプ) 担当:青木義満
「データ学習アルゴリズム」 第2章 学習と統計的推測 報告者 佐々木 稔 2003年5月21日 2.1 データと学習
岩井 儀雄 コンピュータ基礎演習  ー探索、整列ー 岩井 儀雄
ベイズ基準によるHSMM音声合成の評価 ◎橋本佳,南角吉彦,徳田恵一 (名工大).
ベイジアンネットワーク概説 第3章 ベイジアンネットワークモデルの      数学的基礎 3.5 情報量基準を用いた構造学習 岩崎唯史.
アルゴリズムとデータ構造 2011年6月14日
大域的データフロー解析 流れグラフ 開始ブロック 基本ブロックをnodeとし、 基本ブロック間の制御関係をedgeとするグラフを、
二分探索木によるサーチ.
アルゴリズムとデータ構造 2011年7月4日
決定木とランダムフォレスト 和田 俊和.
奈良女子大集中講義 バイオインフォマティクス (9) 相互作用推定
マルチスレッド処理 マルチプロセス処理について
アルゴリズムとデータ構造1 2006年7月4日
離散数学 08. グラフの探索 五島.
アルゴリズムとプログラミング (Algorithms and Programming)
モデルの逆解析 明治大学 理工学部 応用化学科 データ化学工学研究室 金子 弘昌.
データ構造とアルゴリズム 担当:和田俊和 居室:A603 講義資料等は下記を参照してください.
情報とコンピュータ 静岡大学工学部 安藤和敏
二分探索木における要素削除 データ構造とプログラミング(10)
予測に用いる数学 2004/05/07 ide.
第9回 優先度つき待ち行列,ヒープ,二分探索木
データ構造と アルゴリズム 第七回 知能情報学部 新田直也.
Cプログラミング演習 第10回 二分探索木.
ファジィ制約充足問題への 連続領域の導入 Introducing continuous domains to
統計解析 第1回 条件付き独立性と確率的グラフィカルモデル 本講義の全体像
復習 一定回数を繰り返す反復処理の考え方 「ループ」と呼ぶ false i < 3 true i をループ変数あるいはカウンタと呼ぶ
プログラムの基本構造と 構造化チャート(PAD)
アルゴリズムとデータ構造 2011年7月8日課題の復習
ベイジアンネットワーク概説 Loopy Belief Propagation 茨城大学工学部 佐々木稔
情報数理Ⅱ 第11章 データ構造 平成29年1月18日.
データ構造とアルゴリズム (第5回) 静岡大学工学部 安藤和敏
第9回 優先度つき待ち行列,ヒープ,二分探索木
プログラミングⅡ 第2回.
ベイズ基準による 隠れセミマルコフモデルに基づく音声合成
情報工学概論 (アルゴリズムとデータ構造)
アルゴリズムとデータ構造1 2009年7月2日
アルゴリズムとデータ構造 2013年7月8日
1ーQー18 音声特徴量抽出のための音素部分空間統合法の検討
アルゴリズムとデータ構造 --- 理論編 --- 山本 真基
ベイジアンネットワーク概説 第3章 ベイジアンネットワークモデルの 数学的基礎 3.1 ベイジアンネットワークモデルの概要
エイリアス関係を考慮した Javaプログラム用静的スライシングツール
ヒープソート.
Microsoft Excel 2010 を利用した 2項分布の確率計算
場合分け(If Then Else,Select Case) 繰返し(Do While) 繰返しその2(For Next)
混合ガウスモデル Gaussian Mixture Model GMM
アルゴリズムとデータ構造 2012年7月9日
Presentation transcript:

ベイジアンネットワーク概説 3.6 構造の探索アルゴリズム 茨城大学工学部 佐々木稔

はじめに 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 ネットワーク構造の探索アルゴリズム すべての構造から最適な構造を選択 n=3 の場合、合計25通り(向きなしで以下の8種) 1 2 3 1 2 3 1 2 3 1 2 3 1種類 2種類 2種類 2種類 1 2 3 1 2 3 1 2 3 1 2 3 4種類 4種類 4種類 6種類

探索するネットワークの数 変数の数 n でのネットワークの数 f(n) 探索計算量を減らす工夫が必要 は2項係数、 nCi と同じ

遺伝アルゴリズムによる探索 j i i j 全順序関係の情報がない場合 遺伝的アルゴリズムを用いて構造を探索 構造マトリックスを用意 行列の各要素を遺伝子とみなす 最適な構造を学習 j i j i

K2アルゴリズム X1 X2 X3 > X1 X2 X3 X1 X2 X3 X1 X2 X3 ヒューリスティックによる構造の探索 変数間の親子関係を表した全順序関係が必要 X1 > X2 > ・・・ > XN この関係から半順序関係を抽出する X1 X2 X3 > の場合、以下の順序から選択 X1 X2 X3 X1 X2 X3 X1 X2 X3

K2アルゴリズム(backward版) for i = 1:n { pa(Xi) = φ; P(Xi | pa(Xi))=0.0; for j = i:n { Xj を pa(Xi) に加える; P(Xi | pa(Xi)) を計算; Xj のない場合の P(Xi | pa(Xi)) と比較 { 大きい場合は、 Xj を含めた pa(Xi) を採用; それ以外は、 Xj を含めない pa(Xi) を採用; }

K2アルゴリズムの情報量基準 Cooper の事前分布確率 Bayesian Dirichlet Metric とも呼ばれる

K2アルゴリズムの動作 変数 A, B, C で、A>B>C (A が子)が既知 A について B が親の場合と、独立な場合のP(Xi|pa(Xi)) を計算 値の大きい A ← B を採用 C と B → A を比較 C が親の場合と、独立な場合のP(Xi|pa(Xi)) を計算 値の大きい B → A ← C を採用 B → A → C が生成され、 B → A ← C と比較 値の大きい B → A → C を採用

K2アルゴリズム(forward版) for i = 1:n { pa(Xi) = φ; Pold = P(Xi | pa(Xi)); OKtoProceed = True; while (OKtoProceed || |pa(Xi)|<u) {     P(Xi|{pa(Xi)∪{Xj}}) が最大となる親ノード候補 Xj を抽出; Pnew = P(Xi | {pa(Xi)∪{Xj}}); if (Pnew > Pold) { Pold = Pnew; pa(Xi) = pa(Xi)∪{Xj}; } else OKtoProceed = False; }

K2アルゴリズムの入力データ 全順序付ノード集合 {x1, x2, x3}, n=3 データベース D (データ10個) 親ノードの上限 u 2 3 4 5 6 7 8 9 10

K2アルゴリズムの動作1-1 i=1 のとき、 x1が対象 r1= 2 ( {’0’, ’1’} の 2 種類 ) pa(x1) = φ 親ノード候補の取る値の数 q1 = 0 (独立) 独立の場合は、 j は無視して i と k のみ考える N1_1 = 5 (x1=0 なのは {3, 5, 6, 8, 10}) N1_2 = 5 (x1=1 なのは {1, 2, 4, 7, 9} ) N1_ = N1_1 + N1_2 = 10

K2アルゴリズムの動作1-2 親候補が存在しないので繰返しは終了し、 pa(x1) = φ

K2アルゴリズムの動作2-1 i=2 のとき、 x2が対象 r2= 2 ( {’0’, ’1’} の 2 種類 ) pa(x2) = φ 親ノード候補の取る値の数 q2 = 0 (独立) 独立の場合は、 j は無視して i と k のみ考える N2_1 = 5 (x2=0 なのは {1, 3, 5, 8, 10}) N2_2 = 5 (x2=1 なのは {2, 4, 6, 7, 9} ) N2_ = N2_1 + N2_2 = 10

K2アルゴリズムの動作2-2

K2アルゴリズムの動作2-3 i=2 で、親ノード候補 {x1} r2= 2 ( {’0’, ’1’} の 2 種類 ) 親ノード候補の取る値の数 q2 = 2 (x1=0) と (x1=1) の 2 種類 N211 = 4 (x1=0, x2=0 なのは {3, 5, 8, 10}) N212 = 1 (x1=0, x2=1 なのは {6} ) N221 = 1 (x1=1, x2=0 なのは {1}) N222 = 4 (x1=1, x2=1 なのは {2, 4, 7, 9}) N21 = N211 + N212 = 5 N22 = N221 + N222 = 5

K2アルゴリズムの動作2-4 P(x2|{x1}) が最大値で、Pnew>Pold より、 Pa(x2)={x1}

K2アルゴリズムの動作3-1 i=3 のとき、 x3が対象 r3= 2 ( {’0’, ’1’} の 2 種類 ) pa(x3) = φ 親ノード候補の取る値の数 q3 = 0 (独立) 独立の場合は、 j は無視して i と k のみ考える N3_1 = 4 (x3=0 なのは {1, 5, 8, 10}) N3_2 = 6 (x3=1 なのは {2, 3, 4, 6, 7, 9}) N3_ = N3_1 + N3_2 = 10

K2アルゴリズムの動作3-2

K2アルゴリズムの動作3-3 i=3 で、親ノード候補 {x1} r3= 2 ( {’0’, ’1’} の 2 種類 ) 親ノード候補の取る値の数 q3 = 2 (x1=0) と (x1=1) の 2 種類 N311 = 3 (x1=0, x3=0 なのは {5, 8, 10}) N312 = 2 (x1=0, x3=1 なのは {3, 6} ) N321 = 1 (x1=1, x3=0 なのは {1}) N322 = 4 (x1=1, x3=1 なのは {2, 4, 7, 9}) N31 = N311 + N312 = 5 N32 = N321 + N322 = 5

K2アルゴリズムの動作3-4

K2アルゴリズムの動作3-5 i=3 で、親ノード候補 {x2} r3= 2 ( {’0’, ’1’} の 2 種類 ) 親ノード候補の取る値の数 q3 = 2 (x2=0) と (x2=1) の 2 種類 N311 = 4 (x2=0, x3=0 なのは {1, 5, 8, 10}) N312 = 1 (x2=0, x3=1 なのは {3} ) N321 = 0 (x2=1, x3=0 なのは {}) N322 = 5 (x2=1, x3=1 なのは {2, 4, 6, 7, 9}) N31 = N311 + N312 = 5 N32 = N321 + N322 = 5

K2アルゴリズムの動作3-6 P(x3|{x2}) が最大値で、 Pnew > Pold より、 Pa(x3)= {x2}, Pold=1/180

K2アルゴリズムの動作3-7 i=3で、決定済み親ノード{x2}、親ノード候補{x1} r3= 2 ( {’0’, ’1’} の 2 種類 ) 親ノード候補の取る値の数 q3 = 4 (x1=0, x2=0), (x1=0, x2=1), (x1=1, x2=0), (x1=1, x2=1) の 4 種類 N311 = 3 (x1=0, x2=0, x3=0 なのは {5, 8, 10}) N312 = 1 (x1=0, x2=0, x3=1 なのは {3} ) N322 = 1 (x1=0, x2=1, x3=1 なのは {6}) N332 = 1 (x1=1, x2=0, x3=0 なのは {1}) N342 = 4 (x1=1, x2=1, x3=1 なのは {2, 4, 7, 9}) N31 = N311 + N312 = 4 N32 = N321 + N322 = 1 N33 = N331 + N332 = 1 N34 = N341 + N342 = 4

K2アルゴリズムの動作3-8 Pnew < Pold より、Pa(x3)= {x2} のまま

K2アルゴリズムの動作3-9 以上の処理から、 したがって、求める構造は x1 → x2 → x3 x1 の親ノードは φ