prml8章

75
PRML 第8章 グラフィカルモデル 東京理科大学大学院 薬学研究科 薬科学専攻 (博士後期課程3年) 理科学研究所 情報基盤センター バイオインフォマティクス研究開発ユニット (JRA) 露崎弘毅

Upload: antiplastics

Post on 02-Jul-2015

1.159 views

Category:

Data & Analytics


0 download

TRANSCRIPT

Page 1: PRML8章

PRML 第8章 グラフィカルモデル

東京理科大学大学院 薬学研究科 薬科学専攻 (博士後期課程3年) 理科学研究所 情報基盤センター

バイオインフォマティクス研究開発ユニット (JRA)

露崎弘毅

目次81 ベイジアンネットワーク - 811 例 多項式曲線フィッティング - 812 生成モデル - 813 離散変数 - 814 線形ガウスモデル 82 条件付き独立性 - 821 3つのグラフの例 - 822 有向分離(D分離) 83 マルコフ確率場 - 831 条件付き独立性 - 832 分解特性 - 833 例 画像のノイズ除去 - 834 有向グラフとの関係

84 グラフィカルモデルにおける推論 - 841 連鎖における推論 - 842 木 - 843 因子グラフ - 844 積和アルゴリズム - 845 max-sumアルゴリズム - 846 一般のグラフにおける厳密推論 - 847 ループあり確率伝搬 - 848 グラフ構造の学習

今回 次回or次々回

8章のための準備

確率の加法定理(周辺化)

(110)

1 11 11 01 01 10 10 00 00 10 1

X Y

二変量(XY)のデータのうちXの起きる確率は以下の二通りで求められる(左は普通の計算右はYについての周辺化)

(1 事象が起きた0 事象が起きない)

= 5 10 = 05

p(X Y= 0) = 210

p(X Y= 1)= 310

310 + 210 = 05

Yが起きた場合

1 11 11 01 01 10 10 00 00 10 1

X YYが起きなかった場合

1 11 11 01 01 10 10 00 00 10 1

X Y

確率の乗法定理

(111)

条件付き確率(Xが起きた時にYが起きる確率)は以下のように定義される

両辺に times p(X)

1 11 11 01 01 10 10 00 00 10 1

X Y言葉の通りに計算すると 「Xが起きた(5)時に Yが起きる(3)確率は35」 p(Y|X) = n(X Y) n(X) = (n(X Y) N) (n(X) N) = p(X Y) p(X)

Xに条件づけられた確率

Xが起きた時

ベイズの定理条件付き確率

分母は加法定理乗法定理から更に変形できる

(112)

ベイズの定理 (離散量Ver)

分母は定数だから

ベイズの定理 (連続量Ver)

尤度 事前確率事後確率

共役事前分布

事後分布 尤度 事前分布ベータ分布 二項分布 ベータ分布正規分布 正規分布 正規分布

逆ガンマ分布 正規分布 逆ガンマ分布ガンマ分布 ポアソン分布 ガンマ分布

ディリクレ分布 多項分布 ディリクレ分布

ベイズな手法はパラメーターが分布を持ちさらにその分布のパラメーターが分布を持ちhellipという

風に階層を増やしていける

幾らでも階層を作れる (階層ベイズモデル)

時系列解析に使える (データ同化)

t t+1 t+2

左のような尤度事前分布の組み合わせは事後分布が事前分布と同じ形になるのでどれだけモデルが複雑になっても

事後分布を求める事ができる (積分できる計算がしやすい)

最近はモデルが複雑になってもサンプリング(MCMC)で分布を求めようとい

うやり方も

互いに独立とはかけ算に分けられるという事

(2つの変数の同時分布がその周辺の積に分解できる事 上巻p17)

P(A B) = P(A) times P(B)

例 データが同じ分布から独立にとられたとする仮定(iid)

(160)

(161)

ベクトル要素の積として表現できる

P(t|xwβ) = N(t|y(xw) β-1)

1-of-K符号化法

K個の状態を取りうる離散変数を扱う際に用いられる要素の一つxkのみが1で他を0とする

x = (001000)T

例 さいころの目が3だった時

ナイーブベイズベイズの定理を分類器として使ったもの

例 スパムメールフィルタ

受信BOX (C1 カテゴリー1)

迷惑メール (C2 カテゴリー2)

受信したメールの文面

グラビア

bag-of-words (D) (例 無料ダウンロードrdquohttphelliprdquo)

実際は分母は無視する (大小関係には無関係) 一度も出現しない単語は全体の確率を0にしてしまう -gt スムージング

httpqiitacomaflcitems13fe52243c35d3b678b0 httpwwwslidesharenetmatuurass-8108633

(迷惑メール件数) (全メール件数)

その他確率変数 X

観測値 Pr(X = x)

確率的に値をとる変数 大文字で書く パラメータで値が決まる関数

実際にとりうる値 小文字で書く

パラメーター X ~ Binom(n p)

実際にとりうる値 斜字体ギリシャ文字とか

第8章 グラフィカルモデル

グラフ

ノード(node)頂点(vertex)

リンク(link)辺(edge)弧(arc)

ノードの集合とエッジの集合で構成されるもの(Wikipedia)

グラフィカルモデル

確率変数

確率変数間の関係

確率変数間の関係性をグラフで表現したもの

グラフィカルモデル有向グラフィカルモデル

(例ベイジアンネットワーク)無向グラフィカルモデル (例 マルコフ確率場)

因果関係 緩い束縛関係 (相関とか)

ベイジアンネットワーク3変数abcの同時確率p(abc)を考える

同時分布p(abc)は乗法定理で以下のように分解できる(81)

(82)また同時分布p(ab)は乗法定理で以下のように分解できる

ベイジアンネットワークベイジアンネットワークはこの確率変数間の因果関係を

グラフで表現したもの

(82)

1 aが起きてhellip

2 aが起きることでbが起きてhellip

3 a bが起きることでcが起きる

図81

aはbの親ノードbはaの子ノード

という

ベイジアンネットワーク

例 K=5の時の全結合グラフ

(83)

乗法定理を繰り返し適用する事で同時分布は各変数上の条件付き分布の積として書ける(全結合)

x1 x2 x3 x4 x5

自分よりも小さい番号がふられたすべてのノードから向かってくるリンクをもつ

ベイジアンネットワーク

図82

(84)

ベイジアンネットワーク一般系で書くと

(pak xkの親ノードの集合)

この式は同時分布の分解特性を表現したという

ベイジアンネットワークは有向閉路を持たない有向非循環グラフ(DAG Directed acyclic graph)

とか みたいなループ構造が無いという事 (自然現象ではよくあるけど)

(85)

グラフィカルモデルの書き方126節のベイズ多項式回帰モデル (N変量のデータからyを予測する)

多項式係数ベクトル観測データ

入力データノイズの分散

ガウス事前分布の精度(超パラメーター)

確率変数 (パラメーターで値が変わる)

パラメーター (定数)

sinカーブ

図117太字のxtは訓練データ 細字のxtはテストデータ

グラフィカルモデルの書き方確率変数にだけ注目した書き方(161のシンプル版)

(86)

N個のノードは左のようにまとめて書いてもよい

プレート

図83

図84

グラフィカルモデルの書き方パラメーターも明示的に含んだ書き方

(87)

図85 図86

学習データを入れている事を示す場合は塗りつぶすパラメータは小さい点で書く

観測されない隠れ変数はそのまま (-gt 第9 12章 EMアルゴリズム)

生成モデル観測データが生成される因果仮定を表現したモデル

人口的なデータを生成できる

例 伝承サンプリング(上位ノードから順に値を決めていくというだけ)

図85は生成モデルでは無い xnは値が既に決まっているから

xnの事前分布が必要図85

2

1

23

有向グラフの親子対が共役関係になる分布であると良い性質をもつ (多分解析的に積分が解けるとかモデルが複雑にならないとか)

特に重要なのが以下の二つでこれらは階層的に拡張して

任意の複雑なDAGが構築できる

離散変数 離散変数

ガウス変数 ガウス変数

離散変数

(89)

1-of-K符号化で書かれた多項分布

例 さいころで3が出る確率

パラメーター数 K - 1∵規格化のための制約

パラメーター数 K2 - 1

離散変数1-of-K符号化で書かれた多項分布(二つの状態を取る場合)

∵規格化のための制約

例 さいころABで各々(3 4)が出る確率

以下略hellip(36個パラメーターがある)

とりうる状態が増えるとパラメーターが指数的に増大してしまうKM - 1状態数Mで 個

離散変数乗法定理を用いるとP(x1x2) = P(x2|x1) P(x1)

これは図89の(a)

図89

変数がM個だとパラメーター数は M(K - 1)

でMについて線形

パラメーター数 K2 - 1

パラメーター数 2(K - 1)

離散変数

リンクを除去するとパラメーターを減らせる

全結合 全てが独立

パラメーター数M(K - 1)

パラメーター数 KM - 1

パラメーター数 K - 1 + (M - 1) K (K - 1)

K状態の連鎖

図810

x1 x2 xM x1 x2 xM

離散変数

パラメータを共有する事(sharing tyling)でもパラメーターは減らせる

図811

図812

図810のモデルの事前分布としてディリクレ分布を導入したもの

更に1つのパラメーターuが全ての条件付き分布に共有される場合

パラメーター数K2 - 1

パラメーター数2

離散変数

条件付き分布としてパラメトリックモデルを用いる事でもパラメーターは減らせる

図813

M個の親ノードと一つの子ノード (共に二値変数とする) そのままだとパラメーター数 2M

(810)

親変数の線形結合を入力とするロジスティックシグモイド関数を利用

パラメーター数 M + 1

線形ガウスモデル

(811)

確率的主成分分析因子分析線形動的システムなどで利用されているらしい

平均

pai

分散 vi

xi 全てのノードの同時分布の対数は (85 一般系のベイジアンネットワークより)

(812)

(813)

j

biwixj

線形ガウスモデル平均 u 分散 σ2の正規分布

自然対数をとる(expが消える)

あとはuに

σ2に

を代入すれば813になる

vi

線形ガウスモデル813はxの成分に関する2次関数なのでp(x)はD次元正規分布()

(814)

この時期待値と分散は再帰的に求まる

(815)

(816)

線形ガウスモデルリンクが一つもないD個のノード 全結合グラフ

パラメーター数wij 0個 bi D個 vi D個

パラメーター数wij (D(D-1))2個 bi D個 vi D個

x1

b1 v1

x2

b2 v2

x3

b3 v3

x4

b4 v4x1

b1 v1

x2

b2 v2

x3

b3 v3

x4

b4 v4

線形ガウスモデル中間的なグラフ(例 図814)

パラメーター数wij D - 1個 bi D個 vi D個

x1

b1 v1

x2

b2 v2

x3

b3 v3

x4

b4 v4

線形ガウスモデル

ガウス分布の共役事前分布はガウス分布

ガウス変量の平均をガウス分布とする(事前分布) =gt ガウス分布の平均値は超パラメーター

=gt 超パラメーターがガウス分布だとするhellip(超事前分布)

=gt 階層ベイズモデル(何階層でもモデルを拡張複雑化できる)

条件付き独立性

(820)

bがあってもなくてもaの条件付き確率に影響を与えない

これをcが与えられた下でaはbに対して条件付き独立であるという

cに対してaとbが条件付き独立とは以下のように書く

(821)

(822)

条件付き独立性が示せるとリンクを減らせる

a

c

ba

c

b

可能性のある全ての条件付き独立性を調べればリンクは減らせる =gt 実際には計算量が膨大

=gt グラフの形だけで独立かどうか判断が可能(d-separationという枠組み)

条件付き独立性

以降はまず3つのノードの簡単なグラフで説明する

3つのグラフの例①

ab

c

tail-to-tail

cに対して周辺化

これはp(a) p(b)という形には変形できない (独立ではない)

cで条件付ける

p(a|c) p(b|c)という形に変形できた(条件付き独立block)

(823)

(824)tailtail

3つのグラフの例②

ab

c

head-to-tail

cに対して周辺化

これはp(a) p(b)という形には変形できない (独立ではない)

cで条件付ける

p(a|c) p(b|c)という形に変形できた(条件付き独立block)

(826)

3つのグラフの例③

ab

c

head-to-head

cに対して周辺化

これはp(a) p(b)という形に変形できた(独立)

(828)

確率の総和は1だから

3つのグラフの例③

ab

c

head-to-head

cで条件付ける

p(a|c) p(b|c)という形に変形できない(unblock)

(828)

3つのグラフの例(まとめ)

グラフの形 cで周辺化 cで条件付け

tail-to-tail 独立ではない 条件付き独立(block)

head-to-tail 独立ではない 条件付き独立(block)

head-to-head 独立 独立ではない(unblock)

head-to-headの更に特殊な性質(弁明)

図820

バッテリーの状態 0切れている

1充電されている

燃料タンクの状態 0空1満タン

電動燃料計 0空と示している

1満タンと示している

p(B=1) = 09 p(F=1) = 09

p(G=1 | B = 1 F = 1) = 08 p(G=1 | B = 1 F = 0) = 02 p(G=1 | B = 0 F = 1) = 02 p(G=1 | B = 0 F = 0) = 01

p(B=0) = 01 p(F=0) = 01

p(G=0 | B = 1 F = 1) = 02 p(G=0 | B = 1 F = 0) = 08 p(G=0 | B = 0 F = 1) = 08 p(G=0 | B = 0 F = 0) = 09

事前にこういった情報が与えられているとする

head-to-headの更に特殊な性質(弁明)

何も観測されていないとき燃料タンクが空である確率は

p(F=0) = 01

燃料計が空を指しているという事実を観測した時の燃料タンクが空である確率は(ベイズの定理より)

少し確率が高まっている

確率が低くなる

さらにバッテリーが切れている事実を観測した時の燃料タンクが空である確率は

図821

head-to-headの更に特殊な性質(弁明)

さらに子孫ノードのいずれかが観測されても 燃料タンクが空になる確率は変化する

子孫ノードが0

有向分離(D分離)リンクを遮断する時の法則今までの話をノード集合にまで拡張したもの

(グラフの形だけでわかる)

(a) 集合Cに含まれるノードであって経路に含まれる矢印がそこでhead-to-tailあるいはtail-to-tailである

(b) 経路に含まれる矢印がそのノードでhead-to-headであり自身あるいはそのすべての子孫のいずれもが集合Cに含まれない

CA B CA B

CA B

あらゆるA-C-Bの経路が遮断されていれば集合Aは集合Cにおいて集合Bと条件付き独立

有向分離(D分離)

図822

A AC C

B B

ノードaとノードbは集合C(ノードe f)で遮断できるかcが観測された場合 fが観測された場合

-gt 遮断されない -gt 遮断される

∵ fがtail-to-tailで観測されていない

eはhead-to-headだが子孫fがCに含まれる

∵ fがtail-to-tailで観測されている

eはhead-to-headでそれ自身あるいはその子孫が条件付き集合に

含まれない

有向分離(D分離)図85のモデルの有向分離性

パラメーターは観測済みノードと同じ amp 親ノードが無い

-gt 他のノードとのつながりは必ずtail-to-tailになる -gt 有向分離性に影響しない

124節のiidデータの有向分離性

図823

パラメーターuはtail-to-tail -gt uに値を入力したらあらゆる子ノード間で独立

-gt iid

uを積分消去した場合観測値は独立ではない

(835)

有向分離(D分離)図87のモデルの有向分離性

(836)

有向分離(D分離)ナイーブベイズの有向分離性

図824

例 bag-of-words

例 受信BOX迷惑メール

zが観測されるとあらゆるxノード間は独立

有向分離定理

1 有向分解(乗法定理を繰り返し適用して得た条件付き確率分布)

2 有向分離 (条件付き独立を繰り返し適用して得た条件付き確率分布)

以下の二つは同じ分布を得る

マルコフブランケット

xiが起きる確率をxi以外の全てのノードで条件付けた分布で考える

分母をxiで周辺化する

条件付き確率の積にする

xiに依存しないノードの条件付き確率は分子と打ち消し合う(次頁)

あるノードの条件付き独立性を考える時の最小単位

マルコフブランケット

図826

つまりxiの条件付き独立を考える時 1) 親子 2) 共同親 だけを考えれば良い

共同親A B

C

D E

F G

結局Cの条件付き確率P(C|AB)と Cの子ノードの条件付き確率P(D|CF)やP(E|CG)だけ残る

Cを含まない項は全部消える

無向グラフ(マルコフ確率場)無向グラフは条件付き独立を考えるのが簡単

図827集合Cを取り除いてA-B間の経路が無くなるなら条件付き独立

図828

無向グラフはマルコフブランケットも簡単

隣接ノードだけ考えれば良い

無向グラフ(マルコフ確率場)無向グラフの分解特性(これまで乗法定理を繰り返し適用していたもの)は以下のように定式化される

(838)

xi xj以外の全てのノードを取り除いた時の同時確率

よりと書くことも

各々の確率に分割できるならxijにおいてxixjは条件付き独立

クリーク

図829

無向グラフの分解特性は極大クリーク変数集合の関数にする事

クリーク x1 x2 x2 x3 x3 x4 x4 x2 極大クリーク x1 x2 x3 x2 x3 x4 x1 x2 x3 x4はクリークではない(x1 - x4間にリンクがない)

クリーク 全てのノードの組にリンクが存在するグラフの部分集合 極大クリーク もう一つを加えるとクリークでなくなってしまうようなクリーク

ポテンシャル関数極大クリークを引数としたポテンシャル関数

の積に分解するどんな関数にするかは言及しない

基本的に総和は1にならない -gt 規格化定数(分配関数)を導入

-gt 計算は大変

画像のノイズ除去の例

元のピクセル

ランダムに反転したピクセル

元画像10のピクセルをランダムに反転

ICMによる復元グラフカットアルゴリズムによる復元

(841)(842)

(843)

図831

有向-gt無向の変換図832のような簡単な場合

有向グラフ(a)無向グラフ(b)

以下のような対応づけができる

有向-gt無向の変換図833のような場合

親同士をリンクで結ぶ(モラル化)

1 向きを無くす 2 モラル化する 3 規格化する -gt ジャンクションツリーアルゴリズム(84)

生物の細胞

遺伝子間が相互作用のネットワークを形成している

geneX geneY

Protein X

Protein Y

様々な実験での遺伝子発現データ

とりうる可能性高い遺伝子ネットワークを探索(MAP推定)

データからこれを推定したい

実験

遺伝子

more

番外編 ベイジアンネットワークの学習

rarr 近似的に求めるアルゴリズムが開発される

httpwwwsclsrikenjpscruisesoftwaresign-bnhtml

番外編 ベイジアンネットワークの学習

こういうネットワーク構造は未知でデータから推定するアプローチはベイジアンネットワークのrdquo学習rdquoとかrdquo推論rdquoというらしい

(848で紹介だけしている)

SiGN-BN スパコン「京」で計算するソフトウェア自分の修論の内容

Rのbnlearnパッケージ(CBRCのBlue Gene上で実行)httpsignhgcjpsignbnindex_jahtml

番外編 ベイジアンネットワークの学習

番外編 ベイジアンネットワークの学習

どのグラフが良いか決める基準 尤度情報量基準(AIC BIC 尤度ampパラメーター数)

MAP推定(尤度times事前分布)hellip

データを元に最も最適と思われるグラフ構造を探索する

データ

グラフ

1 0 01 1 01 0 10 1 01 0 10 0 01 1 00 0 01 1 10 0 1

a b cb

a

c

b

a

c

b

a

c

データからグラフ構造を推定したい場合単純な式変形をしただけだと数学的に等しいので結局最適なグラフ構造を決定できないのでは(勉強会での議論)

=gt 実際にやってみた

番外編 ベイジアンネットワークの学習

httpwwwsclsrikenjpscruisewp-contentuploadssites3201312SIGN_HGC_Seminar_Tamada201302pdf

httpenwikipediaorgwikiDirected_acyclic_graph

ノード数の増加に対する取りうるDAG数

番外編 ベイジアンネットワークの学習

3ノードなら手計算でいけそう

乗法定理times2(n=6)

乗法定理times2 + 条件付き独立 (n=9)

乗法定理times1 + 独立(n=3)

全て独立(n=1)

乗法定理を使う (このままではグラフとして表現できない)

乗法定理times1 + 独立 + 条件付き独立(n=6)エッジ0個

エッジ1個

エッジ2個(head-to-tail tail-to-tail)

エッジ2個(head-to-head)

エッジ3個(全結合)

ノード3つで式変形を片っ端から行った

番外編 ベイジアンネットワークの学習

試しに以下のような簡単な01データを用いる またここでは単純に尤度のみでグラフの善し悪しを判定する

番外編 ベイジアンネットワークの学習

0 0 00 0 00 0 00 0 01 0 01 0 01 1 01 1 01 1 11 1 1

a b c

P(a) = 35 P(b) = 25 P(c) = 15 P(a b) = 25 P(b c) = 15 P(a c) = 15 P(a b c) = 15

P(a | b c) = 1 P(b | a c) = 1 P(c | a b) = 12 P(a | b) = 1 P(a | c) = 1 P(b | a) = 23 P(b | c) = 1 P(c | a) = 13 P(c | b) = 12

独立性について

番外編 ベイジアンネットワークの学習

0 0 00 0 00 0 00 0 01 0 01 0 01 1 01 1 01 1 11 1 1

a b c

P(a | b c) = P(a | b) P(a | b c) = P(a | c) P(b | a c) ne P(b | a) P(b | a c) = P(b | c) P(c | a b) ne P(c | a) P(c | a b) = P(c | b)

P(a b c) ne P(a) P(b) P(c) P(a b) ne P(a) P(b) P(b c) ne P(b) P(c) P(a c) ne P(a) P(c)

条件付き独立性について

データによって成り立ったり成り立たなかったりする

乗法定理times2(n=6)

乗法定理times2 + 条件付き独立 (n=9)

乗法定理times1 + 独立(n=3)

全て独立(n=1)

乗法定理times1 + 独立 + 条件付き独立(n=6)エッジ0個

エッジ1個

エッジ2個(head-to-tail tail-to-tail)

エッジ2個(head-to-head)

エッジ3個(全結合)

番外編 ベイジアンネットワークの学習

尤度を計算した

= 02= 02= 02= 02= 02= 02

= 0048

= 008= 012= 012

= 02= 02= 02= 02= 013

= 013= 02

= 02= 013

= 008= 008= 008= 012= 008= 012

乗法定理times2(n=6)エッジ3個(全結合)

番外編 ベイジアンネットワークの学習

= 02= 02= 02= 02= 02= 02

乗法定理で変形したものはグラフ構造は違うのにも関わらず尤度は等しい

b

a

cb

a

cb

a

cb

a

cb

a

cb

a

c

乗法定理times2 + 条件付き独立 (n=9)

乗法定理times1 + 独立(n=3)乗法定理times1 + 独立 + 条件付き独立(n=6)

エッジ0個

エッジ1個

エッジ2個(head-to-tail tail-to-tail)

エッジ2個(head-to-head)

番外編 ベイジアンネットワークの学習

= 008= 012= 012

= 02= 02= 02= 02= 013

= 013= 02

= 02= 013

= 008= 008= 008= 012= 008= 012

条件付き独立独立はデータによって成り立ったり成り立たなかったりする

「同じ尤度を持つDAGは複数存在する可能性がある」

21世紀の統計科学 第2巻 第6章 生命システムネットワークを明らかにするための統計的モデリング

Page 2: PRML8章

目次81 ベイジアンネットワーク - 811 例 多項式曲線フィッティング - 812 生成モデル - 813 離散変数 - 814 線形ガウスモデル 82 条件付き独立性 - 821 3つのグラフの例 - 822 有向分離(D分離) 83 マルコフ確率場 - 831 条件付き独立性 - 832 分解特性 - 833 例 画像のノイズ除去 - 834 有向グラフとの関係

84 グラフィカルモデルにおける推論 - 841 連鎖における推論 - 842 木 - 843 因子グラフ - 844 積和アルゴリズム - 845 max-sumアルゴリズム - 846 一般のグラフにおける厳密推論 - 847 ループあり確率伝搬 - 848 グラフ構造の学習

今回 次回or次々回

8章のための準備

確率の加法定理(周辺化)

(110)

1 11 11 01 01 10 10 00 00 10 1

X Y

二変量(XY)のデータのうちXの起きる確率は以下の二通りで求められる(左は普通の計算右はYについての周辺化)

(1 事象が起きた0 事象が起きない)

= 5 10 = 05

p(X Y= 0) = 210

p(X Y= 1)= 310

310 + 210 = 05

Yが起きた場合

1 11 11 01 01 10 10 00 00 10 1

X YYが起きなかった場合

1 11 11 01 01 10 10 00 00 10 1

X Y

確率の乗法定理

(111)

条件付き確率(Xが起きた時にYが起きる確率)は以下のように定義される

両辺に times p(X)

1 11 11 01 01 10 10 00 00 10 1

X Y言葉の通りに計算すると 「Xが起きた(5)時に Yが起きる(3)確率は35」 p(Y|X) = n(X Y) n(X) = (n(X Y) N) (n(X) N) = p(X Y) p(X)

Xに条件づけられた確率

Xが起きた時

ベイズの定理条件付き確率

分母は加法定理乗法定理から更に変形できる

(112)

ベイズの定理 (離散量Ver)

分母は定数だから

ベイズの定理 (連続量Ver)

尤度 事前確率事後確率

共役事前分布

事後分布 尤度 事前分布ベータ分布 二項分布 ベータ分布正規分布 正規分布 正規分布

逆ガンマ分布 正規分布 逆ガンマ分布ガンマ分布 ポアソン分布 ガンマ分布

ディリクレ分布 多項分布 ディリクレ分布

ベイズな手法はパラメーターが分布を持ちさらにその分布のパラメーターが分布を持ちhellipという

風に階層を増やしていける

幾らでも階層を作れる (階層ベイズモデル)

時系列解析に使える (データ同化)

t t+1 t+2

左のような尤度事前分布の組み合わせは事後分布が事前分布と同じ形になるのでどれだけモデルが複雑になっても

事後分布を求める事ができる (積分できる計算がしやすい)

最近はモデルが複雑になってもサンプリング(MCMC)で分布を求めようとい

うやり方も

互いに独立とはかけ算に分けられるという事

(2つの変数の同時分布がその周辺の積に分解できる事 上巻p17)

P(A B) = P(A) times P(B)

例 データが同じ分布から独立にとられたとする仮定(iid)

(160)

(161)

ベクトル要素の積として表現できる

P(t|xwβ) = N(t|y(xw) β-1)

1-of-K符号化法

K個の状態を取りうる離散変数を扱う際に用いられる要素の一つxkのみが1で他を0とする

x = (001000)T

例 さいころの目が3だった時

ナイーブベイズベイズの定理を分類器として使ったもの

例 スパムメールフィルタ

受信BOX (C1 カテゴリー1)

迷惑メール (C2 カテゴリー2)

受信したメールの文面

グラビア

bag-of-words (D) (例 無料ダウンロードrdquohttphelliprdquo)

実際は分母は無視する (大小関係には無関係) 一度も出現しない単語は全体の確率を0にしてしまう -gt スムージング

httpqiitacomaflcitems13fe52243c35d3b678b0 httpwwwslidesharenetmatuurass-8108633

(迷惑メール件数) (全メール件数)

その他確率変数 X

観測値 Pr(X = x)

確率的に値をとる変数 大文字で書く パラメータで値が決まる関数

実際にとりうる値 小文字で書く

パラメーター X ~ Binom(n p)

実際にとりうる値 斜字体ギリシャ文字とか

第8章 グラフィカルモデル

グラフ

ノード(node)頂点(vertex)

リンク(link)辺(edge)弧(arc)

ノードの集合とエッジの集合で構成されるもの(Wikipedia)

グラフィカルモデル

確率変数

確率変数間の関係

確率変数間の関係性をグラフで表現したもの

グラフィカルモデル有向グラフィカルモデル

(例ベイジアンネットワーク)無向グラフィカルモデル (例 マルコフ確率場)

因果関係 緩い束縛関係 (相関とか)

ベイジアンネットワーク3変数abcの同時確率p(abc)を考える

同時分布p(abc)は乗法定理で以下のように分解できる(81)

(82)また同時分布p(ab)は乗法定理で以下のように分解できる

ベイジアンネットワークベイジアンネットワークはこの確率変数間の因果関係を

グラフで表現したもの

(82)

1 aが起きてhellip

2 aが起きることでbが起きてhellip

3 a bが起きることでcが起きる

図81

aはbの親ノードbはaの子ノード

という

ベイジアンネットワーク

例 K=5の時の全結合グラフ

(83)

乗法定理を繰り返し適用する事で同時分布は各変数上の条件付き分布の積として書ける(全結合)

x1 x2 x3 x4 x5

自分よりも小さい番号がふられたすべてのノードから向かってくるリンクをもつ

ベイジアンネットワーク

図82

(84)

ベイジアンネットワーク一般系で書くと

(pak xkの親ノードの集合)

この式は同時分布の分解特性を表現したという

ベイジアンネットワークは有向閉路を持たない有向非循環グラフ(DAG Directed acyclic graph)

とか みたいなループ構造が無いという事 (自然現象ではよくあるけど)

(85)

グラフィカルモデルの書き方126節のベイズ多項式回帰モデル (N変量のデータからyを予測する)

多項式係数ベクトル観測データ

入力データノイズの分散

ガウス事前分布の精度(超パラメーター)

確率変数 (パラメーターで値が変わる)

パラメーター (定数)

sinカーブ

図117太字のxtは訓練データ 細字のxtはテストデータ

グラフィカルモデルの書き方確率変数にだけ注目した書き方(161のシンプル版)

(86)

N個のノードは左のようにまとめて書いてもよい

プレート

図83

図84

グラフィカルモデルの書き方パラメーターも明示的に含んだ書き方

(87)

図85 図86

学習データを入れている事を示す場合は塗りつぶすパラメータは小さい点で書く

観測されない隠れ変数はそのまま (-gt 第9 12章 EMアルゴリズム)

生成モデル観測データが生成される因果仮定を表現したモデル

人口的なデータを生成できる

例 伝承サンプリング(上位ノードから順に値を決めていくというだけ)

図85は生成モデルでは無い xnは値が既に決まっているから

xnの事前分布が必要図85

2

1

23

有向グラフの親子対が共役関係になる分布であると良い性質をもつ (多分解析的に積分が解けるとかモデルが複雑にならないとか)

特に重要なのが以下の二つでこれらは階層的に拡張して

任意の複雑なDAGが構築できる

離散変数 離散変数

ガウス変数 ガウス変数

離散変数

(89)

1-of-K符号化で書かれた多項分布

例 さいころで3が出る確率

パラメーター数 K - 1∵規格化のための制約

パラメーター数 K2 - 1

離散変数1-of-K符号化で書かれた多項分布(二つの状態を取る場合)

∵規格化のための制約

例 さいころABで各々(3 4)が出る確率

以下略hellip(36個パラメーターがある)

とりうる状態が増えるとパラメーターが指数的に増大してしまうKM - 1状態数Mで 個

離散変数乗法定理を用いるとP(x1x2) = P(x2|x1) P(x1)

これは図89の(a)

図89

変数がM個だとパラメーター数は M(K - 1)

でMについて線形

パラメーター数 K2 - 1

パラメーター数 2(K - 1)

離散変数

リンクを除去するとパラメーターを減らせる

全結合 全てが独立

パラメーター数M(K - 1)

パラメーター数 KM - 1

パラメーター数 K - 1 + (M - 1) K (K - 1)

K状態の連鎖

図810

x1 x2 xM x1 x2 xM

離散変数

パラメータを共有する事(sharing tyling)でもパラメーターは減らせる

図811

図812

図810のモデルの事前分布としてディリクレ分布を導入したもの

更に1つのパラメーターuが全ての条件付き分布に共有される場合

パラメーター数K2 - 1

パラメーター数2

離散変数

条件付き分布としてパラメトリックモデルを用いる事でもパラメーターは減らせる

図813

M個の親ノードと一つの子ノード (共に二値変数とする) そのままだとパラメーター数 2M

(810)

親変数の線形結合を入力とするロジスティックシグモイド関数を利用

パラメーター数 M + 1

線形ガウスモデル

(811)

確率的主成分分析因子分析線形動的システムなどで利用されているらしい

平均

pai

分散 vi

xi 全てのノードの同時分布の対数は (85 一般系のベイジアンネットワークより)

(812)

(813)

j

biwixj

線形ガウスモデル平均 u 分散 σ2の正規分布

自然対数をとる(expが消える)

あとはuに

σ2に

を代入すれば813になる

vi

線形ガウスモデル813はxの成分に関する2次関数なのでp(x)はD次元正規分布()

(814)

この時期待値と分散は再帰的に求まる

(815)

(816)

線形ガウスモデルリンクが一つもないD個のノード 全結合グラフ

パラメーター数wij 0個 bi D個 vi D個

パラメーター数wij (D(D-1))2個 bi D個 vi D個

x1

b1 v1

x2

b2 v2

x3

b3 v3

x4

b4 v4x1

b1 v1

x2

b2 v2

x3

b3 v3

x4

b4 v4

線形ガウスモデル中間的なグラフ(例 図814)

パラメーター数wij D - 1個 bi D個 vi D個

x1

b1 v1

x2

b2 v2

x3

b3 v3

x4

b4 v4

線形ガウスモデル

ガウス分布の共役事前分布はガウス分布

ガウス変量の平均をガウス分布とする(事前分布) =gt ガウス分布の平均値は超パラメーター

=gt 超パラメーターがガウス分布だとするhellip(超事前分布)

=gt 階層ベイズモデル(何階層でもモデルを拡張複雑化できる)

条件付き独立性

(820)

bがあってもなくてもaの条件付き確率に影響を与えない

これをcが与えられた下でaはbに対して条件付き独立であるという

cに対してaとbが条件付き独立とは以下のように書く

(821)

(822)

条件付き独立性が示せるとリンクを減らせる

a

c

ba

c

b

可能性のある全ての条件付き独立性を調べればリンクは減らせる =gt 実際には計算量が膨大

=gt グラフの形だけで独立かどうか判断が可能(d-separationという枠組み)

条件付き独立性

以降はまず3つのノードの簡単なグラフで説明する

3つのグラフの例①

ab

c

tail-to-tail

cに対して周辺化

これはp(a) p(b)という形には変形できない (独立ではない)

cで条件付ける

p(a|c) p(b|c)という形に変形できた(条件付き独立block)

(823)

(824)tailtail

3つのグラフの例②

ab

c

head-to-tail

cに対して周辺化

これはp(a) p(b)という形には変形できない (独立ではない)

cで条件付ける

p(a|c) p(b|c)という形に変形できた(条件付き独立block)

(826)

3つのグラフの例③

ab

c

head-to-head

cに対して周辺化

これはp(a) p(b)という形に変形できた(独立)

(828)

確率の総和は1だから

3つのグラフの例③

ab

c

head-to-head

cで条件付ける

p(a|c) p(b|c)という形に変形できない(unblock)

(828)

3つのグラフの例(まとめ)

グラフの形 cで周辺化 cで条件付け

tail-to-tail 独立ではない 条件付き独立(block)

head-to-tail 独立ではない 条件付き独立(block)

head-to-head 独立 独立ではない(unblock)

head-to-headの更に特殊な性質(弁明)

図820

バッテリーの状態 0切れている

1充電されている

燃料タンクの状態 0空1満タン

電動燃料計 0空と示している

1満タンと示している

p(B=1) = 09 p(F=1) = 09

p(G=1 | B = 1 F = 1) = 08 p(G=1 | B = 1 F = 0) = 02 p(G=1 | B = 0 F = 1) = 02 p(G=1 | B = 0 F = 0) = 01

p(B=0) = 01 p(F=0) = 01

p(G=0 | B = 1 F = 1) = 02 p(G=0 | B = 1 F = 0) = 08 p(G=0 | B = 0 F = 1) = 08 p(G=0 | B = 0 F = 0) = 09

事前にこういった情報が与えられているとする

head-to-headの更に特殊な性質(弁明)

何も観測されていないとき燃料タンクが空である確率は

p(F=0) = 01

燃料計が空を指しているという事実を観測した時の燃料タンクが空である確率は(ベイズの定理より)

少し確率が高まっている

確率が低くなる

さらにバッテリーが切れている事実を観測した時の燃料タンクが空である確率は

図821

head-to-headの更に特殊な性質(弁明)

さらに子孫ノードのいずれかが観測されても 燃料タンクが空になる確率は変化する

子孫ノードが0

有向分離(D分離)リンクを遮断する時の法則今までの話をノード集合にまで拡張したもの

(グラフの形だけでわかる)

(a) 集合Cに含まれるノードであって経路に含まれる矢印がそこでhead-to-tailあるいはtail-to-tailである

(b) 経路に含まれる矢印がそのノードでhead-to-headであり自身あるいはそのすべての子孫のいずれもが集合Cに含まれない

CA B CA B

CA B

あらゆるA-C-Bの経路が遮断されていれば集合Aは集合Cにおいて集合Bと条件付き独立

有向分離(D分離)

図822

A AC C

B B

ノードaとノードbは集合C(ノードe f)で遮断できるかcが観測された場合 fが観測された場合

-gt 遮断されない -gt 遮断される

∵ fがtail-to-tailで観測されていない

eはhead-to-headだが子孫fがCに含まれる

∵ fがtail-to-tailで観測されている

eはhead-to-headでそれ自身あるいはその子孫が条件付き集合に

含まれない

有向分離(D分離)図85のモデルの有向分離性

パラメーターは観測済みノードと同じ amp 親ノードが無い

-gt 他のノードとのつながりは必ずtail-to-tailになる -gt 有向分離性に影響しない

124節のiidデータの有向分離性

図823

パラメーターuはtail-to-tail -gt uに値を入力したらあらゆる子ノード間で独立

-gt iid

uを積分消去した場合観測値は独立ではない

(835)

有向分離(D分離)図87のモデルの有向分離性

(836)

有向分離(D分離)ナイーブベイズの有向分離性

図824

例 bag-of-words

例 受信BOX迷惑メール

zが観測されるとあらゆるxノード間は独立

有向分離定理

1 有向分解(乗法定理を繰り返し適用して得た条件付き確率分布)

2 有向分離 (条件付き独立を繰り返し適用して得た条件付き確率分布)

以下の二つは同じ分布を得る

マルコフブランケット

xiが起きる確率をxi以外の全てのノードで条件付けた分布で考える

分母をxiで周辺化する

条件付き確率の積にする

xiに依存しないノードの条件付き確率は分子と打ち消し合う(次頁)

あるノードの条件付き独立性を考える時の最小単位

マルコフブランケット

図826

つまりxiの条件付き独立を考える時 1) 親子 2) 共同親 だけを考えれば良い

共同親A B

C

D E

F G

結局Cの条件付き確率P(C|AB)と Cの子ノードの条件付き確率P(D|CF)やP(E|CG)だけ残る

Cを含まない項は全部消える

無向グラフ(マルコフ確率場)無向グラフは条件付き独立を考えるのが簡単

図827集合Cを取り除いてA-B間の経路が無くなるなら条件付き独立

図828

無向グラフはマルコフブランケットも簡単

隣接ノードだけ考えれば良い

無向グラフ(マルコフ確率場)無向グラフの分解特性(これまで乗法定理を繰り返し適用していたもの)は以下のように定式化される

(838)

xi xj以外の全てのノードを取り除いた時の同時確率

よりと書くことも

各々の確率に分割できるならxijにおいてxixjは条件付き独立

クリーク

図829

無向グラフの分解特性は極大クリーク変数集合の関数にする事

クリーク x1 x2 x2 x3 x3 x4 x4 x2 極大クリーク x1 x2 x3 x2 x3 x4 x1 x2 x3 x4はクリークではない(x1 - x4間にリンクがない)

クリーク 全てのノードの組にリンクが存在するグラフの部分集合 極大クリーク もう一つを加えるとクリークでなくなってしまうようなクリーク

ポテンシャル関数極大クリークを引数としたポテンシャル関数

の積に分解するどんな関数にするかは言及しない

基本的に総和は1にならない -gt 規格化定数(分配関数)を導入

-gt 計算は大変

画像のノイズ除去の例

元のピクセル

ランダムに反転したピクセル

元画像10のピクセルをランダムに反転

ICMによる復元グラフカットアルゴリズムによる復元

(841)(842)

(843)

図831

有向-gt無向の変換図832のような簡単な場合

有向グラフ(a)無向グラフ(b)

以下のような対応づけができる

有向-gt無向の変換図833のような場合

親同士をリンクで結ぶ(モラル化)

1 向きを無くす 2 モラル化する 3 規格化する -gt ジャンクションツリーアルゴリズム(84)

生物の細胞

遺伝子間が相互作用のネットワークを形成している

geneX geneY

Protein X

Protein Y

様々な実験での遺伝子発現データ

とりうる可能性高い遺伝子ネットワークを探索(MAP推定)

データからこれを推定したい

実験

遺伝子

more

番外編 ベイジアンネットワークの学習

rarr 近似的に求めるアルゴリズムが開発される

httpwwwsclsrikenjpscruisesoftwaresign-bnhtml

番外編 ベイジアンネットワークの学習

こういうネットワーク構造は未知でデータから推定するアプローチはベイジアンネットワークのrdquo学習rdquoとかrdquo推論rdquoというらしい

(848で紹介だけしている)

SiGN-BN スパコン「京」で計算するソフトウェア自分の修論の内容

Rのbnlearnパッケージ(CBRCのBlue Gene上で実行)httpsignhgcjpsignbnindex_jahtml

番外編 ベイジアンネットワークの学習

番外編 ベイジアンネットワークの学習

どのグラフが良いか決める基準 尤度情報量基準(AIC BIC 尤度ampパラメーター数)

MAP推定(尤度times事前分布)hellip

データを元に最も最適と思われるグラフ構造を探索する

データ

グラフ

1 0 01 1 01 0 10 1 01 0 10 0 01 1 00 0 01 1 10 0 1

a b cb

a

c

b

a

c

b

a

c

データからグラフ構造を推定したい場合単純な式変形をしただけだと数学的に等しいので結局最適なグラフ構造を決定できないのでは(勉強会での議論)

=gt 実際にやってみた

番外編 ベイジアンネットワークの学習

httpwwwsclsrikenjpscruisewp-contentuploadssites3201312SIGN_HGC_Seminar_Tamada201302pdf

httpenwikipediaorgwikiDirected_acyclic_graph

ノード数の増加に対する取りうるDAG数

番外編 ベイジアンネットワークの学習

3ノードなら手計算でいけそう

乗法定理times2(n=6)

乗法定理times2 + 条件付き独立 (n=9)

乗法定理times1 + 独立(n=3)

全て独立(n=1)

乗法定理を使う (このままではグラフとして表現できない)

乗法定理times1 + 独立 + 条件付き独立(n=6)エッジ0個

エッジ1個

エッジ2個(head-to-tail tail-to-tail)

エッジ2個(head-to-head)

エッジ3個(全結合)

ノード3つで式変形を片っ端から行った

番外編 ベイジアンネットワークの学習

試しに以下のような簡単な01データを用いる またここでは単純に尤度のみでグラフの善し悪しを判定する

番外編 ベイジアンネットワークの学習

0 0 00 0 00 0 00 0 01 0 01 0 01 1 01 1 01 1 11 1 1

a b c

P(a) = 35 P(b) = 25 P(c) = 15 P(a b) = 25 P(b c) = 15 P(a c) = 15 P(a b c) = 15

P(a | b c) = 1 P(b | a c) = 1 P(c | a b) = 12 P(a | b) = 1 P(a | c) = 1 P(b | a) = 23 P(b | c) = 1 P(c | a) = 13 P(c | b) = 12

独立性について

番外編 ベイジアンネットワークの学習

0 0 00 0 00 0 00 0 01 0 01 0 01 1 01 1 01 1 11 1 1

a b c

P(a | b c) = P(a | b) P(a | b c) = P(a | c) P(b | a c) ne P(b | a) P(b | a c) = P(b | c) P(c | a b) ne P(c | a) P(c | a b) = P(c | b)

P(a b c) ne P(a) P(b) P(c) P(a b) ne P(a) P(b) P(b c) ne P(b) P(c) P(a c) ne P(a) P(c)

条件付き独立性について

データによって成り立ったり成り立たなかったりする

乗法定理times2(n=6)

乗法定理times2 + 条件付き独立 (n=9)

乗法定理times1 + 独立(n=3)

全て独立(n=1)

乗法定理times1 + 独立 + 条件付き独立(n=6)エッジ0個

エッジ1個

エッジ2個(head-to-tail tail-to-tail)

エッジ2個(head-to-head)

エッジ3個(全結合)

番外編 ベイジアンネットワークの学習

尤度を計算した

= 02= 02= 02= 02= 02= 02

= 0048

= 008= 012= 012

= 02= 02= 02= 02= 013

= 013= 02

= 02= 013

= 008= 008= 008= 012= 008= 012

乗法定理times2(n=6)エッジ3個(全結合)

番外編 ベイジアンネットワークの学習

= 02= 02= 02= 02= 02= 02

乗法定理で変形したものはグラフ構造は違うのにも関わらず尤度は等しい

b

a

cb

a

cb

a

cb

a

cb

a

cb

a

c

乗法定理times2 + 条件付き独立 (n=9)

乗法定理times1 + 独立(n=3)乗法定理times1 + 独立 + 条件付き独立(n=6)

エッジ0個

エッジ1個

エッジ2個(head-to-tail tail-to-tail)

エッジ2個(head-to-head)

番外編 ベイジアンネットワークの学習

= 008= 012= 012

= 02= 02= 02= 02= 013

= 013= 02

= 02= 013

= 008= 008= 008= 012= 008= 012

条件付き独立独立はデータによって成り立ったり成り立たなかったりする

「同じ尤度を持つDAGは複数存在する可能性がある」

21世紀の統計科学 第2巻 第6章 生命システムネットワークを明らかにするための統計的モデリング

Page 3: PRML8章

8章のための準備

確率の加法定理(周辺化)

(110)

1 11 11 01 01 10 10 00 00 10 1

X Y

二変量(XY)のデータのうちXの起きる確率は以下の二通りで求められる(左は普通の計算右はYについての周辺化)

(1 事象が起きた0 事象が起きない)

= 5 10 = 05

p(X Y= 0) = 210

p(X Y= 1)= 310

310 + 210 = 05

Yが起きた場合

1 11 11 01 01 10 10 00 00 10 1

X YYが起きなかった場合

1 11 11 01 01 10 10 00 00 10 1

X Y

確率の乗法定理

(111)

条件付き確率(Xが起きた時にYが起きる確率)は以下のように定義される

両辺に times p(X)

1 11 11 01 01 10 10 00 00 10 1

X Y言葉の通りに計算すると 「Xが起きた(5)時に Yが起きる(3)確率は35」 p(Y|X) = n(X Y) n(X) = (n(X Y) N) (n(X) N) = p(X Y) p(X)

Xに条件づけられた確率

Xが起きた時

ベイズの定理条件付き確率

分母は加法定理乗法定理から更に変形できる

(112)

ベイズの定理 (離散量Ver)

分母は定数だから

ベイズの定理 (連続量Ver)

尤度 事前確率事後確率

共役事前分布

事後分布 尤度 事前分布ベータ分布 二項分布 ベータ分布正規分布 正規分布 正規分布

逆ガンマ分布 正規分布 逆ガンマ分布ガンマ分布 ポアソン分布 ガンマ分布

ディリクレ分布 多項分布 ディリクレ分布

ベイズな手法はパラメーターが分布を持ちさらにその分布のパラメーターが分布を持ちhellipという

風に階層を増やしていける

幾らでも階層を作れる (階層ベイズモデル)

時系列解析に使える (データ同化)

t t+1 t+2

左のような尤度事前分布の組み合わせは事後分布が事前分布と同じ形になるのでどれだけモデルが複雑になっても

事後分布を求める事ができる (積分できる計算がしやすい)

最近はモデルが複雑になってもサンプリング(MCMC)で分布を求めようとい

うやり方も

互いに独立とはかけ算に分けられるという事

(2つの変数の同時分布がその周辺の積に分解できる事 上巻p17)

P(A B) = P(A) times P(B)

例 データが同じ分布から独立にとられたとする仮定(iid)

(160)

(161)

ベクトル要素の積として表現できる

P(t|xwβ) = N(t|y(xw) β-1)

1-of-K符号化法

K個の状態を取りうる離散変数を扱う際に用いられる要素の一つxkのみが1で他を0とする

x = (001000)T

例 さいころの目が3だった時

ナイーブベイズベイズの定理を分類器として使ったもの

例 スパムメールフィルタ

受信BOX (C1 カテゴリー1)

迷惑メール (C2 カテゴリー2)

受信したメールの文面

グラビア

bag-of-words (D) (例 無料ダウンロードrdquohttphelliprdquo)

実際は分母は無視する (大小関係には無関係) 一度も出現しない単語は全体の確率を0にしてしまう -gt スムージング

httpqiitacomaflcitems13fe52243c35d3b678b0 httpwwwslidesharenetmatuurass-8108633

(迷惑メール件数) (全メール件数)

その他確率変数 X

観測値 Pr(X = x)

確率的に値をとる変数 大文字で書く パラメータで値が決まる関数

実際にとりうる値 小文字で書く

パラメーター X ~ Binom(n p)

実際にとりうる値 斜字体ギリシャ文字とか

第8章 グラフィカルモデル

グラフ

ノード(node)頂点(vertex)

リンク(link)辺(edge)弧(arc)

ノードの集合とエッジの集合で構成されるもの(Wikipedia)

グラフィカルモデル

確率変数

確率変数間の関係

確率変数間の関係性をグラフで表現したもの

グラフィカルモデル有向グラフィカルモデル

(例ベイジアンネットワーク)無向グラフィカルモデル (例 マルコフ確率場)

因果関係 緩い束縛関係 (相関とか)

ベイジアンネットワーク3変数abcの同時確率p(abc)を考える

同時分布p(abc)は乗法定理で以下のように分解できる(81)

(82)また同時分布p(ab)は乗法定理で以下のように分解できる

ベイジアンネットワークベイジアンネットワークはこの確率変数間の因果関係を

グラフで表現したもの

(82)

1 aが起きてhellip

2 aが起きることでbが起きてhellip

3 a bが起きることでcが起きる

図81

aはbの親ノードbはaの子ノード

という

ベイジアンネットワーク

例 K=5の時の全結合グラフ

(83)

乗法定理を繰り返し適用する事で同時分布は各変数上の条件付き分布の積として書ける(全結合)

x1 x2 x3 x4 x5

自分よりも小さい番号がふられたすべてのノードから向かってくるリンクをもつ

ベイジアンネットワーク

図82

(84)

ベイジアンネットワーク一般系で書くと

(pak xkの親ノードの集合)

この式は同時分布の分解特性を表現したという

ベイジアンネットワークは有向閉路を持たない有向非循環グラフ(DAG Directed acyclic graph)

とか みたいなループ構造が無いという事 (自然現象ではよくあるけど)

(85)

グラフィカルモデルの書き方126節のベイズ多項式回帰モデル (N変量のデータからyを予測する)

多項式係数ベクトル観測データ

入力データノイズの分散

ガウス事前分布の精度(超パラメーター)

確率変数 (パラメーターで値が変わる)

パラメーター (定数)

sinカーブ

図117太字のxtは訓練データ 細字のxtはテストデータ

グラフィカルモデルの書き方確率変数にだけ注目した書き方(161のシンプル版)

(86)

N個のノードは左のようにまとめて書いてもよい

プレート

図83

図84

グラフィカルモデルの書き方パラメーターも明示的に含んだ書き方

(87)

図85 図86

学習データを入れている事を示す場合は塗りつぶすパラメータは小さい点で書く

観測されない隠れ変数はそのまま (-gt 第9 12章 EMアルゴリズム)

生成モデル観測データが生成される因果仮定を表現したモデル

人口的なデータを生成できる

例 伝承サンプリング(上位ノードから順に値を決めていくというだけ)

図85は生成モデルでは無い xnは値が既に決まっているから

xnの事前分布が必要図85

2

1

23

有向グラフの親子対が共役関係になる分布であると良い性質をもつ (多分解析的に積分が解けるとかモデルが複雑にならないとか)

特に重要なのが以下の二つでこれらは階層的に拡張して

任意の複雑なDAGが構築できる

離散変数 離散変数

ガウス変数 ガウス変数

離散変数

(89)

1-of-K符号化で書かれた多項分布

例 さいころで3が出る確率

パラメーター数 K - 1∵規格化のための制約

パラメーター数 K2 - 1

離散変数1-of-K符号化で書かれた多項分布(二つの状態を取る場合)

∵規格化のための制約

例 さいころABで各々(3 4)が出る確率

以下略hellip(36個パラメーターがある)

とりうる状態が増えるとパラメーターが指数的に増大してしまうKM - 1状態数Mで 個

離散変数乗法定理を用いるとP(x1x2) = P(x2|x1) P(x1)

これは図89の(a)

図89

変数がM個だとパラメーター数は M(K - 1)

でMについて線形

パラメーター数 K2 - 1

パラメーター数 2(K - 1)

離散変数

リンクを除去するとパラメーターを減らせる

全結合 全てが独立

パラメーター数M(K - 1)

パラメーター数 KM - 1

パラメーター数 K - 1 + (M - 1) K (K - 1)

K状態の連鎖

図810

x1 x2 xM x1 x2 xM

離散変数

パラメータを共有する事(sharing tyling)でもパラメーターは減らせる

図811

図812

図810のモデルの事前分布としてディリクレ分布を導入したもの

更に1つのパラメーターuが全ての条件付き分布に共有される場合

パラメーター数K2 - 1

パラメーター数2

離散変数

条件付き分布としてパラメトリックモデルを用いる事でもパラメーターは減らせる

図813

M個の親ノードと一つの子ノード (共に二値変数とする) そのままだとパラメーター数 2M

(810)

親変数の線形結合を入力とするロジスティックシグモイド関数を利用

パラメーター数 M + 1

線形ガウスモデル

(811)

確率的主成分分析因子分析線形動的システムなどで利用されているらしい

平均

pai

分散 vi

xi 全てのノードの同時分布の対数は (85 一般系のベイジアンネットワークより)

(812)

(813)

j

biwixj

線形ガウスモデル平均 u 分散 σ2の正規分布

自然対数をとる(expが消える)

あとはuに

σ2に

を代入すれば813になる

vi

線形ガウスモデル813はxの成分に関する2次関数なのでp(x)はD次元正規分布()

(814)

この時期待値と分散は再帰的に求まる

(815)

(816)

線形ガウスモデルリンクが一つもないD個のノード 全結合グラフ

パラメーター数wij 0個 bi D個 vi D個

パラメーター数wij (D(D-1))2個 bi D個 vi D個

x1

b1 v1

x2

b2 v2

x3

b3 v3

x4

b4 v4x1

b1 v1

x2

b2 v2

x3

b3 v3

x4

b4 v4

線形ガウスモデル中間的なグラフ(例 図814)

パラメーター数wij D - 1個 bi D個 vi D個

x1

b1 v1

x2

b2 v2

x3

b3 v3

x4

b4 v4

線形ガウスモデル

ガウス分布の共役事前分布はガウス分布

ガウス変量の平均をガウス分布とする(事前分布) =gt ガウス分布の平均値は超パラメーター

=gt 超パラメーターがガウス分布だとするhellip(超事前分布)

=gt 階層ベイズモデル(何階層でもモデルを拡張複雑化できる)

条件付き独立性

(820)

bがあってもなくてもaの条件付き確率に影響を与えない

これをcが与えられた下でaはbに対して条件付き独立であるという

cに対してaとbが条件付き独立とは以下のように書く

(821)

(822)

条件付き独立性が示せるとリンクを減らせる

a

c

ba

c

b

可能性のある全ての条件付き独立性を調べればリンクは減らせる =gt 実際には計算量が膨大

=gt グラフの形だけで独立かどうか判断が可能(d-separationという枠組み)

条件付き独立性

以降はまず3つのノードの簡単なグラフで説明する

3つのグラフの例①

ab

c

tail-to-tail

cに対して周辺化

これはp(a) p(b)という形には変形できない (独立ではない)

cで条件付ける

p(a|c) p(b|c)という形に変形できた(条件付き独立block)

(823)

(824)tailtail

3つのグラフの例②

ab

c

head-to-tail

cに対して周辺化

これはp(a) p(b)という形には変形できない (独立ではない)

cで条件付ける

p(a|c) p(b|c)という形に変形できた(条件付き独立block)

(826)

3つのグラフの例③

ab

c

head-to-head

cに対して周辺化

これはp(a) p(b)という形に変形できた(独立)

(828)

確率の総和は1だから

3つのグラフの例③

ab

c

head-to-head

cで条件付ける

p(a|c) p(b|c)という形に変形できない(unblock)

(828)

3つのグラフの例(まとめ)

グラフの形 cで周辺化 cで条件付け

tail-to-tail 独立ではない 条件付き独立(block)

head-to-tail 独立ではない 条件付き独立(block)

head-to-head 独立 独立ではない(unblock)

head-to-headの更に特殊な性質(弁明)

図820

バッテリーの状態 0切れている

1充電されている

燃料タンクの状態 0空1満タン

電動燃料計 0空と示している

1満タンと示している

p(B=1) = 09 p(F=1) = 09

p(G=1 | B = 1 F = 1) = 08 p(G=1 | B = 1 F = 0) = 02 p(G=1 | B = 0 F = 1) = 02 p(G=1 | B = 0 F = 0) = 01

p(B=0) = 01 p(F=0) = 01

p(G=0 | B = 1 F = 1) = 02 p(G=0 | B = 1 F = 0) = 08 p(G=0 | B = 0 F = 1) = 08 p(G=0 | B = 0 F = 0) = 09

事前にこういった情報が与えられているとする

head-to-headの更に特殊な性質(弁明)

何も観測されていないとき燃料タンクが空である確率は

p(F=0) = 01

燃料計が空を指しているという事実を観測した時の燃料タンクが空である確率は(ベイズの定理より)

少し確率が高まっている

確率が低くなる

さらにバッテリーが切れている事実を観測した時の燃料タンクが空である確率は

図821

head-to-headの更に特殊な性質(弁明)

さらに子孫ノードのいずれかが観測されても 燃料タンクが空になる確率は変化する

子孫ノードが0

有向分離(D分離)リンクを遮断する時の法則今までの話をノード集合にまで拡張したもの

(グラフの形だけでわかる)

(a) 集合Cに含まれるノードであって経路に含まれる矢印がそこでhead-to-tailあるいはtail-to-tailである

(b) 経路に含まれる矢印がそのノードでhead-to-headであり自身あるいはそのすべての子孫のいずれもが集合Cに含まれない

CA B CA B

CA B

あらゆるA-C-Bの経路が遮断されていれば集合Aは集合Cにおいて集合Bと条件付き独立

有向分離(D分離)

図822

A AC C

B B

ノードaとノードbは集合C(ノードe f)で遮断できるかcが観測された場合 fが観測された場合

-gt 遮断されない -gt 遮断される

∵ fがtail-to-tailで観測されていない

eはhead-to-headだが子孫fがCに含まれる

∵ fがtail-to-tailで観測されている

eはhead-to-headでそれ自身あるいはその子孫が条件付き集合に

含まれない

有向分離(D分離)図85のモデルの有向分離性

パラメーターは観測済みノードと同じ amp 親ノードが無い

-gt 他のノードとのつながりは必ずtail-to-tailになる -gt 有向分離性に影響しない

124節のiidデータの有向分離性

図823

パラメーターuはtail-to-tail -gt uに値を入力したらあらゆる子ノード間で独立

-gt iid

uを積分消去した場合観測値は独立ではない

(835)

有向分離(D分離)図87のモデルの有向分離性

(836)

有向分離(D分離)ナイーブベイズの有向分離性

図824

例 bag-of-words

例 受信BOX迷惑メール

zが観測されるとあらゆるxノード間は独立

有向分離定理

1 有向分解(乗法定理を繰り返し適用して得た条件付き確率分布)

2 有向分離 (条件付き独立を繰り返し適用して得た条件付き確率分布)

以下の二つは同じ分布を得る

マルコフブランケット

xiが起きる確率をxi以外の全てのノードで条件付けた分布で考える

分母をxiで周辺化する

条件付き確率の積にする

xiに依存しないノードの条件付き確率は分子と打ち消し合う(次頁)

あるノードの条件付き独立性を考える時の最小単位

マルコフブランケット

図826

つまりxiの条件付き独立を考える時 1) 親子 2) 共同親 だけを考えれば良い

共同親A B

C

D E

F G

結局Cの条件付き確率P(C|AB)と Cの子ノードの条件付き確率P(D|CF)やP(E|CG)だけ残る

Cを含まない項は全部消える

無向グラフ(マルコフ確率場)無向グラフは条件付き独立を考えるのが簡単

図827集合Cを取り除いてA-B間の経路が無くなるなら条件付き独立

図828

無向グラフはマルコフブランケットも簡単

隣接ノードだけ考えれば良い

無向グラフ(マルコフ確率場)無向グラフの分解特性(これまで乗法定理を繰り返し適用していたもの)は以下のように定式化される

(838)

xi xj以外の全てのノードを取り除いた時の同時確率

よりと書くことも

各々の確率に分割できるならxijにおいてxixjは条件付き独立

クリーク

図829

無向グラフの分解特性は極大クリーク変数集合の関数にする事

クリーク x1 x2 x2 x3 x3 x4 x4 x2 極大クリーク x1 x2 x3 x2 x3 x4 x1 x2 x3 x4はクリークではない(x1 - x4間にリンクがない)

クリーク 全てのノードの組にリンクが存在するグラフの部分集合 極大クリーク もう一つを加えるとクリークでなくなってしまうようなクリーク

ポテンシャル関数極大クリークを引数としたポテンシャル関数

の積に分解するどんな関数にするかは言及しない

基本的に総和は1にならない -gt 規格化定数(分配関数)を導入

-gt 計算は大変

画像のノイズ除去の例

元のピクセル

ランダムに反転したピクセル

元画像10のピクセルをランダムに反転

ICMによる復元グラフカットアルゴリズムによる復元

(841)(842)

(843)

図831

有向-gt無向の変換図832のような簡単な場合

有向グラフ(a)無向グラフ(b)

以下のような対応づけができる

有向-gt無向の変換図833のような場合

親同士をリンクで結ぶ(モラル化)

1 向きを無くす 2 モラル化する 3 規格化する -gt ジャンクションツリーアルゴリズム(84)

生物の細胞

遺伝子間が相互作用のネットワークを形成している

geneX geneY

Protein X

Protein Y

様々な実験での遺伝子発現データ

とりうる可能性高い遺伝子ネットワークを探索(MAP推定)

データからこれを推定したい

実験

遺伝子

more

番外編 ベイジアンネットワークの学習

rarr 近似的に求めるアルゴリズムが開発される

httpwwwsclsrikenjpscruisesoftwaresign-bnhtml

番外編 ベイジアンネットワークの学習

こういうネットワーク構造は未知でデータから推定するアプローチはベイジアンネットワークのrdquo学習rdquoとかrdquo推論rdquoというらしい

(848で紹介だけしている)

SiGN-BN スパコン「京」で計算するソフトウェア自分の修論の内容

Rのbnlearnパッケージ(CBRCのBlue Gene上で実行)httpsignhgcjpsignbnindex_jahtml

番外編 ベイジアンネットワークの学習

番外編 ベイジアンネットワークの学習

どのグラフが良いか決める基準 尤度情報量基準(AIC BIC 尤度ampパラメーター数)

MAP推定(尤度times事前分布)hellip

データを元に最も最適と思われるグラフ構造を探索する

データ

グラフ

1 0 01 1 01 0 10 1 01 0 10 0 01 1 00 0 01 1 10 0 1

a b cb

a

c

b

a

c

b

a

c

データからグラフ構造を推定したい場合単純な式変形をしただけだと数学的に等しいので結局最適なグラフ構造を決定できないのでは(勉強会での議論)

=gt 実際にやってみた

番外編 ベイジアンネットワークの学習

httpwwwsclsrikenjpscruisewp-contentuploadssites3201312SIGN_HGC_Seminar_Tamada201302pdf

httpenwikipediaorgwikiDirected_acyclic_graph

ノード数の増加に対する取りうるDAG数

番外編 ベイジアンネットワークの学習

3ノードなら手計算でいけそう

乗法定理times2(n=6)

乗法定理times2 + 条件付き独立 (n=9)

乗法定理times1 + 独立(n=3)

全て独立(n=1)

乗法定理を使う (このままではグラフとして表現できない)

乗法定理times1 + 独立 + 条件付き独立(n=6)エッジ0個

エッジ1個

エッジ2個(head-to-tail tail-to-tail)

エッジ2個(head-to-head)

エッジ3個(全結合)

ノード3つで式変形を片っ端から行った

番外編 ベイジアンネットワークの学習

試しに以下のような簡単な01データを用いる またここでは単純に尤度のみでグラフの善し悪しを判定する

番外編 ベイジアンネットワークの学習

0 0 00 0 00 0 00 0 01 0 01 0 01 1 01 1 01 1 11 1 1

a b c

P(a) = 35 P(b) = 25 P(c) = 15 P(a b) = 25 P(b c) = 15 P(a c) = 15 P(a b c) = 15

P(a | b c) = 1 P(b | a c) = 1 P(c | a b) = 12 P(a | b) = 1 P(a | c) = 1 P(b | a) = 23 P(b | c) = 1 P(c | a) = 13 P(c | b) = 12

独立性について

番外編 ベイジアンネットワークの学習

0 0 00 0 00 0 00 0 01 0 01 0 01 1 01 1 01 1 11 1 1

a b c

P(a | b c) = P(a | b) P(a | b c) = P(a | c) P(b | a c) ne P(b | a) P(b | a c) = P(b | c) P(c | a b) ne P(c | a) P(c | a b) = P(c | b)

P(a b c) ne P(a) P(b) P(c) P(a b) ne P(a) P(b) P(b c) ne P(b) P(c) P(a c) ne P(a) P(c)

条件付き独立性について

データによって成り立ったり成り立たなかったりする

乗法定理times2(n=6)

乗法定理times2 + 条件付き独立 (n=9)

乗法定理times1 + 独立(n=3)

全て独立(n=1)

乗法定理times1 + 独立 + 条件付き独立(n=6)エッジ0個

エッジ1個

エッジ2個(head-to-tail tail-to-tail)

エッジ2個(head-to-head)

エッジ3個(全結合)

番外編 ベイジアンネットワークの学習

尤度を計算した

= 02= 02= 02= 02= 02= 02

= 0048

= 008= 012= 012

= 02= 02= 02= 02= 013

= 013= 02

= 02= 013

= 008= 008= 008= 012= 008= 012

乗法定理times2(n=6)エッジ3個(全結合)

番外編 ベイジアンネットワークの学習

= 02= 02= 02= 02= 02= 02

乗法定理で変形したものはグラフ構造は違うのにも関わらず尤度は等しい

b

a

cb

a

cb

a

cb

a

cb

a

cb

a

c

乗法定理times2 + 条件付き独立 (n=9)

乗法定理times1 + 独立(n=3)乗法定理times1 + 独立 + 条件付き独立(n=6)

エッジ0個

エッジ1個

エッジ2個(head-to-tail tail-to-tail)

エッジ2個(head-to-head)

番外編 ベイジアンネットワークの学習

= 008= 012= 012

= 02= 02= 02= 02= 013

= 013= 02

= 02= 013

= 008= 008= 008= 012= 008= 012

条件付き独立独立はデータによって成り立ったり成り立たなかったりする

「同じ尤度を持つDAGは複数存在する可能性がある」

21世紀の統計科学 第2巻 第6章 生命システムネットワークを明らかにするための統計的モデリング

Page 4: PRML8章

確率の加法定理(周辺化)

(110)

1 11 11 01 01 10 10 00 00 10 1

X Y

二変量(XY)のデータのうちXの起きる確率は以下の二通りで求められる(左は普通の計算右はYについての周辺化)

(1 事象が起きた0 事象が起きない)

= 5 10 = 05

p(X Y= 0) = 210

p(X Y= 1)= 310

310 + 210 = 05

Yが起きた場合

1 11 11 01 01 10 10 00 00 10 1

X YYが起きなかった場合

1 11 11 01 01 10 10 00 00 10 1

X Y

確率の乗法定理

(111)

条件付き確率(Xが起きた時にYが起きる確率)は以下のように定義される

両辺に times p(X)

1 11 11 01 01 10 10 00 00 10 1

X Y言葉の通りに計算すると 「Xが起きた(5)時に Yが起きる(3)確率は35」 p(Y|X) = n(X Y) n(X) = (n(X Y) N) (n(X) N) = p(X Y) p(X)

Xに条件づけられた確率

Xが起きた時

ベイズの定理条件付き確率

分母は加法定理乗法定理から更に変形できる

(112)

ベイズの定理 (離散量Ver)

分母は定数だから

ベイズの定理 (連続量Ver)

尤度 事前確率事後確率

共役事前分布

事後分布 尤度 事前分布ベータ分布 二項分布 ベータ分布正規分布 正規分布 正規分布

逆ガンマ分布 正規分布 逆ガンマ分布ガンマ分布 ポアソン分布 ガンマ分布

ディリクレ分布 多項分布 ディリクレ分布

ベイズな手法はパラメーターが分布を持ちさらにその分布のパラメーターが分布を持ちhellipという

風に階層を増やしていける

幾らでも階層を作れる (階層ベイズモデル)

時系列解析に使える (データ同化)

t t+1 t+2

左のような尤度事前分布の組み合わせは事後分布が事前分布と同じ形になるのでどれだけモデルが複雑になっても

事後分布を求める事ができる (積分できる計算がしやすい)

最近はモデルが複雑になってもサンプリング(MCMC)で分布を求めようとい

うやり方も

互いに独立とはかけ算に分けられるという事

(2つの変数の同時分布がその周辺の積に分解できる事 上巻p17)

P(A B) = P(A) times P(B)

例 データが同じ分布から独立にとられたとする仮定(iid)

(160)

(161)

ベクトル要素の積として表現できる

P(t|xwβ) = N(t|y(xw) β-1)

1-of-K符号化法

K個の状態を取りうる離散変数を扱う際に用いられる要素の一つxkのみが1で他を0とする

x = (001000)T

例 さいころの目が3だった時

ナイーブベイズベイズの定理を分類器として使ったもの

例 スパムメールフィルタ

受信BOX (C1 カテゴリー1)

迷惑メール (C2 カテゴリー2)

受信したメールの文面

グラビア

bag-of-words (D) (例 無料ダウンロードrdquohttphelliprdquo)

実際は分母は無視する (大小関係には無関係) 一度も出現しない単語は全体の確率を0にしてしまう -gt スムージング

httpqiitacomaflcitems13fe52243c35d3b678b0 httpwwwslidesharenetmatuurass-8108633

(迷惑メール件数) (全メール件数)

その他確率変数 X

観測値 Pr(X = x)

確率的に値をとる変数 大文字で書く パラメータで値が決まる関数

実際にとりうる値 小文字で書く

パラメーター X ~ Binom(n p)

実際にとりうる値 斜字体ギリシャ文字とか

第8章 グラフィカルモデル

グラフ

ノード(node)頂点(vertex)

リンク(link)辺(edge)弧(arc)

ノードの集合とエッジの集合で構成されるもの(Wikipedia)

グラフィカルモデル

確率変数

確率変数間の関係

確率変数間の関係性をグラフで表現したもの

グラフィカルモデル有向グラフィカルモデル

(例ベイジアンネットワーク)無向グラフィカルモデル (例 マルコフ確率場)

因果関係 緩い束縛関係 (相関とか)

ベイジアンネットワーク3変数abcの同時確率p(abc)を考える

同時分布p(abc)は乗法定理で以下のように分解できる(81)

(82)また同時分布p(ab)は乗法定理で以下のように分解できる

ベイジアンネットワークベイジアンネットワークはこの確率変数間の因果関係を

グラフで表現したもの

(82)

1 aが起きてhellip

2 aが起きることでbが起きてhellip

3 a bが起きることでcが起きる

図81

aはbの親ノードbはaの子ノード

という

ベイジアンネットワーク

例 K=5の時の全結合グラフ

(83)

乗法定理を繰り返し適用する事で同時分布は各変数上の条件付き分布の積として書ける(全結合)

x1 x2 x3 x4 x5

自分よりも小さい番号がふられたすべてのノードから向かってくるリンクをもつ

ベイジアンネットワーク

図82

(84)

ベイジアンネットワーク一般系で書くと

(pak xkの親ノードの集合)

この式は同時分布の分解特性を表現したという

ベイジアンネットワークは有向閉路を持たない有向非循環グラフ(DAG Directed acyclic graph)

とか みたいなループ構造が無いという事 (自然現象ではよくあるけど)

(85)

グラフィカルモデルの書き方126節のベイズ多項式回帰モデル (N変量のデータからyを予測する)

多項式係数ベクトル観測データ

入力データノイズの分散

ガウス事前分布の精度(超パラメーター)

確率変数 (パラメーターで値が変わる)

パラメーター (定数)

sinカーブ

図117太字のxtは訓練データ 細字のxtはテストデータ

グラフィカルモデルの書き方確率変数にだけ注目した書き方(161のシンプル版)

(86)

N個のノードは左のようにまとめて書いてもよい

プレート

図83

図84

グラフィカルモデルの書き方パラメーターも明示的に含んだ書き方

(87)

図85 図86

学習データを入れている事を示す場合は塗りつぶすパラメータは小さい点で書く

観測されない隠れ変数はそのまま (-gt 第9 12章 EMアルゴリズム)

生成モデル観測データが生成される因果仮定を表現したモデル

人口的なデータを生成できる

例 伝承サンプリング(上位ノードから順に値を決めていくというだけ)

図85は生成モデルでは無い xnは値が既に決まっているから

xnの事前分布が必要図85

2

1

23

有向グラフの親子対が共役関係になる分布であると良い性質をもつ (多分解析的に積分が解けるとかモデルが複雑にならないとか)

特に重要なのが以下の二つでこれらは階層的に拡張して

任意の複雑なDAGが構築できる

離散変数 離散変数

ガウス変数 ガウス変数

離散変数

(89)

1-of-K符号化で書かれた多項分布

例 さいころで3が出る確率

パラメーター数 K - 1∵規格化のための制約

パラメーター数 K2 - 1

離散変数1-of-K符号化で書かれた多項分布(二つの状態を取る場合)

∵規格化のための制約

例 さいころABで各々(3 4)が出る確率

以下略hellip(36個パラメーターがある)

とりうる状態が増えるとパラメーターが指数的に増大してしまうKM - 1状態数Mで 個

離散変数乗法定理を用いるとP(x1x2) = P(x2|x1) P(x1)

これは図89の(a)

図89

変数がM個だとパラメーター数は M(K - 1)

でMについて線形

パラメーター数 K2 - 1

パラメーター数 2(K - 1)

離散変数

リンクを除去するとパラメーターを減らせる

全結合 全てが独立

パラメーター数M(K - 1)

パラメーター数 KM - 1

パラメーター数 K - 1 + (M - 1) K (K - 1)

K状態の連鎖

図810

x1 x2 xM x1 x2 xM

離散変数

パラメータを共有する事(sharing tyling)でもパラメーターは減らせる

図811

図812

図810のモデルの事前分布としてディリクレ分布を導入したもの

更に1つのパラメーターuが全ての条件付き分布に共有される場合

パラメーター数K2 - 1

パラメーター数2

離散変数

条件付き分布としてパラメトリックモデルを用いる事でもパラメーターは減らせる

図813

M個の親ノードと一つの子ノード (共に二値変数とする) そのままだとパラメーター数 2M

(810)

親変数の線形結合を入力とするロジスティックシグモイド関数を利用

パラメーター数 M + 1

線形ガウスモデル

(811)

確率的主成分分析因子分析線形動的システムなどで利用されているらしい

平均

pai

分散 vi

xi 全てのノードの同時分布の対数は (85 一般系のベイジアンネットワークより)

(812)

(813)

j

biwixj

線形ガウスモデル平均 u 分散 σ2の正規分布

自然対数をとる(expが消える)

あとはuに

σ2に

を代入すれば813になる

vi

線形ガウスモデル813はxの成分に関する2次関数なのでp(x)はD次元正規分布()

(814)

この時期待値と分散は再帰的に求まる

(815)

(816)

線形ガウスモデルリンクが一つもないD個のノード 全結合グラフ

パラメーター数wij 0個 bi D個 vi D個

パラメーター数wij (D(D-1))2個 bi D個 vi D個

x1

b1 v1

x2

b2 v2

x3

b3 v3

x4

b4 v4x1

b1 v1

x2

b2 v2

x3

b3 v3

x4

b4 v4

線形ガウスモデル中間的なグラフ(例 図814)

パラメーター数wij D - 1個 bi D個 vi D個

x1

b1 v1

x2

b2 v2

x3

b3 v3

x4

b4 v4

線形ガウスモデル

ガウス分布の共役事前分布はガウス分布

ガウス変量の平均をガウス分布とする(事前分布) =gt ガウス分布の平均値は超パラメーター

=gt 超パラメーターがガウス分布だとするhellip(超事前分布)

=gt 階層ベイズモデル(何階層でもモデルを拡張複雑化できる)

条件付き独立性

(820)

bがあってもなくてもaの条件付き確率に影響を与えない

これをcが与えられた下でaはbに対して条件付き独立であるという

cに対してaとbが条件付き独立とは以下のように書く

(821)

(822)

条件付き独立性が示せるとリンクを減らせる

a

c

ba

c

b

可能性のある全ての条件付き独立性を調べればリンクは減らせる =gt 実際には計算量が膨大

=gt グラフの形だけで独立かどうか判断が可能(d-separationという枠組み)

条件付き独立性

以降はまず3つのノードの簡単なグラフで説明する

3つのグラフの例①

ab

c

tail-to-tail

cに対して周辺化

これはp(a) p(b)という形には変形できない (独立ではない)

cで条件付ける

p(a|c) p(b|c)という形に変形できた(条件付き独立block)

(823)

(824)tailtail

3つのグラフの例②

ab

c

head-to-tail

cに対して周辺化

これはp(a) p(b)という形には変形できない (独立ではない)

cで条件付ける

p(a|c) p(b|c)という形に変形できた(条件付き独立block)

(826)

3つのグラフの例③

ab

c

head-to-head

cに対して周辺化

これはp(a) p(b)という形に変形できた(独立)

(828)

確率の総和は1だから

3つのグラフの例③

ab

c

head-to-head

cで条件付ける

p(a|c) p(b|c)という形に変形できない(unblock)

(828)

3つのグラフの例(まとめ)

グラフの形 cで周辺化 cで条件付け

tail-to-tail 独立ではない 条件付き独立(block)

head-to-tail 独立ではない 条件付き独立(block)

head-to-head 独立 独立ではない(unblock)

head-to-headの更に特殊な性質(弁明)

図820

バッテリーの状態 0切れている

1充電されている

燃料タンクの状態 0空1満タン

電動燃料計 0空と示している

1満タンと示している

p(B=1) = 09 p(F=1) = 09

p(G=1 | B = 1 F = 1) = 08 p(G=1 | B = 1 F = 0) = 02 p(G=1 | B = 0 F = 1) = 02 p(G=1 | B = 0 F = 0) = 01

p(B=0) = 01 p(F=0) = 01

p(G=0 | B = 1 F = 1) = 02 p(G=0 | B = 1 F = 0) = 08 p(G=0 | B = 0 F = 1) = 08 p(G=0 | B = 0 F = 0) = 09

事前にこういった情報が与えられているとする

head-to-headの更に特殊な性質(弁明)

何も観測されていないとき燃料タンクが空である確率は

p(F=0) = 01

燃料計が空を指しているという事実を観測した時の燃料タンクが空である確率は(ベイズの定理より)

少し確率が高まっている

確率が低くなる

さらにバッテリーが切れている事実を観測した時の燃料タンクが空である確率は

図821

head-to-headの更に特殊な性質(弁明)

さらに子孫ノードのいずれかが観測されても 燃料タンクが空になる確率は変化する

子孫ノードが0

有向分離(D分離)リンクを遮断する時の法則今までの話をノード集合にまで拡張したもの

(グラフの形だけでわかる)

(a) 集合Cに含まれるノードであって経路に含まれる矢印がそこでhead-to-tailあるいはtail-to-tailである

(b) 経路に含まれる矢印がそのノードでhead-to-headであり自身あるいはそのすべての子孫のいずれもが集合Cに含まれない

CA B CA B

CA B

あらゆるA-C-Bの経路が遮断されていれば集合Aは集合Cにおいて集合Bと条件付き独立

有向分離(D分離)

図822

A AC C

B B

ノードaとノードbは集合C(ノードe f)で遮断できるかcが観測された場合 fが観測された場合

-gt 遮断されない -gt 遮断される

∵ fがtail-to-tailで観測されていない

eはhead-to-headだが子孫fがCに含まれる

∵ fがtail-to-tailで観測されている

eはhead-to-headでそれ自身あるいはその子孫が条件付き集合に

含まれない

有向分離(D分離)図85のモデルの有向分離性

パラメーターは観測済みノードと同じ amp 親ノードが無い

-gt 他のノードとのつながりは必ずtail-to-tailになる -gt 有向分離性に影響しない

124節のiidデータの有向分離性

図823

パラメーターuはtail-to-tail -gt uに値を入力したらあらゆる子ノード間で独立

-gt iid

uを積分消去した場合観測値は独立ではない

(835)

有向分離(D分離)図87のモデルの有向分離性

(836)

有向分離(D分離)ナイーブベイズの有向分離性

図824

例 bag-of-words

例 受信BOX迷惑メール

zが観測されるとあらゆるxノード間は独立

有向分離定理

1 有向分解(乗法定理を繰り返し適用して得た条件付き確率分布)

2 有向分離 (条件付き独立を繰り返し適用して得た条件付き確率分布)

以下の二つは同じ分布を得る

マルコフブランケット

xiが起きる確率をxi以外の全てのノードで条件付けた分布で考える

分母をxiで周辺化する

条件付き確率の積にする

xiに依存しないノードの条件付き確率は分子と打ち消し合う(次頁)

あるノードの条件付き独立性を考える時の最小単位

マルコフブランケット

図826

つまりxiの条件付き独立を考える時 1) 親子 2) 共同親 だけを考えれば良い

共同親A B

C

D E

F G

結局Cの条件付き確率P(C|AB)と Cの子ノードの条件付き確率P(D|CF)やP(E|CG)だけ残る

Cを含まない項は全部消える

無向グラフ(マルコフ確率場)無向グラフは条件付き独立を考えるのが簡単

図827集合Cを取り除いてA-B間の経路が無くなるなら条件付き独立

図828

無向グラフはマルコフブランケットも簡単

隣接ノードだけ考えれば良い

無向グラフ(マルコフ確率場)無向グラフの分解特性(これまで乗法定理を繰り返し適用していたもの)は以下のように定式化される

(838)

xi xj以外の全てのノードを取り除いた時の同時確率

よりと書くことも

各々の確率に分割できるならxijにおいてxixjは条件付き独立

クリーク

図829

無向グラフの分解特性は極大クリーク変数集合の関数にする事

クリーク x1 x2 x2 x3 x3 x4 x4 x2 極大クリーク x1 x2 x3 x2 x3 x4 x1 x2 x3 x4はクリークではない(x1 - x4間にリンクがない)

クリーク 全てのノードの組にリンクが存在するグラフの部分集合 極大クリーク もう一つを加えるとクリークでなくなってしまうようなクリーク

ポテンシャル関数極大クリークを引数としたポテンシャル関数

の積に分解するどんな関数にするかは言及しない

基本的に総和は1にならない -gt 規格化定数(分配関数)を導入

-gt 計算は大変

画像のノイズ除去の例

元のピクセル

ランダムに反転したピクセル

元画像10のピクセルをランダムに反転

ICMによる復元グラフカットアルゴリズムによる復元

(841)(842)

(843)

図831

有向-gt無向の変換図832のような簡単な場合

有向グラフ(a)無向グラフ(b)

以下のような対応づけができる

有向-gt無向の変換図833のような場合

親同士をリンクで結ぶ(モラル化)

1 向きを無くす 2 モラル化する 3 規格化する -gt ジャンクションツリーアルゴリズム(84)

生物の細胞

遺伝子間が相互作用のネットワークを形成している

geneX geneY

Protein X

Protein Y

様々な実験での遺伝子発現データ

とりうる可能性高い遺伝子ネットワークを探索(MAP推定)

データからこれを推定したい

実験

遺伝子

more

番外編 ベイジアンネットワークの学習

rarr 近似的に求めるアルゴリズムが開発される

httpwwwsclsrikenjpscruisesoftwaresign-bnhtml

番外編 ベイジアンネットワークの学習

こういうネットワーク構造は未知でデータから推定するアプローチはベイジアンネットワークのrdquo学習rdquoとかrdquo推論rdquoというらしい

(848で紹介だけしている)

SiGN-BN スパコン「京」で計算するソフトウェア自分の修論の内容

Rのbnlearnパッケージ(CBRCのBlue Gene上で実行)httpsignhgcjpsignbnindex_jahtml

番外編 ベイジアンネットワークの学習

番外編 ベイジアンネットワークの学習

どのグラフが良いか決める基準 尤度情報量基準(AIC BIC 尤度ampパラメーター数)

MAP推定(尤度times事前分布)hellip

データを元に最も最適と思われるグラフ構造を探索する

データ

グラフ

1 0 01 1 01 0 10 1 01 0 10 0 01 1 00 0 01 1 10 0 1

a b cb

a

c

b

a

c

b

a

c

データからグラフ構造を推定したい場合単純な式変形をしただけだと数学的に等しいので結局最適なグラフ構造を決定できないのでは(勉強会での議論)

=gt 実際にやってみた

番外編 ベイジアンネットワークの学習

httpwwwsclsrikenjpscruisewp-contentuploadssites3201312SIGN_HGC_Seminar_Tamada201302pdf

httpenwikipediaorgwikiDirected_acyclic_graph

ノード数の増加に対する取りうるDAG数

番外編 ベイジアンネットワークの学習

3ノードなら手計算でいけそう

乗法定理times2(n=6)

乗法定理times2 + 条件付き独立 (n=9)

乗法定理times1 + 独立(n=3)

全て独立(n=1)

乗法定理を使う (このままではグラフとして表現できない)

乗法定理times1 + 独立 + 条件付き独立(n=6)エッジ0個

エッジ1個

エッジ2個(head-to-tail tail-to-tail)

エッジ2個(head-to-head)

エッジ3個(全結合)

ノード3つで式変形を片っ端から行った

番外編 ベイジアンネットワークの学習

試しに以下のような簡単な01データを用いる またここでは単純に尤度のみでグラフの善し悪しを判定する

番外編 ベイジアンネットワークの学習

0 0 00 0 00 0 00 0 01 0 01 0 01 1 01 1 01 1 11 1 1

a b c

P(a) = 35 P(b) = 25 P(c) = 15 P(a b) = 25 P(b c) = 15 P(a c) = 15 P(a b c) = 15

P(a | b c) = 1 P(b | a c) = 1 P(c | a b) = 12 P(a | b) = 1 P(a | c) = 1 P(b | a) = 23 P(b | c) = 1 P(c | a) = 13 P(c | b) = 12

独立性について

番外編 ベイジアンネットワークの学習

0 0 00 0 00 0 00 0 01 0 01 0 01 1 01 1 01 1 11 1 1

a b c

P(a | b c) = P(a | b) P(a | b c) = P(a | c) P(b | a c) ne P(b | a) P(b | a c) = P(b | c) P(c | a b) ne P(c | a) P(c | a b) = P(c | b)

P(a b c) ne P(a) P(b) P(c) P(a b) ne P(a) P(b) P(b c) ne P(b) P(c) P(a c) ne P(a) P(c)

条件付き独立性について

データによって成り立ったり成り立たなかったりする

乗法定理times2(n=6)

乗法定理times2 + 条件付き独立 (n=9)

乗法定理times1 + 独立(n=3)

全て独立(n=1)

乗法定理times1 + 独立 + 条件付き独立(n=6)エッジ0個

エッジ1個

エッジ2個(head-to-tail tail-to-tail)

エッジ2個(head-to-head)

エッジ3個(全結合)

番外編 ベイジアンネットワークの学習

尤度を計算した

= 02= 02= 02= 02= 02= 02

= 0048

= 008= 012= 012

= 02= 02= 02= 02= 013

= 013= 02

= 02= 013

= 008= 008= 008= 012= 008= 012

乗法定理times2(n=6)エッジ3個(全結合)

番外編 ベイジアンネットワークの学習

= 02= 02= 02= 02= 02= 02

乗法定理で変形したものはグラフ構造は違うのにも関わらず尤度は等しい

b

a

cb

a

cb

a

cb

a

cb

a

cb

a

c

乗法定理times2 + 条件付き独立 (n=9)

乗法定理times1 + 独立(n=3)乗法定理times1 + 独立 + 条件付き独立(n=6)

エッジ0個

エッジ1個

エッジ2個(head-to-tail tail-to-tail)

エッジ2個(head-to-head)

番外編 ベイジアンネットワークの学習

= 008= 012= 012

= 02= 02= 02= 02= 013

= 013= 02

= 02= 013

= 008= 008= 008= 012= 008= 012

条件付き独立独立はデータによって成り立ったり成り立たなかったりする

「同じ尤度を持つDAGは複数存在する可能性がある」

21世紀の統計科学 第2巻 第6章 生命システムネットワークを明らかにするための統計的モデリング

Page 5: PRML8章

確率の乗法定理

(111)

条件付き確率(Xが起きた時にYが起きる確率)は以下のように定義される

両辺に times p(X)

1 11 11 01 01 10 10 00 00 10 1

X Y言葉の通りに計算すると 「Xが起きた(5)時に Yが起きる(3)確率は35」 p(Y|X) = n(X Y) n(X) = (n(X Y) N) (n(X) N) = p(X Y) p(X)

Xに条件づけられた確率

Xが起きた時

ベイズの定理条件付き確率

分母は加法定理乗法定理から更に変形できる

(112)

ベイズの定理 (離散量Ver)

分母は定数だから

ベイズの定理 (連続量Ver)

尤度 事前確率事後確率

共役事前分布

事後分布 尤度 事前分布ベータ分布 二項分布 ベータ分布正規分布 正規分布 正規分布

逆ガンマ分布 正規分布 逆ガンマ分布ガンマ分布 ポアソン分布 ガンマ分布

ディリクレ分布 多項分布 ディリクレ分布

ベイズな手法はパラメーターが分布を持ちさらにその分布のパラメーターが分布を持ちhellipという

風に階層を増やしていける

幾らでも階層を作れる (階層ベイズモデル)

時系列解析に使える (データ同化)

t t+1 t+2

左のような尤度事前分布の組み合わせは事後分布が事前分布と同じ形になるのでどれだけモデルが複雑になっても

事後分布を求める事ができる (積分できる計算がしやすい)

最近はモデルが複雑になってもサンプリング(MCMC)で分布を求めようとい

うやり方も

互いに独立とはかけ算に分けられるという事

(2つの変数の同時分布がその周辺の積に分解できる事 上巻p17)

P(A B) = P(A) times P(B)

例 データが同じ分布から独立にとられたとする仮定(iid)

(160)

(161)

ベクトル要素の積として表現できる

P(t|xwβ) = N(t|y(xw) β-1)

1-of-K符号化法

K個の状態を取りうる離散変数を扱う際に用いられる要素の一つxkのみが1で他を0とする

x = (001000)T

例 さいころの目が3だった時

ナイーブベイズベイズの定理を分類器として使ったもの

例 スパムメールフィルタ

受信BOX (C1 カテゴリー1)

迷惑メール (C2 カテゴリー2)

受信したメールの文面

グラビア

bag-of-words (D) (例 無料ダウンロードrdquohttphelliprdquo)

実際は分母は無視する (大小関係には無関係) 一度も出現しない単語は全体の確率を0にしてしまう -gt スムージング

httpqiitacomaflcitems13fe52243c35d3b678b0 httpwwwslidesharenetmatuurass-8108633

(迷惑メール件数) (全メール件数)

その他確率変数 X

観測値 Pr(X = x)

確率的に値をとる変数 大文字で書く パラメータで値が決まる関数

実際にとりうる値 小文字で書く

パラメーター X ~ Binom(n p)

実際にとりうる値 斜字体ギリシャ文字とか

第8章 グラフィカルモデル

グラフ

ノード(node)頂点(vertex)

リンク(link)辺(edge)弧(arc)

ノードの集合とエッジの集合で構成されるもの(Wikipedia)

グラフィカルモデル

確率変数

確率変数間の関係

確率変数間の関係性をグラフで表現したもの

グラフィカルモデル有向グラフィカルモデル

(例ベイジアンネットワーク)無向グラフィカルモデル (例 マルコフ確率場)

因果関係 緩い束縛関係 (相関とか)

ベイジアンネットワーク3変数abcの同時確率p(abc)を考える

同時分布p(abc)は乗法定理で以下のように分解できる(81)

(82)また同時分布p(ab)は乗法定理で以下のように分解できる

ベイジアンネットワークベイジアンネットワークはこの確率変数間の因果関係を

グラフで表現したもの

(82)

1 aが起きてhellip

2 aが起きることでbが起きてhellip

3 a bが起きることでcが起きる

図81

aはbの親ノードbはaの子ノード

という

ベイジアンネットワーク

例 K=5の時の全結合グラフ

(83)

乗法定理を繰り返し適用する事で同時分布は各変数上の条件付き分布の積として書ける(全結合)

x1 x2 x3 x4 x5

自分よりも小さい番号がふられたすべてのノードから向かってくるリンクをもつ

ベイジアンネットワーク

図82

(84)

ベイジアンネットワーク一般系で書くと

(pak xkの親ノードの集合)

この式は同時分布の分解特性を表現したという

ベイジアンネットワークは有向閉路を持たない有向非循環グラフ(DAG Directed acyclic graph)

とか みたいなループ構造が無いという事 (自然現象ではよくあるけど)

(85)

グラフィカルモデルの書き方126節のベイズ多項式回帰モデル (N変量のデータからyを予測する)

多項式係数ベクトル観測データ

入力データノイズの分散

ガウス事前分布の精度(超パラメーター)

確率変数 (パラメーターで値が変わる)

パラメーター (定数)

sinカーブ

図117太字のxtは訓練データ 細字のxtはテストデータ

グラフィカルモデルの書き方確率変数にだけ注目した書き方(161のシンプル版)

(86)

N個のノードは左のようにまとめて書いてもよい

プレート

図83

図84

グラフィカルモデルの書き方パラメーターも明示的に含んだ書き方

(87)

図85 図86

学習データを入れている事を示す場合は塗りつぶすパラメータは小さい点で書く

観測されない隠れ変数はそのまま (-gt 第9 12章 EMアルゴリズム)

生成モデル観測データが生成される因果仮定を表現したモデル

人口的なデータを生成できる

例 伝承サンプリング(上位ノードから順に値を決めていくというだけ)

図85は生成モデルでは無い xnは値が既に決まっているから

xnの事前分布が必要図85

2

1

23

有向グラフの親子対が共役関係になる分布であると良い性質をもつ (多分解析的に積分が解けるとかモデルが複雑にならないとか)

特に重要なのが以下の二つでこれらは階層的に拡張して

任意の複雑なDAGが構築できる

離散変数 離散変数

ガウス変数 ガウス変数

離散変数

(89)

1-of-K符号化で書かれた多項分布

例 さいころで3が出る確率

パラメーター数 K - 1∵規格化のための制約

パラメーター数 K2 - 1

離散変数1-of-K符号化で書かれた多項分布(二つの状態を取る場合)

∵規格化のための制約

例 さいころABで各々(3 4)が出る確率

以下略hellip(36個パラメーターがある)

とりうる状態が増えるとパラメーターが指数的に増大してしまうKM - 1状態数Mで 個

離散変数乗法定理を用いるとP(x1x2) = P(x2|x1) P(x1)

これは図89の(a)

図89

変数がM個だとパラメーター数は M(K - 1)

でMについて線形

パラメーター数 K2 - 1

パラメーター数 2(K - 1)

離散変数

リンクを除去するとパラメーターを減らせる

全結合 全てが独立

パラメーター数M(K - 1)

パラメーター数 KM - 1

パラメーター数 K - 1 + (M - 1) K (K - 1)

K状態の連鎖

図810

x1 x2 xM x1 x2 xM

離散変数

パラメータを共有する事(sharing tyling)でもパラメーターは減らせる

図811

図812

図810のモデルの事前分布としてディリクレ分布を導入したもの

更に1つのパラメーターuが全ての条件付き分布に共有される場合

パラメーター数K2 - 1

パラメーター数2

離散変数

条件付き分布としてパラメトリックモデルを用いる事でもパラメーターは減らせる

図813

M個の親ノードと一つの子ノード (共に二値変数とする) そのままだとパラメーター数 2M

(810)

親変数の線形結合を入力とするロジスティックシグモイド関数を利用

パラメーター数 M + 1

線形ガウスモデル

(811)

確率的主成分分析因子分析線形動的システムなどで利用されているらしい

平均

pai

分散 vi

xi 全てのノードの同時分布の対数は (85 一般系のベイジアンネットワークより)

(812)

(813)

j

biwixj

線形ガウスモデル平均 u 分散 σ2の正規分布

自然対数をとる(expが消える)

あとはuに

σ2に

を代入すれば813になる

vi

線形ガウスモデル813はxの成分に関する2次関数なのでp(x)はD次元正規分布()

(814)

この時期待値と分散は再帰的に求まる

(815)

(816)

線形ガウスモデルリンクが一つもないD個のノード 全結合グラフ

パラメーター数wij 0個 bi D個 vi D個

パラメーター数wij (D(D-1))2個 bi D個 vi D個

x1

b1 v1

x2

b2 v2

x3

b3 v3

x4

b4 v4x1

b1 v1

x2

b2 v2

x3

b3 v3

x4

b4 v4

線形ガウスモデル中間的なグラフ(例 図814)

パラメーター数wij D - 1個 bi D個 vi D個

x1

b1 v1

x2

b2 v2

x3

b3 v3

x4

b4 v4

線形ガウスモデル

ガウス分布の共役事前分布はガウス分布

ガウス変量の平均をガウス分布とする(事前分布) =gt ガウス分布の平均値は超パラメーター

=gt 超パラメーターがガウス分布だとするhellip(超事前分布)

=gt 階層ベイズモデル(何階層でもモデルを拡張複雑化できる)

条件付き独立性

(820)

bがあってもなくてもaの条件付き確率に影響を与えない

これをcが与えられた下でaはbに対して条件付き独立であるという

cに対してaとbが条件付き独立とは以下のように書く

(821)

(822)

条件付き独立性が示せるとリンクを減らせる

a

c

ba

c

b

可能性のある全ての条件付き独立性を調べればリンクは減らせる =gt 実際には計算量が膨大

=gt グラフの形だけで独立かどうか判断が可能(d-separationという枠組み)

条件付き独立性

以降はまず3つのノードの簡単なグラフで説明する

3つのグラフの例①

ab

c

tail-to-tail

cに対して周辺化

これはp(a) p(b)という形には変形できない (独立ではない)

cで条件付ける

p(a|c) p(b|c)という形に変形できた(条件付き独立block)

(823)

(824)tailtail

3つのグラフの例②

ab

c

head-to-tail

cに対して周辺化

これはp(a) p(b)という形には変形できない (独立ではない)

cで条件付ける

p(a|c) p(b|c)という形に変形できた(条件付き独立block)

(826)

3つのグラフの例③

ab

c

head-to-head

cに対して周辺化

これはp(a) p(b)という形に変形できた(独立)

(828)

確率の総和は1だから

3つのグラフの例③

ab

c

head-to-head

cで条件付ける

p(a|c) p(b|c)という形に変形できない(unblock)

(828)

3つのグラフの例(まとめ)

グラフの形 cで周辺化 cで条件付け

tail-to-tail 独立ではない 条件付き独立(block)

head-to-tail 独立ではない 条件付き独立(block)

head-to-head 独立 独立ではない(unblock)

head-to-headの更に特殊な性質(弁明)

図820

バッテリーの状態 0切れている

1充電されている

燃料タンクの状態 0空1満タン

電動燃料計 0空と示している

1満タンと示している

p(B=1) = 09 p(F=1) = 09

p(G=1 | B = 1 F = 1) = 08 p(G=1 | B = 1 F = 0) = 02 p(G=1 | B = 0 F = 1) = 02 p(G=1 | B = 0 F = 0) = 01

p(B=0) = 01 p(F=0) = 01

p(G=0 | B = 1 F = 1) = 02 p(G=0 | B = 1 F = 0) = 08 p(G=0 | B = 0 F = 1) = 08 p(G=0 | B = 0 F = 0) = 09

事前にこういった情報が与えられているとする

head-to-headの更に特殊な性質(弁明)

何も観測されていないとき燃料タンクが空である確率は

p(F=0) = 01

燃料計が空を指しているという事実を観測した時の燃料タンクが空である確率は(ベイズの定理より)

少し確率が高まっている

確率が低くなる

さらにバッテリーが切れている事実を観測した時の燃料タンクが空である確率は

図821

head-to-headの更に特殊な性質(弁明)

さらに子孫ノードのいずれかが観測されても 燃料タンクが空になる確率は変化する

子孫ノードが0

有向分離(D分離)リンクを遮断する時の法則今までの話をノード集合にまで拡張したもの

(グラフの形だけでわかる)

(a) 集合Cに含まれるノードであって経路に含まれる矢印がそこでhead-to-tailあるいはtail-to-tailである

(b) 経路に含まれる矢印がそのノードでhead-to-headであり自身あるいはそのすべての子孫のいずれもが集合Cに含まれない

CA B CA B

CA B

あらゆるA-C-Bの経路が遮断されていれば集合Aは集合Cにおいて集合Bと条件付き独立

有向分離(D分離)

図822

A AC C

B B

ノードaとノードbは集合C(ノードe f)で遮断できるかcが観測された場合 fが観測された場合

-gt 遮断されない -gt 遮断される

∵ fがtail-to-tailで観測されていない

eはhead-to-headだが子孫fがCに含まれる

∵ fがtail-to-tailで観測されている

eはhead-to-headでそれ自身あるいはその子孫が条件付き集合に

含まれない

有向分離(D分離)図85のモデルの有向分離性

パラメーターは観測済みノードと同じ amp 親ノードが無い

-gt 他のノードとのつながりは必ずtail-to-tailになる -gt 有向分離性に影響しない

124節のiidデータの有向分離性

図823

パラメーターuはtail-to-tail -gt uに値を入力したらあらゆる子ノード間で独立

-gt iid

uを積分消去した場合観測値は独立ではない

(835)

有向分離(D分離)図87のモデルの有向分離性

(836)

有向分離(D分離)ナイーブベイズの有向分離性

図824

例 bag-of-words

例 受信BOX迷惑メール

zが観測されるとあらゆるxノード間は独立

有向分離定理

1 有向分解(乗法定理を繰り返し適用して得た条件付き確率分布)

2 有向分離 (条件付き独立を繰り返し適用して得た条件付き確率分布)

以下の二つは同じ分布を得る

マルコフブランケット

xiが起きる確率をxi以外の全てのノードで条件付けた分布で考える

分母をxiで周辺化する

条件付き確率の積にする

xiに依存しないノードの条件付き確率は分子と打ち消し合う(次頁)

あるノードの条件付き独立性を考える時の最小単位

マルコフブランケット

図826

つまりxiの条件付き独立を考える時 1) 親子 2) 共同親 だけを考えれば良い

共同親A B

C

D E

F G

結局Cの条件付き確率P(C|AB)と Cの子ノードの条件付き確率P(D|CF)やP(E|CG)だけ残る

Cを含まない項は全部消える

無向グラフ(マルコフ確率場)無向グラフは条件付き独立を考えるのが簡単

図827集合Cを取り除いてA-B間の経路が無くなるなら条件付き独立

図828

無向グラフはマルコフブランケットも簡単

隣接ノードだけ考えれば良い

無向グラフ(マルコフ確率場)無向グラフの分解特性(これまで乗法定理を繰り返し適用していたもの)は以下のように定式化される

(838)

xi xj以外の全てのノードを取り除いた時の同時確率

よりと書くことも

各々の確率に分割できるならxijにおいてxixjは条件付き独立

クリーク

図829

無向グラフの分解特性は極大クリーク変数集合の関数にする事

クリーク x1 x2 x2 x3 x3 x4 x4 x2 極大クリーク x1 x2 x3 x2 x3 x4 x1 x2 x3 x4はクリークではない(x1 - x4間にリンクがない)

クリーク 全てのノードの組にリンクが存在するグラフの部分集合 極大クリーク もう一つを加えるとクリークでなくなってしまうようなクリーク

ポテンシャル関数極大クリークを引数としたポテンシャル関数

の積に分解するどんな関数にするかは言及しない

基本的に総和は1にならない -gt 規格化定数(分配関数)を導入

-gt 計算は大変

画像のノイズ除去の例

元のピクセル

ランダムに反転したピクセル

元画像10のピクセルをランダムに反転

ICMによる復元グラフカットアルゴリズムによる復元

(841)(842)

(843)

図831

有向-gt無向の変換図832のような簡単な場合

有向グラフ(a)無向グラフ(b)

以下のような対応づけができる

有向-gt無向の変換図833のような場合

親同士をリンクで結ぶ(モラル化)

1 向きを無くす 2 モラル化する 3 規格化する -gt ジャンクションツリーアルゴリズム(84)

生物の細胞

遺伝子間が相互作用のネットワークを形成している

geneX geneY

Protein X

Protein Y

様々な実験での遺伝子発現データ

とりうる可能性高い遺伝子ネットワークを探索(MAP推定)

データからこれを推定したい

実験

遺伝子

more

番外編 ベイジアンネットワークの学習

rarr 近似的に求めるアルゴリズムが開発される

httpwwwsclsrikenjpscruisesoftwaresign-bnhtml

番外編 ベイジアンネットワークの学習

こういうネットワーク構造は未知でデータから推定するアプローチはベイジアンネットワークのrdquo学習rdquoとかrdquo推論rdquoというらしい

(848で紹介だけしている)

SiGN-BN スパコン「京」で計算するソフトウェア自分の修論の内容

Rのbnlearnパッケージ(CBRCのBlue Gene上で実行)httpsignhgcjpsignbnindex_jahtml

番外編 ベイジアンネットワークの学習

番外編 ベイジアンネットワークの学習

どのグラフが良いか決める基準 尤度情報量基準(AIC BIC 尤度ampパラメーター数)

MAP推定(尤度times事前分布)hellip

データを元に最も最適と思われるグラフ構造を探索する

データ

グラフ

1 0 01 1 01 0 10 1 01 0 10 0 01 1 00 0 01 1 10 0 1

a b cb

a

c

b

a

c

b

a

c

データからグラフ構造を推定したい場合単純な式変形をしただけだと数学的に等しいので結局最適なグラフ構造を決定できないのでは(勉強会での議論)

=gt 実際にやってみた

番外編 ベイジアンネットワークの学習

httpwwwsclsrikenjpscruisewp-contentuploadssites3201312SIGN_HGC_Seminar_Tamada201302pdf

httpenwikipediaorgwikiDirected_acyclic_graph

ノード数の増加に対する取りうるDAG数

番外編 ベイジアンネットワークの学習

3ノードなら手計算でいけそう

乗法定理times2(n=6)

乗法定理times2 + 条件付き独立 (n=9)

乗法定理times1 + 独立(n=3)

全て独立(n=1)

乗法定理を使う (このままではグラフとして表現できない)

乗法定理times1 + 独立 + 条件付き独立(n=6)エッジ0個

エッジ1個

エッジ2個(head-to-tail tail-to-tail)

エッジ2個(head-to-head)

エッジ3個(全結合)

ノード3つで式変形を片っ端から行った

番外編 ベイジアンネットワークの学習

試しに以下のような簡単な01データを用いる またここでは単純に尤度のみでグラフの善し悪しを判定する

番外編 ベイジアンネットワークの学習

0 0 00 0 00 0 00 0 01 0 01 0 01 1 01 1 01 1 11 1 1

a b c

P(a) = 35 P(b) = 25 P(c) = 15 P(a b) = 25 P(b c) = 15 P(a c) = 15 P(a b c) = 15

P(a | b c) = 1 P(b | a c) = 1 P(c | a b) = 12 P(a | b) = 1 P(a | c) = 1 P(b | a) = 23 P(b | c) = 1 P(c | a) = 13 P(c | b) = 12

独立性について

番外編 ベイジアンネットワークの学習

0 0 00 0 00 0 00 0 01 0 01 0 01 1 01 1 01 1 11 1 1

a b c

P(a | b c) = P(a | b) P(a | b c) = P(a | c) P(b | a c) ne P(b | a) P(b | a c) = P(b | c) P(c | a b) ne P(c | a) P(c | a b) = P(c | b)

P(a b c) ne P(a) P(b) P(c) P(a b) ne P(a) P(b) P(b c) ne P(b) P(c) P(a c) ne P(a) P(c)

条件付き独立性について

データによって成り立ったり成り立たなかったりする

乗法定理times2(n=6)

乗法定理times2 + 条件付き独立 (n=9)

乗法定理times1 + 独立(n=3)

全て独立(n=1)

乗法定理times1 + 独立 + 条件付き独立(n=6)エッジ0個

エッジ1個

エッジ2個(head-to-tail tail-to-tail)

エッジ2個(head-to-head)

エッジ3個(全結合)

番外編 ベイジアンネットワークの学習

尤度を計算した

= 02= 02= 02= 02= 02= 02

= 0048

= 008= 012= 012

= 02= 02= 02= 02= 013

= 013= 02

= 02= 013

= 008= 008= 008= 012= 008= 012

乗法定理times2(n=6)エッジ3個(全結合)

番外編 ベイジアンネットワークの学習

= 02= 02= 02= 02= 02= 02

乗法定理で変形したものはグラフ構造は違うのにも関わらず尤度は等しい

b

a

cb

a

cb

a

cb

a

cb

a

cb

a

c

乗法定理times2 + 条件付き独立 (n=9)

乗法定理times1 + 独立(n=3)乗法定理times1 + 独立 + 条件付き独立(n=6)

エッジ0個

エッジ1個

エッジ2個(head-to-tail tail-to-tail)

エッジ2個(head-to-head)

番外編 ベイジアンネットワークの学習

= 008= 012= 012

= 02= 02= 02= 02= 013

= 013= 02

= 02= 013

= 008= 008= 008= 012= 008= 012

条件付き独立独立はデータによって成り立ったり成り立たなかったりする

「同じ尤度を持つDAGは複数存在する可能性がある」

21世紀の統計科学 第2巻 第6章 生命システムネットワークを明らかにするための統計的モデリング

Page 6: PRML8章

ベイズの定理条件付き確率

分母は加法定理乗法定理から更に変形できる

(112)

ベイズの定理 (離散量Ver)

分母は定数だから

ベイズの定理 (連続量Ver)

尤度 事前確率事後確率

共役事前分布

事後分布 尤度 事前分布ベータ分布 二項分布 ベータ分布正規分布 正規分布 正規分布

逆ガンマ分布 正規分布 逆ガンマ分布ガンマ分布 ポアソン分布 ガンマ分布

ディリクレ分布 多項分布 ディリクレ分布

ベイズな手法はパラメーターが分布を持ちさらにその分布のパラメーターが分布を持ちhellipという

風に階層を増やしていける

幾らでも階層を作れる (階層ベイズモデル)

時系列解析に使える (データ同化)

t t+1 t+2

左のような尤度事前分布の組み合わせは事後分布が事前分布と同じ形になるのでどれだけモデルが複雑になっても

事後分布を求める事ができる (積分できる計算がしやすい)

最近はモデルが複雑になってもサンプリング(MCMC)で分布を求めようとい

うやり方も

互いに独立とはかけ算に分けられるという事

(2つの変数の同時分布がその周辺の積に分解できる事 上巻p17)

P(A B) = P(A) times P(B)

例 データが同じ分布から独立にとられたとする仮定(iid)

(160)

(161)

ベクトル要素の積として表現できる

P(t|xwβ) = N(t|y(xw) β-1)

1-of-K符号化法

K個の状態を取りうる離散変数を扱う際に用いられる要素の一つxkのみが1で他を0とする

x = (001000)T

例 さいころの目が3だった時

ナイーブベイズベイズの定理を分類器として使ったもの

例 スパムメールフィルタ

受信BOX (C1 カテゴリー1)

迷惑メール (C2 カテゴリー2)

受信したメールの文面

グラビア

bag-of-words (D) (例 無料ダウンロードrdquohttphelliprdquo)

実際は分母は無視する (大小関係には無関係) 一度も出現しない単語は全体の確率を0にしてしまう -gt スムージング

httpqiitacomaflcitems13fe52243c35d3b678b0 httpwwwslidesharenetmatuurass-8108633

(迷惑メール件数) (全メール件数)

その他確率変数 X

観測値 Pr(X = x)

確率的に値をとる変数 大文字で書く パラメータで値が決まる関数

実際にとりうる値 小文字で書く

パラメーター X ~ Binom(n p)

実際にとりうる値 斜字体ギリシャ文字とか

第8章 グラフィカルモデル

グラフ

ノード(node)頂点(vertex)

リンク(link)辺(edge)弧(arc)

ノードの集合とエッジの集合で構成されるもの(Wikipedia)

グラフィカルモデル

確率変数

確率変数間の関係

確率変数間の関係性をグラフで表現したもの

グラフィカルモデル有向グラフィカルモデル

(例ベイジアンネットワーク)無向グラフィカルモデル (例 マルコフ確率場)

因果関係 緩い束縛関係 (相関とか)

ベイジアンネットワーク3変数abcの同時確率p(abc)を考える

同時分布p(abc)は乗法定理で以下のように分解できる(81)

(82)また同時分布p(ab)は乗法定理で以下のように分解できる

ベイジアンネットワークベイジアンネットワークはこの確率変数間の因果関係を

グラフで表現したもの

(82)

1 aが起きてhellip

2 aが起きることでbが起きてhellip

3 a bが起きることでcが起きる

図81

aはbの親ノードbはaの子ノード

という

ベイジアンネットワーク

例 K=5の時の全結合グラフ

(83)

乗法定理を繰り返し適用する事で同時分布は各変数上の条件付き分布の積として書ける(全結合)

x1 x2 x3 x4 x5

自分よりも小さい番号がふられたすべてのノードから向かってくるリンクをもつ

ベイジアンネットワーク

図82

(84)

ベイジアンネットワーク一般系で書くと

(pak xkの親ノードの集合)

この式は同時分布の分解特性を表現したという

ベイジアンネットワークは有向閉路を持たない有向非循環グラフ(DAG Directed acyclic graph)

とか みたいなループ構造が無いという事 (自然現象ではよくあるけど)

(85)

グラフィカルモデルの書き方126節のベイズ多項式回帰モデル (N変量のデータからyを予測する)

多項式係数ベクトル観測データ

入力データノイズの分散

ガウス事前分布の精度(超パラメーター)

確率変数 (パラメーターで値が変わる)

パラメーター (定数)

sinカーブ

図117太字のxtは訓練データ 細字のxtはテストデータ

グラフィカルモデルの書き方確率変数にだけ注目した書き方(161のシンプル版)

(86)

N個のノードは左のようにまとめて書いてもよい

プレート

図83

図84

グラフィカルモデルの書き方パラメーターも明示的に含んだ書き方

(87)

図85 図86

学習データを入れている事を示す場合は塗りつぶすパラメータは小さい点で書く

観測されない隠れ変数はそのまま (-gt 第9 12章 EMアルゴリズム)

生成モデル観測データが生成される因果仮定を表現したモデル

人口的なデータを生成できる

例 伝承サンプリング(上位ノードから順に値を決めていくというだけ)

図85は生成モデルでは無い xnは値が既に決まっているから

xnの事前分布が必要図85

2

1

23

有向グラフの親子対が共役関係になる分布であると良い性質をもつ (多分解析的に積分が解けるとかモデルが複雑にならないとか)

特に重要なのが以下の二つでこれらは階層的に拡張して

任意の複雑なDAGが構築できる

離散変数 離散変数

ガウス変数 ガウス変数

離散変数

(89)

1-of-K符号化で書かれた多項分布

例 さいころで3が出る確率

パラメーター数 K - 1∵規格化のための制約

パラメーター数 K2 - 1

離散変数1-of-K符号化で書かれた多項分布(二つの状態を取る場合)

∵規格化のための制約

例 さいころABで各々(3 4)が出る確率

以下略hellip(36個パラメーターがある)

とりうる状態が増えるとパラメーターが指数的に増大してしまうKM - 1状態数Mで 個

離散変数乗法定理を用いるとP(x1x2) = P(x2|x1) P(x1)

これは図89の(a)

図89

変数がM個だとパラメーター数は M(K - 1)

でMについて線形

パラメーター数 K2 - 1

パラメーター数 2(K - 1)

離散変数

リンクを除去するとパラメーターを減らせる

全結合 全てが独立

パラメーター数M(K - 1)

パラメーター数 KM - 1

パラメーター数 K - 1 + (M - 1) K (K - 1)

K状態の連鎖

図810

x1 x2 xM x1 x2 xM

離散変数

パラメータを共有する事(sharing tyling)でもパラメーターは減らせる

図811

図812

図810のモデルの事前分布としてディリクレ分布を導入したもの

更に1つのパラメーターuが全ての条件付き分布に共有される場合

パラメーター数K2 - 1

パラメーター数2

離散変数

条件付き分布としてパラメトリックモデルを用いる事でもパラメーターは減らせる

図813

M個の親ノードと一つの子ノード (共に二値変数とする) そのままだとパラメーター数 2M

(810)

親変数の線形結合を入力とするロジスティックシグモイド関数を利用

パラメーター数 M + 1

線形ガウスモデル

(811)

確率的主成分分析因子分析線形動的システムなどで利用されているらしい

平均

pai

分散 vi

xi 全てのノードの同時分布の対数は (85 一般系のベイジアンネットワークより)

(812)

(813)

j

biwixj

線形ガウスモデル平均 u 分散 σ2の正規分布

自然対数をとる(expが消える)

あとはuに

σ2に

を代入すれば813になる

vi

線形ガウスモデル813はxの成分に関する2次関数なのでp(x)はD次元正規分布()

(814)

この時期待値と分散は再帰的に求まる

(815)

(816)

線形ガウスモデルリンクが一つもないD個のノード 全結合グラフ

パラメーター数wij 0個 bi D個 vi D個

パラメーター数wij (D(D-1))2個 bi D個 vi D個

x1

b1 v1

x2

b2 v2

x3

b3 v3

x4

b4 v4x1

b1 v1

x2

b2 v2

x3

b3 v3

x4

b4 v4

線形ガウスモデル中間的なグラフ(例 図814)

パラメーター数wij D - 1個 bi D個 vi D個

x1

b1 v1

x2

b2 v2

x3

b3 v3

x4

b4 v4

線形ガウスモデル

ガウス分布の共役事前分布はガウス分布

ガウス変量の平均をガウス分布とする(事前分布) =gt ガウス分布の平均値は超パラメーター

=gt 超パラメーターがガウス分布だとするhellip(超事前分布)

=gt 階層ベイズモデル(何階層でもモデルを拡張複雑化できる)

条件付き独立性

(820)

bがあってもなくてもaの条件付き確率に影響を与えない

これをcが与えられた下でaはbに対して条件付き独立であるという

cに対してaとbが条件付き独立とは以下のように書く

(821)

(822)

条件付き独立性が示せるとリンクを減らせる

a

c

ba

c

b

可能性のある全ての条件付き独立性を調べればリンクは減らせる =gt 実際には計算量が膨大

=gt グラフの形だけで独立かどうか判断が可能(d-separationという枠組み)

条件付き独立性

以降はまず3つのノードの簡単なグラフで説明する

3つのグラフの例①

ab

c

tail-to-tail

cに対して周辺化

これはp(a) p(b)という形には変形できない (独立ではない)

cで条件付ける

p(a|c) p(b|c)という形に変形できた(条件付き独立block)

(823)

(824)tailtail

3つのグラフの例②

ab

c

head-to-tail

cに対して周辺化

これはp(a) p(b)という形には変形できない (独立ではない)

cで条件付ける

p(a|c) p(b|c)という形に変形できた(条件付き独立block)

(826)

3つのグラフの例③

ab

c

head-to-head

cに対して周辺化

これはp(a) p(b)という形に変形できた(独立)

(828)

確率の総和は1だから

3つのグラフの例③

ab

c

head-to-head

cで条件付ける

p(a|c) p(b|c)という形に変形できない(unblock)

(828)

3つのグラフの例(まとめ)

グラフの形 cで周辺化 cで条件付け

tail-to-tail 独立ではない 条件付き独立(block)

head-to-tail 独立ではない 条件付き独立(block)

head-to-head 独立 独立ではない(unblock)

head-to-headの更に特殊な性質(弁明)

図820

バッテリーの状態 0切れている

1充電されている

燃料タンクの状態 0空1満タン

電動燃料計 0空と示している

1満タンと示している

p(B=1) = 09 p(F=1) = 09

p(G=1 | B = 1 F = 1) = 08 p(G=1 | B = 1 F = 0) = 02 p(G=1 | B = 0 F = 1) = 02 p(G=1 | B = 0 F = 0) = 01

p(B=0) = 01 p(F=0) = 01

p(G=0 | B = 1 F = 1) = 02 p(G=0 | B = 1 F = 0) = 08 p(G=0 | B = 0 F = 1) = 08 p(G=0 | B = 0 F = 0) = 09

事前にこういった情報が与えられているとする

head-to-headの更に特殊な性質(弁明)

何も観測されていないとき燃料タンクが空である確率は

p(F=0) = 01

燃料計が空を指しているという事実を観測した時の燃料タンクが空である確率は(ベイズの定理より)

少し確率が高まっている

確率が低くなる

さらにバッテリーが切れている事実を観測した時の燃料タンクが空である確率は

図821

head-to-headの更に特殊な性質(弁明)

さらに子孫ノードのいずれかが観測されても 燃料タンクが空になる確率は変化する

子孫ノードが0

有向分離(D分離)リンクを遮断する時の法則今までの話をノード集合にまで拡張したもの

(グラフの形だけでわかる)

(a) 集合Cに含まれるノードであって経路に含まれる矢印がそこでhead-to-tailあるいはtail-to-tailである

(b) 経路に含まれる矢印がそのノードでhead-to-headであり自身あるいはそのすべての子孫のいずれもが集合Cに含まれない

CA B CA B

CA B

あらゆるA-C-Bの経路が遮断されていれば集合Aは集合Cにおいて集合Bと条件付き独立

有向分離(D分離)

図822

A AC C

B B

ノードaとノードbは集合C(ノードe f)で遮断できるかcが観測された場合 fが観測された場合

-gt 遮断されない -gt 遮断される

∵ fがtail-to-tailで観測されていない

eはhead-to-headだが子孫fがCに含まれる

∵ fがtail-to-tailで観測されている

eはhead-to-headでそれ自身あるいはその子孫が条件付き集合に

含まれない

有向分離(D分離)図85のモデルの有向分離性

パラメーターは観測済みノードと同じ amp 親ノードが無い

-gt 他のノードとのつながりは必ずtail-to-tailになる -gt 有向分離性に影響しない

124節のiidデータの有向分離性

図823

パラメーターuはtail-to-tail -gt uに値を入力したらあらゆる子ノード間で独立

-gt iid

uを積分消去した場合観測値は独立ではない

(835)

有向分離(D分離)図87のモデルの有向分離性

(836)

有向分離(D分離)ナイーブベイズの有向分離性

図824

例 bag-of-words

例 受信BOX迷惑メール

zが観測されるとあらゆるxノード間は独立

有向分離定理

1 有向分解(乗法定理を繰り返し適用して得た条件付き確率分布)

2 有向分離 (条件付き独立を繰り返し適用して得た条件付き確率分布)

以下の二つは同じ分布を得る

マルコフブランケット

xiが起きる確率をxi以外の全てのノードで条件付けた分布で考える

分母をxiで周辺化する

条件付き確率の積にする

xiに依存しないノードの条件付き確率は分子と打ち消し合う(次頁)

あるノードの条件付き独立性を考える時の最小単位

マルコフブランケット

図826

つまりxiの条件付き独立を考える時 1) 親子 2) 共同親 だけを考えれば良い

共同親A B

C

D E

F G

結局Cの条件付き確率P(C|AB)と Cの子ノードの条件付き確率P(D|CF)やP(E|CG)だけ残る

Cを含まない項は全部消える

無向グラフ(マルコフ確率場)無向グラフは条件付き独立を考えるのが簡単

図827集合Cを取り除いてA-B間の経路が無くなるなら条件付き独立

図828

無向グラフはマルコフブランケットも簡単

隣接ノードだけ考えれば良い

無向グラフ(マルコフ確率場)無向グラフの分解特性(これまで乗法定理を繰り返し適用していたもの)は以下のように定式化される

(838)

xi xj以外の全てのノードを取り除いた時の同時確率

よりと書くことも

各々の確率に分割できるならxijにおいてxixjは条件付き独立

クリーク

図829

無向グラフの分解特性は極大クリーク変数集合の関数にする事

クリーク x1 x2 x2 x3 x3 x4 x4 x2 極大クリーク x1 x2 x3 x2 x3 x4 x1 x2 x3 x4はクリークではない(x1 - x4間にリンクがない)

クリーク 全てのノードの組にリンクが存在するグラフの部分集合 極大クリーク もう一つを加えるとクリークでなくなってしまうようなクリーク

ポテンシャル関数極大クリークを引数としたポテンシャル関数

の積に分解するどんな関数にするかは言及しない

基本的に総和は1にならない -gt 規格化定数(分配関数)を導入

-gt 計算は大変

画像のノイズ除去の例

元のピクセル

ランダムに反転したピクセル

元画像10のピクセルをランダムに反転

ICMによる復元グラフカットアルゴリズムによる復元

(841)(842)

(843)

図831

有向-gt無向の変換図832のような簡単な場合

有向グラフ(a)無向グラフ(b)

以下のような対応づけができる

有向-gt無向の変換図833のような場合

親同士をリンクで結ぶ(モラル化)

1 向きを無くす 2 モラル化する 3 規格化する -gt ジャンクションツリーアルゴリズム(84)

生物の細胞

遺伝子間が相互作用のネットワークを形成している

geneX geneY

Protein X

Protein Y

様々な実験での遺伝子発現データ

とりうる可能性高い遺伝子ネットワークを探索(MAP推定)

データからこれを推定したい

実験

遺伝子

more

番外編 ベイジアンネットワークの学習

rarr 近似的に求めるアルゴリズムが開発される

httpwwwsclsrikenjpscruisesoftwaresign-bnhtml

番外編 ベイジアンネットワークの学習

こういうネットワーク構造は未知でデータから推定するアプローチはベイジアンネットワークのrdquo学習rdquoとかrdquo推論rdquoというらしい

(848で紹介だけしている)

SiGN-BN スパコン「京」で計算するソフトウェア自分の修論の内容

Rのbnlearnパッケージ(CBRCのBlue Gene上で実行)httpsignhgcjpsignbnindex_jahtml

番外編 ベイジアンネットワークの学習

番外編 ベイジアンネットワークの学習

どのグラフが良いか決める基準 尤度情報量基準(AIC BIC 尤度ampパラメーター数)

MAP推定(尤度times事前分布)hellip

データを元に最も最適と思われるグラフ構造を探索する

データ

グラフ

1 0 01 1 01 0 10 1 01 0 10 0 01 1 00 0 01 1 10 0 1

a b cb

a

c

b

a

c

b

a

c

データからグラフ構造を推定したい場合単純な式変形をしただけだと数学的に等しいので結局最適なグラフ構造を決定できないのでは(勉強会での議論)

=gt 実際にやってみた

番外編 ベイジアンネットワークの学習

httpwwwsclsrikenjpscruisewp-contentuploadssites3201312SIGN_HGC_Seminar_Tamada201302pdf

httpenwikipediaorgwikiDirected_acyclic_graph

ノード数の増加に対する取りうるDAG数

番外編 ベイジアンネットワークの学習

3ノードなら手計算でいけそう

乗法定理times2(n=6)

乗法定理times2 + 条件付き独立 (n=9)

乗法定理times1 + 独立(n=3)

全て独立(n=1)

乗法定理を使う (このままではグラフとして表現できない)

乗法定理times1 + 独立 + 条件付き独立(n=6)エッジ0個

エッジ1個

エッジ2個(head-to-tail tail-to-tail)

エッジ2個(head-to-head)

エッジ3個(全結合)

ノード3つで式変形を片っ端から行った

番外編 ベイジアンネットワークの学習

試しに以下のような簡単な01データを用いる またここでは単純に尤度のみでグラフの善し悪しを判定する

番外編 ベイジアンネットワークの学習

0 0 00 0 00 0 00 0 01 0 01 0 01 1 01 1 01 1 11 1 1

a b c

P(a) = 35 P(b) = 25 P(c) = 15 P(a b) = 25 P(b c) = 15 P(a c) = 15 P(a b c) = 15

P(a | b c) = 1 P(b | a c) = 1 P(c | a b) = 12 P(a | b) = 1 P(a | c) = 1 P(b | a) = 23 P(b | c) = 1 P(c | a) = 13 P(c | b) = 12

独立性について

番外編 ベイジアンネットワークの学習

0 0 00 0 00 0 00 0 01 0 01 0 01 1 01 1 01 1 11 1 1

a b c

P(a | b c) = P(a | b) P(a | b c) = P(a | c) P(b | a c) ne P(b | a) P(b | a c) = P(b | c) P(c | a b) ne P(c | a) P(c | a b) = P(c | b)

P(a b c) ne P(a) P(b) P(c) P(a b) ne P(a) P(b) P(b c) ne P(b) P(c) P(a c) ne P(a) P(c)

条件付き独立性について

データによって成り立ったり成り立たなかったりする

乗法定理times2(n=6)

乗法定理times2 + 条件付き独立 (n=9)

乗法定理times1 + 独立(n=3)

全て独立(n=1)

乗法定理times1 + 独立 + 条件付き独立(n=6)エッジ0個

エッジ1個

エッジ2個(head-to-tail tail-to-tail)

エッジ2個(head-to-head)

エッジ3個(全結合)

番外編 ベイジアンネットワークの学習

尤度を計算した

= 02= 02= 02= 02= 02= 02

= 0048

= 008= 012= 012

= 02= 02= 02= 02= 013

= 013= 02

= 02= 013

= 008= 008= 008= 012= 008= 012

乗法定理times2(n=6)エッジ3個(全結合)

番外編 ベイジアンネットワークの学習

= 02= 02= 02= 02= 02= 02

乗法定理で変形したものはグラフ構造は違うのにも関わらず尤度は等しい

b

a

cb

a

cb

a

cb

a

cb

a

cb

a

c

乗法定理times2 + 条件付き独立 (n=9)

乗法定理times1 + 独立(n=3)乗法定理times1 + 独立 + 条件付き独立(n=6)

エッジ0個

エッジ1個

エッジ2個(head-to-tail tail-to-tail)

エッジ2個(head-to-head)

番外編 ベイジアンネットワークの学習

= 008= 012= 012

= 02= 02= 02= 02= 013

= 013= 02

= 02= 013

= 008= 008= 008= 012= 008= 012

条件付き独立独立はデータによって成り立ったり成り立たなかったりする

「同じ尤度を持つDAGは複数存在する可能性がある」

21世紀の統計科学 第2巻 第6章 生命システムネットワークを明らかにするための統計的モデリング

Page 7: PRML8章

共役事前分布

事後分布 尤度 事前分布ベータ分布 二項分布 ベータ分布正規分布 正規分布 正規分布

逆ガンマ分布 正規分布 逆ガンマ分布ガンマ分布 ポアソン分布 ガンマ分布

ディリクレ分布 多項分布 ディリクレ分布

ベイズな手法はパラメーターが分布を持ちさらにその分布のパラメーターが分布を持ちhellipという

風に階層を増やしていける

幾らでも階層を作れる (階層ベイズモデル)

時系列解析に使える (データ同化)

t t+1 t+2

左のような尤度事前分布の組み合わせは事後分布が事前分布と同じ形になるのでどれだけモデルが複雑になっても

事後分布を求める事ができる (積分できる計算がしやすい)

最近はモデルが複雑になってもサンプリング(MCMC)で分布を求めようとい

うやり方も

互いに独立とはかけ算に分けられるという事

(2つの変数の同時分布がその周辺の積に分解できる事 上巻p17)

P(A B) = P(A) times P(B)

例 データが同じ分布から独立にとられたとする仮定(iid)

(160)

(161)

ベクトル要素の積として表現できる

P(t|xwβ) = N(t|y(xw) β-1)

1-of-K符号化法

K個の状態を取りうる離散変数を扱う際に用いられる要素の一つxkのみが1で他を0とする

x = (001000)T

例 さいころの目が3だった時

ナイーブベイズベイズの定理を分類器として使ったもの

例 スパムメールフィルタ

受信BOX (C1 カテゴリー1)

迷惑メール (C2 カテゴリー2)

受信したメールの文面

グラビア

bag-of-words (D) (例 無料ダウンロードrdquohttphelliprdquo)

実際は分母は無視する (大小関係には無関係) 一度も出現しない単語は全体の確率を0にしてしまう -gt スムージング

httpqiitacomaflcitems13fe52243c35d3b678b0 httpwwwslidesharenetmatuurass-8108633

(迷惑メール件数) (全メール件数)

その他確率変数 X

観測値 Pr(X = x)

確率的に値をとる変数 大文字で書く パラメータで値が決まる関数

実際にとりうる値 小文字で書く

パラメーター X ~ Binom(n p)

実際にとりうる値 斜字体ギリシャ文字とか

第8章 グラフィカルモデル

グラフ

ノード(node)頂点(vertex)

リンク(link)辺(edge)弧(arc)

ノードの集合とエッジの集合で構成されるもの(Wikipedia)

グラフィカルモデル

確率変数

確率変数間の関係

確率変数間の関係性をグラフで表現したもの

グラフィカルモデル有向グラフィカルモデル

(例ベイジアンネットワーク)無向グラフィカルモデル (例 マルコフ確率場)

因果関係 緩い束縛関係 (相関とか)

ベイジアンネットワーク3変数abcの同時確率p(abc)を考える

同時分布p(abc)は乗法定理で以下のように分解できる(81)

(82)また同時分布p(ab)は乗法定理で以下のように分解できる

ベイジアンネットワークベイジアンネットワークはこの確率変数間の因果関係を

グラフで表現したもの

(82)

1 aが起きてhellip

2 aが起きることでbが起きてhellip

3 a bが起きることでcが起きる

図81

aはbの親ノードbはaの子ノード

という

ベイジアンネットワーク

例 K=5の時の全結合グラフ

(83)

乗法定理を繰り返し適用する事で同時分布は各変数上の条件付き分布の積として書ける(全結合)

x1 x2 x3 x4 x5

自分よりも小さい番号がふられたすべてのノードから向かってくるリンクをもつ

ベイジアンネットワーク

図82

(84)

ベイジアンネットワーク一般系で書くと

(pak xkの親ノードの集合)

この式は同時分布の分解特性を表現したという

ベイジアンネットワークは有向閉路を持たない有向非循環グラフ(DAG Directed acyclic graph)

とか みたいなループ構造が無いという事 (自然現象ではよくあるけど)

(85)

グラフィカルモデルの書き方126節のベイズ多項式回帰モデル (N変量のデータからyを予測する)

多項式係数ベクトル観測データ

入力データノイズの分散

ガウス事前分布の精度(超パラメーター)

確率変数 (パラメーターで値が変わる)

パラメーター (定数)

sinカーブ

図117太字のxtは訓練データ 細字のxtはテストデータ

グラフィカルモデルの書き方確率変数にだけ注目した書き方(161のシンプル版)

(86)

N個のノードは左のようにまとめて書いてもよい

プレート

図83

図84

グラフィカルモデルの書き方パラメーターも明示的に含んだ書き方

(87)

図85 図86

学習データを入れている事を示す場合は塗りつぶすパラメータは小さい点で書く

観測されない隠れ変数はそのまま (-gt 第9 12章 EMアルゴリズム)

生成モデル観測データが生成される因果仮定を表現したモデル

人口的なデータを生成できる

例 伝承サンプリング(上位ノードから順に値を決めていくというだけ)

図85は生成モデルでは無い xnは値が既に決まっているから

xnの事前分布が必要図85

2

1

23

有向グラフの親子対が共役関係になる分布であると良い性質をもつ (多分解析的に積分が解けるとかモデルが複雑にならないとか)

特に重要なのが以下の二つでこれらは階層的に拡張して

任意の複雑なDAGが構築できる

離散変数 離散変数

ガウス変数 ガウス変数

離散変数

(89)

1-of-K符号化で書かれた多項分布

例 さいころで3が出る確率

パラメーター数 K - 1∵規格化のための制約

パラメーター数 K2 - 1

離散変数1-of-K符号化で書かれた多項分布(二つの状態を取る場合)

∵規格化のための制約

例 さいころABで各々(3 4)が出る確率

以下略hellip(36個パラメーターがある)

とりうる状態が増えるとパラメーターが指数的に増大してしまうKM - 1状態数Mで 個

離散変数乗法定理を用いるとP(x1x2) = P(x2|x1) P(x1)

これは図89の(a)

図89

変数がM個だとパラメーター数は M(K - 1)

でMについて線形

パラメーター数 K2 - 1

パラメーター数 2(K - 1)

離散変数

リンクを除去するとパラメーターを減らせる

全結合 全てが独立

パラメーター数M(K - 1)

パラメーター数 KM - 1

パラメーター数 K - 1 + (M - 1) K (K - 1)

K状態の連鎖

図810

x1 x2 xM x1 x2 xM

離散変数

パラメータを共有する事(sharing tyling)でもパラメーターは減らせる

図811

図812

図810のモデルの事前分布としてディリクレ分布を導入したもの

更に1つのパラメーターuが全ての条件付き分布に共有される場合

パラメーター数K2 - 1

パラメーター数2

離散変数

条件付き分布としてパラメトリックモデルを用いる事でもパラメーターは減らせる

図813

M個の親ノードと一つの子ノード (共に二値変数とする) そのままだとパラメーター数 2M

(810)

親変数の線形結合を入力とするロジスティックシグモイド関数を利用

パラメーター数 M + 1

線形ガウスモデル

(811)

確率的主成分分析因子分析線形動的システムなどで利用されているらしい

平均

pai

分散 vi

xi 全てのノードの同時分布の対数は (85 一般系のベイジアンネットワークより)

(812)

(813)

j

biwixj

線形ガウスモデル平均 u 分散 σ2の正規分布

自然対数をとる(expが消える)

あとはuに

σ2に

を代入すれば813になる

vi

線形ガウスモデル813はxの成分に関する2次関数なのでp(x)はD次元正規分布()

(814)

この時期待値と分散は再帰的に求まる

(815)

(816)

線形ガウスモデルリンクが一つもないD個のノード 全結合グラフ

パラメーター数wij 0個 bi D個 vi D個

パラメーター数wij (D(D-1))2個 bi D個 vi D個

x1

b1 v1

x2

b2 v2

x3

b3 v3

x4

b4 v4x1

b1 v1

x2

b2 v2

x3

b3 v3

x4

b4 v4

線形ガウスモデル中間的なグラフ(例 図814)

パラメーター数wij D - 1個 bi D個 vi D個

x1

b1 v1

x2

b2 v2

x3

b3 v3

x4

b4 v4

線形ガウスモデル

ガウス分布の共役事前分布はガウス分布

ガウス変量の平均をガウス分布とする(事前分布) =gt ガウス分布の平均値は超パラメーター

=gt 超パラメーターがガウス分布だとするhellip(超事前分布)

=gt 階層ベイズモデル(何階層でもモデルを拡張複雑化できる)

条件付き独立性

(820)

bがあってもなくてもaの条件付き確率に影響を与えない

これをcが与えられた下でaはbに対して条件付き独立であるという

cに対してaとbが条件付き独立とは以下のように書く

(821)

(822)

条件付き独立性が示せるとリンクを減らせる

a

c

ba

c

b

可能性のある全ての条件付き独立性を調べればリンクは減らせる =gt 実際には計算量が膨大

=gt グラフの形だけで独立かどうか判断が可能(d-separationという枠組み)

条件付き独立性

以降はまず3つのノードの簡単なグラフで説明する

3つのグラフの例①

ab

c

tail-to-tail

cに対して周辺化

これはp(a) p(b)という形には変形できない (独立ではない)

cで条件付ける

p(a|c) p(b|c)という形に変形できた(条件付き独立block)

(823)

(824)tailtail

3つのグラフの例②

ab

c

head-to-tail

cに対して周辺化

これはp(a) p(b)という形には変形できない (独立ではない)

cで条件付ける

p(a|c) p(b|c)という形に変形できた(条件付き独立block)

(826)

3つのグラフの例③

ab

c

head-to-head

cに対して周辺化

これはp(a) p(b)という形に変形できた(独立)

(828)

確率の総和は1だから

3つのグラフの例③

ab

c

head-to-head

cで条件付ける

p(a|c) p(b|c)という形に変形できない(unblock)

(828)

3つのグラフの例(まとめ)

グラフの形 cで周辺化 cで条件付け

tail-to-tail 独立ではない 条件付き独立(block)

head-to-tail 独立ではない 条件付き独立(block)

head-to-head 独立 独立ではない(unblock)

head-to-headの更に特殊な性質(弁明)

図820

バッテリーの状態 0切れている

1充電されている

燃料タンクの状態 0空1満タン

電動燃料計 0空と示している

1満タンと示している

p(B=1) = 09 p(F=1) = 09

p(G=1 | B = 1 F = 1) = 08 p(G=1 | B = 1 F = 0) = 02 p(G=1 | B = 0 F = 1) = 02 p(G=1 | B = 0 F = 0) = 01

p(B=0) = 01 p(F=0) = 01

p(G=0 | B = 1 F = 1) = 02 p(G=0 | B = 1 F = 0) = 08 p(G=0 | B = 0 F = 1) = 08 p(G=0 | B = 0 F = 0) = 09

事前にこういった情報が与えられているとする

head-to-headの更に特殊な性質(弁明)

何も観測されていないとき燃料タンクが空である確率は

p(F=0) = 01

燃料計が空を指しているという事実を観測した時の燃料タンクが空である確率は(ベイズの定理より)

少し確率が高まっている

確率が低くなる

さらにバッテリーが切れている事実を観測した時の燃料タンクが空である確率は

図821

head-to-headの更に特殊な性質(弁明)

さらに子孫ノードのいずれかが観測されても 燃料タンクが空になる確率は変化する

子孫ノードが0

有向分離(D分離)リンクを遮断する時の法則今までの話をノード集合にまで拡張したもの

(グラフの形だけでわかる)

(a) 集合Cに含まれるノードであって経路に含まれる矢印がそこでhead-to-tailあるいはtail-to-tailである

(b) 経路に含まれる矢印がそのノードでhead-to-headであり自身あるいはそのすべての子孫のいずれもが集合Cに含まれない

CA B CA B

CA B

あらゆるA-C-Bの経路が遮断されていれば集合Aは集合Cにおいて集合Bと条件付き独立

有向分離(D分離)

図822

A AC C

B B

ノードaとノードbは集合C(ノードe f)で遮断できるかcが観測された場合 fが観測された場合

-gt 遮断されない -gt 遮断される

∵ fがtail-to-tailで観測されていない

eはhead-to-headだが子孫fがCに含まれる

∵ fがtail-to-tailで観測されている

eはhead-to-headでそれ自身あるいはその子孫が条件付き集合に

含まれない

有向分離(D分離)図85のモデルの有向分離性

パラメーターは観測済みノードと同じ amp 親ノードが無い

-gt 他のノードとのつながりは必ずtail-to-tailになる -gt 有向分離性に影響しない

124節のiidデータの有向分離性

図823

パラメーターuはtail-to-tail -gt uに値を入力したらあらゆる子ノード間で独立

-gt iid

uを積分消去した場合観測値は独立ではない

(835)

有向分離(D分離)図87のモデルの有向分離性

(836)

有向分離(D分離)ナイーブベイズの有向分離性

図824

例 bag-of-words

例 受信BOX迷惑メール

zが観測されるとあらゆるxノード間は独立

有向分離定理

1 有向分解(乗法定理を繰り返し適用して得た条件付き確率分布)

2 有向分離 (条件付き独立を繰り返し適用して得た条件付き確率分布)

以下の二つは同じ分布を得る

マルコフブランケット

xiが起きる確率をxi以外の全てのノードで条件付けた分布で考える

分母をxiで周辺化する

条件付き確率の積にする

xiに依存しないノードの条件付き確率は分子と打ち消し合う(次頁)

あるノードの条件付き独立性を考える時の最小単位

マルコフブランケット

図826

つまりxiの条件付き独立を考える時 1) 親子 2) 共同親 だけを考えれば良い

共同親A B

C

D E

F G

結局Cの条件付き確率P(C|AB)と Cの子ノードの条件付き確率P(D|CF)やP(E|CG)だけ残る

Cを含まない項は全部消える

無向グラフ(マルコフ確率場)無向グラフは条件付き独立を考えるのが簡単

図827集合Cを取り除いてA-B間の経路が無くなるなら条件付き独立

図828

無向グラフはマルコフブランケットも簡単

隣接ノードだけ考えれば良い

無向グラフ(マルコフ確率場)無向グラフの分解特性(これまで乗法定理を繰り返し適用していたもの)は以下のように定式化される

(838)

xi xj以外の全てのノードを取り除いた時の同時確率

よりと書くことも

各々の確率に分割できるならxijにおいてxixjは条件付き独立

クリーク

図829

無向グラフの分解特性は極大クリーク変数集合の関数にする事

クリーク x1 x2 x2 x3 x3 x4 x4 x2 極大クリーク x1 x2 x3 x2 x3 x4 x1 x2 x3 x4はクリークではない(x1 - x4間にリンクがない)

クリーク 全てのノードの組にリンクが存在するグラフの部分集合 極大クリーク もう一つを加えるとクリークでなくなってしまうようなクリーク

ポテンシャル関数極大クリークを引数としたポテンシャル関数

の積に分解するどんな関数にするかは言及しない

基本的に総和は1にならない -gt 規格化定数(分配関数)を導入

-gt 計算は大変

画像のノイズ除去の例

元のピクセル

ランダムに反転したピクセル

元画像10のピクセルをランダムに反転

ICMによる復元グラフカットアルゴリズムによる復元

(841)(842)

(843)

図831

有向-gt無向の変換図832のような簡単な場合

有向グラフ(a)無向グラフ(b)

以下のような対応づけができる

有向-gt無向の変換図833のような場合

親同士をリンクで結ぶ(モラル化)

1 向きを無くす 2 モラル化する 3 規格化する -gt ジャンクションツリーアルゴリズム(84)

生物の細胞

遺伝子間が相互作用のネットワークを形成している

geneX geneY

Protein X

Protein Y

様々な実験での遺伝子発現データ

とりうる可能性高い遺伝子ネットワークを探索(MAP推定)

データからこれを推定したい

実験

遺伝子

more

番外編 ベイジアンネットワークの学習

rarr 近似的に求めるアルゴリズムが開発される

httpwwwsclsrikenjpscruisesoftwaresign-bnhtml

番外編 ベイジアンネットワークの学習

こういうネットワーク構造は未知でデータから推定するアプローチはベイジアンネットワークのrdquo学習rdquoとかrdquo推論rdquoというらしい

(848で紹介だけしている)

SiGN-BN スパコン「京」で計算するソフトウェア自分の修論の内容

Rのbnlearnパッケージ(CBRCのBlue Gene上で実行)httpsignhgcjpsignbnindex_jahtml

番外編 ベイジアンネットワークの学習

番外編 ベイジアンネットワークの学習

どのグラフが良いか決める基準 尤度情報量基準(AIC BIC 尤度ampパラメーター数)

MAP推定(尤度times事前分布)hellip

データを元に最も最適と思われるグラフ構造を探索する

データ

グラフ

1 0 01 1 01 0 10 1 01 0 10 0 01 1 00 0 01 1 10 0 1

a b cb

a

c

b

a

c

b

a

c

データからグラフ構造を推定したい場合単純な式変形をしただけだと数学的に等しいので結局最適なグラフ構造を決定できないのでは(勉強会での議論)

=gt 実際にやってみた

番外編 ベイジアンネットワークの学習

httpwwwsclsrikenjpscruisewp-contentuploadssites3201312SIGN_HGC_Seminar_Tamada201302pdf

httpenwikipediaorgwikiDirected_acyclic_graph

ノード数の増加に対する取りうるDAG数

番外編 ベイジアンネットワークの学習

3ノードなら手計算でいけそう

乗法定理times2(n=6)

乗法定理times2 + 条件付き独立 (n=9)

乗法定理times1 + 独立(n=3)

全て独立(n=1)

乗法定理を使う (このままではグラフとして表現できない)

乗法定理times1 + 独立 + 条件付き独立(n=6)エッジ0個

エッジ1個

エッジ2個(head-to-tail tail-to-tail)

エッジ2個(head-to-head)

エッジ3個(全結合)

ノード3つで式変形を片っ端から行った

番外編 ベイジアンネットワークの学習

試しに以下のような簡単な01データを用いる またここでは単純に尤度のみでグラフの善し悪しを判定する

番外編 ベイジアンネットワークの学習

0 0 00 0 00 0 00 0 01 0 01 0 01 1 01 1 01 1 11 1 1

a b c

P(a) = 35 P(b) = 25 P(c) = 15 P(a b) = 25 P(b c) = 15 P(a c) = 15 P(a b c) = 15

P(a | b c) = 1 P(b | a c) = 1 P(c | a b) = 12 P(a | b) = 1 P(a | c) = 1 P(b | a) = 23 P(b | c) = 1 P(c | a) = 13 P(c | b) = 12

独立性について

番外編 ベイジアンネットワークの学習

0 0 00 0 00 0 00 0 01 0 01 0 01 1 01 1 01 1 11 1 1

a b c

P(a | b c) = P(a | b) P(a | b c) = P(a | c) P(b | a c) ne P(b | a) P(b | a c) = P(b | c) P(c | a b) ne P(c | a) P(c | a b) = P(c | b)

P(a b c) ne P(a) P(b) P(c) P(a b) ne P(a) P(b) P(b c) ne P(b) P(c) P(a c) ne P(a) P(c)

条件付き独立性について

データによって成り立ったり成り立たなかったりする

乗法定理times2(n=6)

乗法定理times2 + 条件付き独立 (n=9)

乗法定理times1 + 独立(n=3)

全て独立(n=1)

乗法定理times1 + 独立 + 条件付き独立(n=6)エッジ0個

エッジ1個

エッジ2個(head-to-tail tail-to-tail)

エッジ2個(head-to-head)

エッジ3個(全結合)

番外編 ベイジアンネットワークの学習

尤度を計算した

= 02= 02= 02= 02= 02= 02

= 0048

= 008= 012= 012

= 02= 02= 02= 02= 013

= 013= 02

= 02= 013

= 008= 008= 008= 012= 008= 012

乗法定理times2(n=6)エッジ3個(全結合)

番外編 ベイジアンネットワークの学習

= 02= 02= 02= 02= 02= 02

乗法定理で変形したものはグラフ構造は違うのにも関わらず尤度は等しい

b

a

cb

a

cb

a

cb

a

cb

a

cb

a

c

乗法定理times2 + 条件付き独立 (n=9)

乗法定理times1 + 独立(n=3)乗法定理times1 + 独立 + 条件付き独立(n=6)

エッジ0個

エッジ1個

エッジ2個(head-to-tail tail-to-tail)

エッジ2個(head-to-head)

番外編 ベイジアンネットワークの学習

= 008= 012= 012

= 02= 02= 02= 02= 013

= 013= 02

= 02= 013

= 008= 008= 008= 012= 008= 012

条件付き独立独立はデータによって成り立ったり成り立たなかったりする

「同じ尤度を持つDAGは複数存在する可能性がある」

21世紀の統計科学 第2巻 第6章 生命システムネットワークを明らかにするための統計的モデリング

Page 8: PRML8章

互いに独立とはかけ算に分けられるという事

(2つの変数の同時分布がその周辺の積に分解できる事 上巻p17)

P(A B) = P(A) times P(B)

例 データが同じ分布から独立にとられたとする仮定(iid)

(160)

(161)

ベクトル要素の積として表現できる

P(t|xwβ) = N(t|y(xw) β-1)

1-of-K符号化法

K個の状態を取りうる離散変数を扱う際に用いられる要素の一つxkのみが1で他を0とする

x = (001000)T

例 さいころの目が3だった時

ナイーブベイズベイズの定理を分類器として使ったもの

例 スパムメールフィルタ

受信BOX (C1 カテゴリー1)

迷惑メール (C2 カテゴリー2)

受信したメールの文面

グラビア

bag-of-words (D) (例 無料ダウンロードrdquohttphelliprdquo)

実際は分母は無視する (大小関係には無関係) 一度も出現しない単語は全体の確率を0にしてしまう -gt スムージング

httpqiitacomaflcitems13fe52243c35d3b678b0 httpwwwslidesharenetmatuurass-8108633

(迷惑メール件数) (全メール件数)

その他確率変数 X

観測値 Pr(X = x)

確率的に値をとる変数 大文字で書く パラメータで値が決まる関数

実際にとりうる値 小文字で書く

パラメーター X ~ Binom(n p)

実際にとりうる値 斜字体ギリシャ文字とか

第8章 グラフィカルモデル

グラフ

ノード(node)頂点(vertex)

リンク(link)辺(edge)弧(arc)

ノードの集合とエッジの集合で構成されるもの(Wikipedia)

グラフィカルモデル

確率変数

確率変数間の関係

確率変数間の関係性をグラフで表現したもの

グラフィカルモデル有向グラフィカルモデル

(例ベイジアンネットワーク)無向グラフィカルモデル (例 マルコフ確率場)

因果関係 緩い束縛関係 (相関とか)

ベイジアンネットワーク3変数abcの同時確率p(abc)を考える

同時分布p(abc)は乗法定理で以下のように分解できる(81)

(82)また同時分布p(ab)は乗法定理で以下のように分解できる

ベイジアンネットワークベイジアンネットワークはこの確率変数間の因果関係を

グラフで表現したもの

(82)

1 aが起きてhellip

2 aが起きることでbが起きてhellip

3 a bが起きることでcが起きる

図81

aはbの親ノードbはaの子ノード

という

ベイジアンネットワーク

例 K=5の時の全結合グラフ

(83)

乗法定理を繰り返し適用する事で同時分布は各変数上の条件付き分布の積として書ける(全結合)

x1 x2 x3 x4 x5

自分よりも小さい番号がふられたすべてのノードから向かってくるリンクをもつ

ベイジアンネットワーク

図82

(84)

ベイジアンネットワーク一般系で書くと

(pak xkの親ノードの集合)

この式は同時分布の分解特性を表現したという

ベイジアンネットワークは有向閉路を持たない有向非循環グラフ(DAG Directed acyclic graph)

とか みたいなループ構造が無いという事 (自然現象ではよくあるけど)

(85)

グラフィカルモデルの書き方126節のベイズ多項式回帰モデル (N変量のデータからyを予測する)

多項式係数ベクトル観測データ

入力データノイズの分散

ガウス事前分布の精度(超パラメーター)

確率変数 (パラメーターで値が変わる)

パラメーター (定数)

sinカーブ

図117太字のxtは訓練データ 細字のxtはテストデータ

グラフィカルモデルの書き方確率変数にだけ注目した書き方(161のシンプル版)

(86)

N個のノードは左のようにまとめて書いてもよい

プレート

図83

図84

グラフィカルモデルの書き方パラメーターも明示的に含んだ書き方

(87)

図85 図86

学習データを入れている事を示す場合は塗りつぶすパラメータは小さい点で書く

観測されない隠れ変数はそのまま (-gt 第9 12章 EMアルゴリズム)

生成モデル観測データが生成される因果仮定を表現したモデル

人口的なデータを生成できる

例 伝承サンプリング(上位ノードから順に値を決めていくというだけ)

図85は生成モデルでは無い xnは値が既に決まっているから

xnの事前分布が必要図85

2

1

23

有向グラフの親子対が共役関係になる分布であると良い性質をもつ (多分解析的に積分が解けるとかモデルが複雑にならないとか)

特に重要なのが以下の二つでこれらは階層的に拡張して

任意の複雑なDAGが構築できる

離散変数 離散変数

ガウス変数 ガウス変数

離散変数

(89)

1-of-K符号化で書かれた多項分布

例 さいころで3が出る確率

パラメーター数 K - 1∵規格化のための制約

パラメーター数 K2 - 1

離散変数1-of-K符号化で書かれた多項分布(二つの状態を取る場合)

∵規格化のための制約

例 さいころABで各々(3 4)が出る確率

以下略hellip(36個パラメーターがある)

とりうる状態が増えるとパラメーターが指数的に増大してしまうKM - 1状態数Mで 個

離散変数乗法定理を用いるとP(x1x2) = P(x2|x1) P(x1)

これは図89の(a)

図89

変数がM個だとパラメーター数は M(K - 1)

でMについて線形

パラメーター数 K2 - 1

パラメーター数 2(K - 1)

離散変数

リンクを除去するとパラメーターを減らせる

全結合 全てが独立

パラメーター数M(K - 1)

パラメーター数 KM - 1

パラメーター数 K - 1 + (M - 1) K (K - 1)

K状態の連鎖

図810

x1 x2 xM x1 x2 xM

離散変数

パラメータを共有する事(sharing tyling)でもパラメーターは減らせる

図811

図812

図810のモデルの事前分布としてディリクレ分布を導入したもの

更に1つのパラメーターuが全ての条件付き分布に共有される場合

パラメーター数K2 - 1

パラメーター数2

離散変数

条件付き分布としてパラメトリックモデルを用いる事でもパラメーターは減らせる

図813

M個の親ノードと一つの子ノード (共に二値変数とする) そのままだとパラメーター数 2M

(810)

親変数の線形結合を入力とするロジスティックシグモイド関数を利用

パラメーター数 M + 1

線形ガウスモデル

(811)

確率的主成分分析因子分析線形動的システムなどで利用されているらしい

平均

pai

分散 vi

xi 全てのノードの同時分布の対数は (85 一般系のベイジアンネットワークより)

(812)

(813)

j

biwixj

線形ガウスモデル平均 u 分散 σ2の正規分布

自然対数をとる(expが消える)

あとはuに

σ2に

を代入すれば813になる

vi

線形ガウスモデル813はxの成分に関する2次関数なのでp(x)はD次元正規分布()

(814)

この時期待値と分散は再帰的に求まる

(815)

(816)

線形ガウスモデルリンクが一つもないD個のノード 全結合グラフ

パラメーター数wij 0個 bi D個 vi D個

パラメーター数wij (D(D-1))2個 bi D個 vi D個

x1

b1 v1

x2

b2 v2

x3

b3 v3

x4

b4 v4x1

b1 v1

x2

b2 v2

x3

b3 v3

x4

b4 v4

線形ガウスモデル中間的なグラフ(例 図814)

パラメーター数wij D - 1個 bi D個 vi D個

x1

b1 v1

x2

b2 v2

x3

b3 v3

x4

b4 v4

線形ガウスモデル

ガウス分布の共役事前分布はガウス分布

ガウス変量の平均をガウス分布とする(事前分布) =gt ガウス分布の平均値は超パラメーター

=gt 超パラメーターがガウス分布だとするhellip(超事前分布)

=gt 階層ベイズモデル(何階層でもモデルを拡張複雑化できる)

条件付き独立性

(820)

bがあってもなくてもaの条件付き確率に影響を与えない

これをcが与えられた下でaはbに対して条件付き独立であるという

cに対してaとbが条件付き独立とは以下のように書く

(821)

(822)

条件付き独立性が示せるとリンクを減らせる

a

c

ba

c

b

可能性のある全ての条件付き独立性を調べればリンクは減らせる =gt 実際には計算量が膨大

=gt グラフの形だけで独立かどうか判断が可能(d-separationという枠組み)

条件付き独立性

以降はまず3つのノードの簡単なグラフで説明する

3つのグラフの例①

ab

c

tail-to-tail

cに対して周辺化

これはp(a) p(b)という形には変形できない (独立ではない)

cで条件付ける

p(a|c) p(b|c)という形に変形できた(条件付き独立block)

(823)

(824)tailtail

3つのグラフの例②

ab

c

head-to-tail

cに対して周辺化

これはp(a) p(b)という形には変形できない (独立ではない)

cで条件付ける

p(a|c) p(b|c)という形に変形できた(条件付き独立block)

(826)

3つのグラフの例③

ab

c

head-to-head

cに対して周辺化

これはp(a) p(b)という形に変形できた(独立)

(828)

確率の総和は1だから

3つのグラフの例③

ab

c

head-to-head

cで条件付ける

p(a|c) p(b|c)という形に変形できない(unblock)

(828)

3つのグラフの例(まとめ)

グラフの形 cで周辺化 cで条件付け

tail-to-tail 独立ではない 条件付き独立(block)

head-to-tail 独立ではない 条件付き独立(block)

head-to-head 独立 独立ではない(unblock)

head-to-headの更に特殊な性質(弁明)

図820

バッテリーの状態 0切れている

1充電されている

燃料タンクの状態 0空1満タン

電動燃料計 0空と示している

1満タンと示している

p(B=1) = 09 p(F=1) = 09

p(G=1 | B = 1 F = 1) = 08 p(G=1 | B = 1 F = 0) = 02 p(G=1 | B = 0 F = 1) = 02 p(G=1 | B = 0 F = 0) = 01

p(B=0) = 01 p(F=0) = 01

p(G=0 | B = 1 F = 1) = 02 p(G=0 | B = 1 F = 0) = 08 p(G=0 | B = 0 F = 1) = 08 p(G=0 | B = 0 F = 0) = 09

事前にこういった情報が与えられているとする

head-to-headの更に特殊な性質(弁明)

何も観測されていないとき燃料タンクが空である確率は

p(F=0) = 01

燃料計が空を指しているという事実を観測した時の燃料タンクが空である確率は(ベイズの定理より)

少し確率が高まっている

確率が低くなる

さらにバッテリーが切れている事実を観測した時の燃料タンクが空である確率は

図821

head-to-headの更に特殊な性質(弁明)

さらに子孫ノードのいずれかが観測されても 燃料タンクが空になる確率は変化する

子孫ノードが0

有向分離(D分離)リンクを遮断する時の法則今までの話をノード集合にまで拡張したもの

(グラフの形だけでわかる)

(a) 集合Cに含まれるノードであって経路に含まれる矢印がそこでhead-to-tailあるいはtail-to-tailである

(b) 経路に含まれる矢印がそのノードでhead-to-headであり自身あるいはそのすべての子孫のいずれもが集合Cに含まれない

CA B CA B

CA B

あらゆるA-C-Bの経路が遮断されていれば集合Aは集合Cにおいて集合Bと条件付き独立

有向分離(D分離)

図822

A AC C

B B

ノードaとノードbは集合C(ノードe f)で遮断できるかcが観測された場合 fが観測された場合

-gt 遮断されない -gt 遮断される

∵ fがtail-to-tailで観測されていない

eはhead-to-headだが子孫fがCに含まれる

∵ fがtail-to-tailで観測されている

eはhead-to-headでそれ自身あるいはその子孫が条件付き集合に

含まれない

有向分離(D分離)図85のモデルの有向分離性

パラメーターは観測済みノードと同じ amp 親ノードが無い

-gt 他のノードとのつながりは必ずtail-to-tailになる -gt 有向分離性に影響しない

124節のiidデータの有向分離性

図823

パラメーターuはtail-to-tail -gt uに値を入力したらあらゆる子ノード間で独立

-gt iid

uを積分消去した場合観測値は独立ではない

(835)

有向分離(D分離)図87のモデルの有向分離性

(836)

有向分離(D分離)ナイーブベイズの有向分離性

図824

例 bag-of-words

例 受信BOX迷惑メール

zが観測されるとあらゆるxノード間は独立

有向分離定理

1 有向分解(乗法定理を繰り返し適用して得た条件付き確率分布)

2 有向分離 (条件付き独立を繰り返し適用して得た条件付き確率分布)

以下の二つは同じ分布を得る

マルコフブランケット

xiが起きる確率をxi以外の全てのノードで条件付けた分布で考える

分母をxiで周辺化する

条件付き確率の積にする

xiに依存しないノードの条件付き確率は分子と打ち消し合う(次頁)

あるノードの条件付き独立性を考える時の最小単位

マルコフブランケット

図826

つまりxiの条件付き独立を考える時 1) 親子 2) 共同親 だけを考えれば良い

共同親A B

C

D E

F G

結局Cの条件付き確率P(C|AB)と Cの子ノードの条件付き確率P(D|CF)やP(E|CG)だけ残る

Cを含まない項は全部消える

無向グラフ(マルコフ確率場)無向グラフは条件付き独立を考えるのが簡単

図827集合Cを取り除いてA-B間の経路が無くなるなら条件付き独立

図828

無向グラフはマルコフブランケットも簡単

隣接ノードだけ考えれば良い

無向グラフ(マルコフ確率場)無向グラフの分解特性(これまで乗法定理を繰り返し適用していたもの)は以下のように定式化される

(838)

xi xj以外の全てのノードを取り除いた時の同時確率

よりと書くことも

各々の確率に分割できるならxijにおいてxixjは条件付き独立

クリーク

図829

無向グラフの分解特性は極大クリーク変数集合の関数にする事

クリーク x1 x2 x2 x3 x3 x4 x4 x2 極大クリーク x1 x2 x3 x2 x3 x4 x1 x2 x3 x4はクリークではない(x1 - x4間にリンクがない)

クリーク 全てのノードの組にリンクが存在するグラフの部分集合 極大クリーク もう一つを加えるとクリークでなくなってしまうようなクリーク

ポテンシャル関数極大クリークを引数としたポテンシャル関数

の積に分解するどんな関数にするかは言及しない

基本的に総和は1にならない -gt 規格化定数(分配関数)を導入

-gt 計算は大変

画像のノイズ除去の例

元のピクセル

ランダムに反転したピクセル

元画像10のピクセルをランダムに反転

ICMによる復元グラフカットアルゴリズムによる復元

(841)(842)

(843)

図831

有向-gt無向の変換図832のような簡単な場合

有向グラフ(a)無向グラフ(b)

以下のような対応づけができる

有向-gt無向の変換図833のような場合

親同士をリンクで結ぶ(モラル化)

1 向きを無くす 2 モラル化する 3 規格化する -gt ジャンクションツリーアルゴリズム(84)

生物の細胞

遺伝子間が相互作用のネットワークを形成している

geneX geneY

Protein X

Protein Y

様々な実験での遺伝子発現データ

とりうる可能性高い遺伝子ネットワークを探索(MAP推定)

データからこれを推定したい

実験

遺伝子

more

番外編 ベイジアンネットワークの学習

rarr 近似的に求めるアルゴリズムが開発される

httpwwwsclsrikenjpscruisesoftwaresign-bnhtml

番外編 ベイジアンネットワークの学習

こういうネットワーク構造は未知でデータから推定するアプローチはベイジアンネットワークのrdquo学習rdquoとかrdquo推論rdquoというらしい

(848で紹介だけしている)

SiGN-BN スパコン「京」で計算するソフトウェア自分の修論の内容

Rのbnlearnパッケージ(CBRCのBlue Gene上で実行)httpsignhgcjpsignbnindex_jahtml

番外編 ベイジアンネットワークの学習

番外編 ベイジアンネットワークの学習

どのグラフが良いか決める基準 尤度情報量基準(AIC BIC 尤度ampパラメーター数)

MAP推定(尤度times事前分布)hellip

データを元に最も最適と思われるグラフ構造を探索する

データ

グラフ

1 0 01 1 01 0 10 1 01 0 10 0 01 1 00 0 01 1 10 0 1

a b cb

a

c

b

a

c

b

a

c

データからグラフ構造を推定したい場合単純な式変形をしただけだと数学的に等しいので結局最適なグラフ構造を決定できないのでは(勉強会での議論)

=gt 実際にやってみた

番外編 ベイジアンネットワークの学習

httpwwwsclsrikenjpscruisewp-contentuploadssites3201312SIGN_HGC_Seminar_Tamada201302pdf

httpenwikipediaorgwikiDirected_acyclic_graph

ノード数の増加に対する取りうるDAG数

番外編 ベイジアンネットワークの学習

3ノードなら手計算でいけそう

乗法定理times2(n=6)

乗法定理times2 + 条件付き独立 (n=9)

乗法定理times1 + 独立(n=3)

全て独立(n=1)

乗法定理を使う (このままではグラフとして表現できない)

乗法定理times1 + 独立 + 条件付き独立(n=6)エッジ0個

エッジ1個

エッジ2個(head-to-tail tail-to-tail)

エッジ2個(head-to-head)

エッジ3個(全結合)

ノード3つで式変形を片っ端から行った

番外編 ベイジアンネットワークの学習

試しに以下のような簡単な01データを用いる またここでは単純に尤度のみでグラフの善し悪しを判定する

番外編 ベイジアンネットワークの学習

0 0 00 0 00 0 00 0 01 0 01 0 01 1 01 1 01 1 11 1 1

a b c

P(a) = 35 P(b) = 25 P(c) = 15 P(a b) = 25 P(b c) = 15 P(a c) = 15 P(a b c) = 15

P(a | b c) = 1 P(b | a c) = 1 P(c | a b) = 12 P(a | b) = 1 P(a | c) = 1 P(b | a) = 23 P(b | c) = 1 P(c | a) = 13 P(c | b) = 12

独立性について

番外編 ベイジアンネットワークの学習

0 0 00 0 00 0 00 0 01 0 01 0 01 1 01 1 01 1 11 1 1

a b c

P(a | b c) = P(a | b) P(a | b c) = P(a | c) P(b | a c) ne P(b | a) P(b | a c) = P(b | c) P(c | a b) ne P(c | a) P(c | a b) = P(c | b)

P(a b c) ne P(a) P(b) P(c) P(a b) ne P(a) P(b) P(b c) ne P(b) P(c) P(a c) ne P(a) P(c)

条件付き独立性について

データによって成り立ったり成り立たなかったりする

乗法定理times2(n=6)

乗法定理times2 + 条件付き独立 (n=9)

乗法定理times1 + 独立(n=3)

全て独立(n=1)

乗法定理times1 + 独立 + 条件付き独立(n=6)エッジ0個

エッジ1個

エッジ2個(head-to-tail tail-to-tail)

エッジ2個(head-to-head)

エッジ3個(全結合)

番外編 ベイジアンネットワークの学習

尤度を計算した

= 02= 02= 02= 02= 02= 02

= 0048

= 008= 012= 012

= 02= 02= 02= 02= 013

= 013= 02

= 02= 013

= 008= 008= 008= 012= 008= 012

乗法定理times2(n=6)エッジ3個(全結合)

番外編 ベイジアンネットワークの学習

= 02= 02= 02= 02= 02= 02

乗法定理で変形したものはグラフ構造は違うのにも関わらず尤度は等しい

b

a

cb

a

cb

a

cb

a

cb

a

cb

a

c

乗法定理times2 + 条件付き独立 (n=9)

乗法定理times1 + 独立(n=3)乗法定理times1 + 独立 + 条件付き独立(n=6)

エッジ0個

エッジ1個

エッジ2個(head-to-tail tail-to-tail)

エッジ2個(head-to-head)

番外編 ベイジアンネットワークの学習

= 008= 012= 012

= 02= 02= 02= 02= 013

= 013= 02

= 02= 013

= 008= 008= 008= 012= 008= 012

条件付き独立独立はデータによって成り立ったり成り立たなかったりする

「同じ尤度を持つDAGは複数存在する可能性がある」

21世紀の統計科学 第2巻 第6章 生命システムネットワークを明らかにするための統計的モデリング

Page 9: PRML8章

1-of-K符号化法

K個の状態を取りうる離散変数を扱う際に用いられる要素の一つxkのみが1で他を0とする

x = (001000)T

例 さいころの目が3だった時

ナイーブベイズベイズの定理を分類器として使ったもの

例 スパムメールフィルタ

受信BOX (C1 カテゴリー1)

迷惑メール (C2 カテゴリー2)

受信したメールの文面

グラビア

bag-of-words (D) (例 無料ダウンロードrdquohttphelliprdquo)

実際は分母は無視する (大小関係には無関係) 一度も出現しない単語は全体の確率を0にしてしまう -gt スムージング

httpqiitacomaflcitems13fe52243c35d3b678b0 httpwwwslidesharenetmatuurass-8108633

(迷惑メール件数) (全メール件数)

その他確率変数 X

観測値 Pr(X = x)

確率的に値をとる変数 大文字で書く パラメータで値が決まる関数

実際にとりうる値 小文字で書く

パラメーター X ~ Binom(n p)

実際にとりうる値 斜字体ギリシャ文字とか

第8章 グラフィカルモデル

グラフ

ノード(node)頂点(vertex)

リンク(link)辺(edge)弧(arc)

ノードの集合とエッジの集合で構成されるもの(Wikipedia)

グラフィカルモデル

確率変数

確率変数間の関係

確率変数間の関係性をグラフで表現したもの

グラフィカルモデル有向グラフィカルモデル

(例ベイジアンネットワーク)無向グラフィカルモデル (例 マルコフ確率場)

因果関係 緩い束縛関係 (相関とか)

ベイジアンネットワーク3変数abcの同時確率p(abc)を考える

同時分布p(abc)は乗法定理で以下のように分解できる(81)

(82)また同時分布p(ab)は乗法定理で以下のように分解できる

ベイジアンネットワークベイジアンネットワークはこの確率変数間の因果関係を

グラフで表現したもの

(82)

1 aが起きてhellip

2 aが起きることでbが起きてhellip

3 a bが起きることでcが起きる

図81

aはbの親ノードbはaの子ノード

という

ベイジアンネットワーク

例 K=5の時の全結合グラフ

(83)

乗法定理を繰り返し適用する事で同時分布は各変数上の条件付き分布の積として書ける(全結合)

x1 x2 x3 x4 x5

自分よりも小さい番号がふられたすべてのノードから向かってくるリンクをもつ

ベイジアンネットワーク

図82

(84)

ベイジアンネットワーク一般系で書くと

(pak xkの親ノードの集合)

この式は同時分布の分解特性を表現したという

ベイジアンネットワークは有向閉路を持たない有向非循環グラフ(DAG Directed acyclic graph)

とか みたいなループ構造が無いという事 (自然現象ではよくあるけど)

(85)

グラフィカルモデルの書き方126節のベイズ多項式回帰モデル (N変量のデータからyを予測する)

多項式係数ベクトル観測データ

入力データノイズの分散

ガウス事前分布の精度(超パラメーター)

確率変数 (パラメーターで値が変わる)

パラメーター (定数)

sinカーブ

図117太字のxtは訓練データ 細字のxtはテストデータ

グラフィカルモデルの書き方確率変数にだけ注目した書き方(161のシンプル版)

(86)

N個のノードは左のようにまとめて書いてもよい

プレート

図83

図84

グラフィカルモデルの書き方パラメーターも明示的に含んだ書き方

(87)

図85 図86

学習データを入れている事を示す場合は塗りつぶすパラメータは小さい点で書く

観測されない隠れ変数はそのまま (-gt 第9 12章 EMアルゴリズム)

生成モデル観測データが生成される因果仮定を表現したモデル

人口的なデータを生成できる

例 伝承サンプリング(上位ノードから順に値を決めていくというだけ)

図85は生成モデルでは無い xnは値が既に決まっているから

xnの事前分布が必要図85

2

1

23

有向グラフの親子対が共役関係になる分布であると良い性質をもつ (多分解析的に積分が解けるとかモデルが複雑にならないとか)

特に重要なのが以下の二つでこれらは階層的に拡張して

任意の複雑なDAGが構築できる

離散変数 離散変数

ガウス変数 ガウス変数

離散変数

(89)

1-of-K符号化で書かれた多項分布

例 さいころで3が出る確率

パラメーター数 K - 1∵規格化のための制約

パラメーター数 K2 - 1

離散変数1-of-K符号化で書かれた多項分布(二つの状態を取る場合)

∵規格化のための制約

例 さいころABで各々(3 4)が出る確率

以下略hellip(36個パラメーターがある)

とりうる状態が増えるとパラメーターが指数的に増大してしまうKM - 1状態数Mで 個

離散変数乗法定理を用いるとP(x1x2) = P(x2|x1) P(x1)

これは図89の(a)

図89

変数がM個だとパラメーター数は M(K - 1)

でMについて線形

パラメーター数 K2 - 1

パラメーター数 2(K - 1)

離散変数

リンクを除去するとパラメーターを減らせる

全結合 全てが独立

パラメーター数M(K - 1)

パラメーター数 KM - 1

パラメーター数 K - 1 + (M - 1) K (K - 1)

K状態の連鎖

図810

x1 x2 xM x1 x2 xM

離散変数

パラメータを共有する事(sharing tyling)でもパラメーターは減らせる

図811

図812

図810のモデルの事前分布としてディリクレ分布を導入したもの

更に1つのパラメーターuが全ての条件付き分布に共有される場合

パラメーター数K2 - 1

パラメーター数2

離散変数

条件付き分布としてパラメトリックモデルを用いる事でもパラメーターは減らせる

図813

M個の親ノードと一つの子ノード (共に二値変数とする) そのままだとパラメーター数 2M

(810)

親変数の線形結合を入力とするロジスティックシグモイド関数を利用

パラメーター数 M + 1

線形ガウスモデル

(811)

確率的主成分分析因子分析線形動的システムなどで利用されているらしい

平均

pai

分散 vi

xi 全てのノードの同時分布の対数は (85 一般系のベイジアンネットワークより)

(812)

(813)

j

biwixj

線形ガウスモデル平均 u 分散 σ2の正規分布

自然対数をとる(expが消える)

あとはuに

σ2に

を代入すれば813になる

vi

線形ガウスモデル813はxの成分に関する2次関数なのでp(x)はD次元正規分布()

(814)

この時期待値と分散は再帰的に求まる

(815)

(816)

線形ガウスモデルリンクが一つもないD個のノード 全結合グラフ

パラメーター数wij 0個 bi D個 vi D個

パラメーター数wij (D(D-1))2個 bi D個 vi D個

x1

b1 v1

x2

b2 v2

x3

b3 v3

x4

b4 v4x1

b1 v1

x2

b2 v2

x3

b3 v3

x4

b4 v4

線形ガウスモデル中間的なグラフ(例 図814)

パラメーター数wij D - 1個 bi D個 vi D個

x1

b1 v1

x2

b2 v2

x3

b3 v3

x4

b4 v4

線形ガウスモデル

ガウス分布の共役事前分布はガウス分布

ガウス変量の平均をガウス分布とする(事前分布) =gt ガウス分布の平均値は超パラメーター

=gt 超パラメーターがガウス分布だとするhellip(超事前分布)

=gt 階層ベイズモデル(何階層でもモデルを拡張複雑化できる)

条件付き独立性

(820)

bがあってもなくてもaの条件付き確率に影響を与えない

これをcが与えられた下でaはbに対して条件付き独立であるという

cに対してaとbが条件付き独立とは以下のように書く

(821)

(822)

条件付き独立性が示せるとリンクを減らせる

a

c

ba

c

b

可能性のある全ての条件付き独立性を調べればリンクは減らせる =gt 実際には計算量が膨大

=gt グラフの形だけで独立かどうか判断が可能(d-separationという枠組み)

条件付き独立性

以降はまず3つのノードの簡単なグラフで説明する

3つのグラフの例①

ab

c

tail-to-tail

cに対して周辺化

これはp(a) p(b)という形には変形できない (独立ではない)

cで条件付ける

p(a|c) p(b|c)という形に変形できた(条件付き独立block)

(823)

(824)tailtail

3つのグラフの例②

ab

c

head-to-tail

cに対して周辺化

これはp(a) p(b)という形には変形できない (独立ではない)

cで条件付ける

p(a|c) p(b|c)という形に変形できた(条件付き独立block)

(826)

3つのグラフの例③

ab

c

head-to-head

cに対して周辺化

これはp(a) p(b)という形に変形できた(独立)

(828)

確率の総和は1だから

3つのグラフの例③

ab

c

head-to-head

cで条件付ける

p(a|c) p(b|c)という形に変形できない(unblock)

(828)

3つのグラフの例(まとめ)

グラフの形 cで周辺化 cで条件付け

tail-to-tail 独立ではない 条件付き独立(block)

head-to-tail 独立ではない 条件付き独立(block)

head-to-head 独立 独立ではない(unblock)

head-to-headの更に特殊な性質(弁明)

図820

バッテリーの状態 0切れている

1充電されている

燃料タンクの状態 0空1満タン

電動燃料計 0空と示している

1満タンと示している

p(B=1) = 09 p(F=1) = 09

p(G=1 | B = 1 F = 1) = 08 p(G=1 | B = 1 F = 0) = 02 p(G=1 | B = 0 F = 1) = 02 p(G=1 | B = 0 F = 0) = 01

p(B=0) = 01 p(F=0) = 01

p(G=0 | B = 1 F = 1) = 02 p(G=0 | B = 1 F = 0) = 08 p(G=0 | B = 0 F = 1) = 08 p(G=0 | B = 0 F = 0) = 09

事前にこういった情報が与えられているとする

head-to-headの更に特殊な性質(弁明)

何も観測されていないとき燃料タンクが空である確率は

p(F=0) = 01

燃料計が空を指しているという事実を観測した時の燃料タンクが空である確率は(ベイズの定理より)

少し確率が高まっている

確率が低くなる

さらにバッテリーが切れている事実を観測した時の燃料タンクが空である確率は

図821

head-to-headの更に特殊な性質(弁明)

さらに子孫ノードのいずれかが観測されても 燃料タンクが空になる確率は変化する

子孫ノードが0

有向分離(D分離)リンクを遮断する時の法則今までの話をノード集合にまで拡張したもの

(グラフの形だけでわかる)

(a) 集合Cに含まれるノードであって経路に含まれる矢印がそこでhead-to-tailあるいはtail-to-tailである

(b) 経路に含まれる矢印がそのノードでhead-to-headであり自身あるいはそのすべての子孫のいずれもが集合Cに含まれない

CA B CA B

CA B

あらゆるA-C-Bの経路が遮断されていれば集合Aは集合Cにおいて集合Bと条件付き独立

有向分離(D分離)

図822

A AC C

B B

ノードaとノードbは集合C(ノードe f)で遮断できるかcが観測された場合 fが観測された場合

-gt 遮断されない -gt 遮断される

∵ fがtail-to-tailで観測されていない

eはhead-to-headだが子孫fがCに含まれる

∵ fがtail-to-tailで観測されている

eはhead-to-headでそれ自身あるいはその子孫が条件付き集合に

含まれない

有向分離(D分離)図85のモデルの有向分離性

パラメーターは観測済みノードと同じ amp 親ノードが無い

-gt 他のノードとのつながりは必ずtail-to-tailになる -gt 有向分離性に影響しない

124節のiidデータの有向分離性

図823

パラメーターuはtail-to-tail -gt uに値を入力したらあらゆる子ノード間で独立

-gt iid

uを積分消去した場合観測値は独立ではない

(835)

有向分離(D分離)図87のモデルの有向分離性

(836)

有向分離(D分離)ナイーブベイズの有向分離性

図824

例 bag-of-words

例 受信BOX迷惑メール

zが観測されるとあらゆるxノード間は独立

有向分離定理

1 有向分解(乗法定理を繰り返し適用して得た条件付き確率分布)

2 有向分離 (条件付き独立を繰り返し適用して得た条件付き確率分布)

以下の二つは同じ分布を得る

マルコフブランケット

xiが起きる確率をxi以外の全てのノードで条件付けた分布で考える

分母をxiで周辺化する

条件付き確率の積にする

xiに依存しないノードの条件付き確率は分子と打ち消し合う(次頁)

あるノードの条件付き独立性を考える時の最小単位

マルコフブランケット

図826

つまりxiの条件付き独立を考える時 1) 親子 2) 共同親 だけを考えれば良い

共同親A B

C

D E

F G

結局Cの条件付き確率P(C|AB)と Cの子ノードの条件付き確率P(D|CF)やP(E|CG)だけ残る

Cを含まない項は全部消える

無向グラフ(マルコフ確率場)無向グラフは条件付き独立を考えるのが簡単

図827集合Cを取り除いてA-B間の経路が無くなるなら条件付き独立

図828

無向グラフはマルコフブランケットも簡単

隣接ノードだけ考えれば良い

無向グラフ(マルコフ確率場)無向グラフの分解特性(これまで乗法定理を繰り返し適用していたもの)は以下のように定式化される

(838)

xi xj以外の全てのノードを取り除いた時の同時確率

よりと書くことも

各々の確率に分割できるならxijにおいてxixjは条件付き独立

クリーク

図829

無向グラフの分解特性は極大クリーク変数集合の関数にする事

クリーク x1 x2 x2 x3 x3 x4 x4 x2 極大クリーク x1 x2 x3 x2 x3 x4 x1 x2 x3 x4はクリークではない(x1 - x4間にリンクがない)

クリーク 全てのノードの組にリンクが存在するグラフの部分集合 極大クリーク もう一つを加えるとクリークでなくなってしまうようなクリーク

ポテンシャル関数極大クリークを引数としたポテンシャル関数

の積に分解するどんな関数にするかは言及しない

基本的に総和は1にならない -gt 規格化定数(分配関数)を導入

-gt 計算は大変

画像のノイズ除去の例

元のピクセル

ランダムに反転したピクセル

元画像10のピクセルをランダムに反転

ICMによる復元グラフカットアルゴリズムによる復元

(841)(842)

(843)

図831

有向-gt無向の変換図832のような簡単な場合

有向グラフ(a)無向グラフ(b)

以下のような対応づけができる

有向-gt無向の変換図833のような場合

親同士をリンクで結ぶ(モラル化)

1 向きを無くす 2 モラル化する 3 規格化する -gt ジャンクションツリーアルゴリズム(84)

生物の細胞

遺伝子間が相互作用のネットワークを形成している

geneX geneY

Protein X

Protein Y

様々な実験での遺伝子発現データ

とりうる可能性高い遺伝子ネットワークを探索(MAP推定)

データからこれを推定したい

実験

遺伝子

more

番外編 ベイジアンネットワークの学習

rarr 近似的に求めるアルゴリズムが開発される

httpwwwsclsrikenjpscruisesoftwaresign-bnhtml

番外編 ベイジアンネットワークの学習

こういうネットワーク構造は未知でデータから推定するアプローチはベイジアンネットワークのrdquo学習rdquoとかrdquo推論rdquoというらしい

(848で紹介だけしている)

SiGN-BN スパコン「京」で計算するソフトウェア自分の修論の内容

Rのbnlearnパッケージ(CBRCのBlue Gene上で実行)httpsignhgcjpsignbnindex_jahtml

番外編 ベイジアンネットワークの学習

番外編 ベイジアンネットワークの学習

どのグラフが良いか決める基準 尤度情報量基準(AIC BIC 尤度ampパラメーター数)

MAP推定(尤度times事前分布)hellip

データを元に最も最適と思われるグラフ構造を探索する

データ

グラフ

1 0 01 1 01 0 10 1 01 0 10 0 01 1 00 0 01 1 10 0 1

a b cb

a

c

b

a

c

b

a

c

データからグラフ構造を推定したい場合単純な式変形をしただけだと数学的に等しいので結局最適なグラフ構造を決定できないのでは(勉強会での議論)

=gt 実際にやってみた

番外編 ベイジアンネットワークの学習

httpwwwsclsrikenjpscruisewp-contentuploadssites3201312SIGN_HGC_Seminar_Tamada201302pdf

httpenwikipediaorgwikiDirected_acyclic_graph

ノード数の増加に対する取りうるDAG数

番外編 ベイジアンネットワークの学習

3ノードなら手計算でいけそう

乗法定理times2(n=6)

乗法定理times2 + 条件付き独立 (n=9)

乗法定理times1 + 独立(n=3)

全て独立(n=1)

乗法定理を使う (このままではグラフとして表現できない)

乗法定理times1 + 独立 + 条件付き独立(n=6)エッジ0個

エッジ1個

エッジ2個(head-to-tail tail-to-tail)

エッジ2個(head-to-head)

エッジ3個(全結合)

ノード3つで式変形を片っ端から行った

番外編 ベイジアンネットワークの学習

試しに以下のような簡単な01データを用いる またここでは単純に尤度のみでグラフの善し悪しを判定する

番外編 ベイジアンネットワークの学習

0 0 00 0 00 0 00 0 01 0 01 0 01 1 01 1 01 1 11 1 1

a b c

P(a) = 35 P(b) = 25 P(c) = 15 P(a b) = 25 P(b c) = 15 P(a c) = 15 P(a b c) = 15

P(a | b c) = 1 P(b | a c) = 1 P(c | a b) = 12 P(a | b) = 1 P(a | c) = 1 P(b | a) = 23 P(b | c) = 1 P(c | a) = 13 P(c | b) = 12

独立性について

番外編 ベイジアンネットワークの学習

0 0 00 0 00 0 00 0 01 0 01 0 01 1 01 1 01 1 11 1 1

a b c

P(a | b c) = P(a | b) P(a | b c) = P(a | c) P(b | a c) ne P(b | a) P(b | a c) = P(b | c) P(c | a b) ne P(c | a) P(c | a b) = P(c | b)

P(a b c) ne P(a) P(b) P(c) P(a b) ne P(a) P(b) P(b c) ne P(b) P(c) P(a c) ne P(a) P(c)

条件付き独立性について

データによって成り立ったり成り立たなかったりする

乗法定理times2(n=6)

乗法定理times2 + 条件付き独立 (n=9)

乗法定理times1 + 独立(n=3)

全て独立(n=1)

乗法定理times1 + 独立 + 条件付き独立(n=6)エッジ0個

エッジ1個

エッジ2個(head-to-tail tail-to-tail)

エッジ2個(head-to-head)

エッジ3個(全結合)

番外編 ベイジアンネットワークの学習

尤度を計算した

= 02= 02= 02= 02= 02= 02

= 0048

= 008= 012= 012

= 02= 02= 02= 02= 013

= 013= 02

= 02= 013

= 008= 008= 008= 012= 008= 012

乗法定理times2(n=6)エッジ3個(全結合)

番外編 ベイジアンネットワークの学習

= 02= 02= 02= 02= 02= 02

乗法定理で変形したものはグラフ構造は違うのにも関わらず尤度は等しい

b

a

cb

a

cb

a

cb

a

cb

a

cb

a

c

乗法定理times2 + 条件付き独立 (n=9)

乗法定理times1 + 独立(n=3)乗法定理times1 + 独立 + 条件付き独立(n=6)

エッジ0個

エッジ1個

エッジ2個(head-to-tail tail-to-tail)

エッジ2個(head-to-head)

番外編 ベイジアンネットワークの学習

= 008= 012= 012

= 02= 02= 02= 02= 013

= 013= 02

= 02= 013

= 008= 008= 008= 012= 008= 012

条件付き独立独立はデータによって成り立ったり成り立たなかったりする

「同じ尤度を持つDAGは複数存在する可能性がある」

21世紀の統計科学 第2巻 第6章 生命システムネットワークを明らかにするための統計的モデリング

Page 10: PRML8章

ナイーブベイズベイズの定理を分類器として使ったもの

例 スパムメールフィルタ

受信BOX (C1 カテゴリー1)

迷惑メール (C2 カテゴリー2)

受信したメールの文面

グラビア

bag-of-words (D) (例 無料ダウンロードrdquohttphelliprdquo)

実際は分母は無視する (大小関係には無関係) 一度も出現しない単語は全体の確率を0にしてしまう -gt スムージング

httpqiitacomaflcitems13fe52243c35d3b678b0 httpwwwslidesharenetmatuurass-8108633

(迷惑メール件数) (全メール件数)

その他確率変数 X

観測値 Pr(X = x)

確率的に値をとる変数 大文字で書く パラメータで値が決まる関数

実際にとりうる値 小文字で書く

パラメーター X ~ Binom(n p)

実際にとりうる値 斜字体ギリシャ文字とか

第8章 グラフィカルモデル

グラフ

ノード(node)頂点(vertex)

リンク(link)辺(edge)弧(arc)

ノードの集合とエッジの集合で構成されるもの(Wikipedia)

グラフィカルモデル

確率変数

確率変数間の関係

確率変数間の関係性をグラフで表現したもの

グラフィカルモデル有向グラフィカルモデル

(例ベイジアンネットワーク)無向グラフィカルモデル (例 マルコフ確率場)

因果関係 緩い束縛関係 (相関とか)

ベイジアンネットワーク3変数abcの同時確率p(abc)を考える

同時分布p(abc)は乗法定理で以下のように分解できる(81)

(82)また同時分布p(ab)は乗法定理で以下のように分解できる

ベイジアンネットワークベイジアンネットワークはこの確率変数間の因果関係を

グラフで表現したもの

(82)

1 aが起きてhellip

2 aが起きることでbが起きてhellip

3 a bが起きることでcが起きる

図81

aはbの親ノードbはaの子ノード

という

ベイジアンネットワーク

例 K=5の時の全結合グラフ

(83)

乗法定理を繰り返し適用する事で同時分布は各変数上の条件付き分布の積として書ける(全結合)

x1 x2 x3 x4 x5

自分よりも小さい番号がふられたすべてのノードから向かってくるリンクをもつ

ベイジアンネットワーク

図82

(84)

ベイジアンネットワーク一般系で書くと

(pak xkの親ノードの集合)

この式は同時分布の分解特性を表現したという

ベイジアンネットワークは有向閉路を持たない有向非循環グラフ(DAG Directed acyclic graph)

とか みたいなループ構造が無いという事 (自然現象ではよくあるけど)

(85)

グラフィカルモデルの書き方126節のベイズ多項式回帰モデル (N変量のデータからyを予測する)

多項式係数ベクトル観測データ

入力データノイズの分散

ガウス事前分布の精度(超パラメーター)

確率変数 (パラメーターで値が変わる)

パラメーター (定数)

sinカーブ

図117太字のxtは訓練データ 細字のxtはテストデータ

グラフィカルモデルの書き方確率変数にだけ注目した書き方(161のシンプル版)

(86)

N個のノードは左のようにまとめて書いてもよい

プレート

図83

図84

グラフィカルモデルの書き方パラメーターも明示的に含んだ書き方

(87)

図85 図86

学習データを入れている事を示す場合は塗りつぶすパラメータは小さい点で書く

観測されない隠れ変数はそのまま (-gt 第9 12章 EMアルゴリズム)

生成モデル観測データが生成される因果仮定を表現したモデル

人口的なデータを生成できる

例 伝承サンプリング(上位ノードから順に値を決めていくというだけ)

図85は生成モデルでは無い xnは値が既に決まっているから

xnの事前分布が必要図85

2

1

23

有向グラフの親子対が共役関係になる分布であると良い性質をもつ (多分解析的に積分が解けるとかモデルが複雑にならないとか)

特に重要なのが以下の二つでこれらは階層的に拡張して

任意の複雑なDAGが構築できる

離散変数 離散変数

ガウス変数 ガウス変数

離散変数

(89)

1-of-K符号化で書かれた多項分布

例 さいころで3が出る確率

パラメーター数 K - 1∵規格化のための制約

パラメーター数 K2 - 1

離散変数1-of-K符号化で書かれた多項分布(二つの状態を取る場合)

∵規格化のための制約

例 さいころABで各々(3 4)が出る確率

以下略hellip(36個パラメーターがある)

とりうる状態が増えるとパラメーターが指数的に増大してしまうKM - 1状態数Mで 個

離散変数乗法定理を用いるとP(x1x2) = P(x2|x1) P(x1)

これは図89の(a)

図89

変数がM個だとパラメーター数は M(K - 1)

でMについて線形

パラメーター数 K2 - 1

パラメーター数 2(K - 1)

離散変数

リンクを除去するとパラメーターを減らせる

全結合 全てが独立

パラメーター数M(K - 1)

パラメーター数 KM - 1

パラメーター数 K - 1 + (M - 1) K (K - 1)

K状態の連鎖

図810

x1 x2 xM x1 x2 xM

離散変数

パラメータを共有する事(sharing tyling)でもパラメーターは減らせる

図811

図812

図810のモデルの事前分布としてディリクレ分布を導入したもの

更に1つのパラメーターuが全ての条件付き分布に共有される場合

パラメーター数K2 - 1

パラメーター数2

離散変数

条件付き分布としてパラメトリックモデルを用いる事でもパラメーターは減らせる

図813

M個の親ノードと一つの子ノード (共に二値変数とする) そのままだとパラメーター数 2M

(810)

親変数の線形結合を入力とするロジスティックシグモイド関数を利用

パラメーター数 M + 1

線形ガウスモデル

(811)

確率的主成分分析因子分析線形動的システムなどで利用されているらしい

平均

pai

分散 vi

xi 全てのノードの同時分布の対数は (85 一般系のベイジアンネットワークより)

(812)

(813)

j

biwixj

線形ガウスモデル平均 u 分散 σ2の正規分布

自然対数をとる(expが消える)

あとはuに

σ2に

を代入すれば813になる

vi

線形ガウスモデル813はxの成分に関する2次関数なのでp(x)はD次元正規分布()

(814)

この時期待値と分散は再帰的に求まる

(815)

(816)

線形ガウスモデルリンクが一つもないD個のノード 全結合グラフ

パラメーター数wij 0個 bi D個 vi D個

パラメーター数wij (D(D-1))2個 bi D個 vi D個

x1

b1 v1

x2

b2 v2

x3

b3 v3

x4

b4 v4x1

b1 v1

x2

b2 v2

x3

b3 v3

x4

b4 v4

線形ガウスモデル中間的なグラフ(例 図814)

パラメーター数wij D - 1個 bi D個 vi D個

x1

b1 v1

x2

b2 v2

x3

b3 v3

x4

b4 v4

線形ガウスモデル

ガウス分布の共役事前分布はガウス分布

ガウス変量の平均をガウス分布とする(事前分布) =gt ガウス分布の平均値は超パラメーター

=gt 超パラメーターがガウス分布だとするhellip(超事前分布)

=gt 階層ベイズモデル(何階層でもモデルを拡張複雑化できる)

条件付き独立性

(820)

bがあってもなくてもaの条件付き確率に影響を与えない

これをcが与えられた下でaはbに対して条件付き独立であるという

cに対してaとbが条件付き独立とは以下のように書く

(821)

(822)

条件付き独立性が示せるとリンクを減らせる

a

c

ba

c

b

可能性のある全ての条件付き独立性を調べればリンクは減らせる =gt 実際には計算量が膨大

=gt グラフの形だけで独立かどうか判断が可能(d-separationという枠組み)

条件付き独立性

以降はまず3つのノードの簡単なグラフで説明する

3つのグラフの例①

ab

c

tail-to-tail

cに対して周辺化

これはp(a) p(b)という形には変形できない (独立ではない)

cで条件付ける

p(a|c) p(b|c)という形に変形できた(条件付き独立block)

(823)

(824)tailtail

3つのグラフの例②

ab

c

head-to-tail

cに対して周辺化

これはp(a) p(b)という形には変形できない (独立ではない)

cで条件付ける

p(a|c) p(b|c)という形に変形できた(条件付き独立block)

(826)

3つのグラフの例③

ab

c

head-to-head

cに対して周辺化

これはp(a) p(b)という形に変形できた(独立)

(828)

確率の総和は1だから

3つのグラフの例③

ab

c

head-to-head

cで条件付ける

p(a|c) p(b|c)という形に変形できない(unblock)

(828)

3つのグラフの例(まとめ)

グラフの形 cで周辺化 cで条件付け

tail-to-tail 独立ではない 条件付き独立(block)

head-to-tail 独立ではない 条件付き独立(block)

head-to-head 独立 独立ではない(unblock)

head-to-headの更に特殊な性質(弁明)

図820

バッテリーの状態 0切れている

1充電されている

燃料タンクの状態 0空1満タン

電動燃料計 0空と示している

1満タンと示している

p(B=1) = 09 p(F=1) = 09

p(G=1 | B = 1 F = 1) = 08 p(G=1 | B = 1 F = 0) = 02 p(G=1 | B = 0 F = 1) = 02 p(G=1 | B = 0 F = 0) = 01

p(B=0) = 01 p(F=0) = 01

p(G=0 | B = 1 F = 1) = 02 p(G=0 | B = 1 F = 0) = 08 p(G=0 | B = 0 F = 1) = 08 p(G=0 | B = 0 F = 0) = 09

事前にこういった情報が与えられているとする

head-to-headの更に特殊な性質(弁明)

何も観測されていないとき燃料タンクが空である確率は

p(F=0) = 01

燃料計が空を指しているという事実を観測した時の燃料タンクが空である確率は(ベイズの定理より)

少し確率が高まっている

確率が低くなる

さらにバッテリーが切れている事実を観測した時の燃料タンクが空である確率は

図821

head-to-headの更に特殊な性質(弁明)

さらに子孫ノードのいずれかが観測されても 燃料タンクが空になる確率は変化する

子孫ノードが0

有向分離(D分離)リンクを遮断する時の法則今までの話をノード集合にまで拡張したもの

(グラフの形だけでわかる)

(a) 集合Cに含まれるノードであって経路に含まれる矢印がそこでhead-to-tailあるいはtail-to-tailである

(b) 経路に含まれる矢印がそのノードでhead-to-headであり自身あるいはそのすべての子孫のいずれもが集合Cに含まれない

CA B CA B

CA B

あらゆるA-C-Bの経路が遮断されていれば集合Aは集合Cにおいて集合Bと条件付き独立

有向分離(D分離)

図822

A AC C

B B

ノードaとノードbは集合C(ノードe f)で遮断できるかcが観測された場合 fが観測された場合

-gt 遮断されない -gt 遮断される

∵ fがtail-to-tailで観測されていない

eはhead-to-headだが子孫fがCに含まれる

∵ fがtail-to-tailで観測されている

eはhead-to-headでそれ自身あるいはその子孫が条件付き集合に

含まれない

有向分離(D分離)図85のモデルの有向分離性

パラメーターは観測済みノードと同じ amp 親ノードが無い

-gt 他のノードとのつながりは必ずtail-to-tailになる -gt 有向分離性に影響しない

124節のiidデータの有向分離性

図823

パラメーターuはtail-to-tail -gt uに値を入力したらあらゆる子ノード間で独立

-gt iid

uを積分消去した場合観測値は独立ではない

(835)

有向分離(D分離)図87のモデルの有向分離性

(836)

有向分離(D分離)ナイーブベイズの有向分離性

図824

例 bag-of-words

例 受信BOX迷惑メール

zが観測されるとあらゆるxノード間は独立

有向分離定理

1 有向分解(乗法定理を繰り返し適用して得た条件付き確率分布)

2 有向分離 (条件付き独立を繰り返し適用して得た条件付き確率分布)

以下の二つは同じ分布を得る

マルコフブランケット

xiが起きる確率をxi以外の全てのノードで条件付けた分布で考える

分母をxiで周辺化する

条件付き確率の積にする

xiに依存しないノードの条件付き確率は分子と打ち消し合う(次頁)

あるノードの条件付き独立性を考える時の最小単位

マルコフブランケット

図826

つまりxiの条件付き独立を考える時 1) 親子 2) 共同親 だけを考えれば良い

共同親A B

C

D E

F G

結局Cの条件付き確率P(C|AB)と Cの子ノードの条件付き確率P(D|CF)やP(E|CG)だけ残る

Cを含まない項は全部消える

無向グラフ(マルコフ確率場)無向グラフは条件付き独立を考えるのが簡単

図827集合Cを取り除いてA-B間の経路が無くなるなら条件付き独立

図828

無向グラフはマルコフブランケットも簡単

隣接ノードだけ考えれば良い

無向グラフ(マルコフ確率場)無向グラフの分解特性(これまで乗法定理を繰り返し適用していたもの)は以下のように定式化される

(838)

xi xj以外の全てのノードを取り除いた時の同時確率

よりと書くことも

各々の確率に分割できるならxijにおいてxixjは条件付き独立

クリーク

図829

無向グラフの分解特性は極大クリーク変数集合の関数にする事

クリーク x1 x2 x2 x3 x3 x4 x4 x2 極大クリーク x1 x2 x3 x2 x3 x4 x1 x2 x3 x4はクリークではない(x1 - x4間にリンクがない)

クリーク 全てのノードの組にリンクが存在するグラフの部分集合 極大クリーク もう一つを加えるとクリークでなくなってしまうようなクリーク

ポテンシャル関数極大クリークを引数としたポテンシャル関数

の積に分解するどんな関数にするかは言及しない

基本的に総和は1にならない -gt 規格化定数(分配関数)を導入

-gt 計算は大変

画像のノイズ除去の例

元のピクセル

ランダムに反転したピクセル

元画像10のピクセルをランダムに反転

ICMによる復元グラフカットアルゴリズムによる復元

(841)(842)

(843)

図831

有向-gt無向の変換図832のような簡単な場合

有向グラフ(a)無向グラフ(b)

以下のような対応づけができる

有向-gt無向の変換図833のような場合

親同士をリンクで結ぶ(モラル化)

1 向きを無くす 2 モラル化する 3 規格化する -gt ジャンクションツリーアルゴリズム(84)

生物の細胞

遺伝子間が相互作用のネットワークを形成している

geneX geneY

Protein X

Protein Y

様々な実験での遺伝子発現データ

とりうる可能性高い遺伝子ネットワークを探索(MAP推定)

データからこれを推定したい

実験

遺伝子

more

番外編 ベイジアンネットワークの学習

rarr 近似的に求めるアルゴリズムが開発される

httpwwwsclsrikenjpscruisesoftwaresign-bnhtml

番外編 ベイジアンネットワークの学習

こういうネットワーク構造は未知でデータから推定するアプローチはベイジアンネットワークのrdquo学習rdquoとかrdquo推論rdquoというらしい

(848で紹介だけしている)

SiGN-BN スパコン「京」で計算するソフトウェア自分の修論の内容

Rのbnlearnパッケージ(CBRCのBlue Gene上で実行)httpsignhgcjpsignbnindex_jahtml

番外編 ベイジアンネットワークの学習

番外編 ベイジアンネットワークの学習

どのグラフが良いか決める基準 尤度情報量基準(AIC BIC 尤度ampパラメーター数)

MAP推定(尤度times事前分布)hellip

データを元に最も最適と思われるグラフ構造を探索する

データ

グラフ

1 0 01 1 01 0 10 1 01 0 10 0 01 1 00 0 01 1 10 0 1

a b cb

a

c

b

a

c

b

a

c

データからグラフ構造を推定したい場合単純な式変形をしただけだと数学的に等しいので結局最適なグラフ構造を決定できないのでは(勉強会での議論)

=gt 実際にやってみた

番外編 ベイジアンネットワークの学習

httpwwwsclsrikenjpscruisewp-contentuploadssites3201312SIGN_HGC_Seminar_Tamada201302pdf

httpenwikipediaorgwikiDirected_acyclic_graph

ノード数の増加に対する取りうるDAG数

番外編 ベイジアンネットワークの学習

3ノードなら手計算でいけそう

乗法定理times2(n=6)

乗法定理times2 + 条件付き独立 (n=9)

乗法定理times1 + 独立(n=3)

全て独立(n=1)

乗法定理を使う (このままではグラフとして表現できない)

乗法定理times1 + 独立 + 条件付き独立(n=6)エッジ0個

エッジ1個

エッジ2個(head-to-tail tail-to-tail)

エッジ2個(head-to-head)

エッジ3個(全結合)

ノード3つで式変形を片っ端から行った

番外編 ベイジアンネットワークの学習

試しに以下のような簡単な01データを用いる またここでは単純に尤度のみでグラフの善し悪しを判定する

番外編 ベイジアンネットワークの学習

0 0 00 0 00 0 00 0 01 0 01 0 01 1 01 1 01 1 11 1 1

a b c

P(a) = 35 P(b) = 25 P(c) = 15 P(a b) = 25 P(b c) = 15 P(a c) = 15 P(a b c) = 15

P(a | b c) = 1 P(b | a c) = 1 P(c | a b) = 12 P(a | b) = 1 P(a | c) = 1 P(b | a) = 23 P(b | c) = 1 P(c | a) = 13 P(c | b) = 12

独立性について

番外編 ベイジアンネットワークの学習

0 0 00 0 00 0 00 0 01 0 01 0 01 1 01 1 01 1 11 1 1

a b c

P(a | b c) = P(a | b) P(a | b c) = P(a | c) P(b | a c) ne P(b | a) P(b | a c) = P(b | c) P(c | a b) ne P(c | a) P(c | a b) = P(c | b)

P(a b c) ne P(a) P(b) P(c) P(a b) ne P(a) P(b) P(b c) ne P(b) P(c) P(a c) ne P(a) P(c)

条件付き独立性について

データによって成り立ったり成り立たなかったりする

乗法定理times2(n=6)

乗法定理times2 + 条件付き独立 (n=9)

乗法定理times1 + 独立(n=3)

全て独立(n=1)

乗法定理times1 + 独立 + 条件付き独立(n=6)エッジ0個

エッジ1個

エッジ2個(head-to-tail tail-to-tail)

エッジ2個(head-to-head)

エッジ3個(全結合)

番外編 ベイジアンネットワークの学習

尤度を計算した

= 02= 02= 02= 02= 02= 02

= 0048

= 008= 012= 012

= 02= 02= 02= 02= 013

= 013= 02

= 02= 013

= 008= 008= 008= 012= 008= 012

乗法定理times2(n=6)エッジ3個(全結合)

番外編 ベイジアンネットワークの学習

= 02= 02= 02= 02= 02= 02

乗法定理で変形したものはグラフ構造は違うのにも関わらず尤度は等しい

b

a

cb

a

cb

a

cb

a

cb

a

cb

a

c

乗法定理times2 + 条件付き独立 (n=9)

乗法定理times1 + 独立(n=3)乗法定理times1 + 独立 + 条件付き独立(n=6)

エッジ0個

エッジ1個

エッジ2個(head-to-tail tail-to-tail)

エッジ2個(head-to-head)

番外編 ベイジアンネットワークの学習

= 008= 012= 012

= 02= 02= 02= 02= 013

= 013= 02

= 02= 013

= 008= 008= 008= 012= 008= 012

条件付き独立独立はデータによって成り立ったり成り立たなかったりする

「同じ尤度を持つDAGは複数存在する可能性がある」

21世紀の統計科学 第2巻 第6章 生命システムネットワークを明らかにするための統計的モデリング

Page 11: PRML8章

その他確率変数 X

観測値 Pr(X = x)

確率的に値をとる変数 大文字で書く パラメータで値が決まる関数

実際にとりうる値 小文字で書く

パラメーター X ~ Binom(n p)

実際にとりうる値 斜字体ギリシャ文字とか

第8章 グラフィカルモデル

グラフ

ノード(node)頂点(vertex)

リンク(link)辺(edge)弧(arc)

ノードの集合とエッジの集合で構成されるもの(Wikipedia)

グラフィカルモデル

確率変数

確率変数間の関係

確率変数間の関係性をグラフで表現したもの

グラフィカルモデル有向グラフィカルモデル

(例ベイジアンネットワーク)無向グラフィカルモデル (例 マルコフ確率場)

因果関係 緩い束縛関係 (相関とか)

ベイジアンネットワーク3変数abcの同時確率p(abc)を考える

同時分布p(abc)は乗法定理で以下のように分解できる(81)

(82)また同時分布p(ab)は乗法定理で以下のように分解できる

ベイジアンネットワークベイジアンネットワークはこの確率変数間の因果関係を

グラフで表現したもの

(82)

1 aが起きてhellip

2 aが起きることでbが起きてhellip

3 a bが起きることでcが起きる

図81

aはbの親ノードbはaの子ノード

という

ベイジアンネットワーク

例 K=5の時の全結合グラフ

(83)

乗法定理を繰り返し適用する事で同時分布は各変数上の条件付き分布の積として書ける(全結合)

x1 x2 x3 x4 x5

自分よりも小さい番号がふられたすべてのノードから向かってくるリンクをもつ

ベイジアンネットワーク

図82

(84)

ベイジアンネットワーク一般系で書くと

(pak xkの親ノードの集合)

この式は同時分布の分解特性を表現したという

ベイジアンネットワークは有向閉路を持たない有向非循環グラフ(DAG Directed acyclic graph)

とか みたいなループ構造が無いという事 (自然現象ではよくあるけど)

(85)

グラフィカルモデルの書き方126節のベイズ多項式回帰モデル (N変量のデータからyを予測する)

多項式係数ベクトル観測データ

入力データノイズの分散

ガウス事前分布の精度(超パラメーター)

確率変数 (パラメーターで値が変わる)

パラメーター (定数)

sinカーブ

図117太字のxtは訓練データ 細字のxtはテストデータ

グラフィカルモデルの書き方確率変数にだけ注目した書き方(161のシンプル版)

(86)

N個のノードは左のようにまとめて書いてもよい

プレート

図83

図84

グラフィカルモデルの書き方パラメーターも明示的に含んだ書き方

(87)

図85 図86

学習データを入れている事を示す場合は塗りつぶすパラメータは小さい点で書く

観測されない隠れ変数はそのまま (-gt 第9 12章 EMアルゴリズム)

生成モデル観測データが生成される因果仮定を表現したモデル

人口的なデータを生成できる

例 伝承サンプリング(上位ノードから順に値を決めていくというだけ)

図85は生成モデルでは無い xnは値が既に決まっているから

xnの事前分布が必要図85

2

1

23

有向グラフの親子対が共役関係になる分布であると良い性質をもつ (多分解析的に積分が解けるとかモデルが複雑にならないとか)

特に重要なのが以下の二つでこれらは階層的に拡張して

任意の複雑なDAGが構築できる

離散変数 離散変数

ガウス変数 ガウス変数

離散変数

(89)

1-of-K符号化で書かれた多項分布

例 さいころで3が出る確率

パラメーター数 K - 1∵規格化のための制約

パラメーター数 K2 - 1

離散変数1-of-K符号化で書かれた多項分布(二つの状態を取る場合)

∵規格化のための制約

例 さいころABで各々(3 4)が出る確率

以下略hellip(36個パラメーターがある)

とりうる状態が増えるとパラメーターが指数的に増大してしまうKM - 1状態数Mで 個

離散変数乗法定理を用いるとP(x1x2) = P(x2|x1) P(x1)

これは図89の(a)

図89

変数がM個だとパラメーター数は M(K - 1)

でMについて線形

パラメーター数 K2 - 1

パラメーター数 2(K - 1)

離散変数

リンクを除去するとパラメーターを減らせる

全結合 全てが独立

パラメーター数M(K - 1)

パラメーター数 KM - 1

パラメーター数 K - 1 + (M - 1) K (K - 1)

K状態の連鎖

図810

x1 x2 xM x1 x2 xM

離散変数

パラメータを共有する事(sharing tyling)でもパラメーターは減らせる

図811

図812

図810のモデルの事前分布としてディリクレ分布を導入したもの

更に1つのパラメーターuが全ての条件付き分布に共有される場合

パラメーター数K2 - 1

パラメーター数2

離散変数

条件付き分布としてパラメトリックモデルを用いる事でもパラメーターは減らせる

図813

M個の親ノードと一つの子ノード (共に二値変数とする) そのままだとパラメーター数 2M

(810)

親変数の線形結合を入力とするロジスティックシグモイド関数を利用

パラメーター数 M + 1

線形ガウスモデル

(811)

確率的主成分分析因子分析線形動的システムなどで利用されているらしい

平均

pai

分散 vi

xi 全てのノードの同時分布の対数は (85 一般系のベイジアンネットワークより)

(812)

(813)

j

biwixj

線形ガウスモデル平均 u 分散 σ2の正規分布

自然対数をとる(expが消える)

あとはuに

σ2に

を代入すれば813になる

vi

線形ガウスモデル813はxの成分に関する2次関数なのでp(x)はD次元正規分布()

(814)

この時期待値と分散は再帰的に求まる

(815)

(816)

線形ガウスモデルリンクが一つもないD個のノード 全結合グラフ

パラメーター数wij 0個 bi D個 vi D個

パラメーター数wij (D(D-1))2個 bi D個 vi D個

x1

b1 v1

x2

b2 v2

x3

b3 v3

x4

b4 v4x1

b1 v1

x2

b2 v2

x3

b3 v3

x4

b4 v4

線形ガウスモデル中間的なグラフ(例 図814)

パラメーター数wij D - 1個 bi D個 vi D個

x1

b1 v1

x2

b2 v2

x3

b3 v3

x4

b4 v4

線形ガウスモデル

ガウス分布の共役事前分布はガウス分布

ガウス変量の平均をガウス分布とする(事前分布) =gt ガウス分布の平均値は超パラメーター

=gt 超パラメーターがガウス分布だとするhellip(超事前分布)

=gt 階層ベイズモデル(何階層でもモデルを拡張複雑化できる)

条件付き独立性

(820)

bがあってもなくてもaの条件付き確率に影響を与えない

これをcが与えられた下でaはbに対して条件付き独立であるという

cに対してaとbが条件付き独立とは以下のように書く

(821)

(822)

条件付き独立性が示せるとリンクを減らせる

a

c

ba

c

b

可能性のある全ての条件付き独立性を調べればリンクは減らせる =gt 実際には計算量が膨大

=gt グラフの形だけで独立かどうか判断が可能(d-separationという枠組み)

条件付き独立性

以降はまず3つのノードの簡単なグラフで説明する

3つのグラフの例①

ab

c

tail-to-tail

cに対して周辺化

これはp(a) p(b)という形には変形できない (独立ではない)

cで条件付ける

p(a|c) p(b|c)という形に変形できた(条件付き独立block)

(823)

(824)tailtail

3つのグラフの例②

ab

c

head-to-tail

cに対して周辺化

これはp(a) p(b)という形には変形できない (独立ではない)

cで条件付ける

p(a|c) p(b|c)という形に変形できた(条件付き独立block)

(826)

3つのグラフの例③

ab

c

head-to-head

cに対して周辺化

これはp(a) p(b)という形に変形できた(独立)

(828)

確率の総和は1だから

3つのグラフの例③

ab

c

head-to-head

cで条件付ける

p(a|c) p(b|c)という形に変形できない(unblock)

(828)

3つのグラフの例(まとめ)

グラフの形 cで周辺化 cで条件付け

tail-to-tail 独立ではない 条件付き独立(block)

head-to-tail 独立ではない 条件付き独立(block)

head-to-head 独立 独立ではない(unblock)

head-to-headの更に特殊な性質(弁明)

図820

バッテリーの状態 0切れている

1充電されている

燃料タンクの状態 0空1満タン

電動燃料計 0空と示している

1満タンと示している

p(B=1) = 09 p(F=1) = 09

p(G=1 | B = 1 F = 1) = 08 p(G=1 | B = 1 F = 0) = 02 p(G=1 | B = 0 F = 1) = 02 p(G=1 | B = 0 F = 0) = 01

p(B=0) = 01 p(F=0) = 01

p(G=0 | B = 1 F = 1) = 02 p(G=0 | B = 1 F = 0) = 08 p(G=0 | B = 0 F = 1) = 08 p(G=0 | B = 0 F = 0) = 09

事前にこういった情報が与えられているとする

head-to-headの更に特殊な性質(弁明)

何も観測されていないとき燃料タンクが空である確率は

p(F=0) = 01

燃料計が空を指しているという事実を観測した時の燃料タンクが空である確率は(ベイズの定理より)

少し確率が高まっている

確率が低くなる

さらにバッテリーが切れている事実を観測した時の燃料タンクが空である確率は

図821

head-to-headの更に特殊な性質(弁明)

さらに子孫ノードのいずれかが観測されても 燃料タンクが空になる確率は変化する

子孫ノードが0

有向分離(D分離)リンクを遮断する時の法則今までの話をノード集合にまで拡張したもの

(グラフの形だけでわかる)

(a) 集合Cに含まれるノードであって経路に含まれる矢印がそこでhead-to-tailあるいはtail-to-tailである

(b) 経路に含まれる矢印がそのノードでhead-to-headであり自身あるいはそのすべての子孫のいずれもが集合Cに含まれない

CA B CA B

CA B

あらゆるA-C-Bの経路が遮断されていれば集合Aは集合Cにおいて集合Bと条件付き独立

有向分離(D分離)

図822

A AC C

B B

ノードaとノードbは集合C(ノードe f)で遮断できるかcが観測された場合 fが観測された場合

-gt 遮断されない -gt 遮断される

∵ fがtail-to-tailで観測されていない

eはhead-to-headだが子孫fがCに含まれる

∵ fがtail-to-tailで観測されている

eはhead-to-headでそれ自身あるいはその子孫が条件付き集合に

含まれない

有向分離(D分離)図85のモデルの有向分離性

パラメーターは観測済みノードと同じ amp 親ノードが無い

-gt 他のノードとのつながりは必ずtail-to-tailになる -gt 有向分離性に影響しない

124節のiidデータの有向分離性

図823

パラメーターuはtail-to-tail -gt uに値を入力したらあらゆる子ノード間で独立

-gt iid

uを積分消去した場合観測値は独立ではない

(835)

有向分離(D分離)図87のモデルの有向分離性

(836)

有向分離(D分離)ナイーブベイズの有向分離性

図824

例 bag-of-words

例 受信BOX迷惑メール

zが観測されるとあらゆるxノード間は独立

有向分離定理

1 有向分解(乗法定理を繰り返し適用して得た条件付き確率分布)

2 有向分離 (条件付き独立を繰り返し適用して得た条件付き確率分布)

以下の二つは同じ分布を得る

マルコフブランケット

xiが起きる確率をxi以外の全てのノードで条件付けた分布で考える

分母をxiで周辺化する

条件付き確率の積にする

xiに依存しないノードの条件付き確率は分子と打ち消し合う(次頁)

あるノードの条件付き独立性を考える時の最小単位

マルコフブランケット

図826

つまりxiの条件付き独立を考える時 1) 親子 2) 共同親 だけを考えれば良い

共同親A B

C

D E

F G

結局Cの条件付き確率P(C|AB)と Cの子ノードの条件付き確率P(D|CF)やP(E|CG)だけ残る

Cを含まない項は全部消える

無向グラフ(マルコフ確率場)無向グラフは条件付き独立を考えるのが簡単

図827集合Cを取り除いてA-B間の経路が無くなるなら条件付き独立

図828

無向グラフはマルコフブランケットも簡単

隣接ノードだけ考えれば良い

無向グラフ(マルコフ確率場)無向グラフの分解特性(これまで乗法定理を繰り返し適用していたもの)は以下のように定式化される

(838)

xi xj以外の全てのノードを取り除いた時の同時確率

よりと書くことも

各々の確率に分割できるならxijにおいてxixjは条件付き独立

クリーク

図829

無向グラフの分解特性は極大クリーク変数集合の関数にする事

クリーク x1 x2 x2 x3 x3 x4 x4 x2 極大クリーク x1 x2 x3 x2 x3 x4 x1 x2 x3 x4はクリークではない(x1 - x4間にリンクがない)

クリーク 全てのノードの組にリンクが存在するグラフの部分集合 極大クリーク もう一つを加えるとクリークでなくなってしまうようなクリーク

ポテンシャル関数極大クリークを引数としたポテンシャル関数

の積に分解するどんな関数にするかは言及しない

基本的に総和は1にならない -gt 規格化定数(分配関数)を導入

-gt 計算は大変

画像のノイズ除去の例

元のピクセル

ランダムに反転したピクセル

元画像10のピクセルをランダムに反転

ICMによる復元グラフカットアルゴリズムによる復元

(841)(842)

(843)

図831

有向-gt無向の変換図832のような簡単な場合

有向グラフ(a)無向グラフ(b)

以下のような対応づけができる

有向-gt無向の変換図833のような場合

親同士をリンクで結ぶ(モラル化)

1 向きを無くす 2 モラル化する 3 規格化する -gt ジャンクションツリーアルゴリズム(84)

生物の細胞

遺伝子間が相互作用のネットワークを形成している

geneX geneY

Protein X

Protein Y

様々な実験での遺伝子発現データ

とりうる可能性高い遺伝子ネットワークを探索(MAP推定)

データからこれを推定したい

実験

遺伝子

more

番外編 ベイジアンネットワークの学習

rarr 近似的に求めるアルゴリズムが開発される

httpwwwsclsrikenjpscruisesoftwaresign-bnhtml

番外編 ベイジアンネットワークの学習

こういうネットワーク構造は未知でデータから推定するアプローチはベイジアンネットワークのrdquo学習rdquoとかrdquo推論rdquoというらしい

(848で紹介だけしている)

SiGN-BN スパコン「京」で計算するソフトウェア自分の修論の内容

Rのbnlearnパッケージ(CBRCのBlue Gene上で実行)httpsignhgcjpsignbnindex_jahtml

番外編 ベイジアンネットワークの学習

番外編 ベイジアンネットワークの学習

どのグラフが良いか決める基準 尤度情報量基準(AIC BIC 尤度ampパラメーター数)

MAP推定(尤度times事前分布)hellip

データを元に最も最適と思われるグラフ構造を探索する

データ

グラフ

1 0 01 1 01 0 10 1 01 0 10 0 01 1 00 0 01 1 10 0 1

a b cb

a

c

b

a

c

b

a

c

データからグラフ構造を推定したい場合単純な式変形をしただけだと数学的に等しいので結局最適なグラフ構造を決定できないのでは(勉強会での議論)

=gt 実際にやってみた

番外編 ベイジアンネットワークの学習

httpwwwsclsrikenjpscruisewp-contentuploadssites3201312SIGN_HGC_Seminar_Tamada201302pdf

httpenwikipediaorgwikiDirected_acyclic_graph

ノード数の増加に対する取りうるDAG数

番外編 ベイジアンネットワークの学習

3ノードなら手計算でいけそう

乗法定理times2(n=6)

乗法定理times2 + 条件付き独立 (n=9)

乗法定理times1 + 独立(n=3)

全て独立(n=1)

乗法定理を使う (このままではグラフとして表現できない)

乗法定理times1 + 独立 + 条件付き独立(n=6)エッジ0個

エッジ1個

エッジ2個(head-to-tail tail-to-tail)

エッジ2個(head-to-head)

エッジ3個(全結合)

ノード3つで式変形を片っ端から行った

番外編 ベイジアンネットワークの学習

試しに以下のような簡単な01データを用いる またここでは単純に尤度のみでグラフの善し悪しを判定する

番外編 ベイジアンネットワークの学習

0 0 00 0 00 0 00 0 01 0 01 0 01 1 01 1 01 1 11 1 1

a b c

P(a) = 35 P(b) = 25 P(c) = 15 P(a b) = 25 P(b c) = 15 P(a c) = 15 P(a b c) = 15

P(a | b c) = 1 P(b | a c) = 1 P(c | a b) = 12 P(a | b) = 1 P(a | c) = 1 P(b | a) = 23 P(b | c) = 1 P(c | a) = 13 P(c | b) = 12

独立性について

番外編 ベイジアンネットワークの学習

0 0 00 0 00 0 00 0 01 0 01 0 01 1 01 1 01 1 11 1 1

a b c

P(a | b c) = P(a | b) P(a | b c) = P(a | c) P(b | a c) ne P(b | a) P(b | a c) = P(b | c) P(c | a b) ne P(c | a) P(c | a b) = P(c | b)

P(a b c) ne P(a) P(b) P(c) P(a b) ne P(a) P(b) P(b c) ne P(b) P(c) P(a c) ne P(a) P(c)

条件付き独立性について

データによって成り立ったり成り立たなかったりする

乗法定理times2(n=6)

乗法定理times2 + 条件付き独立 (n=9)

乗法定理times1 + 独立(n=3)

全て独立(n=1)

乗法定理times1 + 独立 + 条件付き独立(n=6)エッジ0個

エッジ1個

エッジ2個(head-to-tail tail-to-tail)

エッジ2個(head-to-head)

エッジ3個(全結合)

番外編 ベイジアンネットワークの学習

尤度を計算した

= 02= 02= 02= 02= 02= 02

= 0048

= 008= 012= 012

= 02= 02= 02= 02= 013

= 013= 02

= 02= 013

= 008= 008= 008= 012= 008= 012

乗法定理times2(n=6)エッジ3個(全結合)

番外編 ベイジアンネットワークの学習

= 02= 02= 02= 02= 02= 02

乗法定理で変形したものはグラフ構造は違うのにも関わらず尤度は等しい

b

a

cb

a

cb

a

cb

a

cb

a

cb

a

c

乗法定理times2 + 条件付き独立 (n=9)

乗法定理times1 + 独立(n=3)乗法定理times1 + 独立 + 条件付き独立(n=6)

エッジ0個

エッジ1個

エッジ2個(head-to-tail tail-to-tail)

エッジ2個(head-to-head)

番外編 ベイジアンネットワークの学習

= 008= 012= 012

= 02= 02= 02= 02= 013

= 013= 02

= 02= 013

= 008= 008= 008= 012= 008= 012

条件付き独立独立はデータによって成り立ったり成り立たなかったりする

「同じ尤度を持つDAGは複数存在する可能性がある」

21世紀の統計科学 第2巻 第6章 生命システムネットワークを明らかにするための統計的モデリング

Page 12: PRML8章

第8章 グラフィカルモデル

グラフ

ノード(node)頂点(vertex)

リンク(link)辺(edge)弧(arc)

ノードの集合とエッジの集合で構成されるもの(Wikipedia)

グラフィカルモデル

確率変数

確率変数間の関係

確率変数間の関係性をグラフで表現したもの

グラフィカルモデル有向グラフィカルモデル

(例ベイジアンネットワーク)無向グラフィカルモデル (例 マルコフ確率場)

因果関係 緩い束縛関係 (相関とか)

ベイジアンネットワーク3変数abcの同時確率p(abc)を考える

同時分布p(abc)は乗法定理で以下のように分解できる(81)

(82)また同時分布p(ab)は乗法定理で以下のように分解できる

ベイジアンネットワークベイジアンネットワークはこの確率変数間の因果関係を

グラフで表現したもの

(82)

1 aが起きてhellip

2 aが起きることでbが起きてhellip

3 a bが起きることでcが起きる

図81

aはbの親ノードbはaの子ノード

という

ベイジアンネットワーク

例 K=5の時の全結合グラフ

(83)

乗法定理を繰り返し適用する事で同時分布は各変数上の条件付き分布の積として書ける(全結合)

x1 x2 x3 x4 x5

自分よりも小さい番号がふられたすべてのノードから向かってくるリンクをもつ

ベイジアンネットワーク

図82

(84)

ベイジアンネットワーク一般系で書くと

(pak xkの親ノードの集合)

この式は同時分布の分解特性を表現したという

ベイジアンネットワークは有向閉路を持たない有向非循環グラフ(DAG Directed acyclic graph)

とか みたいなループ構造が無いという事 (自然現象ではよくあるけど)

(85)

グラフィカルモデルの書き方126節のベイズ多項式回帰モデル (N変量のデータからyを予測する)

多項式係数ベクトル観測データ

入力データノイズの分散

ガウス事前分布の精度(超パラメーター)

確率変数 (パラメーターで値が変わる)

パラメーター (定数)

sinカーブ

図117太字のxtは訓練データ 細字のxtはテストデータ

グラフィカルモデルの書き方確率変数にだけ注目した書き方(161のシンプル版)

(86)

N個のノードは左のようにまとめて書いてもよい

プレート

図83

図84

グラフィカルモデルの書き方パラメーターも明示的に含んだ書き方

(87)

図85 図86

学習データを入れている事を示す場合は塗りつぶすパラメータは小さい点で書く

観測されない隠れ変数はそのまま (-gt 第9 12章 EMアルゴリズム)

生成モデル観測データが生成される因果仮定を表現したモデル

人口的なデータを生成できる

例 伝承サンプリング(上位ノードから順に値を決めていくというだけ)

図85は生成モデルでは無い xnは値が既に決まっているから

xnの事前分布が必要図85

2

1

23

有向グラフの親子対が共役関係になる分布であると良い性質をもつ (多分解析的に積分が解けるとかモデルが複雑にならないとか)

特に重要なのが以下の二つでこれらは階層的に拡張して

任意の複雑なDAGが構築できる

離散変数 離散変数

ガウス変数 ガウス変数

離散変数

(89)

1-of-K符号化で書かれた多項分布

例 さいころで3が出る確率

パラメーター数 K - 1∵規格化のための制約

パラメーター数 K2 - 1

離散変数1-of-K符号化で書かれた多項分布(二つの状態を取る場合)

∵規格化のための制約

例 さいころABで各々(3 4)が出る確率

以下略hellip(36個パラメーターがある)

とりうる状態が増えるとパラメーターが指数的に増大してしまうKM - 1状態数Mで 個

離散変数乗法定理を用いるとP(x1x2) = P(x2|x1) P(x1)

これは図89の(a)

図89

変数がM個だとパラメーター数は M(K - 1)

でMについて線形

パラメーター数 K2 - 1

パラメーター数 2(K - 1)

離散変数

リンクを除去するとパラメーターを減らせる

全結合 全てが独立

パラメーター数M(K - 1)

パラメーター数 KM - 1

パラメーター数 K - 1 + (M - 1) K (K - 1)

K状態の連鎖

図810

x1 x2 xM x1 x2 xM

離散変数

パラメータを共有する事(sharing tyling)でもパラメーターは減らせる

図811

図812

図810のモデルの事前分布としてディリクレ分布を導入したもの

更に1つのパラメーターuが全ての条件付き分布に共有される場合

パラメーター数K2 - 1

パラメーター数2

離散変数

条件付き分布としてパラメトリックモデルを用いる事でもパラメーターは減らせる

図813

M個の親ノードと一つの子ノード (共に二値変数とする) そのままだとパラメーター数 2M

(810)

親変数の線形結合を入力とするロジスティックシグモイド関数を利用

パラメーター数 M + 1

線形ガウスモデル

(811)

確率的主成分分析因子分析線形動的システムなどで利用されているらしい

平均

pai

分散 vi

xi 全てのノードの同時分布の対数は (85 一般系のベイジアンネットワークより)

(812)

(813)

j

biwixj

線形ガウスモデル平均 u 分散 σ2の正規分布

自然対数をとる(expが消える)

あとはuに

σ2に

を代入すれば813になる

vi

線形ガウスモデル813はxの成分に関する2次関数なのでp(x)はD次元正規分布()

(814)

この時期待値と分散は再帰的に求まる

(815)

(816)

線形ガウスモデルリンクが一つもないD個のノード 全結合グラフ

パラメーター数wij 0個 bi D個 vi D個

パラメーター数wij (D(D-1))2個 bi D個 vi D個

x1

b1 v1

x2

b2 v2

x3

b3 v3

x4

b4 v4x1

b1 v1

x2

b2 v2

x3

b3 v3

x4

b4 v4

線形ガウスモデル中間的なグラフ(例 図814)

パラメーター数wij D - 1個 bi D個 vi D個

x1

b1 v1

x2

b2 v2

x3

b3 v3

x4

b4 v4

線形ガウスモデル

ガウス分布の共役事前分布はガウス分布

ガウス変量の平均をガウス分布とする(事前分布) =gt ガウス分布の平均値は超パラメーター

=gt 超パラメーターがガウス分布だとするhellip(超事前分布)

=gt 階層ベイズモデル(何階層でもモデルを拡張複雑化できる)

条件付き独立性

(820)

bがあってもなくてもaの条件付き確率に影響を与えない

これをcが与えられた下でaはbに対して条件付き独立であるという

cに対してaとbが条件付き独立とは以下のように書く

(821)

(822)

条件付き独立性が示せるとリンクを減らせる

a

c

ba

c

b

可能性のある全ての条件付き独立性を調べればリンクは減らせる =gt 実際には計算量が膨大

=gt グラフの形だけで独立かどうか判断が可能(d-separationという枠組み)

条件付き独立性

以降はまず3つのノードの簡単なグラフで説明する

3つのグラフの例①

ab

c

tail-to-tail

cに対して周辺化

これはp(a) p(b)という形には変形できない (独立ではない)

cで条件付ける

p(a|c) p(b|c)という形に変形できた(条件付き独立block)

(823)

(824)tailtail

3つのグラフの例②

ab

c

head-to-tail

cに対して周辺化

これはp(a) p(b)という形には変形できない (独立ではない)

cで条件付ける

p(a|c) p(b|c)という形に変形できた(条件付き独立block)

(826)

3つのグラフの例③

ab

c

head-to-head

cに対して周辺化

これはp(a) p(b)という形に変形できた(独立)

(828)

確率の総和は1だから

3つのグラフの例③

ab

c

head-to-head

cで条件付ける

p(a|c) p(b|c)という形に変形できない(unblock)

(828)

3つのグラフの例(まとめ)

グラフの形 cで周辺化 cで条件付け

tail-to-tail 独立ではない 条件付き独立(block)

head-to-tail 独立ではない 条件付き独立(block)

head-to-head 独立 独立ではない(unblock)

head-to-headの更に特殊な性質(弁明)

図820

バッテリーの状態 0切れている

1充電されている

燃料タンクの状態 0空1満タン

電動燃料計 0空と示している

1満タンと示している

p(B=1) = 09 p(F=1) = 09

p(G=1 | B = 1 F = 1) = 08 p(G=1 | B = 1 F = 0) = 02 p(G=1 | B = 0 F = 1) = 02 p(G=1 | B = 0 F = 0) = 01

p(B=0) = 01 p(F=0) = 01

p(G=0 | B = 1 F = 1) = 02 p(G=0 | B = 1 F = 0) = 08 p(G=0 | B = 0 F = 1) = 08 p(G=0 | B = 0 F = 0) = 09

事前にこういった情報が与えられているとする

head-to-headの更に特殊な性質(弁明)

何も観測されていないとき燃料タンクが空である確率は

p(F=0) = 01

燃料計が空を指しているという事実を観測した時の燃料タンクが空である確率は(ベイズの定理より)

少し確率が高まっている

確率が低くなる

さらにバッテリーが切れている事実を観測した時の燃料タンクが空である確率は

図821

head-to-headの更に特殊な性質(弁明)

さらに子孫ノードのいずれかが観測されても 燃料タンクが空になる確率は変化する

子孫ノードが0

有向分離(D分離)リンクを遮断する時の法則今までの話をノード集合にまで拡張したもの

(グラフの形だけでわかる)

(a) 集合Cに含まれるノードであって経路に含まれる矢印がそこでhead-to-tailあるいはtail-to-tailである

(b) 経路に含まれる矢印がそのノードでhead-to-headであり自身あるいはそのすべての子孫のいずれもが集合Cに含まれない

CA B CA B

CA B

あらゆるA-C-Bの経路が遮断されていれば集合Aは集合Cにおいて集合Bと条件付き独立

有向分離(D分離)

図822

A AC C

B B

ノードaとノードbは集合C(ノードe f)で遮断できるかcが観測された場合 fが観測された場合

-gt 遮断されない -gt 遮断される

∵ fがtail-to-tailで観測されていない

eはhead-to-headだが子孫fがCに含まれる

∵ fがtail-to-tailで観測されている

eはhead-to-headでそれ自身あるいはその子孫が条件付き集合に

含まれない

有向分離(D分離)図85のモデルの有向分離性

パラメーターは観測済みノードと同じ amp 親ノードが無い

-gt 他のノードとのつながりは必ずtail-to-tailになる -gt 有向分離性に影響しない

124節のiidデータの有向分離性

図823

パラメーターuはtail-to-tail -gt uに値を入力したらあらゆる子ノード間で独立

-gt iid

uを積分消去した場合観測値は独立ではない

(835)

有向分離(D分離)図87のモデルの有向分離性

(836)

有向分離(D分離)ナイーブベイズの有向分離性

図824

例 bag-of-words

例 受信BOX迷惑メール

zが観測されるとあらゆるxノード間は独立

有向分離定理

1 有向分解(乗法定理を繰り返し適用して得た条件付き確率分布)

2 有向分離 (条件付き独立を繰り返し適用して得た条件付き確率分布)

以下の二つは同じ分布を得る

マルコフブランケット

xiが起きる確率をxi以外の全てのノードで条件付けた分布で考える

分母をxiで周辺化する

条件付き確率の積にする

xiに依存しないノードの条件付き確率は分子と打ち消し合う(次頁)

あるノードの条件付き独立性を考える時の最小単位

マルコフブランケット

図826

つまりxiの条件付き独立を考える時 1) 親子 2) 共同親 だけを考えれば良い

共同親A B

C

D E

F G

結局Cの条件付き確率P(C|AB)と Cの子ノードの条件付き確率P(D|CF)やP(E|CG)だけ残る

Cを含まない項は全部消える

無向グラフ(マルコフ確率場)無向グラフは条件付き独立を考えるのが簡単

図827集合Cを取り除いてA-B間の経路が無くなるなら条件付き独立

図828

無向グラフはマルコフブランケットも簡単

隣接ノードだけ考えれば良い

無向グラフ(マルコフ確率場)無向グラフの分解特性(これまで乗法定理を繰り返し適用していたもの)は以下のように定式化される

(838)

xi xj以外の全てのノードを取り除いた時の同時確率

よりと書くことも

各々の確率に分割できるならxijにおいてxixjは条件付き独立

クリーク

図829

無向グラフの分解特性は極大クリーク変数集合の関数にする事

クリーク x1 x2 x2 x3 x3 x4 x4 x2 極大クリーク x1 x2 x3 x2 x3 x4 x1 x2 x3 x4はクリークではない(x1 - x4間にリンクがない)

クリーク 全てのノードの組にリンクが存在するグラフの部分集合 極大クリーク もう一つを加えるとクリークでなくなってしまうようなクリーク

ポテンシャル関数極大クリークを引数としたポテンシャル関数

の積に分解するどんな関数にするかは言及しない

基本的に総和は1にならない -gt 規格化定数(分配関数)を導入

-gt 計算は大変

画像のノイズ除去の例

元のピクセル

ランダムに反転したピクセル

元画像10のピクセルをランダムに反転

ICMによる復元グラフカットアルゴリズムによる復元

(841)(842)

(843)

図831

有向-gt無向の変換図832のような簡単な場合

有向グラフ(a)無向グラフ(b)

以下のような対応づけができる

有向-gt無向の変換図833のような場合

親同士をリンクで結ぶ(モラル化)

1 向きを無くす 2 モラル化する 3 規格化する -gt ジャンクションツリーアルゴリズム(84)

生物の細胞

遺伝子間が相互作用のネットワークを形成している

geneX geneY

Protein X

Protein Y

様々な実験での遺伝子発現データ

とりうる可能性高い遺伝子ネットワークを探索(MAP推定)

データからこれを推定したい

実験

遺伝子

more

番外編 ベイジアンネットワークの学習

rarr 近似的に求めるアルゴリズムが開発される

httpwwwsclsrikenjpscruisesoftwaresign-bnhtml

番外編 ベイジアンネットワークの学習

こういうネットワーク構造は未知でデータから推定するアプローチはベイジアンネットワークのrdquo学習rdquoとかrdquo推論rdquoというらしい

(848で紹介だけしている)

SiGN-BN スパコン「京」で計算するソフトウェア自分の修論の内容

Rのbnlearnパッケージ(CBRCのBlue Gene上で実行)httpsignhgcjpsignbnindex_jahtml

番外編 ベイジアンネットワークの学習

番外編 ベイジアンネットワークの学習

どのグラフが良いか決める基準 尤度情報量基準(AIC BIC 尤度ampパラメーター数)

MAP推定(尤度times事前分布)hellip

データを元に最も最適と思われるグラフ構造を探索する

データ

グラフ

1 0 01 1 01 0 10 1 01 0 10 0 01 1 00 0 01 1 10 0 1

a b cb

a

c

b

a

c

b

a

c

データからグラフ構造を推定したい場合単純な式変形をしただけだと数学的に等しいので結局最適なグラフ構造を決定できないのでは(勉強会での議論)

=gt 実際にやってみた

番外編 ベイジアンネットワークの学習

httpwwwsclsrikenjpscruisewp-contentuploadssites3201312SIGN_HGC_Seminar_Tamada201302pdf

httpenwikipediaorgwikiDirected_acyclic_graph

ノード数の増加に対する取りうるDAG数

番外編 ベイジアンネットワークの学習

3ノードなら手計算でいけそう

乗法定理times2(n=6)

乗法定理times2 + 条件付き独立 (n=9)

乗法定理times1 + 独立(n=3)

全て独立(n=1)

乗法定理を使う (このままではグラフとして表現できない)

乗法定理times1 + 独立 + 条件付き独立(n=6)エッジ0個

エッジ1個

エッジ2個(head-to-tail tail-to-tail)

エッジ2個(head-to-head)

エッジ3個(全結合)

ノード3つで式変形を片っ端から行った

番外編 ベイジアンネットワークの学習

試しに以下のような簡単な01データを用いる またここでは単純に尤度のみでグラフの善し悪しを判定する

番外編 ベイジアンネットワークの学習

0 0 00 0 00 0 00 0 01 0 01 0 01 1 01 1 01 1 11 1 1

a b c

P(a) = 35 P(b) = 25 P(c) = 15 P(a b) = 25 P(b c) = 15 P(a c) = 15 P(a b c) = 15

P(a | b c) = 1 P(b | a c) = 1 P(c | a b) = 12 P(a | b) = 1 P(a | c) = 1 P(b | a) = 23 P(b | c) = 1 P(c | a) = 13 P(c | b) = 12

独立性について

番外編 ベイジアンネットワークの学習

0 0 00 0 00 0 00 0 01 0 01 0 01 1 01 1 01 1 11 1 1

a b c

P(a | b c) = P(a | b) P(a | b c) = P(a | c) P(b | a c) ne P(b | a) P(b | a c) = P(b | c) P(c | a b) ne P(c | a) P(c | a b) = P(c | b)

P(a b c) ne P(a) P(b) P(c) P(a b) ne P(a) P(b) P(b c) ne P(b) P(c) P(a c) ne P(a) P(c)

条件付き独立性について

データによって成り立ったり成り立たなかったりする

乗法定理times2(n=6)

乗法定理times2 + 条件付き独立 (n=9)

乗法定理times1 + 独立(n=3)

全て独立(n=1)

乗法定理times1 + 独立 + 条件付き独立(n=6)エッジ0個

エッジ1個

エッジ2個(head-to-tail tail-to-tail)

エッジ2個(head-to-head)

エッジ3個(全結合)

番外編 ベイジアンネットワークの学習

尤度を計算した

= 02= 02= 02= 02= 02= 02

= 0048

= 008= 012= 012

= 02= 02= 02= 02= 013

= 013= 02

= 02= 013

= 008= 008= 008= 012= 008= 012

乗法定理times2(n=6)エッジ3個(全結合)

番外編 ベイジアンネットワークの学習

= 02= 02= 02= 02= 02= 02

乗法定理で変形したものはグラフ構造は違うのにも関わらず尤度は等しい

b

a

cb

a

cb

a

cb

a

cb

a

cb

a

c

乗法定理times2 + 条件付き独立 (n=9)

乗法定理times1 + 独立(n=3)乗法定理times1 + 独立 + 条件付き独立(n=6)

エッジ0個

エッジ1個

エッジ2個(head-to-tail tail-to-tail)

エッジ2個(head-to-head)

番外編 ベイジアンネットワークの学習

= 008= 012= 012

= 02= 02= 02= 02= 013

= 013= 02

= 02= 013

= 008= 008= 008= 012= 008= 012

条件付き独立独立はデータによって成り立ったり成り立たなかったりする

「同じ尤度を持つDAGは複数存在する可能性がある」

21世紀の統計科学 第2巻 第6章 生命システムネットワークを明らかにするための統計的モデリング

Page 13: PRML8章

グラフ

ノード(node)頂点(vertex)

リンク(link)辺(edge)弧(arc)

ノードの集合とエッジの集合で構成されるもの(Wikipedia)

グラフィカルモデル

確率変数

確率変数間の関係

確率変数間の関係性をグラフで表現したもの

グラフィカルモデル有向グラフィカルモデル

(例ベイジアンネットワーク)無向グラフィカルモデル (例 マルコフ確率場)

因果関係 緩い束縛関係 (相関とか)

ベイジアンネットワーク3変数abcの同時確率p(abc)を考える

同時分布p(abc)は乗法定理で以下のように分解できる(81)

(82)また同時分布p(ab)は乗法定理で以下のように分解できる

ベイジアンネットワークベイジアンネットワークはこの確率変数間の因果関係を

グラフで表現したもの

(82)

1 aが起きてhellip

2 aが起きることでbが起きてhellip

3 a bが起きることでcが起きる

図81

aはbの親ノードbはaの子ノード

という

ベイジアンネットワーク

例 K=5の時の全結合グラフ

(83)

乗法定理を繰り返し適用する事で同時分布は各変数上の条件付き分布の積として書ける(全結合)

x1 x2 x3 x4 x5

自分よりも小さい番号がふられたすべてのノードから向かってくるリンクをもつ

ベイジアンネットワーク

図82

(84)

ベイジアンネットワーク一般系で書くと

(pak xkの親ノードの集合)

この式は同時分布の分解特性を表現したという

ベイジアンネットワークは有向閉路を持たない有向非循環グラフ(DAG Directed acyclic graph)

とか みたいなループ構造が無いという事 (自然現象ではよくあるけど)

(85)

グラフィカルモデルの書き方126節のベイズ多項式回帰モデル (N変量のデータからyを予測する)

多項式係数ベクトル観測データ

入力データノイズの分散

ガウス事前分布の精度(超パラメーター)

確率変数 (パラメーターで値が変わる)

パラメーター (定数)

sinカーブ

図117太字のxtは訓練データ 細字のxtはテストデータ

グラフィカルモデルの書き方確率変数にだけ注目した書き方(161のシンプル版)

(86)

N個のノードは左のようにまとめて書いてもよい

プレート

図83

図84

グラフィカルモデルの書き方パラメーターも明示的に含んだ書き方

(87)

図85 図86

学習データを入れている事を示す場合は塗りつぶすパラメータは小さい点で書く

観測されない隠れ変数はそのまま (-gt 第9 12章 EMアルゴリズム)

生成モデル観測データが生成される因果仮定を表現したモデル

人口的なデータを生成できる

例 伝承サンプリング(上位ノードから順に値を決めていくというだけ)

図85は生成モデルでは無い xnは値が既に決まっているから

xnの事前分布が必要図85

2

1

23

有向グラフの親子対が共役関係になる分布であると良い性質をもつ (多分解析的に積分が解けるとかモデルが複雑にならないとか)

特に重要なのが以下の二つでこれらは階層的に拡張して

任意の複雑なDAGが構築できる

離散変数 離散変数

ガウス変数 ガウス変数

離散変数

(89)

1-of-K符号化で書かれた多項分布

例 さいころで3が出る確率

パラメーター数 K - 1∵規格化のための制約

パラメーター数 K2 - 1

離散変数1-of-K符号化で書かれた多項分布(二つの状態を取る場合)

∵規格化のための制約

例 さいころABで各々(3 4)が出る確率

以下略hellip(36個パラメーターがある)

とりうる状態が増えるとパラメーターが指数的に増大してしまうKM - 1状態数Mで 個

離散変数乗法定理を用いるとP(x1x2) = P(x2|x1) P(x1)

これは図89の(a)

図89

変数がM個だとパラメーター数は M(K - 1)

でMについて線形

パラメーター数 K2 - 1

パラメーター数 2(K - 1)

離散変数

リンクを除去するとパラメーターを減らせる

全結合 全てが独立

パラメーター数M(K - 1)

パラメーター数 KM - 1

パラメーター数 K - 1 + (M - 1) K (K - 1)

K状態の連鎖

図810

x1 x2 xM x1 x2 xM

離散変数

パラメータを共有する事(sharing tyling)でもパラメーターは減らせる

図811

図812

図810のモデルの事前分布としてディリクレ分布を導入したもの

更に1つのパラメーターuが全ての条件付き分布に共有される場合

パラメーター数K2 - 1

パラメーター数2

離散変数

条件付き分布としてパラメトリックモデルを用いる事でもパラメーターは減らせる

図813

M個の親ノードと一つの子ノード (共に二値変数とする) そのままだとパラメーター数 2M

(810)

親変数の線形結合を入力とするロジスティックシグモイド関数を利用

パラメーター数 M + 1

線形ガウスモデル

(811)

確率的主成分分析因子分析線形動的システムなどで利用されているらしい

平均

pai

分散 vi

xi 全てのノードの同時分布の対数は (85 一般系のベイジアンネットワークより)

(812)

(813)

j

biwixj

線形ガウスモデル平均 u 分散 σ2の正規分布

自然対数をとる(expが消える)

あとはuに

σ2に

を代入すれば813になる

vi

線形ガウスモデル813はxの成分に関する2次関数なのでp(x)はD次元正規分布()

(814)

この時期待値と分散は再帰的に求まる

(815)

(816)

線形ガウスモデルリンクが一つもないD個のノード 全結合グラフ

パラメーター数wij 0個 bi D個 vi D個

パラメーター数wij (D(D-1))2個 bi D個 vi D個

x1

b1 v1

x2

b2 v2

x3

b3 v3

x4

b4 v4x1

b1 v1

x2

b2 v2

x3

b3 v3

x4

b4 v4

線形ガウスモデル中間的なグラフ(例 図814)

パラメーター数wij D - 1個 bi D個 vi D個

x1

b1 v1

x2

b2 v2

x3

b3 v3

x4

b4 v4

線形ガウスモデル

ガウス分布の共役事前分布はガウス分布

ガウス変量の平均をガウス分布とする(事前分布) =gt ガウス分布の平均値は超パラメーター

=gt 超パラメーターがガウス分布だとするhellip(超事前分布)

=gt 階層ベイズモデル(何階層でもモデルを拡張複雑化できる)

条件付き独立性

(820)

bがあってもなくてもaの条件付き確率に影響を与えない

これをcが与えられた下でaはbに対して条件付き独立であるという

cに対してaとbが条件付き独立とは以下のように書く

(821)

(822)

条件付き独立性が示せるとリンクを減らせる

a

c

ba

c

b

可能性のある全ての条件付き独立性を調べればリンクは減らせる =gt 実際には計算量が膨大

=gt グラフの形だけで独立かどうか判断が可能(d-separationという枠組み)

条件付き独立性

以降はまず3つのノードの簡単なグラフで説明する

3つのグラフの例①

ab

c

tail-to-tail

cに対して周辺化

これはp(a) p(b)という形には変形できない (独立ではない)

cで条件付ける

p(a|c) p(b|c)という形に変形できた(条件付き独立block)

(823)

(824)tailtail

3つのグラフの例②

ab

c

head-to-tail

cに対して周辺化

これはp(a) p(b)という形には変形できない (独立ではない)

cで条件付ける

p(a|c) p(b|c)という形に変形できた(条件付き独立block)

(826)

3つのグラフの例③

ab

c

head-to-head

cに対して周辺化

これはp(a) p(b)という形に変形できた(独立)

(828)

確率の総和は1だから

3つのグラフの例③

ab

c

head-to-head

cで条件付ける

p(a|c) p(b|c)という形に変形できない(unblock)

(828)

3つのグラフの例(まとめ)

グラフの形 cで周辺化 cで条件付け

tail-to-tail 独立ではない 条件付き独立(block)

head-to-tail 独立ではない 条件付き独立(block)

head-to-head 独立 独立ではない(unblock)

head-to-headの更に特殊な性質(弁明)

図820

バッテリーの状態 0切れている

1充電されている

燃料タンクの状態 0空1満タン

電動燃料計 0空と示している

1満タンと示している

p(B=1) = 09 p(F=1) = 09

p(G=1 | B = 1 F = 1) = 08 p(G=1 | B = 1 F = 0) = 02 p(G=1 | B = 0 F = 1) = 02 p(G=1 | B = 0 F = 0) = 01

p(B=0) = 01 p(F=0) = 01

p(G=0 | B = 1 F = 1) = 02 p(G=0 | B = 1 F = 0) = 08 p(G=0 | B = 0 F = 1) = 08 p(G=0 | B = 0 F = 0) = 09

事前にこういった情報が与えられているとする

head-to-headの更に特殊な性質(弁明)

何も観測されていないとき燃料タンクが空である確率は

p(F=0) = 01

燃料計が空を指しているという事実を観測した時の燃料タンクが空である確率は(ベイズの定理より)

少し確率が高まっている

確率が低くなる

さらにバッテリーが切れている事実を観測した時の燃料タンクが空である確率は

図821

head-to-headの更に特殊な性質(弁明)

さらに子孫ノードのいずれかが観測されても 燃料タンクが空になる確率は変化する

子孫ノードが0

有向分離(D分離)リンクを遮断する時の法則今までの話をノード集合にまで拡張したもの

(グラフの形だけでわかる)

(a) 集合Cに含まれるノードであって経路に含まれる矢印がそこでhead-to-tailあるいはtail-to-tailである

(b) 経路に含まれる矢印がそのノードでhead-to-headであり自身あるいはそのすべての子孫のいずれもが集合Cに含まれない

CA B CA B

CA B

あらゆるA-C-Bの経路が遮断されていれば集合Aは集合Cにおいて集合Bと条件付き独立

有向分離(D分離)

図822

A AC C

B B

ノードaとノードbは集合C(ノードe f)で遮断できるかcが観測された場合 fが観測された場合

-gt 遮断されない -gt 遮断される

∵ fがtail-to-tailで観測されていない

eはhead-to-headだが子孫fがCに含まれる

∵ fがtail-to-tailで観測されている

eはhead-to-headでそれ自身あるいはその子孫が条件付き集合に

含まれない

有向分離(D分離)図85のモデルの有向分離性

パラメーターは観測済みノードと同じ amp 親ノードが無い

-gt 他のノードとのつながりは必ずtail-to-tailになる -gt 有向分離性に影響しない

124節のiidデータの有向分離性

図823

パラメーターuはtail-to-tail -gt uに値を入力したらあらゆる子ノード間で独立

-gt iid

uを積分消去した場合観測値は独立ではない

(835)

有向分離(D分離)図87のモデルの有向分離性

(836)

有向分離(D分離)ナイーブベイズの有向分離性

図824

例 bag-of-words

例 受信BOX迷惑メール

zが観測されるとあらゆるxノード間は独立

有向分離定理

1 有向分解(乗法定理を繰り返し適用して得た条件付き確率分布)

2 有向分離 (条件付き独立を繰り返し適用して得た条件付き確率分布)

以下の二つは同じ分布を得る

マルコフブランケット

xiが起きる確率をxi以外の全てのノードで条件付けた分布で考える

分母をxiで周辺化する

条件付き確率の積にする

xiに依存しないノードの条件付き確率は分子と打ち消し合う(次頁)

あるノードの条件付き独立性を考える時の最小単位

マルコフブランケット

図826

つまりxiの条件付き独立を考える時 1) 親子 2) 共同親 だけを考えれば良い

共同親A B

C

D E

F G

結局Cの条件付き確率P(C|AB)と Cの子ノードの条件付き確率P(D|CF)やP(E|CG)だけ残る

Cを含まない項は全部消える

無向グラフ(マルコフ確率場)無向グラフは条件付き独立を考えるのが簡単

図827集合Cを取り除いてA-B間の経路が無くなるなら条件付き独立

図828

無向グラフはマルコフブランケットも簡単

隣接ノードだけ考えれば良い

無向グラフ(マルコフ確率場)無向グラフの分解特性(これまで乗法定理を繰り返し適用していたもの)は以下のように定式化される

(838)

xi xj以外の全てのノードを取り除いた時の同時確率

よりと書くことも

各々の確率に分割できるならxijにおいてxixjは条件付き独立

クリーク

図829

無向グラフの分解特性は極大クリーク変数集合の関数にする事

クリーク x1 x2 x2 x3 x3 x4 x4 x2 極大クリーク x1 x2 x3 x2 x3 x4 x1 x2 x3 x4はクリークではない(x1 - x4間にリンクがない)

クリーク 全てのノードの組にリンクが存在するグラフの部分集合 極大クリーク もう一つを加えるとクリークでなくなってしまうようなクリーク

ポテンシャル関数極大クリークを引数としたポテンシャル関数

の積に分解するどんな関数にするかは言及しない

基本的に総和は1にならない -gt 規格化定数(分配関数)を導入

-gt 計算は大変

画像のノイズ除去の例

元のピクセル

ランダムに反転したピクセル

元画像10のピクセルをランダムに反転

ICMによる復元グラフカットアルゴリズムによる復元

(841)(842)

(843)

図831

有向-gt無向の変換図832のような簡単な場合

有向グラフ(a)無向グラフ(b)

以下のような対応づけができる

有向-gt無向の変換図833のような場合

親同士をリンクで結ぶ(モラル化)

1 向きを無くす 2 モラル化する 3 規格化する -gt ジャンクションツリーアルゴリズム(84)

生物の細胞

遺伝子間が相互作用のネットワークを形成している

geneX geneY

Protein X

Protein Y

様々な実験での遺伝子発現データ

とりうる可能性高い遺伝子ネットワークを探索(MAP推定)

データからこれを推定したい

実験

遺伝子

more

番外編 ベイジアンネットワークの学習

rarr 近似的に求めるアルゴリズムが開発される

httpwwwsclsrikenjpscruisesoftwaresign-bnhtml

番外編 ベイジアンネットワークの学習

こういうネットワーク構造は未知でデータから推定するアプローチはベイジアンネットワークのrdquo学習rdquoとかrdquo推論rdquoというらしい

(848で紹介だけしている)

SiGN-BN スパコン「京」で計算するソフトウェア自分の修論の内容

Rのbnlearnパッケージ(CBRCのBlue Gene上で実行)httpsignhgcjpsignbnindex_jahtml

番外編 ベイジアンネットワークの学習

番外編 ベイジアンネットワークの学習

どのグラフが良いか決める基準 尤度情報量基準(AIC BIC 尤度ampパラメーター数)

MAP推定(尤度times事前分布)hellip

データを元に最も最適と思われるグラフ構造を探索する

データ

グラフ

1 0 01 1 01 0 10 1 01 0 10 0 01 1 00 0 01 1 10 0 1

a b cb

a

c

b

a

c

b

a

c

データからグラフ構造を推定したい場合単純な式変形をしただけだと数学的に等しいので結局最適なグラフ構造を決定できないのでは(勉強会での議論)

=gt 実際にやってみた

番外編 ベイジアンネットワークの学習

httpwwwsclsrikenjpscruisewp-contentuploadssites3201312SIGN_HGC_Seminar_Tamada201302pdf

httpenwikipediaorgwikiDirected_acyclic_graph

ノード数の増加に対する取りうるDAG数

番外編 ベイジアンネットワークの学習

3ノードなら手計算でいけそう

乗法定理times2(n=6)

乗法定理times2 + 条件付き独立 (n=9)

乗法定理times1 + 独立(n=3)

全て独立(n=1)

乗法定理を使う (このままではグラフとして表現できない)

乗法定理times1 + 独立 + 条件付き独立(n=6)エッジ0個

エッジ1個

エッジ2個(head-to-tail tail-to-tail)

エッジ2個(head-to-head)

エッジ3個(全結合)

ノード3つで式変形を片っ端から行った

番外編 ベイジアンネットワークの学習

試しに以下のような簡単な01データを用いる またここでは単純に尤度のみでグラフの善し悪しを判定する

番外編 ベイジアンネットワークの学習

0 0 00 0 00 0 00 0 01 0 01 0 01 1 01 1 01 1 11 1 1

a b c

P(a) = 35 P(b) = 25 P(c) = 15 P(a b) = 25 P(b c) = 15 P(a c) = 15 P(a b c) = 15

P(a | b c) = 1 P(b | a c) = 1 P(c | a b) = 12 P(a | b) = 1 P(a | c) = 1 P(b | a) = 23 P(b | c) = 1 P(c | a) = 13 P(c | b) = 12

独立性について

番外編 ベイジアンネットワークの学習

0 0 00 0 00 0 00 0 01 0 01 0 01 1 01 1 01 1 11 1 1

a b c

P(a | b c) = P(a | b) P(a | b c) = P(a | c) P(b | a c) ne P(b | a) P(b | a c) = P(b | c) P(c | a b) ne P(c | a) P(c | a b) = P(c | b)

P(a b c) ne P(a) P(b) P(c) P(a b) ne P(a) P(b) P(b c) ne P(b) P(c) P(a c) ne P(a) P(c)

条件付き独立性について

データによって成り立ったり成り立たなかったりする

乗法定理times2(n=6)

乗法定理times2 + 条件付き独立 (n=9)

乗法定理times1 + 独立(n=3)

全て独立(n=1)

乗法定理times1 + 独立 + 条件付き独立(n=6)エッジ0個

エッジ1個

エッジ2個(head-to-tail tail-to-tail)

エッジ2個(head-to-head)

エッジ3個(全結合)

番外編 ベイジアンネットワークの学習

尤度を計算した

= 02= 02= 02= 02= 02= 02

= 0048

= 008= 012= 012

= 02= 02= 02= 02= 013

= 013= 02

= 02= 013

= 008= 008= 008= 012= 008= 012

乗法定理times2(n=6)エッジ3個(全結合)

番外編 ベイジアンネットワークの学習

= 02= 02= 02= 02= 02= 02

乗法定理で変形したものはグラフ構造は違うのにも関わらず尤度は等しい

b

a

cb

a

cb

a

cb

a

cb

a

cb

a

c

乗法定理times2 + 条件付き独立 (n=9)

乗法定理times1 + 独立(n=3)乗法定理times1 + 独立 + 条件付き独立(n=6)

エッジ0個

エッジ1個

エッジ2個(head-to-tail tail-to-tail)

エッジ2個(head-to-head)

番外編 ベイジアンネットワークの学習

= 008= 012= 012

= 02= 02= 02= 02= 013

= 013= 02

= 02= 013

= 008= 008= 008= 012= 008= 012

条件付き独立独立はデータによって成り立ったり成り立たなかったりする

「同じ尤度を持つDAGは複数存在する可能性がある」

21世紀の統計科学 第2巻 第6章 生命システムネットワークを明らかにするための統計的モデリング

Page 14: PRML8章

グラフィカルモデル

確率変数

確率変数間の関係

確率変数間の関係性をグラフで表現したもの

グラフィカルモデル有向グラフィカルモデル

(例ベイジアンネットワーク)無向グラフィカルモデル (例 マルコフ確率場)

因果関係 緩い束縛関係 (相関とか)

ベイジアンネットワーク3変数abcの同時確率p(abc)を考える

同時分布p(abc)は乗法定理で以下のように分解できる(81)

(82)また同時分布p(ab)は乗法定理で以下のように分解できる

ベイジアンネットワークベイジアンネットワークはこの確率変数間の因果関係を

グラフで表現したもの

(82)

1 aが起きてhellip

2 aが起きることでbが起きてhellip

3 a bが起きることでcが起きる

図81

aはbの親ノードbはaの子ノード

という

ベイジアンネットワーク

例 K=5の時の全結合グラフ

(83)

乗法定理を繰り返し適用する事で同時分布は各変数上の条件付き分布の積として書ける(全結合)

x1 x2 x3 x4 x5

自分よりも小さい番号がふられたすべてのノードから向かってくるリンクをもつ

ベイジアンネットワーク

図82

(84)

ベイジアンネットワーク一般系で書くと

(pak xkの親ノードの集合)

この式は同時分布の分解特性を表現したという

ベイジアンネットワークは有向閉路を持たない有向非循環グラフ(DAG Directed acyclic graph)

とか みたいなループ構造が無いという事 (自然現象ではよくあるけど)

(85)

グラフィカルモデルの書き方126節のベイズ多項式回帰モデル (N変量のデータからyを予測する)

多項式係数ベクトル観測データ

入力データノイズの分散

ガウス事前分布の精度(超パラメーター)

確率変数 (パラメーターで値が変わる)

パラメーター (定数)

sinカーブ

図117太字のxtは訓練データ 細字のxtはテストデータ

グラフィカルモデルの書き方確率変数にだけ注目した書き方(161のシンプル版)

(86)

N個のノードは左のようにまとめて書いてもよい

プレート

図83

図84

グラフィカルモデルの書き方パラメーターも明示的に含んだ書き方

(87)

図85 図86

学習データを入れている事を示す場合は塗りつぶすパラメータは小さい点で書く

観測されない隠れ変数はそのまま (-gt 第9 12章 EMアルゴリズム)

生成モデル観測データが生成される因果仮定を表現したモデル

人口的なデータを生成できる

例 伝承サンプリング(上位ノードから順に値を決めていくというだけ)

図85は生成モデルでは無い xnは値が既に決まっているから

xnの事前分布が必要図85

2

1

23

有向グラフの親子対が共役関係になる分布であると良い性質をもつ (多分解析的に積分が解けるとかモデルが複雑にならないとか)

特に重要なのが以下の二つでこれらは階層的に拡張して

任意の複雑なDAGが構築できる

離散変数 離散変数

ガウス変数 ガウス変数

離散変数

(89)

1-of-K符号化で書かれた多項分布

例 さいころで3が出る確率

パラメーター数 K - 1∵規格化のための制約

パラメーター数 K2 - 1

離散変数1-of-K符号化で書かれた多項分布(二つの状態を取る場合)

∵規格化のための制約

例 さいころABで各々(3 4)が出る確率

以下略hellip(36個パラメーターがある)

とりうる状態が増えるとパラメーターが指数的に増大してしまうKM - 1状態数Mで 個

離散変数乗法定理を用いるとP(x1x2) = P(x2|x1) P(x1)

これは図89の(a)

図89

変数がM個だとパラメーター数は M(K - 1)

でMについて線形

パラメーター数 K2 - 1

パラメーター数 2(K - 1)

離散変数

リンクを除去するとパラメーターを減らせる

全結合 全てが独立

パラメーター数M(K - 1)

パラメーター数 KM - 1

パラメーター数 K - 1 + (M - 1) K (K - 1)

K状態の連鎖

図810

x1 x2 xM x1 x2 xM

離散変数

パラメータを共有する事(sharing tyling)でもパラメーターは減らせる

図811

図812

図810のモデルの事前分布としてディリクレ分布を導入したもの

更に1つのパラメーターuが全ての条件付き分布に共有される場合

パラメーター数K2 - 1

パラメーター数2

離散変数

条件付き分布としてパラメトリックモデルを用いる事でもパラメーターは減らせる

図813

M個の親ノードと一つの子ノード (共に二値変数とする) そのままだとパラメーター数 2M

(810)

親変数の線形結合を入力とするロジスティックシグモイド関数を利用

パラメーター数 M + 1

線形ガウスモデル

(811)

確率的主成分分析因子分析線形動的システムなどで利用されているらしい

平均

pai

分散 vi

xi 全てのノードの同時分布の対数は (85 一般系のベイジアンネットワークより)

(812)

(813)

j

biwixj

線形ガウスモデル平均 u 分散 σ2の正規分布

自然対数をとる(expが消える)

あとはuに

σ2に

を代入すれば813になる

vi

線形ガウスモデル813はxの成分に関する2次関数なのでp(x)はD次元正規分布()

(814)

この時期待値と分散は再帰的に求まる

(815)

(816)

線形ガウスモデルリンクが一つもないD個のノード 全結合グラフ

パラメーター数wij 0個 bi D個 vi D個

パラメーター数wij (D(D-1))2個 bi D個 vi D個

x1

b1 v1

x2

b2 v2

x3

b3 v3

x4

b4 v4x1

b1 v1

x2

b2 v2

x3

b3 v3

x4

b4 v4

線形ガウスモデル中間的なグラフ(例 図814)

パラメーター数wij D - 1個 bi D個 vi D個

x1

b1 v1

x2

b2 v2

x3

b3 v3

x4

b4 v4

線形ガウスモデル

ガウス分布の共役事前分布はガウス分布

ガウス変量の平均をガウス分布とする(事前分布) =gt ガウス分布の平均値は超パラメーター

=gt 超パラメーターがガウス分布だとするhellip(超事前分布)

=gt 階層ベイズモデル(何階層でもモデルを拡張複雑化できる)

条件付き独立性

(820)

bがあってもなくてもaの条件付き確率に影響を与えない

これをcが与えられた下でaはbに対して条件付き独立であるという

cに対してaとbが条件付き独立とは以下のように書く

(821)

(822)

条件付き独立性が示せるとリンクを減らせる

a

c

ba

c

b

可能性のある全ての条件付き独立性を調べればリンクは減らせる =gt 実際には計算量が膨大

=gt グラフの形だけで独立かどうか判断が可能(d-separationという枠組み)

条件付き独立性

以降はまず3つのノードの簡単なグラフで説明する

3つのグラフの例①

ab

c

tail-to-tail

cに対して周辺化

これはp(a) p(b)という形には変形できない (独立ではない)

cで条件付ける

p(a|c) p(b|c)という形に変形できた(条件付き独立block)

(823)

(824)tailtail

3つのグラフの例②

ab

c

head-to-tail

cに対して周辺化

これはp(a) p(b)という形には変形できない (独立ではない)

cで条件付ける

p(a|c) p(b|c)という形に変形できた(条件付き独立block)

(826)

3つのグラフの例③

ab

c

head-to-head

cに対して周辺化

これはp(a) p(b)という形に変形できた(独立)

(828)

確率の総和は1だから

3つのグラフの例③

ab

c

head-to-head

cで条件付ける

p(a|c) p(b|c)という形に変形できない(unblock)

(828)

3つのグラフの例(まとめ)

グラフの形 cで周辺化 cで条件付け

tail-to-tail 独立ではない 条件付き独立(block)

head-to-tail 独立ではない 条件付き独立(block)

head-to-head 独立 独立ではない(unblock)

head-to-headの更に特殊な性質(弁明)

図820

バッテリーの状態 0切れている

1充電されている

燃料タンクの状態 0空1満タン

電動燃料計 0空と示している

1満タンと示している

p(B=1) = 09 p(F=1) = 09

p(G=1 | B = 1 F = 1) = 08 p(G=1 | B = 1 F = 0) = 02 p(G=1 | B = 0 F = 1) = 02 p(G=1 | B = 0 F = 0) = 01

p(B=0) = 01 p(F=0) = 01

p(G=0 | B = 1 F = 1) = 02 p(G=0 | B = 1 F = 0) = 08 p(G=0 | B = 0 F = 1) = 08 p(G=0 | B = 0 F = 0) = 09

事前にこういった情報が与えられているとする

head-to-headの更に特殊な性質(弁明)

何も観測されていないとき燃料タンクが空である確率は

p(F=0) = 01

燃料計が空を指しているという事実を観測した時の燃料タンクが空である確率は(ベイズの定理より)

少し確率が高まっている

確率が低くなる

さらにバッテリーが切れている事実を観測した時の燃料タンクが空である確率は

図821

head-to-headの更に特殊な性質(弁明)

さらに子孫ノードのいずれかが観測されても 燃料タンクが空になる確率は変化する

子孫ノードが0

有向分離(D分離)リンクを遮断する時の法則今までの話をノード集合にまで拡張したもの

(グラフの形だけでわかる)

(a) 集合Cに含まれるノードであって経路に含まれる矢印がそこでhead-to-tailあるいはtail-to-tailである

(b) 経路に含まれる矢印がそのノードでhead-to-headであり自身あるいはそのすべての子孫のいずれもが集合Cに含まれない

CA B CA B

CA B

あらゆるA-C-Bの経路が遮断されていれば集合Aは集合Cにおいて集合Bと条件付き独立

有向分離(D分離)

図822

A AC C

B B

ノードaとノードbは集合C(ノードe f)で遮断できるかcが観測された場合 fが観測された場合

-gt 遮断されない -gt 遮断される

∵ fがtail-to-tailで観測されていない

eはhead-to-headだが子孫fがCに含まれる

∵ fがtail-to-tailで観測されている

eはhead-to-headでそれ自身あるいはその子孫が条件付き集合に

含まれない

有向分離(D分離)図85のモデルの有向分離性

パラメーターは観測済みノードと同じ amp 親ノードが無い

-gt 他のノードとのつながりは必ずtail-to-tailになる -gt 有向分離性に影響しない

124節のiidデータの有向分離性

図823

パラメーターuはtail-to-tail -gt uに値を入力したらあらゆる子ノード間で独立

-gt iid

uを積分消去した場合観測値は独立ではない

(835)

有向分離(D分離)図87のモデルの有向分離性

(836)

有向分離(D分離)ナイーブベイズの有向分離性

図824

例 bag-of-words

例 受信BOX迷惑メール

zが観測されるとあらゆるxノード間は独立

有向分離定理

1 有向分解(乗法定理を繰り返し適用して得た条件付き確率分布)

2 有向分離 (条件付き独立を繰り返し適用して得た条件付き確率分布)

以下の二つは同じ分布を得る

マルコフブランケット

xiが起きる確率をxi以外の全てのノードで条件付けた分布で考える

分母をxiで周辺化する

条件付き確率の積にする

xiに依存しないノードの条件付き確率は分子と打ち消し合う(次頁)

あるノードの条件付き独立性を考える時の最小単位

マルコフブランケット

図826

つまりxiの条件付き独立を考える時 1) 親子 2) 共同親 だけを考えれば良い

共同親A B

C

D E

F G

結局Cの条件付き確率P(C|AB)と Cの子ノードの条件付き確率P(D|CF)やP(E|CG)だけ残る

Cを含まない項は全部消える

無向グラフ(マルコフ確率場)無向グラフは条件付き独立を考えるのが簡単

図827集合Cを取り除いてA-B間の経路が無くなるなら条件付き独立

図828

無向グラフはマルコフブランケットも簡単

隣接ノードだけ考えれば良い

無向グラフ(マルコフ確率場)無向グラフの分解特性(これまで乗法定理を繰り返し適用していたもの)は以下のように定式化される

(838)

xi xj以外の全てのノードを取り除いた時の同時確率

よりと書くことも

各々の確率に分割できるならxijにおいてxixjは条件付き独立

クリーク

図829

無向グラフの分解特性は極大クリーク変数集合の関数にする事

クリーク x1 x2 x2 x3 x3 x4 x4 x2 極大クリーク x1 x2 x3 x2 x3 x4 x1 x2 x3 x4はクリークではない(x1 - x4間にリンクがない)

クリーク 全てのノードの組にリンクが存在するグラフの部分集合 極大クリーク もう一つを加えるとクリークでなくなってしまうようなクリーク

ポテンシャル関数極大クリークを引数としたポテンシャル関数

の積に分解するどんな関数にするかは言及しない

基本的に総和は1にならない -gt 規格化定数(分配関数)を導入

-gt 計算は大変

画像のノイズ除去の例

元のピクセル

ランダムに反転したピクセル

元画像10のピクセルをランダムに反転

ICMによる復元グラフカットアルゴリズムによる復元

(841)(842)

(843)

図831

有向-gt無向の変換図832のような簡単な場合

有向グラフ(a)無向グラフ(b)

以下のような対応づけができる

有向-gt無向の変換図833のような場合

親同士をリンクで結ぶ(モラル化)

1 向きを無くす 2 モラル化する 3 規格化する -gt ジャンクションツリーアルゴリズム(84)

生物の細胞

遺伝子間が相互作用のネットワークを形成している

geneX geneY

Protein X

Protein Y

様々な実験での遺伝子発現データ

とりうる可能性高い遺伝子ネットワークを探索(MAP推定)

データからこれを推定したい

実験

遺伝子

more

番外編 ベイジアンネットワークの学習

rarr 近似的に求めるアルゴリズムが開発される

httpwwwsclsrikenjpscruisesoftwaresign-bnhtml

番外編 ベイジアンネットワークの学習

こういうネットワーク構造は未知でデータから推定するアプローチはベイジアンネットワークのrdquo学習rdquoとかrdquo推論rdquoというらしい

(848で紹介だけしている)

SiGN-BN スパコン「京」で計算するソフトウェア自分の修論の内容

Rのbnlearnパッケージ(CBRCのBlue Gene上で実行)httpsignhgcjpsignbnindex_jahtml

番外編 ベイジアンネットワークの学習

番外編 ベイジアンネットワークの学習

どのグラフが良いか決める基準 尤度情報量基準(AIC BIC 尤度ampパラメーター数)

MAP推定(尤度times事前分布)hellip

データを元に最も最適と思われるグラフ構造を探索する

データ

グラフ

1 0 01 1 01 0 10 1 01 0 10 0 01 1 00 0 01 1 10 0 1

a b cb

a

c

b

a

c

b

a

c

データからグラフ構造を推定したい場合単純な式変形をしただけだと数学的に等しいので結局最適なグラフ構造を決定できないのでは(勉強会での議論)

=gt 実際にやってみた

番外編 ベイジアンネットワークの学習

httpwwwsclsrikenjpscruisewp-contentuploadssites3201312SIGN_HGC_Seminar_Tamada201302pdf

httpenwikipediaorgwikiDirected_acyclic_graph

ノード数の増加に対する取りうるDAG数

番外編 ベイジアンネットワークの学習

3ノードなら手計算でいけそう

乗法定理times2(n=6)

乗法定理times2 + 条件付き独立 (n=9)

乗法定理times1 + 独立(n=3)

全て独立(n=1)

乗法定理を使う (このままではグラフとして表現できない)

乗法定理times1 + 独立 + 条件付き独立(n=6)エッジ0個

エッジ1個

エッジ2個(head-to-tail tail-to-tail)

エッジ2個(head-to-head)

エッジ3個(全結合)

ノード3つで式変形を片っ端から行った

番外編 ベイジアンネットワークの学習

試しに以下のような簡単な01データを用いる またここでは単純に尤度のみでグラフの善し悪しを判定する

番外編 ベイジアンネットワークの学習

0 0 00 0 00 0 00 0 01 0 01 0 01 1 01 1 01 1 11 1 1

a b c

P(a) = 35 P(b) = 25 P(c) = 15 P(a b) = 25 P(b c) = 15 P(a c) = 15 P(a b c) = 15

P(a | b c) = 1 P(b | a c) = 1 P(c | a b) = 12 P(a | b) = 1 P(a | c) = 1 P(b | a) = 23 P(b | c) = 1 P(c | a) = 13 P(c | b) = 12

独立性について

番外編 ベイジアンネットワークの学習

0 0 00 0 00 0 00 0 01 0 01 0 01 1 01 1 01 1 11 1 1

a b c

P(a | b c) = P(a | b) P(a | b c) = P(a | c) P(b | a c) ne P(b | a) P(b | a c) = P(b | c) P(c | a b) ne P(c | a) P(c | a b) = P(c | b)

P(a b c) ne P(a) P(b) P(c) P(a b) ne P(a) P(b) P(b c) ne P(b) P(c) P(a c) ne P(a) P(c)

条件付き独立性について

データによって成り立ったり成り立たなかったりする

乗法定理times2(n=6)

乗法定理times2 + 条件付き独立 (n=9)

乗法定理times1 + 独立(n=3)

全て独立(n=1)

乗法定理times1 + 独立 + 条件付き独立(n=6)エッジ0個

エッジ1個

エッジ2個(head-to-tail tail-to-tail)

エッジ2個(head-to-head)

エッジ3個(全結合)

番外編 ベイジアンネットワークの学習

尤度を計算した

= 02= 02= 02= 02= 02= 02

= 0048

= 008= 012= 012

= 02= 02= 02= 02= 013

= 013= 02

= 02= 013

= 008= 008= 008= 012= 008= 012

乗法定理times2(n=6)エッジ3個(全結合)

番外編 ベイジアンネットワークの学習

= 02= 02= 02= 02= 02= 02

乗法定理で変形したものはグラフ構造は違うのにも関わらず尤度は等しい

b

a

cb

a

cb

a

cb

a

cb

a

cb

a

c

乗法定理times2 + 条件付き独立 (n=9)

乗法定理times1 + 独立(n=3)乗法定理times1 + 独立 + 条件付き独立(n=6)

エッジ0個

エッジ1個

エッジ2個(head-to-tail tail-to-tail)

エッジ2個(head-to-head)

番外編 ベイジアンネットワークの学習

= 008= 012= 012

= 02= 02= 02= 02= 013

= 013= 02

= 02= 013

= 008= 008= 008= 012= 008= 012

条件付き独立独立はデータによって成り立ったり成り立たなかったりする

「同じ尤度を持つDAGは複数存在する可能性がある」

21世紀の統計科学 第2巻 第6章 生命システムネットワークを明らかにするための統計的モデリング

Page 15: PRML8章

グラフィカルモデル有向グラフィカルモデル

(例ベイジアンネットワーク)無向グラフィカルモデル (例 マルコフ確率場)

因果関係 緩い束縛関係 (相関とか)

ベイジアンネットワーク3変数abcの同時確率p(abc)を考える

同時分布p(abc)は乗法定理で以下のように分解できる(81)

(82)また同時分布p(ab)は乗法定理で以下のように分解できる

ベイジアンネットワークベイジアンネットワークはこの確率変数間の因果関係を

グラフで表現したもの

(82)

1 aが起きてhellip

2 aが起きることでbが起きてhellip

3 a bが起きることでcが起きる

図81

aはbの親ノードbはaの子ノード

という

ベイジアンネットワーク

例 K=5の時の全結合グラフ

(83)

乗法定理を繰り返し適用する事で同時分布は各変数上の条件付き分布の積として書ける(全結合)

x1 x2 x3 x4 x5

自分よりも小さい番号がふられたすべてのノードから向かってくるリンクをもつ

ベイジアンネットワーク

図82

(84)

ベイジアンネットワーク一般系で書くと

(pak xkの親ノードの集合)

この式は同時分布の分解特性を表現したという

ベイジアンネットワークは有向閉路を持たない有向非循環グラフ(DAG Directed acyclic graph)

とか みたいなループ構造が無いという事 (自然現象ではよくあるけど)

(85)

グラフィカルモデルの書き方126節のベイズ多項式回帰モデル (N変量のデータからyを予測する)

多項式係数ベクトル観測データ

入力データノイズの分散

ガウス事前分布の精度(超パラメーター)

確率変数 (パラメーターで値が変わる)

パラメーター (定数)

sinカーブ

図117太字のxtは訓練データ 細字のxtはテストデータ

グラフィカルモデルの書き方確率変数にだけ注目した書き方(161のシンプル版)

(86)

N個のノードは左のようにまとめて書いてもよい

プレート

図83

図84

グラフィカルモデルの書き方パラメーターも明示的に含んだ書き方

(87)

図85 図86

学習データを入れている事を示す場合は塗りつぶすパラメータは小さい点で書く

観測されない隠れ変数はそのまま (-gt 第9 12章 EMアルゴリズム)

生成モデル観測データが生成される因果仮定を表現したモデル

人口的なデータを生成できる

例 伝承サンプリング(上位ノードから順に値を決めていくというだけ)

図85は生成モデルでは無い xnは値が既に決まっているから

xnの事前分布が必要図85

2

1

23

有向グラフの親子対が共役関係になる分布であると良い性質をもつ (多分解析的に積分が解けるとかモデルが複雑にならないとか)

特に重要なのが以下の二つでこれらは階層的に拡張して

任意の複雑なDAGが構築できる

離散変数 離散変数

ガウス変数 ガウス変数

離散変数

(89)

1-of-K符号化で書かれた多項分布

例 さいころで3が出る確率

パラメーター数 K - 1∵規格化のための制約

パラメーター数 K2 - 1

離散変数1-of-K符号化で書かれた多項分布(二つの状態を取る場合)

∵規格化のための制約

例 さいころABで各々(3 4)が出る確率

以下略hellip(36個パラメーターがある)

とりうる状態が増えるとパラメーターが指数的に増大してしまうKM - 1状態数Mで 個

離散変数乗法定理を用いるとP(x1x2) = P(x2|x1) P(x1)

これは図89の(a)

図89

変数がM個だとパラメーター数は M(K - 1)

でMについて線形

パラメーター数 K2 - 1

パラメーター数 2(K - 1)

離散変数

リンクを除去するとパラメーターを減らせる

全結合 全てが独立

パラメーター数M(K - 1)

パラメーター数 KM - 1

パラメーター数 K - 1 + (M - 1) K (K - 1)

K状態の連鎖

図810

x1 x2 xM x1 x2 xM

離散変数

パラメータを共有する事(sharing tyling)でもパラメーターは減らせる

図811

図812

図810のモデルの事前分布としてディリクレ分布を導入したもの

更に1つのパラメーターuが全ての条件付き分布に共有される場合

パラメーター数K2 - 1

パラメーター数2

離散変数

条件付き分布としてパラメトリックモデルを用いる事でもパラメーターは減らせる

図813

M個の親ノードと一つの子ノード (共に二値変数とする) そのままだとパラメーター数 2M

(810)

親変数の線形結合を入力とするロジスティックシグモイド関数を利用

パラメーター数 M + 1

線形ガウスモデル

(811)

確率的主成分分析因子分析線形動的システムなどで利用されているらしい

平均

pai

分散 vi

xi 全てのノードの同時分布の対数は (85 一般系のベイジアンネットワークより)

(812)

(813)

j

biwixj

線形ガウスモデル平均 u 分散 σ2の正規分布

自然対数をとる(expが消える)

あとはuに

σ2に

を代入すれば813になる

vi

線形ガウスモデル813はxの成分に関する2次関数なのでp(x)はD次元正規分布()

(814)

この時期待値と分散は再帰的に求まる

(815)

(816)

線形ガウスモデルリンクが一つもないD個のノード 全結合グラフ

パラメーター数wij 0個 bi D個 vi D個

パラメーター数wij (D(D-1))2個 bi D個 vi D個

x1

b1 v1

x2

b2 v2

x3

b3 v3

x4

b4 v4x1

b1 v1

x2

b2 v2

x3

b3 v3

x4

b4 v4

線形ガウスモデル中間的なグラフ(例 図814)

パラメーター数wij D - 1個 bi D個 vi D個

x1

b1 v1

x2

b2 v2

x3

b3 v3

x4

b4 v4

線形ガウスモデル

ガウス分布の共役事前分布はガウス分布

ガウス変量の平均をガウス分布とする(事前分布) =gt ガウス分布の平均値は超パラメーター

=gt 超パラメーターがガウス分布だとするhellip(超事前分布)

=gt 階層ベイズモデル(何階層でもモデルを拡張複雑化できる)

条件付き独立性

(820)

bがあってもなくてもaの条件付き確率に影響を与えない

これをcが与えられた下でaはbに対して条件付き独立であるという

cに対してaとbが条件付き独立とは以下のように書く

(821)

(822)

条件付き独立性が示せるとリンクを減らせる

a

c

ba

c

b

可能性のある全ての条件付き独立性を調べればリンクは減らせる =gt 実際には計算量が膨大

=gt グラフの形だけで独立かどうか判断が可能(d-separationという枠組み)

条件付き独立性

以降はまず3つのノードの簡単なグラフで説明する

3つのグラフの例①

ab

c

tail-to-tail

cに対して周辺化

これはp(a) p(b)という形には変形できない (独立ではない)

cで条件付ける

p(a|c) p(b|c)という形に変形できた(条件付き独立block)

(823)

(824)tailtail

3つのグラフの例②

ab

c

head-to-tail

cに対して周辺化

これはp(a) p(b)という形には変形できない (独立ではない)

cで条件付ける

p(a|c) p(b|c)という形に変形できた(条件付き独立block)

(826)

3つのグラフの例③

ab

c

head-to-head

cに対して周辺化

これはp(a) p(b)という形に変形できた(独立)

(828)

確率の総和は1だから

3つのグラフの例③

ab

c

head-to-head

cで条件付ける

p(a|c) p(b|c)という形に変形できない(unblock)

(828)

3つのグラフの例(まとめ)

グラフの形 cで周辺化 cで条件付け

tail-to-tail 独立ではない 条件付き独立(block)

head-to-tail 独立ではない 条件付き独立(block)

head-to-head 独立 独立ではない(unblock)

head-to-headの更に特殊な性質(弁明)

図820

バッテリーの状態 0切れている

1充電されている

燃料タンクの状態 0空1満タン

電動燃料計 0空と示している

1満タンと示している

p(B=1) = 09 p(F=1) = 09

p(G=1 | B = 1 F = 1) = 08 p(G=1 | B = 1 F = 0) = 02 p(G=1 | B = 0 F = 1) = 02 p(G=1 | B = 0 F = 0) = 01

p(B=0) = 01 p(F=0) = 01

p(G=0 | B = 1 F = 1) = 02 p(G=0 | B = 1 F = 0) = 08 p(G=0 | B = 0 F = 1) = 08 p(G=0 | B = 0 F = 0) = 09

事前にこういった情報が与えられているとする

head-to-headの更に特殊な性質(弁明)

何も観測されていないとき燃料タンクが空である確率は

p(F=0) = 01

燃料計が空を指しているという事実を観測した時の燃料タンクが空である確率は(ベイズの定理より)

少し確率が高まっている

確率が低くなる

さらにバッテリーが切れている事実を観測した時の燃料タンクが空である確率は

図821

head-to-headの更に特殊な性質(弁明)

さらに子孫ノードのいずれかが観測されても 燃料タンクが空になる確率は変化する

子孫ノードが0

有向分離(D分離)リンクを遮断する時の法則今までの話をノード集合にまで拡張したもの

(グラフの形だけでわかる)

(a) 集合Cに含まれるノードであって経路に含まれる矢印がそこでhead-to-tailあるいはtail-to-tailである

(b) 経路に含まれる矢印がそのノードでhead-to-headであり自身あるいはそのすべての子孫のいずれもが集合Cに含まれない

CA B CA B

CA B

あらゆるA-C-Bの経路が遮断されていれば集合Aは集合Cにおいて集合Bと条件付き独立

有向分離(D分離)

図822

A AC C

B B

ノードaとノードbは集合C(ノードe f)で遮断できるかcが観測された場合 fが観測された場合

-gt 遮断されない -gt 遮断される

∵ fがtail-to-tailで観測されていない

eはhead-to-headだが子孫fがCに含まれる

∵ fがtail-to-tailで観測されている

eはhead-to-headでそれ自身あるいはその子孫が条件付き集合に

含まれない

有向分離(D分離)図85のモデルの有向分離性

パラメーターは観測済みノードと同じ amp 親ノードが無い

-gt 他のノードとのつながりは必ずtail-to-tailになる -gt 有向分離性に影響しない

124節のiidデータの有向分離性

図823

パラメーターuはtail-to-tail -gt uに値を入力したらあらゆる子ノード間で独立

-gt iid

uを積分消去した場合観測値は独立ではない

(835)

有向分離(D分離)図87のモデルの有向分離性

(836)

有向分離(D分離)ナイーブベイズの有向分離性

図824

例 bag-of-words

例 受信BOX迷惑メール

zが観測されるとあらゆるxノード間は独立

有向分離定理

1 有向分解(乗法定理を繰り返し適用して得た条件付き確率分布)

2 有向分離 (条件付き独立を繰り返し適用して得た条件付き確率分布)

以下の二つは同じ分布を得る

マルコフブランケット

xiが起きる確率をxi以外の全てのノードで条件付けた分布で考える

分母をxiで周辺化する

条件付き確率の積にする

xiに依存しないノードの条件付き確率は分子と打ち消し合う(次頁)

あるノードの条件付き独立性を考える時の最小単位

マルコフブランケット

図826

つまりxiの条件付き独立を考える時 1) 親子 2) 共同親 だけを考えれば良い

共同親A B

C

D E

F G

結局Cの条件付き確率P(C|AB)と Cの子ノードの条件付き確率P(D|CF)やP(E|CG)だけ残る

Cを含まない項は全部消える

無向グラフ(マルコフ確率場)無向グラフは条件付き独立を考えるのが簡単

図827集合Cを取り除いてA-B間の経路が無くなるなら条件付き独立

図828

無向グラフはマルコフブランケットも簡単

隣接ノードだけ考えれば良い

無向グラフ(マルコフ確率場)無向グラフの分解特性(これまで乗法定理を繰り返し適用していたもの)は以下のように定式化される

(838)

xi xj以外の全てのノードを取り除いた時の同時確率

よりと書くことも

各々の確率に分割できるならxijにおいてxixjは条件付き独立

クリーク

図829

無向グラフの分解特性は極大クリーク変数集合の関数にする事

クリーク x1 x2 x2 x3 x3 x4 x4 x2 極大クリーク x1 x2 x3 x2 x3 x4 x1 x2 x3 x4はクリークではない(x1 - x4間にリンクがない)

クリーク 全てのノードの組にリンクが存在するグラフの部分集合 極大クリーク もう一つを加えるとクリークでなくなってしまうようなクリーク

ポテンシャル関数極大クリークを引数としたポテンシャル関数

の積に分解するどんな関数にするかは言及しない

基本的に総和は1にならない -gt 規格化定数(分配関数)を導入

-gt 計算は大変

画像のノイズ除去の例

元のピクセル

ランダムに反転したピクセル

元画像10のピクセルをランダムに反転

ICMによる復元グラフカットアルゴリズムによる復元

(841)(842)

(843)

図831

有向-gt無向の変換図832のような簡単な場合

有向グラフ(a)無向グラフ(b)

以下のような対応づけができる

有向-gt無向の変換図833のような場合

親同士をリンクで結ぶ(モラル化)

1 向きを無くす 2 モラル化する 3 規格化する -gt ジャンクションツリーアルゴリズム(84)

生物の細胞

遺伝子間が相互作用のネットワークを形成している

geneX geneY

Protein X

Protein Y

様々な実験での遺伝子発現データ

とりうる可能性高い遺伝子ネットワークを探索(MAP推定)

データからこれを推定したい

実験

遺伝子

more

番外編 ベイジアンネットワークの学習

rarr 近似的に求めるアルゴリズムが開発される

httpwwwsclsrikenjpscruisesoftwaresign-bnhtml

番外編 ベイジアンネットワークの学習

こういうネットワーク構造は未知でデータから推定するアプローチはベイジアンネットワークのrdquo学習rdquoとかrdquo推論rdquoというらしい

(848で紹介だけしている)

SiGN-BN スパコン「京」で計算するソフトウェア自分の修論の内容

Rのbnlearnパッケージ(CBRCのBlue Gene上で実行)httpsignhgcjpsignbnindex_jahtml

番外編 ベイジアンネットワークの学習

番外編 ベイジアンネットワークの学習

どのグラフが良いか決める基準 尤度情報量基準(AIC BIC 尤度ampパラメーター数)

MAP推定(尤度times事前分布)hellip

データを元に最も最適と思われるグラフ構造を探索する

データ

グラフ

1 0 01 1 01 0 10 1 01 0 10 0 01 1 00 0 01 1 10 0 1

a b cb

a

c

b

a

c

b

a

c

データからグラフ構造を推定したい場合単純な式変形をしただけだと数学的に等しいので結局最適なグラフ構造を決定できないのでは(勉強会での議論)

=gt 実際にやってみた

番外編 ベイジアンネットワークの学習

httpwwwsclsrikenjpscruisewp-contentuploadssites3201312SIGN_HGC_Seminar_Tamada201302pdf

httpenwikipediaorgwikiDirected_acyclic_graph

ノード数の増加に対する取りうるDAG数

番外編 ベイジアンネットワークの学習

3ノードなら手計算でいけそう

乗法定理times2(n=6)

乗法定理times2 + 条件付き独立 (n=9)

乗法定理times1 + 独立(n=3)

全て独立(n=1)

乗法定理を使う (このままではグラフとして表現できない)

乗法定理times1 + 独立 + 条件付き独立(n=6)エッジ0個

エッジ1個

エッジ2個(head-to-tail tail-to-tail)

エッジ2個(head-to-head)

エッジ3個(全結合)

ノード3つで式変形を片っ端から行った

番外編 ベイジアンネットワークの学習

試しに以下のような簡単な01データを用いる またここでは単純に尤度のみでグラフの善し悪しを判定する

番外編 ベイジアンネットワークの学習

0 0 00 0 00 0 00 0 01 0 01 0 01 1 01 1 01 1 11 1 1

a b c

P(a) = 35 P(b) = 25 P(c) = 15 P(a b) = 25 P(b c) = 15 P(a c) = 15 P(a b c) = 15

P(a | b c) = 1 P(b | a c) = 1 P(c | a b) = 12 P(a | b) = 1 P(a | c) = 1 P(b | a) = 23 P(b | c) = 1 P(c | a) = 13 P(c | b) = 12

独立性について

番外編 ベイジアンネットワークの学習

0 0 00 0 00 0 00 0 01 0 01 0 01 1 01 1 01 1 11 1 1

a b c

P(a | b c) = P(a | b) P(a | b c) = P(a | c) P(b | a c) ne P(b | a) P(b | a c) = P(b | c) P(c | a b) ne P(c | a) P(c | a b) = P(c | b)

P(a b c) ne P(a) P(b) P(c) P(a b) ne P(a) P(b) P(b c) ne P(b) P(c) P(a c) ne P(a) P(c)

条件付き独立性について

データによって成り立ったり成り立たなかったりする

乗法定理times2(n=6)

乗法定理times2 + 条件付き独立 (n=9)

乗法定理times1 + 独立(n=3)

全て独立(n=1)

乗法定理times1 + 独立 + 条件付き独立(n=6)エッジ0個

エッジ1個

エッジ2個(head-to-tail tail-to-tail)

エッジ2個(head-to-head)

エッジ3個(全結合)

番外編 ベイジアンネットワークの学習

尤度を計算した

= 02= 02= 02= 02= 02= 02

= 0048

= 008= 012= 012

= 02= 02= 02= 02= 013

= 013= 02

= 02= 013

= 008= 008= 008= 012= 008= 012

乗法定理times2(n=6)エッジ3個(全結合)

番外編 ベイジアンネットワークの学習

= 02= 02= 02= 02= 02= 02

乗法定理で変形したものはグラフ構造は違うのにも関わらず尤度は等しい

b

a

cb

a

cb

a

cb

a

cb

a

cb

a

c

乗法定理times2 + 条件付き独立 (n=9)

乗法定理times1 + 独立(n=3)乗法定理times1 + 独立 + 条件付き独立(n=6)

エッジ0個

エッジ1個

エッジ2個(head-to-tail tail-to-tail)

エッジ2個(head-to-head)

番外編 ベイジアンネットワークの学習

= 008= 012= 012

= 02= 02= 02= 02= 013

= 013= 02

= 02= 013

= 008= 008= 008= 012= 008= 012

条件付き独立独立はデータによって成り立ったり成り立たなかったりする

「同じ尤度を持つDAGは複数存在する可能性がある」

21世紀の統計科学 第2巻 第6章 生命システムネットワークを明らかにするための統計的モデリング

Page 16: PRML8章

ベイジアンネットワーク3変数abcの同時確率p(abc)を考える

同時分布p(abc)は乗法定理で以下のように分解できる(81)

(82)また同時分布p(ab)は乗法定理で以下のように分解できる

ベイジアンネットワークベイジアンネットワークはこの確率変数間の因果関係を

グラフで表現したもの

(82)

1 aが起きてhellip

2 aが起きることでbが起きてhellip

3 a bが起きることでcが起きる

図81

aはbの親ノードbはaの子ノード

という

ベイジアンネットワーク

例 K=5の時の全結合グラフ

(83)

乗法定理を繰り返し適用する事で同時分布は各変数上の条件付き分布の積として書ける(全結合)

x1 x2 x3 x4 x5

自分よりも小さい番号がふられたすべてのノードから向かってくるリンクをもつ

ベイジアンネットワーク

図82

(84)

ベイジアンネットワーク一般系で書くと

(pak xkの親ノードの集合)

この式は同時分布の分解特性を表現したという

ベイジアンネットワークは有向閉路を持たない有向非循環グラフ(DAG Directed acyclic graph)

とか みたいなループ構造が無いという事 (自然現象ではよくあるけど)

(85)

グラフィカルモデルの書き方126節のベイズ多項式回帰モデル (N変量のデータからyを予測する)

多項式係数ベクトル観測データ

入力データノイズの分散

ガウス事前分布の精度(超パラメーター)

確率変数 (パラメーターで値が変わる)

パラメーター (定数)

sinカーブ

図117太字のxtは訓練データ 細字のxtはテストデータ

グラフィカルモデルの書き方確率変数にだけ注目した書き方(161のシンプル版)

(86)

N個のノードは左のようにまとめて書いてもよい

プレート

図83

図84

グラフィカルモデルの書き方パラメーターも明示的に含んだ書き方

(87)

図85 図86

学習データを入れている事を示す場合は塗りつぶすパラメータは小さい点で書く

観測されない隠れ変数はそのまま (-gt 第9 12章 EMアルゴリズム)

生成モデル観測データが生成される因果仮定を表現したモデル

人口的なデータを生成できる

例 伝承サンプリング(上位ノードから順に値を決めていくというだけ)

図85は生成モデルでは無い xnは値が既に決まっているから

xnの事前分布が必要図85

2

1

23

有向グラフの親子対が共役関係になる分布であると良い性質をもつ (多分解析的に積分が解けるとかモデルが複雑にならないとか)

特に重要なのが以下の二つでこれらは階層的に拡張して

任意の複雑なDAGが構築できる

離散変数 離散変数

ガウス変数 ガウス変数

離散変数

(89)

1-of-K符号化で書かれた多項分布

例 さいころで3が出る確率

パラメーター数 K - 1∵規格化のための制約

パラメーター数 K2 - 1

離散変数1-of-K符号化で書かれた多項分布(二つの状態を取る場合)

∵規格化のための制約

例 さいころABで各々(3 4)が出る確率

以下略hellip(36個パラメーターがある)

とりうる状態が増えるとパラメーターが指数的に増大してしまうKM - 1状態数Mで 個

離散変数乗法定理を用いるとP(x1x2) = P(x2|x1) P(x1)

これは図89の(a)

図89

変数がM個だとパラメーター数は M(K - 1)

でMについて線形

パラメーター数 K2 - 1

パラメーター数 2(K - 1)

離散変数

リンクを除去するとパラメーターを減らせる

全結合 全てが独立

パラメーター数M(K - 1)

パラメーター数 KM - 1

パラメーター数 K - 1 + (M - 1) K (K - 1)

K状態の連鎖

図810

x1 x2 xM x1 x2 xM

離散変数

パラメータを共有する事(sharing tyling)でもパラメーターは減らせる

図811

図812

図810のモデルの事前分布としてディリクレ分布を導入したもの

更に1つのパラメーターuが全ての条件付き分布に共有される場合

パラメーター数K2 - 1

パラメーター数2

離散変数

条件付き分布としてパラメトリックモデルを用いる事でもパラメーターは減らせる

図813

M個の親ノードと一つの子ノード (共に二値変数とする) そのままだとパラメーター数 2M

(810)

親変数の線形結合を入力とするロジスティックシグモイド関数を利用

パラメーター数 M + 1

線形ガウスモデル

(811)

確率的主成分分析因子分析線形動的システムなどで利用されているらしい

平均

pai

分散 vi

xi 全てのノードの同時分布の対数は (85 一般系のベイジアンネットワークより)

(812)

(813)

j

biwixj

線形ガウスモデル平均 u 分散 σ2の正規分布

自然対数をとる(expが消える)

あとはuに

σ2に

を代入すれば813になる

vi

線形ガウスモデル813はxの成分に関する2次関数なのでp(x)はD次元正規分布()

(814)

この時期待値と分散は再帰的に求まる

(815)

(816)

線形ガウスモデルリンクが一つもないD個のノード 全結合グラフ

パラメーター数wij 0個 bi D個 vi D個

パラメーター数wij (D(D-1))2個 bi D個 vi D個

x1

b1 v1

x2

b2 v2

x3

b3 v3

x4

b4 v4x1

b1 v1

x2

b2 v2

x3

b3 v3

x4

b4 v4

線形ガウスモデル中間的なグラフ(例 図814)

パラメーター数wij D - 1個 bi D個 vi D個

x1

b1 v1

x2

b2 v2

x3

b3 v3

x4

b4 v4

線形ガウスモデル

ガウス分布の共役事前分布はガウス分布

ガウス変量の平均をガウス分布とする(事前分布) =gt ガウス分布の平均値は超パラメーター

=gt 超パラメーターがガウス分布だとするhellip(超事前分布)

=gt 階層ベイズモデル(何階層でもモデルを拡張複雑化できる)

条件付き独立性

(820)

bがあってもなくてもaの条件付き確率に影響を与えない

これをcが与えられた下でaはbに対して条件付き独立であるという

cに対してaとbが条件付き独立とは以下のように書く

(821)

(822)

条件付き独立性が示せるとリンクを減らせる

a

c

ba

c

b

可能性のある全ての条件付き独立性を調べればリンクは減らせる =gt 実際には計算量が膨大

=gt グラフの形だけで独立かどうか判断が可能(d-separationという枠組み)

条件付き独立性

以降はまず3つのノードの簡単なグラフで説明する

3つのグラフの例①

ab

c

tail-to-tail

cに対して周辺化

これはp(a) p(b)という形には変形できない (独立ではない)

cで条件付ける

p(a|c) p(b|c)という形に変形できた(条件付き独立block)

(823)

(824)tailtail

3つのグラフの例②

ab

c

head-to-tail

cに対して周辺化

これはp(a) p(b)という形には変形できない (独立ではない)

cで条件付ける

p(a|c) p(b|c)という形に変形できた(条件付き独立block)

(826)

3つのグラフの例③

ab

c

head-to-head

cに対して周辺化

これはp(a) p(b)という形に変形できた(独立)

(828)

確率の総和は1だから

3つのグラフの例③

ab

c

head-to-head

cで条件付ける

p(a|c) p(b|c)という形に変形できない(unblock)

(828)

3つのグラフの例(まとめ)

グラフの形 cで周辺化 cで条件付け

tail-to-tail 独立ではない 条件付き独立(block)

head-to-tail 独立ではない 条件付き独立(block)

head-to-head 独立 独立ではない(unblock)

head-to-headの更に特殊な性質(弁明)

図820

バッテリーの状態 0切れている

1充電されている

燃料タンクの状態 0空1満タン

電動燃料計 0空と示している

1満タンと示している

p(B=1) = 09 p(F=1) = 09

p(G=1 | B = 1 F = 1) = 08 p(G=1 | B = 1 F = 0) = 02 p(G=1 | B = 0 F = 1) = 02 p(G=1 | B = 0 F = 0) = 01

p(B=0) = 01 p(F=0) = 01

p(G=0 | B = 1 F = 1) = 02 p(G=0 | B = 1 F = 0) = 08 p(G=0 | B = 0 F = 1) = 08 p(G=0 | B = 0 F = 0) = 09

事前にこういった情報が与えられているとする

head-to-headの更に特殊な性質(弁明)

何も観測されていないとき燃料タンクが空である確率は

p(F=0) = 01

燃料計が空を指しているという事実を観測した時の燃料タンクが空である確率は(ベイズの定理より)

少し確率が高まっている

確率が低くなる

さらにバッテリーが切れている事実を観測した時の燃料タンクが空である確率は

図821

head-to-headの更に特殊な性質(弁明)

さらに子孫ノードのいずれかが観測されても 燃料タンクが空になる確率は変化する

子孫ノードが0

有向分離(D分離)リンクを遮断する時の法則今までの話をノード集合にまで拡張したもの

(グラフの形だけでわかる)

(a) 集合Cに含まれるノードであって経路に含まれる矢印がそこでhead-to-tailあるいはtail-to-tailである

(b) 経路に含まれる矢印がそのノードでhead-to-headであり自身あるいはそのすべての子孫のいずれもが集合Cに含まれない

CA B CA B

CA B

あらゆるA-C-Bの経路が遮断されていれば集合Aは集合Cにおいて集合Bと条件付き独立

有向分離(D分離)

図822

A AC C

B B

ノードaとノードbは集合C(ノードe f)で遮断できるかcが観測された場合 fが観測された場合

-gt 遮断されない -gt 遮断される

∵ fがtail-to-tailで観測されていない

eはhead-to-headだが子孫fがCに含まれる

∵ fがtail-to-tailで観測されている

eはhead-to-headでそれ自身あるいはその子孫が条件付き集合に

含まれない

有向分離(D分離)図85のモデルの有向分離性

パラメーターは観測済みノードと同じ amp 親ノードが無い

-gt 他のノードとのつながりは必ずtail-to-tailになる -gt 有向分離性に影響しない

124節のiidデータの有向分離性

図823

パラメーターuはtail-to-tail -gt uに値を入力したらあらゆる子ノード間で独立

-gt iid

uを積分消去した場合観測値は独立ではない

(835)

有向分離(D分離)図87のモデルの有向分離性

(836)

有向分離(D分離)ナイーブベイズの有向分離性

図824

例 bag-of-words

例 受信BOX迷惑メール

zが観測されるとあらゆるxノード間は独立

有向分離定理

1 有向分解(乗法定理を繰り返し適用して得た条件付き確率分布)

2 有向分離 (条件付き独立を繰り返し適用して得た条件付き確率分布)

以下の二つは同じ分布を得る

マルコフブランケット

xiが起きる確率をxi以外の全てのノードで条件付けた分布で考える

分母をxiで周辺化する

条件付き確率の積にする

xiに依存しないノードの条件付き確率は分子と打ち消し合う(次頁)

あるノードの条件付き独立性を考える時の最小単位

マルコフブランケット

図826

つまりxiの条件付き独立を考える時 1) 親子 2) 共同親 だけを考えれば良い

共同親A B

C

D E

F G

結局Cの条件付き確率P(C|AB)と Cの子ノードの条件付き確率P(D|CF)やP(E|CG)だけ残る

Cを含まない項は全部消える

無向グラフ(マルコフ確率場)無向グラフは条件付き独立を考えるのが簡単

図827集合Cを取り除いてA-B間の経路が無くなるなら条件付き独立

図828

無向グラフはマルコフブランケットも簡単

隣接ノードだけ考えれば良い

無向グラフ(マルコフ確率場)無向グラフの分解特性(これまで乗法定理を繰り返し適用していたもの)は以下のように定式化される

(838)

xi xj以外の全てのノードを取り除いた時の同時確率

よりと書くことも

各々の確率に分割できるならxijにおいてxixjは条件付き独立

クリーク

図829

無向グラフの分解特性は極大クリーク変数集合の関数にする事

クリーク x1 x2 x2 x3 x3 x4 x4 x2 極大クリーク x1 x2 x3 x2 x3 x4 x1 x2 x3 x4はクリークではない(x1 - x4間にリンクがない)

クリーク 全てのノードの組にリンクが存在するグラフの部分集合 極大クリーク もう一つを加えるとクリークでなくなってしまうようなクリーク

ポテンシャル関数極大クリークを引数としたポテンシャル関数

の積に分解するどんな関数にするかは言及しない

基本的に総和は1にならない -gt 規格化定数(分配関数)を導入

-gt 計算は大変

画像のノイズ除去の例

元のピクセル

ランダムに反転したピクセル

元画像10のピクセルをランダムに反転

ICMによる復元グラフカットアルゴリズムによる復元

(841)(842)

(843)

図831

有向-gt無向の変換図832のような簡単な場合

有向グラフ(a)無向グラフ(b)

以下のような対応づけができる

有向-gt無向の変換図833のような場合

親同士をリンクで結ぶ(モラル化)

1 向きを無くす 2 モラル化する 3 規格化する -gt ジャンクションツリーアルゴリズム(84)

生物の細胞

遺伝子間が相互作用のネットワークを形成している

geneX geneY

Protein X

Protein Y

様々な実験での遺伝子発現データ

とりうる可能性高い遺伝子ネットワークを探索(MAP推定)

データからこれを推定したい

実験

遺伝子

more

番外編 ベイジアンネットワークの学習

rarr 近似的に求めるアルゴリズムが開発される

httpwwwsclsrikenjpscruisesoftwaresign-bnhtml

番外編 ベイジアンネットワークの学習

こういうネットワーク構造は未知でデータから推定するアプローチはベイジアンネットワークのrdquo学習rdquoとかrdquo推論rdquoというらしい

(848で紹介だけしている)

SiGN-BN スパコン「京」で計算するソフトウェア自分の修論の内容

Rのbnlearnパッケージ(CBRCのBlue Gene上で実行)httpsignhgcjpsignbnindex_jahtml

番外編 ベイジアンネットワークの学習

番外編 ベイジアンネットワークの学習

どのグラフが良いか決める基準 尤度情報量基準(AIC BIC 尤度ampパラメーター数)

MAP推定(尤度times事前分布)hellip

データを元に最も最適と思われるグラフ構造を探索する

データ

グラフ

1 0 01 1 01 0 10 1 01 0 10 0 01 1 00 0 01 1 10 0 1

a b cb

a

c

b

a

c

b

a

c

データからグラフ構造を推定したい場合単純な式変形をしただけだと数学的に等しいので結局最適なグラフ構造を決定できないのでは(勉強会での議論)

=gt 実際にやってみた

番外編 ベイジアンネットワークの学習

httpwwwsclsrikenjpscruisewp-contentuploadssites3201312SIGN_HGC_Seminar_Tamada201302pdf

httpenwikipediaorgwikiDirected_acyclic_graph

ノード数の増加に対する取りうるDAG数

番外編 ベイジアンネットワークの学習

3ノードなら手計算でいけそう

乗法定理times2(n=6)

乗法定理times2 + 条件付き独立 (n=9)

乗法定理times1 + 独立(n=3)

全て独立(n=1)

乗法定理を使う (このままではグラフとして表現できない)

乗法定理times1 + 独立 + 条件付き独立(n=6)エッジ0個

エッジ1個

エッジ2個(head-to-tail tail-to-tail)

エッジ2個(head-to-head)

エッジ3個(全結合)

ノード3つで式変形を片っ端から行った

番外編 ベイジアンネットワークの学習

試しに以下のような簡単な01データを用いる またここでは単純に尤度のみでグラフの善し悪しを判定する

番外編 ベイジアンネットワークの学習

0 0 00 0 00 0 00 0 01 0 01 0 01 1 01 1 01 1 11 1 1

a b c

P(a) = 35 P(b) = 25 P(c) = 15 P(a b) = 25 P(b c) = 15 P(a c) = 15 P(a b c) = 15

P(a | b c) = 1 P(b | a c) = 1 P(c | a b) = 12 P(a | b) = 1 P(a | c) = 1 P(b | a) = 23 P(b | c) = 1 P(c | a) = 13 P(c | b) = 12

独立性について

番外編 ベイジアンネットワークの学習

0 0 00 0 00 0 00 0 01 0 01 0 01 1 01 1 01 1 11 1 1

a b c

P(a | b c) = P(a | b) P(a | b c) = P(a | c) P(b | a c) ne P(b | a) P(b | a c) = P(b | c) P(c | a b) ne P(c | a) P(c | a b) = P(c | b)

P(a b c) ne P(a) P(b) P(c) P(a b) ne P(a) P(b) P(b c) ne P(b) P(c) P(a c) ne P(a) P(c)

条件付き独立性について

データによって成り立ったり成り立たなかったりする

乗法定理times2(n=6)

乗法定理times2 + 条件付き独立 (n=9)

乗法定理times1 + 独立(n=3)

全て独立(n=1)

乗法定理times1 + 独立 + 条件付き独立(n=6)エッジ0個

エッジ1個

エッジ2個(head-to-tail tail-to-tail)

エッジ2個(head-to-head)

エッジ3個(全結合)

番外編 ベイジアンネットワークの学習

尤度を計算した

= 02= 02= 02= 02= 02= 02

= 0048

= 008= 012= 012

= 02= 02= 02= 02= 013

= 013= 02

= 02= 013

= 008= 008= 008= 012= 008= 012

乗法定理times2(n=6)エッジ3個(全結合)

番外編 ベイジアンネットワークの学習

= 02= 02= 02= 02= 02= 02

乗法定理で変形したものはグラフ構造は違うのにも関わらず尤度は等しい

b

a

cb

a

cb

a

cb

a

cb

a

cb

a

c

乗法定理times2 + 条件付き独立 (n=9)

乗法定理times1 + 独立(n=3)乗法定理times1 + 独立 + 条件付き独立(n=6)

エッジ0個

エッジ1個

エッジ2個(head-to-tail tail-to-tail)

エッジ2個(head-to-head)

番外編 ベイジアンネットワークの学習

= 008= 012= 012

= 02= 02= 02= 02= 013

= 013= 02

= 02= 013

= 008= 008= 008= 012= 008= 012

条件付き独立独立はデータによって成り立ったり成り立たなかったりする

「同じ尤度を持つDAGは複数存在する可能性がある」

21世紀の統計科学 第2巻 第6章 生命システムネットワークを明らかにするための統計的モデリング

Page 17: PRML8章

ベイジアンネットワークベイジアンネットワークはこの確率変数間の因果関係を

グラフで表現したもの

(82)

1 aが起きてhellip

2 aが起きることでbが起きてhellip

3 a bが起きることでcが起きる

図81

aはbの親ノードbはaの子ノード

という

ベイジアンネットワーク

例 K=5の時の全結合グラフ

(83)

乗法定理を繰り返し適用する事で同時分布は各変数上の条件付き分布の積として書ける(全結合)

x1 x2 x3 x4 x5

自分よりも小さい番号がふられたすべてのノードから向かってくるリンクをもつ

ベイジアンネットワーク

図82

(84)

ベイジアンネットワーク一般系で書くと

(pak xkの親ノードの集合)

この式は同時分布の分解特性を表現したという

ベイジアンネットワークは有向閉路を持たない有向非循環グラフ(DAG Directed acyclic graph)

とか みたいなループ構造が無いという事 (自然現象ではよくあるけど)

(85)

グラフィカルモデルの書き方126節のベイズ多項式回帰モデル (N変量のデータからyを予測する)

多項式係数ベクトル観測データ

入力データノイズの分散

ガウス事前分布の精度(超パラメーター)

確率変数 (パラメーターで値が変わる)

パラメーター (定数)

sinカーブ

図117太字のxtは訓練データ 細字のxtはテストデータ

グラフィカルモデルの書き方確率変数にだけ注目した書き方(161のシンプル版)

(86)

N個のノードは左のようにまとめて書いてもよい

プレート

図83

図84

グラフィカルモデルの書き方パラメーターも明示的に含んだ書き方

(87)

図85 図86

学習データを入れている事を示す場合は塗りつぶすパラメータは小さい点で書く

観測されない隠れ変数はそのまま (-gt 第9 12章 EMアルゴリズム)

生成モデル観測データが生成される因果仮定を表現したモデル

人口的なデータを生成できる

例 伝承サンプリング(上位ノードから順に値を決めていくというだけ)

図85は生成モデルでは無い xnは値が既に決まっているから

xnの事前分布が必要図85

2

1

23

有向グラフの親子対が共役関係になる分布であると良い性質をもつ (多分解析的に積分が解けるとかモデルが複雑にならないとか)

特に重要なのが以下の二つでこれらは階層的に拡張して

任意の複雑なDAGが構築できる

離散変数 離散変数

ガウス変数 ガウス変数

離散変数

(89)

1-of-K符号化で書かれた多項分布

例 さいころで3が出る確率

パラメーター数 K - 1∵規格化のための制約

パラメーター数 K2 - 1

離散変数1-of-K符号化で書かれた多項分布(二つの状態を取る場合)

∵規格化のための制約

例 さいころABで各々(3 4)が出る確率

以下略hellip(36個パラメーターがある)

とりうる状態が増えるとパラメーターが指数的に増大してしまうKM - 1状態数Mで 個

離散変数乗法定理を用いるとP(x1x2) = P(x2|x1) P(x1)

これは図89の(a)

図89

変数がM個だとパラメーター数は M(K - 1)

でMについて線形

パラメーター数 K2 - 1

パラメーター数 2(K - 1)

離散変数

リンクを除去するとパラメーターを減らせる

全結合 全てが独立

パラメーター数M(K - 1)

パラメーター数 KM - 1

パラメーター数 K - 1 + (M - 1) K (K - 1)

K状態の連鎖

図810

x1 x2 xM x1 x2 xM

離散変数

パラメータを共有する事(sharing tyling)でもパラメーターは減らせる

図811

図812

図810のモデルの事前分布としてディリクレ分布を導入したもの

更に1つのパラメーターuが全ての条件付き分布に共有される場合

パラメーター数K2 - 1

パラメーター数2

離散変数

条件付き分布としてパラメトリックモデルを用いる事でもパラメーターは減らせる

図813

M個の親ノードと一つの子ノード (共に二値変数とする) そのままだとパラメーター数 2M

(810)

親変数の線形結合を入力とするロジスティックシグモイド関数を利用

パラメーター数 M + 1

線形ガウスモデル

(811)

確率的主成分分析因子分析線形動的システムなどで利用されているらしい

平均

pai

分散 vi

xi 全てのノードの同時分布の対数は (85 一般系のベイジアンネットワークより)

(812)

(813)

j

biwixj

線形ガウスモデル平均 u 分散 σ2の正規分布

自然対数をとる(expが消える)

あとはuに

σ2に

を代入すれば813になる

vi

線形ガウスモデル813はxの成分に関する2次関数なのでp(x)はD次元正規分布()

(814)

この時期待値と分散は再帰的に求まる

(815)

(816)

線形ガウスモデルリンクが一つもないD個のノード 全結合グラフ

パラメーター数wij 0個 bi D個 vi D個

パラメーター数wij (D(D-1))2個 bi D個 vi D個

x1

b1 v1

x2

b2 v2

x3

b3 v3

x4

b4 v4x1

b1 v1

x2

b2 v2

x3

b3 v3

x4

b4 v4

線形ガウスモデル中間的なグラフ(例 図814)

パラメーター数wij D - 1個 bi D個 vi D個

x1

b1 v1

x2

b2 v2

x3

b3 v3

x4

b4 v4

線形ガウスモデル

ガウス分布の共役事前分布はガウス分布

ガウス変量の平均をガウス分布とする(事前分布) =gt ガウス分布の平均値は超パラメーター

=gt 超パラメーターがガウス分布だとするhellip(超事前分布)

=gt 階層ベイズモデル(何階層でもモデルを拡張複雑化できる)

条件付き独立性

(820)

bがあってもなくてもaの条件付き確率に影響を与えない

これをcが与えられた下でaはbに対して条件付き独立であるという

cに対してaとbが条件付き独立とは以下のように書く

(821)

(822)

条件付き独立性が示せるとリンクを減らせる

a

c

ba

c

b

可能性のある全ての条件付き独立性を調べればリンクは減らせる =gt 実際には計算量が膨大

=gt グラフの形だけで独立かどうか判断が可能(d-separationという枠組み)

条件付き独立性

以降はまず3つのノードの簡単なグラフで説明する

3つのグラフの例①

ab

c

tail-to-tail

cに対して周辺化

これはp(a) p(b)という形には変形できない (独立ではない)

cで条件付ける

p(a|c) p(b|c)という形に変形できた(条件付き独立block)

(823)

(824)tailtail

3つのグラフの例②

ab

c

head-to-tail

cに対して周辺化

これはp(a) p(b)という形には変形できない (独立ではない)

cで条件付ける

p(a|c) p(b|c)という形に変形できた(条件付き独立block)

(826)

3つのグラフの例③

ab

c

head-to-head

cに対して周辺化

これはp(a) p(b)という形に変形できた(独立)

(828)

確率の総和は1だから

3つのグラフの例③

ab

c

head-to-head

cで条件付ける

p(a|c) p(b|c)という形に変形できない(unblock)

(828)

3つのグラフの例(まとめ)

グラフの形 cで周辺化 cで条件付け

tail-to-tail 独立ではない 条件付き独立(block)

head-to-tail 独立ではない 条件付き独立(block)

head-to-head 独立 独立ではない(unblock)

head-to-headの更に特殊な性質(弁明)

図820

バッテリーの状態 0切れている

1充電されている

燃料タンクの状態 0空1満タン

電動燃料計 0空と示している

1満タンと示している

p(B=1) = 09 p(F=1) = 09

p(G=1 | B = 1 F = 1) = 08 p(G=1 | B = 1 F = 0) = 02 p(G=1 | B = 0 F = 1) = 02 p(G=1 | B = 0 F = 0) = 01

p(B=0) = 01 p(F=0) = 01

p(G=0 | B = 1 F = 1) = 02 p(G=0 | B = 1 F = 0) = 08 p(G=0 | B = 0 F = 1) = 08 p(G=0 | B = 0 F = 0) = 09

事前にこういった情報が与えられているとする

head-to-headの更に特殊な性質(弁明)

何も観測されていないとき燃料タンクが空である確率は

p(F=0) = 01

燃料計が空を指しているという事実を観測した時の燃料タンクが空である確率は(ベイズの定理より)

少し確率が高まっている

確率が低くなる

さらにバッテリーが切れている事実を観測した時の燃料タンクが空である確率は

図821

head-to-headの更に特殊な性質(弁明)

さらに子孫ノードのいずれかが観測されても 燃料タンクが空になる確率は変化する

子孫ノードが0

有向分離(D分離)リンクを遮断する時の法則今までの話をノード集合にまで拡張したもの

(グラフの形だけでわかる)

(a) 集合Cに含まれるノードであって経路に含まれる矢印がそこでhead-to-tailあるいはtail-to-tailである

(b) 経路に含まれる矢印がそのノードでhead-to-headであり自身あるいはそのすべての子孫のいずれもが集合Cに含まれない

CA B CA B

CA B

あらゆるA-C-Bの経路が遮断されていれば集合Aは集合Cにおいて集合Bと条件付き独立

有向分離(D分離)

図822

A AC C

B B

ノードaとノードbは集合C(ノードe f)で遮断できるかcが観測された場合 fが観測された場合

-gt 遮断されない -gt 遮断される

∵ fがtail-to-tailで観測されていない

eはhead-to-headだが子孫fがCに含まれる

∵ fがtail-to-tailで観測されている

eはhead-to-headでそれ自身あるいはその子孫が条件付き集合に

含まれない

有向分離(D分離)図85のモデルの有向分離性

パラメーターは観測済みノードと同じ amp 親ノードが無い

-gt 他のノードとのつながりは必ずtail-to-tailになる -gt 有向分離性に影響しない

124節のiidデータの有向分離性

図823

パラメーターuはtail-to-tail -gt uに値を入力したらあらゆる子ノード間で独立

-gt iid

uを積分消去した場合観測値は独立ではない

(835)

有向分離(D分離)図87のモデルの有向分離性

(836)

有向分離(D分離)ナイーブベイズの有向分離性

図824

例 bag-of-words

例 受信BOX迷惑メール

zが観測されるとあらゆるxノード間は独立

有向分離定理

1 有向分解(乗法定理を繰り返し適用して得た条件付き確率分布)

2 有向分離 (条件付き独立を繰り返し適用して得た条件付き確率分布)

以下の二つは同じ分布を得る

マルコフブランケット

xiが起きる確率をxi以外の全てのノードで条件付けた分布で考える

分母をxiで周辺化する

条件付き確率の積にする

xiに依存しないノードの条件付き確率は分子と打ち消し合う(次頁)

あるノードの条件付き独立性を考える時の最小単位

マルコフブランケット

図826

つまりxiの条件付き独立を考える時 1) 親子 2) 共同親 だけを考えれば良い

共同親A B

C

D E

F G

結局Cの条件付き確率P(C|AB)と Cの子ノードの条件付き確率P(D|CF)やP(E|CG)だけ残る

Cを含まない項は全部消える

無向グラフ(マルコフ確率場)無向グラフは条件付き独立を考えるのが簡単

図827集合Cを取り除いてA-B間の経路が無くなるなら条件付き独立

図828

無向グラフはマルコフブランケットも簡単

隣接ノードだけ考えれば良い

無向グラフ(マルコフ確率場)無向グラフの分解特性(これまで乗法定理を繰り返し適用していたもの)は以下のように定式化される

(838)

xi xj以外の全てのノードを取り除いた時の同時確率

よりと書くことも

各々の確率に分割できるならxijにおいてxixjは条件付き独立

クリーク

図829

無向グラフの分解特性は極大クリーク変数集合の関数にする事

クリーク x1 x2 x2 x3 x3 x4 x4 x2 極大クリーク x1 x2 x3 x2 x3 x4 x1 x2 x3 x4はクリークではない(x1 - x4間にリンクがない)

クリーク 全てのノードの組にリンクが存在するグラフの部分集合 極大クリーク もう一つを加えるとクリークでなくなってしまうようなクリーク

ポテンシャル関数極大クリークを引数としたポテンシャル関数

の積に分解するどんな関数にするかは言及しない

基本的に総和は1にならない -gt 規格化定数(分配関数)を導入

-gt 計算は大変

画像のノイズ除去の例

元のピクセル

ランダムに反転したピクセル

元画像10のピクセルをランダムに反転

ICMによる復元グラフカットアルゴリズムによる復元

(841)(842)

(843)

図831

有向-gt無向の変換図832のような簡単な場合

有向グラフ(a)無向グラフ(b)

以下のような対応づけができる

有向-gt無向の変換図833のような場合

親同士をリンクで結ぶ(モラル化)

1 向きを無くす 2 モラル化する 3 規格化する -gt ジャンクションツリーアルゴリズム(84)

生物の細胞

遺伝子間が相互作用のネットワークを形成している

geneX geneY

Protein X

Protein Y

様々な実験での遺伝子発現データ

とりうる可能性高い遺伝子ネットワークを探索(MAP推定)

データからこれを推定したい

実験

遺伝子

more

番外編 ベイジアンネットワークの学習

rarr 近似的に求めるアルゴリズムが開発される

httpwwwsclsrikenjpscruisesoftwaresign-bnhtml

番外編 ベイジアンネットワークの学習

こういうネットワーク構造は未知でデータから推定するアプローチはベイジアンネットワークのrdquo学習rdquoとかrdquo推論rdquoというらしい

(848で紹介だけしている)

SiGN-BN スパコン「京」で計算するソフトウェア自分の修論の内容

Rのbnlearnパッケージ(CBRCのBlue Gene上で実行)httpsignhgcjpsignbnindex_jahtml

番外編 ベイジアンネットワークの学習

番外編 ベイジアンネットワークの学習

どのグラフが良いか決める基準 尤度情報量基準(AIC BIC 尤度ampパラメーター数)

MAP推定(尤度times事前分布)hellip

データを元に最も最適と思われるグラフ構造を探索する

データ

グラフ

1 0 01 1 01 0 10 1 01 0 10 0 01 1 00 0 01 1 10 0 1

a b cb

a

c

b

a

c

b

a

c

データからグラフ構造を推定したい場合単純な式変形をしただけだと数学的に等しいので結局最適なグラフ構造を決定できないのでは(勉強会での議論)

=gt 実際にやってみた

番外編 ベイジアンネットワークの学習

httpwwwsclsrikenjpscruisewp-contentuploadssites3201312SIGN_HGC_Seminar_Tamada201302pdf

httpenwikipediaorgwikiDirected_acyclic_graph

ノード数の増加に対する取りうるDAG数

番外編 ベイジアンネットワークの学習

3ノードなら手計算でいけそう

乗法定理times2(n=6)

乗法定理times2 + 条件付き独立 (n=9)

乗法定理times1 + 独立(n=3)

全て独立(n=1)

乗法定理を使う (このままではグラフとして表現できない)

乗法定理times1 + 独立 + 条件付き独立(n=6)エッジ0個

エッジ1個

エッジ2個(head-to-tail tail-to-tail)

エッジ2個(head-to-head)

エッジ3個(全結合)

ノード3つで式変形を片っ端から行った

番外編 ベイジアンネットワークの学習

試しに以下のような簡単な01データを用いる またここでは単純に尤度のみでグラフの善し悪しを判定する

番外編 ベイジアンネットワークの学習

0 0 00 0 00 0 00 0 01 0 01 0 01 1 01 1 01 1 11 1 1

a b c

P(a) = 35 P(b) = 25 P(c) = 15 P(a b) = 25 P(b c) = 15 P(a c) = 15 P(a b c) = 15

P(a | b c) = 1 P(b | a c) = 1 P(c | a b) = 12 P(a | b) = 1 P(a | c) = 1 P(b | a) = 23 P(b | c) = 1 P(c | a) = 13 P(c | b) = 12

独立性について

番外編 ベイジアンネットワークの学習

0 0 00 0 00 0 00 0 01 0 01 0 01 1 01 1 01 1 11 1 1

a b c

P(a | b c) = P(a | b) P(a | b c) = P(a | c) P(b | a c) ne P(b | a) P(b | a c) = P(b | c) P(c | a b) ne P(c | a) P(c | a b) = P(c | b)

P(a b c) ne P(a) P(b) P(c) P(a b) ne P(a) P(b) P(b c) ne P(b) P(c) P(a c) ne P(a) P(c)

条件付き独立性について

データによって成り立ったり成り立たなかったりする

乗法定理times2(n=6)

乗法定理times2 + 条件付き独立 (n=9)

乗法定理times1 + 独立(n=3)

全て独立(n=1)

乗法定理times1 + 独立 + 条件付き独立(n=6)エッジ0個

エッジ1個

エッジ2個(head-to-tail tail-to-tail)

エッジ2個(head-to-head)

エッジ3個(全結合)

番外編 ベイジアンネットワークの学習

尤度を計算した

= 02= 02= 02= 02= 02= 02

= 0048

= 008= 012= 012

= 02= 02= 02= 02= 013

= 013= 02

= 02= 013

= 008= 008= 008= 012= 008= 012

乗法定理times2(n=6)エッジ3個(全結合)

番外編 ベイジアンネットワークの学習

= 02= 02= 02= 02= 02= 02

乗法定理で変形したものはグラフ構造は違うのにも関わらず尤度は等しい

b

a

cb

a

cb

a

cb

a

cb

a

cb

a

c

乗法定理times2 + 条件付き独立 (n=9)

乗法定理times1 + 独立(n=3)乗法定理times1 + 独立 + 条件付き独立(n=6)

エッジ0個

エッジ1個

エッジ2個(head-to-tail tail-to-tail)

エッジ2個(head-to-head)

番外編 ベイジアンネットワークの学習

= 008= 012= 012

= 02= 02= 02= 02= 013

= 013= 02

= 02= 013

= 008= 008= 008= 012= 008= 012

条件付き独立独立はデータによって成り立ったり成り立たなかったりする

「同じ尤度を持つDAGは複数存在する可能性がある」

21世紀の統計科学 第2巻 第6章 生命システムネットワークを明らかにするための統計的モデリング

Page 18: PRML8章

ベイジアンネットワーク

例 K=5の時の全結合グラフ

(83)

乗法定理を繰り返し適用する事で同時分布は各変数上の条件付き分布の積として書ける(全結合)

x1 x2 x3 x4 x5

自分よりも小さい番号がふられたすべてのノードから向かってくるリンクをもつ

ベイジアンネットワーク

図82

(84)

ベイジアンネットワーク一般系で書くと

(pak xkの親ノードの集合)

この式は同時分布の分解特性を表現したという

ベイジアンネットワークは有向閉路を持たない有向非循環グラフ(DAG Directed acyclic graph)

とか みたいなループ構造が無いという事 (自然現象ではよくあるけど)

(85)

グラフィカルモデルの書き方126節のベイズ多項式回帰モデル (N変量のデータからyを予測する)

多項式係数ベクトル観測データ

入力データノイズの分散

ガウス事前分布の精度(超パラメーター)

確率変数 (パラメーターで値が変わる)

パラメーター (定数)

sinカーブ

図117太字のxtは訓練データ 細字のxtはテストデータ

グラフィカルモデルの書き方確率変数にだけ注目した書き方(161のシンプル版)

(86)

N個のノードは左のようにまとめて書いてもよい

プレート

図83

図84

グラフィカルモデルの書き方パラメーターも明示的に含んだ書き方

(87)

図85 図86

学習データを入れている事を示す場合は塗りつぶすパラメータは小さい点で書く

観測されない隠れ変数はそのまま (-gt 第9 12章 EMアルゴリズム)

生成モデル観測データが生成される因果仮定を表現したモデル

人口的なデータを生成できる

例 伝承サンプリング(上位ノードから順に値を決めていくというだけ)

図85は生成モデルでは無い xnは値が既に決まっているから

xnの事前分布が必要図85

2

1

23

有向グラフの親子対が共役関係になる分布であると良い性質をもつ (多分解析的に積分が解けるとかモデルが複雑にならないとか)

特に重要なのが以下の二つでこれらは階層的に拡張して

任意の複雑なDAGが構築できる

離散変数 離散変数

ガウス変数 ガウス変数

離散変数

(89)

1-of-K符号化で書かれた多項分布

例 さいころで3が出る確率

パラメーター数 K - 1∵規格化のための制約

パラメーター数 K2 - 1

離散変数1-of-K符号化で書かれた多項分布(二つの状態を取る場合)

∵規格化のための制約

例 さいころABで各々(3 4)が出る確率

以下略hellip(36個パラメーターがある)

とりうる状態が増えるとパラメーターが指数的に増大してしまうKM - 1状態数Mで 個

離散変数乗法定理を用いるとP(x1x2) = P(x2|x1) P(x1)

これは図89の(a)

図89

変数がM個だとパラメーター数は M(K - 1)

でMについて線形

パラメーター数 K2 - 1

パラメーター数 2(K - 1)

離散変数

リンクを除去するとパラメーターを減らせる

全結合 全てが独立

パラメーター数M(K - 1)

パラメーター数 KM - 1

パラメーター数 K - 1 + (M - 1) K (K - 1)

K状態の連鎖

図810

x1 x2 xM x1 x2 xM

離散変数

パラメータを共有する事(sharing tyling)でもパラメーターは減らせる

図811

図812

図810のモデルの事前分布としてディリクレ分布を導入したもの

更に1つのパラメーターuが全ての条件付き分布に共有される場合

パラメーター数K2 - 1

パラメーター数2

離散変数

条件付き分布としてパラメトリックモデルを用いる事でもパラメーターは減らせる

図813

M個の親ノードと一つの子ノード (共に二値変数とする) そのままだとパラメーター数 2M

(810)

親変数の線形結合を入力とするロジスティックシグモイド関数を利用

パラメーター数 M + 1

線形ガウスモデル

(811)

確率的主成分分析因子分析線形動的システムなどで利用されているらしい

平均

pai

分散 vi

xi 全てのノードの同時分布の対数は (85 一般系のベイジアンネットワークより)

(812)

(813)

j

biwixj

線形ガウスモデル平均 u 分散 σ2の正規分布

自然対数をとる(expが消える)

あとはuに

σ2に

を代入すれば813になる

vi

線形ガウスモデル813はxの成分に関する2次関数なのでp(x)はD次元正規分布()

(814)

この時期待値と分散は再帰的に求まる

(815)

(816)

線形ガウスモデルリンクが一つもないD個のノード 全結合グラフ

パラメーター数wij 0個 bi D個 vi D個

パラメーター数wij (D(D-1))2個 bi D個 vi D個

x1

b1 v1

x2

b2 v2

x3

b3 v3

x4

b4 v4x1

b1 v1

x2

b2 v2

x3

b3 v3

x4

b4 v4

線形ガウスモデル中間的なグラフ(例 図814)

パラメーター数wij D - 1個 bi D個 vi D個

x1

b1 v1

x2

b2 v2

x3

b3 v3

x4

b4 v4

線形ガウスモデル

ガウス分布の共役事前分布はガウス分布

ガウス変量の平均をガウス分布とする(事前分布) =gt ガウス分布の平均値は超パラメーター

=gt 超パラメーターがガウス分布だとするhellip(超事前分布)

=gt 階層ベイズモデル(何階層でもモデルを拡張複雑化できる)

条件付き独立性

(820)

bがあってもなくてもaの条件付き確率に影響を与えない

これをcが与えられた下でaはbに対して条件付き独立であるという

cに対してaとbが条件付き独立とは以下のように書く

(821)

(822)

条件付き独立性が示せるとリンクを減らせる

a

c

ba

c

b

可能性のある全ての条件付き独立性を調べればリンクは減らせる =gt 実際には計算量が膨大

=gt グラフの形だけで独立かどうか判断が可能(d-separationという枠組み)

条件付き独立性

以降はまず3つのノードの簡単なグラフで説明する

3つのグラフの例①

ab

c

tail-to-tail

cに対して周辺化

これはp(a) p(b)という形には変形できない (独立ではない)

cで条件付ける

p(a|c) p(b|c)という形に変形できた(条件付き独立block)

(823)

(824)tailtail

3つのグラフの例②

ab

c

head-to-tail

cに対して周辺化

これはp(a) p(b)という形には変形できない (独立ではない)

cで条件付ける

p(a|c) p(b|c)という形に変形できた(条件付き独立block)

(826)

3つのグラフの例③

ab

c

head-to-head

cに対して周辺化

これはp(a) p(b)という形に変形できた(独立)

(828)

確率の総和は1だから

3つのグラフの例③

ab

c

head-to-head

cで条件付ける

p(a|c) p(b|c)という形に変形できない(unblock)

(828)

3つのグラフの例(まとめ)

グラフの形 cで周辺化 cで条件付け

tail-to-tail 独立ではない 条件付き独立(block)

head-to-tail 独立ではない 条件付き独立(block)

head-to-head 独立 独立ではない(unblock)

head-to-headの更に特殊な性質(弁明)

図820

バッテリーの状態 0切れている

1充電されている

燃料タンクの状態 0空1満タン

電動燃料計 0空と示している

1満タンと示している

p(B=1) = 09 p(F=1) = 09

p(G=1 | B = 1 F = 1) = 08 p(G=1 | B = 1 F = 0) = 02 p(G=1 | B = 0 F = 1) = 02 p(G=1 | B = 0 F = 0) = 01

p(B=0) = 01 p(F=0) = 01

p(G=0 | B = 1 F = 1) = 02 p(G=0 | B = 1 F = 0) = 08 p(G=0 | B = 0 F = 1) = 08 p(G=0 | B = 0 F = 0) = 09

事前にこういった情報が与えられているとする

head-to-headの更に特殊な性質(弁明)

何も観測されていないとき燃料タンクが空である確率は

p(F=0) = 01

燃料計が空を指しているという事実を観測した時の燃料タンクが空である確率は(ベイズの定理より)

少し確率が高まっている

確率が低くなる

さらにバッテリーが切れている事実を観測した時の燃料タンクが空である確率は

図821

head-to-headの更に特殊な性質(弁明)

さらに子孫ノードのいずれかが観測されても 燃料タンクが空になる確率は変化する

子孫ノードが0

有向分離(D分離)リンクを遮断する時の法則今までの話をノード集合にまで拡張したもの

(グラフの形だけでわかる)

(a) 集合Cに含まれるノードであって経路に含まれる矢印がそこでhead-to-tailあるいはtail-to-tailである

(b) 経路に含まれる矢印がそのノードでhead-to-headであり自身あるいはそのすべての子孫のいずれもが集合Cに含まれない

CA B CA B

CA B

あらゆるA-C-Bの経路が遮断されていれば集合Aは集合Cにおいて集合Bと条件付き独立

有向分離(D分離)

図822

A AC C

B B

ノードaとノードbは集合C(ノードe f)で遮断できるかcが観測された場合 fが観測された場合

-gt 遮断されない -gt 遮断される

∵ fがtail-to-tailで観測されていない

eはhead-to-headだが子孫fがCに含まれる

∵ fがtail-to-tailで観測されている

eはhead-to-headでそれ自身あるいはその子孫が条件付き集合に

含まれない

有向分離(D分離)図85のモデルの有向分離性

パラメーターは観測済みノードと同じ amp 親ノードが無い

-gt 他のノードとのつながりは必ずtail-to-tailになる -gt 有向分離性に影響しない

124節のiidデータの有向分離性

図823

パラメーターuはtail-to-tail -gt uに値を入力したらあらゆる子ノード間で独立

-gt iid

uを積分消去した場合観測値は独立ではない

(835)

有向分離(D分離)図87のモデルの有向分離性

(836)

有向分離(D分離)ナイーブベイズの有向分離性

図824

例 bag-of-words

例 受信BOX迷惑メール

zが観測されるとあらゆるxノード間は独立

有向分離定理

1 有向分解(乗法定理を繰り返し適用して得た条件付き確率分布)

2 有向分離 (条件付き独立を繰り返し適用して得た条件付き確率分布)

以下の二つは同じ分布を得る

マルコフブランケット

xiが起きる確率をxi以外の全てのノードで条件付けた分布で考える

分母をxiで周辺化する

条件付き確率の積にする

xiに依存しないノードの条件付き確率は分子と打ち消し合う(次頁)

あるノードの条件付き独立性を考える時の最小単位

マルコフブランケット

図826

つまりxiの条件付き独立を考える時 1) 親子 2) 共同親 だけを考えれば良い

共同親A B

C

D E

F G

結局Cの条件付き確率P(C|AB)と Cの子ノードの条件付き確率P(D|CF)やP(E|CG)だけ残る

Cを含まない項は全部消える

無向グラフ(マルコフ確率場)無向グラフは条件付き独立を考えるのが簡単

図827集合Cを取り除いてA-B間の経路が無くなるなら条件付き独立

図828

無向グラフはマルコフブランケットも簡単

隣接ノードだけ考えれば良い

無向グラフ(マルコフ確率場)無向グラフの分解特性(これまで乗法定理を繰り返し適用していたもの)は以下のように定式化される

(838)

xi xj以外の全てのノードを取り除いた時の同時確率

よりと書くことも

各々の確率に分割できるならxijにおいてxixjは条件付き独立

クリーク

図829

無向グラフの分解特性は極大クリーク変数集合の関数にする事

クリーク x1 x2 x2 x3 x3 x4 x4 x2 極大クリーク x1 x2 x3 x2 x3 x4 x1 x2 x3 x4はクリークではない(x1 - x4間にリンクがない)

クリーク 全てのノードの組にリンクが存在するグラフの部分集合 極大クリーク もう一つを加えるとクリークでなくなってしまうようなクリーク

ポテンシャル関数極大クリークを引数としたポテンシャル関数

の積に分解するどんな関数にするかは言及しない

基本的に総和は1にならない -gt 規格化定数(分配関数)を導入

-gt 計算は大変

画像のノイズ除去の例

元のピクセル

ランダムに反転したピクセル

元画像10のピクセルをランダムに反転

ICMによる復元グラフカットアルゴリズムによる復元

(841)(842)

(843)

図831

有向-gt無向の変換図832のような簡単な場合

有向グラフ(a)無向グラフ(b)

以下のような対応づけができる

有向-gt無向の変換図833のような場合

親同士をリンクで結ぶ(モラル化)

1 向きを無くす 2 モラル化する 3 規格化する -gt ジャンクションツリーアルゴリズム(84)

生物の細胞

遺伝子間が相互作用のネットワークを形成している

geneX geneY

Protein X

Protein Y

様々な実験での遺伝子発現データ

とりうる可能性高い遺伝子ネットワークを探索(MAP推定)

データからこれを推定したい

実験

遺伝子

more

番外編 ベイジアンネットワークの学習

rarr 近似的に求めるアルゴリズムが開発される

httpwwwsclsrikenjpscruisesoftwaresign-bnhtml

番外編 ベイジアンネットワークの学習

こういうネットワーク構造は未知でデータから推定するアプローチはベイジアンネットワークのrdquo学習rdquoとかrdquo推論rdquoというらしい

(848で紹介だけしている)

SiGN-BN スパコン「京」で計算するソフトウェア自分の修論の内容

Rのbnlearnパッケージ(CBRCのBlue Gene上で実行)httpsignhgcjpsignbnindex_jahtml

番外編 ベイジアンネットワークの学習

番外編 ベイジアンネットワークの学習

どのグラフが良いか決める基準 尤度情報量基準(AIC BIC 尤度ampパラメーター数)

MAP推定(尤度times事前分布)hellip

データを元に最も最適と思われるグラフ構造を探索する

データ

グラフ

1 0 01 1 01 0 10 1 01 0 10 0 01 1 00 0 01 1 10 0 1

a b cb

a

c

b

a

c

b

a

c

データからグラフ構造を推定したい場合単純な式変形をしただけだと数学的に等しいので結局最適なグラフ構造を決定できないのでは(勉強会での議論)

=gt 実際にやってみた

番外編 ベイジアンネットワークの学習

httpwwwsclsrikenjpscruisewp-contentuploadssites3201312SIGN_HGC_Seminar_Tamada201302pdf

httpenwikipediaorgwikiDirected_acyclic_graph

ノード数の増加に対する取りうるDAG数

番外編 ベイジアンネットワークの学習

3ノードなら手計算でいけそう

乗法定理times2(n=6)

乗法定理times2 + 条件付き独立 (n=9)

乗法定理times1 + 独立(n=3)

全て独立(n=1)

乗法定理を使う (このままではグラフとして表現できない)

乗法定理times1 + 独立 + 条件付き独立(n=6)エッジ0個

エッジ1個

エッジ2個(head-to-tail tail-to-tail)

エッジ2個(head-to-head)

エッジ3個(全結合)

ノード3つで式変形を片っ端から行った

番外編 ベイジアンネットワークの学習

試しに以下のような簡単な01データを用いる またここでは単純に尤度のみでグラフの善し悪しを判定する

番外編 ベイジアンネットワークの学習

0 0 00 0 00 0 00 0 01 0 01 0 01 1 01 1 01 1 11 1 1

a b c

P(a) = 35 P(b) = 25 P(c) = 15 P(a b) = 25 P(b c) = 15 P(a c) = 15 P(a b c) = 15

P(a | b c) = 1 P(b | a c) = 1 P(c | a b) = 12 P(a | b) = 1 P(a | c) = 1 P(b | a) = 23 P(b | c) = 1 P(c | a) = 13 P(c | b) = 12

独立性について

番外編 ベイジアンネットワークの学習

0 0 00 0 00 0 00 0 01 0 01 0 01 1 01 1 01 1 11 1 1

a b c

P(a | b c) = P(a | b) P(a | b c) = P(a | c) P(b | a c) ne P(b | a) P(b | a c) = P(b | c) P(c | a b) ne P(c | a) P(c | a b) = P(c | b)

P(a b c) ne P(a) P(b) P(c) P(a b) ne P(a) P(b) P(b c) ne P(b) P(c) P(a c) ne P(a) P(c)

条件付き独立性について

データによって成り立ったり成り立たなかったりする

乗法定理times2(n=6)

乗法定理times2 + 条件付き独立 (n=9)

乗法定理times1 + 独立(n=3)

全て独立(n=1)

乗法定理times1 + 独立 + 条件付き独立(n=6)エッジ0個

エッジ1個

エッジ2個(head-to-tail tail-to-tail)

エッジ2個(head-to-head)

エッジ3個(全結合)

番外編 ベイジアンネットワークの学習

尤度を計算した

= 02= 02= 02= 02= 02= 02

= 0048

= 008= 012= 012

= 02= 02= 02= 02= 013

= 013= 02

= 02= 013

= 008= 008= 008= 012= 008= 012

乗法定理times2(n=6)エッジ3個(全結合)

番外編 ベイジアンネットワークの学習

= 02= 02= 02= 02= 02= 02

乗法定理で変形したものはグラフ構造は違うのにも関わらず尤度は等しい

b

a

cb

a

cb

a

cb

a

cb

a

cb

a

c

乗法定理times2 + 条件付き独立 (n=9)

乗法定理times1 + 独立(n=3)乗法定理times1 + 独立 + 条件付き独立(n=6)

エッジ0個

エッジ1個

エッジ2個(head-to-tail tail-to-tail)

エッジ2個(head-to-head)

番外編 ベイジアンネットワークの学習

= 008= 012= 012

= 02= 02= 02= 02= 013

= 013= 02

= 02= 013

= 008= 008= 008= 012= 008= 012

条件付き独立独立はデータによって成り立ったり成り立たなかったりする

「同じ尤度を持つDAGは複数存在する可能性がある」

21世紀の統計科学 第2巻 第6章 生命システムネットワークを明らかにするための統計的モデリング

Page 19: PRML8章

ベイジアンネットワーク

図82

(84)

ベイジアンネットワーク一般系で書くと

(pak xkの親ノードの集合)

この式は同時分布の分解特性を表現したという

ベイジアンネットワークは有向閉路を持たない有向非循環グラフ(DAG Directed acyclic graph)

とか みたいなループ構造が無いという事 (自然現象ではよくあるけど)

(85)

グラフィカルモデルの書き方126節のベイズ多項式回帰モデル (N変量のデータからyを予測する)

多項式係数ベクトル観測データ

入力データノイズの分散

ガウス事前分布の精度(超パラメーター)

確率変数 (パラメーターで値が変わる)

パラメーター (定数)

sinカーブ

図117太字のxtは訓練データ 細字のxtはテストデータ

グラフィカルモデルの書き方確率変数にだけ注目した書き方(161のシンプル版)

(86)

N個のノードは左のようにまとめて書いてもよい

プレート

図83

図84

グラフィカルモデルの書き方パラメーターも明示的に含んだ書き方

(87)

図85 図86

学習データを入れている事を示す場合は塗りつぶすパラメータは小さい点で書く

観測されない隠れ変数はそのまま (-gt 第9 12章 EMアルゴリズム)

生成モデル観測データが生成される因果仮定を表現したモデル

人口的なデータを生成できる

例 伝承サンプリング(上位ノードから順に値を決めていくというだけ)

図85は生成モデルでは無い xnは値が既に決まっているから

xnの事前分布が必要図85

2

1

23

有向グラフの親子対が共役関係になる分布であると良い性質をもつ (多分解析的に積分が解けるとかモデルが複雑にならないとか)

特に重要なのが以下の二つでこれらは階層的に拡張して

任意の複雑なDAGが構築できる

離散変数 離散変数

ガウス変数 ガウス変数

離散変数

(89)

1-of-K符号化で書かれた多項分布

例 さいころで3が出る確率

パラメーター数 K - 1∵規格化のための制約

パラメーター数 K2 - 1

離散変数1-of-K符号化で書かれた多項分布(二つの状態を取る場合)

∵規格化のための制約

例 さいころABで各々(3 4)が出る確率

以下略hellip(36個パラメーターがある)

とりうる状態が増えるとパラメーターが指数的に増大してしまうKM - 1状態数Mで 個

離散変数乗法定理を用いるとP(x1x2) = P(x2|x1) P(x1)

これは図89の(a)

図89

変数がM個だとパラメーター数は M(K - 1)

でMについて線形

パラメーター数 K2 - 1

パラメーター数 2(K - 1)

離散変数

リンクを除去するとパラメーターを減らせる

全結合 全てが独立

パラメーター数M(K - 1)

パラメーター数 KM - 1

パラメーター数 K - 1 + (M - 1) K (K - 1)

K状態の連鎖

図810

x1 x2 xM x1 x2 xM

離散変数

パラメータを共有する事(sharing tyling)でもパラメーターは減らせる

図811

図812

図810のモデルの事前分布としてディリクレ分布を導入したもの

更に1つのパラメーターuが全ての条件付き分布に共有される場合

パラメーター数K2 - 1

パラメーター数2

離散変数

条件付き分布としてパラメトリックモデルを用いる事でもパラメーターは減らせる

図813

M個の親ノードと一つの子ノード (共に二値変数とする) そのままだとパラメーター数 2M

(810)

親変数の線形結合を入力とするロジスティックシグモイド関数を利用

パラメーター数 M + 1

線形ガウスモデル

(811)

確率的主成分分析因子分析線形動的システムなどで利用されているらしい

平均

pai

分散 vi

xi 全てのノードの同時分布の対数は (85 一般系のベイジアンネットワークより)

(812)

(813)

j

biwixj

線形ガウスモデル平均 u 分散 σ2の正規分布

自然対数をとる(expが消える)

あとはuに

σ2に

を代入すれば813になる

vi

線形ガウスモデル813はxの成分に関する2次関数なのでp(x)はD次元正規分布()

(814)

この時期待値と分散は再帰的に求まる

(815)

(816)

線形ガウスモデルリンクが一つもないD個のノード 全結合グラフ

パラメーター数wij 0個 bi D個 vi D個

パラメーター数wij (D(D-1))2個 bi D個 vi D個

x1

b1 v1

x2

b2 v2

x3

b3 v3

x4

b4 v4x1

b1 v1

x2

b2 v2

x3

b3 v3

x4

b4 v4

線形ガウスモデル中間的なグラフ(例 図814)

パラメーター数wij D - 1個 bi D個 vi D個

x1

b1 v1

x2

b2 v2

x3

b3 v3

x4

b4 v4

線形ガウスモデル

ガウス分布の共役事前分布はガウス分布

ガウス変量の平均をガウス分布とする(事前分布) =gt ガウス分布の平均値は超パラメーター

=gt 超パラメーターがガウス分布だとするhellip(超事前分布)

=gt 階層ベイズモデル(何階層でもモデルを拡張複雑化できる)

条件付き独立性

(820)

bがあってもなくてもaの条件付き確率に影響を与えない

これをcが与えられた下でaはbに対して条件付き独立であるという

cに対してaとbが条件付き独立とは以下のように書く

(821)

(822)

条件付き独立性が示せるとリンクを減らせる

a

c

ba

c

b

可能性のある全ての条件付き独立性を調べればリンクは減らせる =gt 実際には計算量が膨大

=gt グラフの形だけで独立かどうか判断が可能(d-separationという枠組み)

条件付き独立性

以降はまず3つのノードの簡単なグラフで説明する

3つのグラフの例①

ab

c

tail-to-tail

cに対して周辺化

これはp(a) p(b)という形には変形できない (独立ではない)

cで条件付ける

p(a|c) p(b|c)という形に変形できた(条件付き独立block)

(823)

(824)tailtail

3つのグラフの例②

ab

c

head-to-tail

cに対して周辺化

これはp(a) p(b)という形には変形できない (独立ではない)

cで条件付ける

p(a|c) p(b|c)という形に変形できた(条件付き独立block)

(826)

3つのグラフの例③

ab

c

head-to-head

cに対して周辺化

これはp(a) p(b)という形に変形できた(独立)

(828)

確率の総和は1だから

3つのグラフの例③

ab

c

head-to-head

cで条件付ける

p(a|c) p(b|c)という形に変形できない(unblock)

(828)

3つのグラフの例(まとめ)

グラフの形 cで周辺化 cで条件付け

tail-to-tail 独立ではない 条件付き独立(block)

head-to-tail 独立ではない 条件付き独立(block)

head-to-head 独立 独立ではない(unblock)

head-to-headの更に特殊な性質(弁明)

図820

バッテリーの状態 0切れている

1充電されている

燃料タンクの状態 0空1満タン

電動燃料計 0空と示している

1満タンと示している

p(B=1) = 09 p(F=1) = 09

p(G=1 | B = 1 F = 1) = 08 p(G=1 | B = 1 F = 0) = 02 p(G=1 | B = 0 F = 1) = 02 p(G=1 | B = 0 F = 0) = 01

p(B=0) = 01 p(F=0) = 01

p(G=0 | B = 1 F = 1) = 02 p(G=0 | B = 1 F = 0) = 08 p(G=0 | B = 0 F = 1) = 08 p(G=0 | B = 0 F = 0) = 09

事前にこういった情報が与えられているとする

head-to-headの更に特殊な性質(弁明)

何も観測されていないとき燃料タンクが空である確率は

p(F=0) = 01

燃料計が空を指しているという事実を観測した時の燃料タンクが空である確率は(ベイズの定理より)

少し確率が高まっている

確率が低くなる

さらにバッテリーが切れている事実を観測した時の燃料タンクが空である確率は

図821

head-to-headの更に特殊な性質(弁明)

さらに子孫ノードのいずれかが観測されても 燃料タンクが空になる確率は変化する

子孫ノードが0

有向分離(D分離)リンクを遮断する時の法則今までの話をノード集合にまで拡張したもの

(グラフの形だけでわかる)

(a) 集合Cに含まれるノードであって経路に含まれる矢印がそこでhead-to-tailあるいはtail-to-tailである

(b) 経路に含まれる矢印がそのノードでhead-to-headであり自身あるいはそのすべての子孫のいずれもが集合Cに含まれない

CA B CA B

CA B

あらゆるA-C-Bの経路が遮断されていれば集合Aは集合Cにおいて集合Bと条件付き独立

有向分離(D分離)

図822

A AC C

B B

ノードaとノードbは集合C(ノードe f)で遮断できるかcが観測された場合 fが観測された場合

-gt 遮断されない -gt 遮断される

∵ fがtail-to-tailで観測されていない

eはhead-to-headだが子孫fがCに含まれる

∵ fがtail-to-tailで観測されている

eはhead-to-headでそれ自身あるいはその子孫が条件付き集合に

含まれない

有向分離(D分離)図85のモデルの有向分離性

パラメーターは観測済みノードと同じ amp 親ノードが無い

-gt 他のノードとのつながりは必ずtail-to-tailになる -gt 有向分離性に影響しない

124節のiidデータの有向分離性

図823

パラメーターuはtail-to-tail -gt uに値を入力したらあらゆる子ノード間で独立

-gt iid

uを積分消去した場合観測値は独立ではない

(835)

有向分離(D分離)図87のモデルの有向分離性

(836)

有向分離(D分離)ナイーブベイズの有向分離性

図824

例 bag-of-words

例 受信BOX迷惑メール

zが観測されるとあらゆるxノード間は独立

有向分離定理

1 有向分解(乗法定理を繰り返し適用して得た条件付き確率分布)

2 有向分離 (条件付き独立を繰り返し適用して得た条件付き確率分布)

以下の二つは同じ分布を得る

マルコフブランケット

xiが起きる確率をxi以外の全てのノードで条件付けた分布で考える

分母をxiで周辺化する

条件付き確率の積にする

xiに依存しないノードの条件付き確率は分子と打ち消し合う(次頁)

あるノードの条件付き独立性を考える時の最小単位

マルコフブランケット

図826

つまりxiの条件付き独立を考える時 1) 親子 2) 共同親 だけを考えれば良い

共同親A B

C

D E

F G

結局Cの条件付き確率P(C|AB)と Cの子ノードの条件付き確率P(D|CF)やP(E|CG)だけ残る

Cを含まない項は全部消える

無向グラフ(マルコフ確率場)無向グラフは条件付き独立を考えるのが簡単

図827集合Cを取り除いてA-B間の経路が無くなるなら条件付き独立

図828

無向グラフはマルコフブランケットも簡単

隣接ノードだけ考えれば良い

無向グラフ(マルコフ確率場)無向グラフの分解特性(これまで乗法定理を繰り返し適用していたもの)は以下のように定式化される

(838)

xi xj以外の全てのノードを取り除いた時の同時確率

よりと書くことも

各々の確率に分割できるならxijにおいてxixjは条件付き独立

クリーク

図829

無向グラフの分解特性は極大クリーク変数集合の関数にする事

クリーク x1 x2 x2 x3 x3 x4 x4 x2 極大クリーク x1 x2 x3 x2 x3 x4 x1 x2 x3 x4はクリークではない(x1 - x4間にリンクがない)

クリーク 全てのノードの組にリンクが存在するグラフの部分集合 極大クリーク もう一つを加えるとクリークでなくなってしまうようなクリーク

ポテンシャル関数極大クリークを引数としたポテンシャル関数

の積に分解するどんな関数にするかは言及しない

基本的に総和は1にならない -gt 規格化定数(分配関数)を導入

-gt 計算は大変

画像のノイズ除去の例

元のピクセル

ランダムに反転したピクセル

元画像10のピクセルをランダムに反転

ICMによる復元グラフカットアルゴリズムによる復元

(841)(842)

(843)

図831

有向-gt無向の変換図832のような簡単な場合

有向グラフ(a)無向グラフ(b)

以下のような対応づけができる

有向-gt無向の変換図833のような場合

親同士をリンクで結ぶ(モラル化)

1 向きを無くす 2 モラル化する 3 規格化する -gt ジャンクションツリーアルゴリズム(84)

生物の細胞

遺伝子間が相互作用のネットワークを形成している

geneX geneY

Protein X

Protein Y

様々な実験での遺伝子発現データ

とりうる可能性高い遺伝子ネットワークを探索(MAP推定)

データからこれを推定したい

実験

遺伝子

more

番外編 ベイジアンネットワークの学習

rarr 近似的に求めるアルゴリズムが開発される

httpwwwsclsrikenjpscruisesoftwaresign-bnhtml

番外編 ベイジアンネットワークの学習

こういうネットワーク構造は未知でデータから推定するアプローチはベイジアンネットワークのrdquo学習rdquoとかrdquo推論rdquoというらしい

(848で紹介だけしている)

SiGN-BN スパコン「京」で計算するソフトウェア自分の修論の内容

Rのbnlearnパッケージ(CBRCのBlue Gene上で実行)httpsignhgcjpsignbnindex_jahtml

番外編 ベイジアンネットワークの学習

番外編 ベイジアンネットワークの学習

どのグラフが良いか決める基準 尤度情報量基準(AIC BIC 尤度ampパラメーター数)

MAP推定(尤度times事前分布)hellip

データを元に最も最適と思われるグラフ構造を探索する

データ

グラフ

1 0 01 1 01 0 10 1 01 0 10 0 01 1 00 0 01 1 10 0 1

a b cb

a

c

b

a

c

b

a

c

データからグラフ構造を推定したい場合単純な式変形をしただけだと数学的に等しいので結局最適なグラフ構造を決定できないのでは(勉強会での議論)

=gt 実際にやってみた

番外編 ベイジアンネットワークの学習

httpwwwsclsrikenjpscruisewp-contentuploadssites3201312SIGN_HGC_Seminar_Tamada201302pdf

httpenwikipediaorgwikiDirected_acyclic_graph

ノード数の増加に対する取りうるDAG数

番外編 ベイジアンネットワークの学習

3ノードなら手計算でいけそう

乗法定理times2(n=6)

乗法定理times2 + 条件付き独立 (n=9)

乗法定理times1 + 独立(n=3)

全て独立(n=1)

乗法定理を使う (このままではグラフとして表現できない)

乗法定理times1 + 独立 + 条件付き独立(n=6)エッジ0個

エッジ1個

エッジ2個(head-to-tail tail-to-tail)

エッジ2個(head-to-head)

エッジ3個(全結合)

ノード3つで式変形を片っ端から行った

番外編 ベイジアンネットワークの学習

試しに以下のような簡単な01データを用いる またここでは単純に尤度のみでグラフの善し悪しを判定する

番外編 ベイジアンネットワークの学習

0 0 00 0 00 0 00 0 01 0 01 0 01 1 01 1 01 1 11 1 1

a b c

P(a) = 35 P(b) = 25 P(c) = 15 P(a b) = 25 P(b c) = 15 P(a c) = 15 P(a b c) = 15

P(a | b c) = 1 P(b | a c) = 1 P(c | a b) = 12 P(a | b) = 1 P(a | c) = 1 P(b | a) = 23 P(b | c) = 1 P(c | a) = 13 P(c | b) = 12

独立性について

番外編 ベイジアンネットワークの学習

0 0 00 0 00 0 00 0 01 0 01 0 01 1 01 1 01 1 11 1 1

a b c

P(a | b c) = P(a | b) P(a | b c) = P(a | c) P(b | a c) ne P(b | a) P(b | a c) = P(b | c) P(c | a b) ne P(c | a) P(c | a b) = P(c | b)

P(a b c) ne P(a) P(b) P(c) P(a b) ne P(a) P(b) P(b c) ne P(b) P(c) P(a c) ne P(a) P(c)

条件付き独立性について

データによって成り立ったり成り立たなかったりする

乗法定理times2(n=6)

乗法定理times2 + 条件付き独立 (n=9)

乗法定理times1 + 独立(n=3)

全て独立(n=1)

乗法定理times1 + 独立 + 条件付き独立(n=6)エッジ0個

エッジ1個

エッジ2個(head-to-tail tail-to-tail)

エッジ2個(head-to-head)

エッジ3個(全結合)

番外編 ベイジアンネットワークの学習

尤度を計算した

= 02= 02= 02= 02= 02= 02

= 0048

= 008= 012= 012

= 02= 02= 02= 02= 013

= 013= 02

= 02= 013

= 008= 008= 008= 012= 008= 012

乗法定理times2(n=6)エッジ3個(全結合)

番外編 ベイジアンネットワークの学習

= 02= 02= 02= 02= 02= 02

乗法定理で変形したものはグラフ構造は違うのにも関わらず尤度は等しい

b

a

cb

a

cb

a

cb

a

cb

a

cb

a

c

乗法定理times2 + 条件付き独立 (n=9)

乗法定理times1 + 独立(n=3)乗法定理times1 + 独立 + 条件付き独立(n=6)

エッジ0個

エッジ1個

エッジ2個(head-to-tail tail-to-tail)

エッジ2個(head-to-head)

番外編 ベイジアンネットワークの学習

= 008= 012= 012

= 02= 02= 02= 02= 013

= 013= 02

= 02= 013

= 008= 008= 008= 012= 008= 012

条件付き独立独立はデータによって成り立ったり成り立たなかったりする

「同じ尤度を持つDAGは複数存在する可能性がある」

21世紀の統計科学 第2巻 第6章 生命システムネットワークを明らかにするための統計的モデリング

Page 20: PRML8章

ベイジアンネットワーク一般系で書くと

(pak xkの親ノードの集合)

この式は同時分布の分解特性を表現したという

ベイジアンネットワークは有向閉路を持たない有向非循環グラフ(DAG Directed acyclic graph)

とか みたいなループ構造が無いという事 (自然現象ではよくあるけど)

(85)

グラフィカルモデルの書き方126節のベイズ多項式回帰モデル (N変量のデータからyを予測する)

多項式係数ベクトル観測データ

入力データノイズの分散

ガウス事前分布の精度(超パラメーター)

確率変数 (パラメーターで値が変わる)

パラメーター (定数)

sinカーブ

図117太字のxtは訓練データ 細字のxtはテストデータ

グラフィカルモデルの書き方確率変数にだけ注目した書き方(161のシンプル版)

(86)

N個のノードは左のようにまとめて書いてもよい

プレート

図83

図84

グラフィカルモデルの書き方パラメーターも明示的に含んだ書き方

(87)

図85 図86

学習データを入れている事を示す場合は塗りつぶすパラメータは小さい点で書く

観測されない隠れ変数はそのまま (-gt 第9 12章 EMアルゴリズム)

生成モデル観測データが生成される因果仮定を表現したモデル

人口的なデータを生成できる

例 伝承サンプリング(上位ノードから順に値を決めていくというだけ)

図85は生成モデルでは無い xnは値が既に決まっているから

xnの事前分布が必要図85

2

1

23

有向グラフの親子対が共役関係になる分布であると良い性質をもつ (多分解析的に積分が解けるとかモデルが複雑にならないとか)

特に重要なのが以下の二つでこれらは階層的に拡張して

任意の複雑なDAGが構築できる

離散変数 離散変数

ガウス変数 ガウス変数

離散変数

(89)

1-of-K符号化で書かれた多項分布

例 さいころで3が出る確率

パラメーター数 K - 1∵規格化のための制約

パラメーター数 K2 - 1

離散変数1-of-K符号化で書かれた多項分布(二つの状態を取る場合)

∵規格化のための制約

例 さいころABで各々(3 4)が出る確率

以下略hellip(36個パラメーターがある)

とりうる状態が増えるとパラメーターが指数的に増大してしまうKM - 1状態数Mで 個

離散変数乗法定理を用いるとP(x1x2) = P(x2|x1) P(x1)

これは図89の(a)

図89

変数がM個だとパラメーター数は M(K - 1)

でMについて線形

パラメーター数 K2 - 1

パラメーター数 2(K - 1)

離散変数

リンクを除去するとパラメーターを減らせる

全結合 全てが独立

パラメーター数M(K - 1)

パラメーター数 KM - 1

パラメーター数 K - 1 + (M - 1) K (K - 1)

K状態の連鎖

図810

x1 x2 xM x1 x2 xM

離散変数

パラメータを共有する事(sharing tyling)でもパラメーターは減らせる

図811

図812

図810のモデルの事前分布としてディリクレ分布を導入したもの

更に1つのパラメーターuが全ての条件付き分布に共有される場合

パラメーター数K2 - 1

パラメーター数2

離散変数

条件付き分布としてパラメトリックモデルを用いる事でもパラメーターは減らせる

図813

M個の親ノードと一つの子ノード (共に二値変数とする) そのままだとパラメーター数 2M

(810)

親変数の線形結合を入力とするロジスティックシグモイド関数を利用

パラメーター数 M + 1

線形ガウスモデル

(811)

確率的主成分分析因子分析線形動的システムなどで利用されているらしい

平均

pai

分散 vi

xi 全てのノードの同時分布の対数は (85 一般系のベイジアンネットワークより)

(812)

(813)

j

biwixj

線形ガウスモデル平均 u 分散 σ2の正規分布

自然対数をとる(expが消える)

あとはuに

σ2に

を代入すれば813になる

vi

線形ガウスモデル813はxの成分に関する2次関数なのでp(x)はD次元正規分布()

(814)

この時期待値と分散は再帰的に求まる

(815)

(816)

線形ガウスモデルリンクが一つもないD個のノード 全結合グラフ

パラメーター数wij 0個 bi D個 vi D個

パラメーター数wij (D(D-1))2個 bi D個 vi D個

x1

b1 v1

x2

b2 v2

x3

b3 v3

x4

b4 v4x1

b1 v1

x2

b2 v2

x3

b3 v3

x4

b4 v4

線形ガウスモデル中間的なグラフ(例 図814)

パラメーター数wij D - 1個 bi D個 vi D個

x1

b1 v1

x2

b2 v2

x3

b3 v3

x4

b4 v4

線形ガウスモデル

ガウス分布の共役事前分布はガウス分布

ガウス変量の平均をガウス分布とする(事前分布) =gt ガウス分布の平均値は超パラメーター

=gt 超パラメーターがガウス分布だとするhellip(超事前分布)

=gt 階層ベイズモデル(何階層でもモデルを拡張複雑化できる)

条件付き独立性

(820)

bがあってもなくてもaの条件付き確率に影響を与えない

これをcが与えられた下でaはbに対して条件付き独立であるという

cに対してaとbが条件付き独立とは以下のように書く

(821)

(822)

条件付き独立性が示せるとリンクを減らせる

a

c

ba

c

b

可能性のある全ての条件付き独立性を調べればリンクは減らせる =gt 実際には計算量が膨大

=gt グラフの形だけで独立かどうか判断が可能(d-separationという枠組み)

条件付き独立性

以降はまず3つのノードの簡単なグラフで説明する

3つのグラフの例①

ab

c

tail-to-tail

cに対して周辺化

これはp(a) p(b)という形には変形できない (独立ではない)

cで条件付ける

p(a|c) p(b|c)という形に変形できた(条件付き独立block)

(823)

(824)tailtail

3つのグラフの例②

ab

c

head-to-tail

cに対して周辺化

これはp(a) p(b)という形には変形できない (独立ではない)

cで条件付ける

p(a|c) p(b|c)という形に変形できた(条件付き独立block)

(826)

3つのグラフの例③

ab

c

head-to-head

cに対して周辺化

これはp(a) p(b)という形に変形できた(独立)

(828)

確率の総和は1だから

3つのグラフの例③

ab

c

head-to-head

cで条件付ける

p(a|c) p(b|c)という形に変形できない(unblock)

(828)

3つのグラフの例(まとめ)

グラフの形 cで周辺化 cで条件付け

tail-to-tail 独立ではない 条件付き独立(block)

head-to-tail 独立ではない 条件付き独立(block)

head-to-head 独立 独立ではない(unblock)

head-to-headの更に特殊な性質(弁明)

図820

バッテリーの状態 0切れている

1充電されている

燃料タンクの状態 0空1満タン

電動燃料計 0空と示している

1満タンと示している

p(B=1) = 09 p(F=1) = 09

p(G=1 | B = 1 F = 1) = 08 p(G=1 | B = 1 F = 0) = 02 p(G=1 | B = 0 F = 1) = 02 p(G=1 | B = 0 F = 0) = 01

p(B=0) = 01 p(F=0) = 01

p(G=0 | B = 1 F = 1) = 02 p(G=0 | B = 1 F = 0) = 08 p(G=0 | B = 0 F = 1) = 08 p(G=0 | B = 0 F = 0) = 09

事前にこういった情報が与えられているとする

head-to-headの更に特殊な性質(弁明)

何も観測されていないとき燃料タンクが空である確率は

p(F=0) = 01

燃料計が空を指しているという事実を観測した時の燃料タンクが空である確率は(ベイズの定理より)

少し確率が高まっている

確率が低くなる

さらにバッテリーが切れている事実を観測した時の燃料タンクが空である確率は

図821

head-to-headの更に特殊な性質(弁明)

さらに子孫ノードのいずれかが観測されても 燃料タンクが空になる確率は変化する

子孫ノードが0

有向分離(D分離)リンクを遮断する時の法則今までの話をノード集合にまで拡張したもの

(グラフの形だけでわかる)

(a) 集合Cに含まれるノードであって経路に含まれる矢印がそこでhead-to-tailあるいはtail-to-tailである

(b) 経路に含まれる矢印がそのノードでhead-to-headであり自身あるいはそのすべての子孫のいずれもが集合Cに含まれない

CA B CA B

CA B

あらゆるA-C-Bの経路が遮断されていれば集合Aは集合Cにおいて集合Bと条件付き独立

有向分離(D分離)

図822

A AC C

B B

ノードaとノードbは集合C(ノードe f)で遮断できるかcが観測された場合 fが観測された場合

-gt 遮断されない -gt 遮断される

∵ fがtail-to-tailで観測されていない

eはhead-to-headだが子孫fがCに含まれる

∵ fがtail-to-tailで観測されている

eはhead-to-headでそれ自身あるいはその子孫が条件付き集合に

含まれない

有向分離(D分離)図85のモデルの有向分離性

パラメーターは観測済みノードと同じ amp 親ノードが無い

-gt 他のノードとのつながりは必ずtail-to-tailになる -gt 有向分離性に影響しない

124節のiidデータの有向分離性

図823

パラメーターuはtail-to-tail -gt uに値を入力したらあらゆる子ノード間で独立

-gt iid

uを積分消去した場合観測値は独立ではない

(835)

有向分離(D分離)図87のモデルの有向分離性

(836)

有向分離(D分離)ナイーブベイズの有向分離性

図824

例 bag-of-words

例 受信BOX迷惑メール

zが観測されるとあらゆるxノード間は独立

有向分離定理

1 有向分解(乗法定理を繰り返し適用して得た条件付き確率分布)

2 有向分離 (条件付き独立を繰り返し適用して得た条件付き確率分布)

以下の二つは同じ分布を得る

マルコフブランケット

xiが起きる確率をxi以外の全てのノードで条件付けた分布で考える

分母をxiで周辺化する

条件付き確率の積にする

xiに依存しないノードの条件付き確率は分子と打ち消し合う(次頁)

あるノードの条件付き独立性を考える時の最小単位

マルコフブランケット

図826

つまりxiの条件付き独立を考える時 1) 親子 2) 共同親 だけを考えれば良い

共同親A B

C

D E

F G

結局Cの条件付き確率P(C|AB)と Cの子ノードの条件付き確率P(D|CF)やP(E|CG)だけ残る

Cを含まない項は全部消える

無向グラフ(マルコフ確率場)無向グラフは条件付き独立を考えるのが簡単

図827集合Cを取り除いてA-B間の経路が無くなるなら条件付き独立

図828

無向グラフはマルコフブランケットも簡単

隣接ノードだけ考えれば良い

無向グラフ(マルコフ確率場)無向グラフの分解特性(これまで乗法定理を繰り返し適用していたもの)は以下のように定式化される

(838)

xi xj以外の全てのノードを取り除いた時の同時確率

よりと書くことも

各々の確率に分割できるならxijにおいてxixjは条件付き独立

クリーク

図829

無向グラフの分解特性は極大クリーク変数集合の関数にする事

クリーク x1 x2 x2 x3 x3 x4 x4 x2 極大クリーク x1 x2 x3 x2 x3 x4 x1 x2 x3 x4はクリークではない(x1 - x4間にリンクがない)

クリーク 全てのノードの組にリンクが存在するグラフの部分集合 極大クリーク もう一つを加えるとクリークでなくなってしまうようなクリーク

ポテンシャル関数極大クリークを引数としたポテンシャル関数

の積に分解するどんな関数にするかは言及しない

基本的に総和は1にならない -gt 規格化定数(分配関数)を導入

-gt 計算は大変

画像のノイズ除去の例

元のピクセル

ランダムに反転したピクセル

元画像10のピクセルをランダムに反転

ICMによる復元グラフカットアルゴリズムによる復元

(841)(842)

(843)

図831

有向-gt無向の変換図832のような簡単な場合

有向グラフ(a)無向グラフ(b)

以下のような対応づけができる

有向-gt無向の変換図833のような場合

親同士をリンクで結ぶ(モラル化)

1 向きを無くす 2 モラル化する 3 規格化する -gt ジャンクションツリーアルゴリズム(84)

生物の細胞

遺伝子間が相互作用のネットワークを形成している

geneX geneY

Protein X

Protein Y

様々な実験での遺伝子発現データ

とりうる可能性高い遺伝子ネットワークを探索(MAP推定)

データからこれを推定したい

実験

遺伝子

more

番外編 ベイジアンネットワークの学習

rarr 近似的に求めるアルゴリズムが開発される

httpwwwsclsrikenjpscruisesoftwaresign-bnhtml

番外編 ベイジアンネットワークの学習

こういうネットワーク構造は未知でデータから推定するアプローチはベイジアンネットワークのrdquo学習rdquoとかrdquo推論rdquoというらしい

(848で紹介だけしている)

SiGN-BN スパコン「京」で計算するソフトウェア自分の修論の内容

Rのbnlearnパッケージ(CBRCのBlue Gene上で実行)httpsignhgcjpsignbnindex_jahtml

番外編 ベイジアンネットワークの学習

番外編 ベイジアンネットワークの学習

どのグラフが良いか決める基準 尤度情報量基準(AIC BIC 尤度ampパラメーター数)

MAP推定(尤度times事前分布)hellip

データを元に最も最適と思われるグラフ構造を探索する

データ

グラフ

1 0 01 1 01 0 10 1 01 0 10 0 01 1 00 0 01 1 10 0 1

a b cb

a

c

b

a

c

b

a

c

データからグラフ構造を推定したい場合単純な式変形をしただけだと数学的に等しいので結局最適なグラフ構造を決定できないのでは(勉強会での議論)

=gt 実際にやってみた

番外編 ベイジアンネットワークの学習

httpwwwsclsrikenjpscruisewp-contentuploadssites3201312SIGN_HGC_Seminar_Tamada201302pdf

httpenwikipediaorgwikiDirected_acyclic_graph

ノード数の増加に対する取りうるDAG数

番外編 ベイジアンネットワークの学習

3ノードなら手計算でいけそう

乗法定理times2(n=6)

乗法定理times2 + 条件付き独立 (n=9)

乗法定理times1 + 独立(n=3)

全て独立(n=1)

乗法定理を使う (このままではグラフとして表現できない)

乗法定理times1 + 独立 + 条件付き独立(n=6)エッジ0個

エッジ1個

エッジ2個(head-to-tail tail-to-tail)

エッジ2個(head-to-head)

エッジ3個(全結合)

ノード3つで式変形を片っ端から行った

番外編 ベイジアンネットワークの学習

試しに以下のような簡単な01データを用いる またここでは単純に尤度のみでグラフの善し悪しを判定する

番外編 ベイジアンネットワークの学習

0 0 00 0 00 0 00 0 01 0 01 0 01 1 01 1 01 1 11 1 1

a b c

P(a) = 35 P(b) = 25 P(c) = 15 P(a b) = 25 P(b c) = 15 P(a c) = 15 P(a b c) = 15

P(a | b c) = 1 P(b | a c) = 1 P(c | a b) = 12 P(a | b) = 1 P(a | c) = 1 P(b | a) = 23 P(b | c) = 1 P(c | a) = 13 P(c | b) = 12

独立性について

番外編 ベイジアンネットワークの学習

0 0 00 0 00 0 00 0 01 0 01 0 01 1 01 1 01 1 11 1 1

a b c

P(a | b c) = P(a | b) P(a | b c) = P(a | c) P(b | a c) ne P(b | a) P(b | a c) = P(b | c) P(c | a b) ne P(c | a) P(c | a b) = P(c | b)

P(a b c) ne P(a) P(b) P(c) P(a b) ne P(a) P(b) P(b c) ne P(b) P(c) P(a c) ne P(a) P(c)

条件付き独立性について

データによって成り立ったり成り立たなかったりする

乗法定理times2(n=6)

乗法定理times2 + 条件付き独立 (n=9)

乗法定理times1 + 独立(n=3)

全て独立(n=1)

乗法定理times1 + 独立 + 条件付き独立(n=6)エッジ0個

エッジ1個

エッジ2個(head-to-tail tail-to-tail)

エッジ2個(head-to-head)

エッジ3個(全結合)

番外編 ベイジアンネットワークの学習

尤度を計算した

= 02= 02= 02= 02= 02= 02

= 0048

= 008= 012= 012

= 02= 02= 02= 02= 013

= 013= 02

= 02= 013

= 008= 008= 008= 012= 008= 012

乗法定理times2(n=6)エッジ3個(全結合)

番外編 ベイジアンネットワークの学習

= 02= 02= 02= 02= 02= 02

乗法定理で変形したものはグラフ構造は違うのにも関わらず尤度は等しい

b

a

cb

a

cb

a

cb

a

cb

a

cb

a

c

乗法定理times2 + 条件付き独立 (n=9)

乗法定理times1 + 独立(n=3)乗法定理times1 + 独立 + 条件付き独立(n=6)

エッジ0個

エッジ1個

エッジ2個(head-to-tail tail-to-tail)

エッジ2個(head-to-head)

番外編 ベイジアンネットワークの学習

= 008= 012= 012

= 02= 02= 02= 02= 013

= 013= 02

= 02= 013

= 008= 008= 008= 012= 008= 012

条件付き独立独立はデータによって成り立ったり成り立たなかったりする

「同じ尤度を持つDAGは複数存在する可能性がある」

21世紀の統計科学 第2巻 第6章 生命システムネットワークを明らかにするための統計的モデリング

Page 21: PRML8章

グラフィカルモデルの書き方126節のベイズ多項式回帰モデル (N変量のデータからyを予測する)

多項式係数ベクトル観測データ

入力データノイズの分散

ガウス事前分布の精度(超パラメーター)

確率変数 (パラメーターで値が変わる)

パラメーター (定数)

sinカーブ

図117太字のxtは訓練データ 細字のxtはテストデータ

グラフィカルモデルの書き方確率変数にだけ注目した書き方(161のシンプル版)

(86)

N個のノードは左のようにまとめて書いてもよい

プレート

図83

図84

グラフィカルモデルの書き方パラメーターも明示的に含んだ書き方

(87)

図85 図86

学習データを入れている事を示す場合は塗りつぶすパラメータは小さい点で書く

観測されない隠れ変数はそのまま (-gt 第9 12章 EMアルゴリズム)

生成モデル観測データが生成される因果仮定を表現したモデル

人口的なデータを生成できる

例 伝承サンプリング(上位ノードから順に値を決めていくというだけ)

図85は生成モデルでは無い xnは値が既に決まっているから

xnの事前分布が必要図85

2

1

23

有向グラフの親子対が共役関係になる分布であると良い性質をもつ (多分解析的に積分が解けるとかモデルが複雑にならないとか)

特に重要なのが以下の二つでこれらは階層的に拡張して

任意の複雑なDAGが構築できる

離散変数 離散変数

ガウス変数 ガウス変数

離散変数

(89)

1-of-K符号化で書かれた多項分布

例 さいころで3が出る確率

パラメーター数 K - 1∵規格化のための制約

パラメーター数 K2 - 1

離散変数1-of-K符号化で書かれた多項分布(二つの状態を取る場合)

∵規格化のための制約

例 さいころABで各々(3 4)が出る確率

以下略hellip(36個パラメーターがある)

とりうる状態が増えるとパラメーターが指数的に増大してしまうKM - 1状態数Mで 個

離散変数乗法定理を用いるとP(x1x2) = P(x2|x1) P(x1)

これは図89の(a)

図89

変数がM個だとパラメーター数は M(K - 1)

でMについて線形

パラメーター数 K2 - 1

パラメーター数 2(K - 1)

離散変数

リンクを除去するとパラメーターを減らせる

全結合 全てが独立

パラメーター数M(K - 1)

パラメーター数 KM - 1

パラメーター数 K - 1 + (M - 1) K (K - 1)

K状態の連鎖

図810

x1 x2 xM x1 x2 xM

離散変数

パラメータを共有する事(sharing tyling)でもパラメーターは減らせる

図811

図812

図810のモデルの事前分布としてディリクレ分布を導入したもの

更に1つのパラメーターuが全ての条件付き分布に共有される場合

パラメーター数K2 - 1

パラメーター数2

離散変数

条件付き分布としてパラメトリックモデルを用いる事でもパラメーターは減らせる

図813

M個の親ノードと一つの子ノード (共に二値変数とする) そのままだとパラメーター数 2M

(810)

親変数の線形結合を入力とするロジスティックシグモイド関数を利用

パラメーター数 M + 1

線形ガウスモデル

(811)

確率的主成分分析因子分析線形動的システムなどで利用されているらしい

平均

pai

分散 vi

xi 全てのノードの同時分布の対数は (85 一般系のベイジアンネットワークより)

(812)

(813)

j

biwixj

線形ガウスモデル平均 u 分散 σ2の正規分布

自然対数をとる(expが消える)

あとはuに

σ2に

を代入すれば813になる

vi

線形ガウスモデル813はxの成分に関する2次関数なのでp(x)はD次元正規分布()

(814)

この時期待値と分散は再帰的に求まる

(815)

(816)

線形ガウスモデルリンクが一つもないD個のノード 全結合グラフ

パラメーター数wij 0個 bi D個 vi D個

パラメーター数wij (D(D-1))2個 bi D個 vi D個

x1

b1 v1

x2

b2 v2

x3

b3 v3

x4

b4 v4x1

b1 v1

x2

b2 v2

x3

b3 v3

x4

b4 v4

線形ガウスモデル中間的なグラフ(例 図814)

パラメーター数wij D - 1個 bi D個 vi D個

x1

b1 v1

x2

b2 v2

x3

b3 v3

x4

b4 v4

線形ガウスモデル

ガウス分布の共役事前分布はガウス分布

ガウス変量の平均をガウス分布とする(事前分布) =gt ガウス分布の平均値は超パラメーター

=gt 超パラメーターがガウス分布だとするhellip(超事前分布)

=gt 階層ベイズモデル(何階層でもモデルを拡張複雑化できる)

条件付き独立性

(820)

bがあってもなくてもaの条件付き確率に影響を与えない

これをcが与えられた下でaはbに対して条件付き独立であるという

cに対してaとbが条件付き独立とは以下のように書く

(821)

(822)

条件付き独立性が示せるとリンクを減らせる

a

c

ba

c

b

可能性のある全ての条件付き独立性を調べればリンクは減らせる =gt 実際には計算量が膨大

=gt グラフの形だけで独立かどうか判断が可能(d-separationという枠組み)

条件付き独立性

以降はまず3つのノードの簡単なグラフで説明する

3つのグラフの例①

ab

c

tail-to-tail

cに対して周辺化

これはp(a) p(b)という形には変形できない (独立ではない)

cで条件付ける

p(a|c) p(b|c)という形に変形できた(条件付き独立block)

(823)

(824)tailtail

3つのグラフの例②

ab

c

head-to-tail

cに対して周辺化

これはp(a) p(b)という形には変形できない (独立ではない)

cで条件付ける

p(a|c) p(b|c)という形に変形できた(条件付き独立block)

(826)

3つのグラフの例③

ab

c

head-to-head

cに対して周辺化

これはp(a) p(b)という形に変形できた(独立)

(828)

確率の総和は1だから

3つのグラフの例③

ab

c

head-to-head

cで条件付ける

p(a|c) p(b|c)という形に変形できない(unblock)

(828)

3つのグラフの例(まとめ)

グラフの形 cで周辺化 cで条件付け

tail-to-tail 独立ではない 条件付き独立(block)

head-to-tail 独立ではない 条件付き独立(block)

head-to-head 独立 独立ではない(unblock)

head-to-headの更に特殊な性質(弁明)

図820

バッテリーの状態 0切れている

1充電されている

燃料タンクの状態 0空1満タン

電動燃料計 0空と示している

1満タンと示している

p(B=1) = 09 p(F=1) = 09

p(G=1 | B = 1 F = 1) = 08 p(G=1 | B = 1 F = 0) = 02 p(G=1 | B = 0 F = 1) = 02 p(G=1 | B = 0 F = 0) = 01

p(B=0) = 01 p(F=0) = 01

p(G=0 | B = 1 F = 1) = 02 p(G=0 | B = 1 F = 0) = 08 p(G=0 | B = 0 F = 1) = 08 p(G=0 | B = 0 F = 0) = 09

事前にこういった情報が与えられているとする

head-to-headの更に特殊な性質(弁明)

何も観測されていないとき燃料タンクが空である確率は

p(F=0) = 01

燃料計が空を指しているという事実を観測した時の燃料タンクが空である確率は(ベイズの定理より)

少し確率が高まっている

確率が低くなる

さらにバッテリーが切れている事実を観測した時の燃料タンクが空である確率は

図821

head-to-headの更に特殊な性質(弁明)

さらに子孫ノードのいずれかが観測されても 燃料タンクが空になる確率は変化する

子孫ノードが0

有向分離(D分離)リンクを遮断する時の法則今までの話をノード集合にまで拡張したもの

(グラフの形だけでわかる)

(a) 集合Cに含まれるノードであって経路に含まれる矢印がそこでhead-to-tailあるいはtail-to-tailである

(b) 経路に含まれる矢印がそのノードでhead-to-headであり自身あるいはそのすべての子孫のいずれもが集合Cに含まれない

CA B CA B

CA B

あらゆるA-C-Bの経路が遮断されていれば集合Aは集合Cにおいて集合Bと条件付き独立

有向分離(D分離)

図822

A AC C

B B

ノードaとノードbは集合C(ノードe f)で遮断できるかcが観測された場合 fが観測された場合

-gt 遮断されない -gt 遮断される

∵ fがtail-to-tailで観測されていない

eはhead-to-headだが子孫fがCに含まれる

∵ fがtail-to-tailで観測されている

eはhead-to-headでそれ自身あるいはその子孫が条件付き集合に

含まれない

有向分離(D分離)図85のモデルの有向分離性

パラメーターは観測済みノードと同じ amp 親ノードが無い

-gt 他のノードとのつながりは必ずtail-to-tailになる -gt 有向分離性に影響しない

124節のiidデータの有向分離性

図823

パラメーターuはtail-to-tail -gt uに値を入力したらあらゆる子ノード間で独立

-gt iid

uを積分消去した場合観測値は独立ではない

(835)

有向分離(D分離)図87のモデルの有向分離性

(836)

有向分離(D分離)ナイーブベイズの有向分離性

図824

例 bag-of-words

例 受信BOX迷惑メール

zが観測されるとあらゆるxノード間は独立

有向分離定理

1 有向分解(乗法定理を繰り返し適用して得た条件付き確率分布)

2 有向分離 (条件付き独立を繰り返し適用して得た条件付き確率分布)

以下の二つは同じ分布を得る

マルコフブランケット

xiが起きる確率をxi以外の全てのノードで条件付けた分布で考える

分母をxiで周辺化する

条件付き確率の積にする

xiに依存しないノードの条件付き確率は分子と打ち消し合う(次頁)

あるノードの条件付き独立性を考える時の最小単位

マルコフブランケット

図826

つまりxiの条件付き独立を考える時 1) 親子 2) 共同親 だけを考えれば良い

共同親A B

C

D E

F G

結局Cの条件付き確率P(C|AB)と Cの子ノードの条件付き確率P(D|CF)やP(E|CG)だけ残る

Cを含まない項は全部消える

無向グラフ(マルコフ確率場)無向グラフは条件付き独立を考えるのが簡単

図827集合Cを取り除いてA-B間の経路が無くなるなら条件付き独立

図828

無向グラフはマルコフブランケットも簡単

隣接ノードだけ考えれば良い

無向グラフ(マルコフ確率場)無向グラフの分解特性(これまで乗法定理を繰り返し適用していたもの)は以下のように定式化される

(838)

xi xj以外の全てのノードを取り除いた時の同時確率

よりと書くことも

各々の確率に分割できるならxijにおいてxixjは条件付き独立

クリーク

図829

無向グラフの分解特性は極大クリーク変数集合の関数にする事

クリーク x1 x2 x2 x3 x3 x4 x4 x2 極大クリーク x1 x2 x3 x2 x3 x4 x1 x2 x3 x4はクリークではない(x1 - x4間にリンクがない)

クリーク 全てのノードの組にリンクが存在するグラフの部分集合 極大クリーク もう一つを加えるとクリークでなくなってしまうようなクリーク

ポテンシャル関数極大クリークを引数としたポテンシャル関数

の積に分解するどんな関数にするかは言及しない

基本的に総和は1にならない -gt 規格化定数(分配関数)を導入

-gt 計算は大変

画像のノイズ除去の例

元のピクセル

ランダムに反転したピクセル

元画像10のピクセルをランダムに反転

ICMによる復元グラフカットアルゴリズムによる復元

(841)(842)

(843)

図831

有向-gt無向の変換図832のような簡単な場合

有向グラフ(a)無向グラフ(b)

以下のような対応づけができる

有向-gt無向の変換図833のような場合

親同士をリンクで結ぶ(モラル化)

1 向きを無くす 2 モラル化する 3 規格化する -gt ジャンクションツリーアルゴリズム(84)

生物の細胞

遺伝子間が相互作用のネットワークを形成している

geneX geneY

Protein X

Protein Y

様々な実験での遺伝子発現データ

とりうる可能性高い遺伝子ネットワークを探索(MAP推定)

データからこれを推定したい

実験

遺伝子

more

番外編 ベイジアンネットワークの学習

rarr 近似的に求めるアルゴリズムが開発される

httpwwwsclsrikenjpscruisesoftwaresign-bnhtml

番外編 ベイジアンネットワークの学習

こういうネットワーク構造は未知でデータから推定するアプローチはベイジアンネットワークのrdquo学習rdquoとかrdquo推論rdquoというらしい

(848で紹介だけしている)

SiGN-BN スパコン「京」で計算するソフトウェア自分の修論の内容

Rのbnlearnパッケージ(CBRCのBlue Gene上で実行)httpsignhgcjpsignbnindex_jahtml

番外編 ベイジアンネットワークの学習

番外編 ベイジアンネットワークの学習

どのグラフが良いか決める基準 尤度情報量基準(AIC BIC 尤度ampパラメーター数)

MAP推定(尤度times事前分布)hellip

データを元に最も最適と思われるグラフ構造を探索する

データ

グラフ

1 0 01 1 01 0 10 1 01 0 10 0 01 1 00 0 01 1 10 0 1

a b cb

a

c

b

a

c

b

a

c

データからグラフ構造を推定したい場合単純な式変形をしただけだと数学的に等しいので結局最適なグラフ構造を決定できないのでは(勉強会での議論)

=gt 実際にやってみた

番外編 ベイジアンネットワークの学習

httpwwwsclsrikenjpscruisewp-contentuploadssites3201312SIGN_HGC_Seminar_Tamada201302pdf

httpenwikipediaorgwikiDirected_acyclic_graph

ノード数の増加に対する取りうるDAG数

番外編 ベイジアンネットワークの学習

3ノードなら手計算でいけそう

乗法定理times2(n=6)

乗法定理times2 + 条件付き独立 (n=9)

乗法定理times1 + 独立(n=3)

全て独立(n=1)

乗法定理を使う (このままではグラフとして表現できない)

乗法定理times1 + 独立 + 条件付き独立(n=6)エッジ0個

エッジ1個

エッジ2個(head-to-tail tail-to-tail)

エッジ2個(head-to-head)

エッジ3個(全結合)

ノード3つで式変形を片っ端から行った

番外編 ベイジアンネットワークの学習

試しに以下のような簡単な01データを用いる またここでは単純に尤度のみでグラフの善し悪しを判定する

番外編 ベイジアンネットワークの学習

0 0 00 0 00 0 00 0 01 0 01 0 01 1 01 1 01 1 11 1 1

a b c

P(a) = 35 P(b) = 25 P(c) = 15 P(a b) = 25 P(b c) = 15 P(a c) = 15 P(a b c) = 15

P(a | b c) = 1 P(b | a c) = 1 P(c | a b) = 12 P(a | b) = 1 P(a | c) = 1 P(b | a) = 23 P(b | c) = 1 P(c | a) = 13 P(c | b) = 12

独立性について

番外編 ベイジアンネットワークの学習

0 0 00 0 00 0 00 0 01 0 01 0 01 1 01 1 01 1 11 1 1

a b c

P(a | b c) = P(a | b) P(a | b c) = P(a | c) P(b | a c) ne P(b | a) P(b | a c) = P(b | c) P(c | a b) ne P(c | a) P(c | a b) = P(c | b)

P(a b c) ne P(a) P(b) P(c) P(a b) ne P(a) P(b) P(b c) ne P(b) P(c) P(a c) ne P(a) P(c)

条件付き独立性について

データによって成り立ったり成り立たなかったりする

乗法定理times2(n=6)

乗法定理times2 + 条件付き独立 (n=9)

乗法定理times1 + 独立(n=3)

全て独立(n=1)

乗法定理times1 + 独立 + 条件付き独立(n=6)エッジ0個

エッジ1個

エッジ2個(head-to-tail tail-to-tail)

エッジ2個(head-to-head)

エッジ3個(全結合)

番外編 ベイジアンネットワークの学習

尤度を計算した

= 02= 02= 02= 02= 02= 02

= 0048

= 008= 012= 012

= 02= 02= 02= 02= 013

= 013= 02

= 02= 013

= 008= 008= 008= 012= 008= 012

乗法定理times2(n=6)エッジ3個(全結合)

番外編 ベイジアンネットワークの学習

= 02= 02= 02= 02= 02= 02

乗法定理で変形したものはグラフ構造は違うのにも関わらず尤度は等しい

b

a

cb

a

cb

a

cb

a

cb

a

cb

a

c

乗法定理times2 + 条件付き独立 (n=9)

乗法定理times1 + 独立(n=3)乗法定理times1 + 独立 + 条件付き独立(n=6)

エッジ0個

エッジ1個

エッジ2個(head-to-tail tail-to-tail)

エッジ2個(head-to-head)

番外編 ベイジアンネットワークの学習

= 008= 012= 012

= 02= 02= 02= 02= 013

= 013= 02

= 02= 013

= 008= 008= 008= 012= 008= 012

条件付き独立独立はデータによって成り立ったり成り立たなかったりする

「同じ尤度を持つDAGは複数存在する可能性がある」

21世紀の統計科学 第2巻 第6章 生命システムネットワークを明らかにするための統計的モデリング

Page 22: PRML8章

グラフィカルモデルの書き方確率変数にだけ注目した書き方(161のシンプル版)

(86)

N個のノードは左のようにまとめて書いてもよい

プレート

図83

図84

グラフィカルモデルの書き方パラメーターも明示的に含んだ書き方

(87)

図85 図86

学習データを入れている事を示す場合は塗りつぶすパラメータは小さい点で書く

観測されない隠れ変数はそのまま (-gt 第9 12章 EMアルゴリズム)

生成モデル観測データが生成される因果仮定を表現したモデル

人口的なデータを生成できる

例 伝承サンプリング(上位ノードから順に値を決めていくというだけ)

図85は生成モデルでは無い xnは値が既に決まっているから

xnの事前分布が必要図85

2

1

23

有向グラフの親子対が共役関係になる分布であると良い性質をもつ (多分解析的に積分が解けるとかモデルが複雑にならないとか)

特に重要なのが以下の二つでこれらは階層的に拡張して

任意の複雑なDAGが構築できる

離散変数 離散変数

ガウス変数 ガウス変数

離散変数

(89)

1-of-K符号化で書かれた多項分布

例 さいころで3が出る確率

パラメーター数 K - 1∵規格化のための制約

パラメーター数 K2 - 1

離散変数1-of-K符号化で書かれた多項分布(二つの状態を取る場合)

∵規格化のための制約

例 さいころABで各々(3 4)が出る確率

以下略hellip(36個パラメーターがある)

とりうる状態が増えるとパラメーターが指数的に増大してしまうKM - 1状態数Mで 個

離散変数乗法定理を用いるとP(x1x2) = P(x2|x1) P(x1)

これは図89の(a)

図89

変数がM個だとパラメーター数は M(K - 1)

でMについて線形

パラメーター数 K2 - 1

パラメーター数 2(K - 1)

離散変数

リンクを除去するとパラメーターを減らせる

全結合 全てが独立

パラメーター数M(K - 1)

パラメーター数 KM - 1

パラメーター数 K - 1 + (M - 1) K (K - 1)

K状態の連鎖

図810

x1 x2 xM x1 x2 xM

離散変数

パラメータを共有する事(sharing tyling)でもパラメーターは減らせる

図811

図812

図810のモデルの事前分布としてディリクレ分布を導入したもの

更に1つのパラメーターuが全ての条件付き分布に共有される場合

パラメーター数K2 - 1

パラメーター数2

離散変数

条件付き分布としてパラメトリックモデルを用いる事でもパラメーターは減らせる

図813

M個の親ノードと一つの子ノード (共に二値変数とする) そのままだとパラメーター数 2M

(810)

親変数の線形結合を入力とするロジスティックシグモイド関数を利用

パラメーター数 M + 1

線形ガウスモデル

(811)

確率的主成分分析因子分析線形動的システムなどで利用されているらしい

平均

pai

分散 vi

xi 全てのノードの同時分布の対数は (85 一般系のベイジアンネットワークより)

(812)

(813)

j

biwixj

線形ガウスモデル平均 u 分散 σ2の正規分布

自然対数をとる(expが消える)

あとはuに

σ2に

を代入すれば813になる

vi

線形ガウスモデル813はxの成分に関する2次関数なのでp(x)はD次元正規分布()

(814)

この時期待値と分散は再帰的に求まる

(815)

(816)

線形ガウスモデルリンクが一つもないD個のノード 全結合グラフ

パラメーター数wij 0個 bi D個 vi D個

パラメーター数wij (D(D-1))2個 bi D個 vi D個

x1

b1 v1

x2

b2 v2

x3

b3 v3

x4

b4 v4x1

b1 v1

x2

b2 v2

x3

b3 v3

x4

b4 v4

線形ガウスモデル中間的なグラフ(例 図814)

パラメーター数wij D - 1個 bi D個 vi D個

x1

b1 v1

x2

b2 v2

x3

b3 v3

x4

b4 v4

線形ガウスモデル

ガウス分布の共役事前分布はガウス分布

ガウス変量の平均をガウス分布とする(事前分布) =gt ガウス分布の平均値は超パラメーター

=gt 超パラメーターがガウス分布だとするhellip(超事前分布)

=gt 階層ベイズモデル(何階層でもモデルを拡張複雑化できる)

条件付き独立性

(820)

bがあってもなくてもaの条件付き確率に影響を与えない

これをcが与えられた下でaはbに対して条件付き独立であるという

cに対してaとbが条件付き独立とは以下のように書く

(821)

(822)

条件付き独立性が示せるとリンクを減らせる

a

c

ba

c

b

可能性のある全ての条件付き独立性を調べればリンクは減らせる =gt 実際には計算量が膨大

=gt グラフの形だけで独立かどうか判断が可能(d-separationという枠組み)

条件付き独立性

以降はまず3つのノードの簡単なグラフで説明する

3つのグラフの例①

ab

c

tail-to-tail

cに対して周辺化

これはp(a) p(b)という形には変形できない (独立ではない)

cで条件付ける

p(a|c) p(b|c)という形に変形できた(条件付き独立block)

(823)

(824)tailtail

3つのグラフの例②

ab

c

head-to-tail

cに対して周辺化

これはp(a) p(b)という形には変形できない (独立ではない)

cで条件付ける

p(a|c) p(b|c)という形に変形できた(条件付き独立block)

(826)

3つのグラフの例③

ab

c

head-to-head

cに対して周辺化

これはp(a) p(b)という形に変形できた(独立)

(828)

確率の総和は1だから

3つのグラフの例③

ab

c

head-to-head

cで条件付ける

p(a|c) p(b|c)という形に変形できない(unblock)

(828)

3つのグラフの例(まとめ)

グラフの形 cで周辺化 cで条件付け

tail-to-tail 独立ではない 条件付き独立(block)

head-to-tail 独立ではない 条件付き独立(block)

head-to-head 独立 独立ではない(unblock)

head-to-headの更に特殊な性質(弁明)

図820

バッテリーの状態 0切れている

1充電されている

燃料タンクの状態 0空1満タン

電動燃料計 0空と示している

1満タンと示している

p(B=1) = 09 p(F=1) = 09

p(G=1 | B = 1 F = 1) = 08 p(G=1 | B = 1 F = 0) = 02 p(G=1 | B = 0 F = 1) = 02 p(G=1 | B = 0 F = 0) = 01

p(B=0) = 01 p(F=0) = 01

p(G=0 | B = 1 F = 1) = 02 p(G=0 | B = 1 F = 0) = 08 p(G=0 | B = 0 F = 1) = 08 p(G=0 | B = 0 F = 0) = 09

事前にこういった情報が与えられているとする

head-to-headの更に特殊な性質(弁明)

何も観測されていないとき燃料タンクが空である確率は

p(F=0) = 01

燃料計が空を指しているという事実を観測した時の燃料タンクが空である確率は(ベイズの定理より)

少し確率が高まっている

確率が低くなる

さらにバッテリーが切れている事実を観測した時の燃料タンクが空である確率は

図821

head-to-headの更に特殊な性質(弁明)

さらに子孫ノードのいずれかが観測されても 燃料タンクが空になる確率は変化する

子孫ノードが0

有向分離(D分離)リンクを遮断する時の法則今までの話をノード集合にまで拡張したもの

(グラフの形だけでわかる)

(a) 集合Cに含まれるノードであって経路に含まれる矢印がそこでhead-to-tailあるいはtail-to-tailである

(b) 経路に含まれる矢印がそのノードでhead-to-headであり自身あるいはそのすべての子孫のいずれもが集合Cに含まれない

CA B CA B

CA B

あらゆるA-C-Bの経路が遮断されていれば集合Aは集合Cにおいて集合Bと条件付き独立

有向分離(D分離)

図822

A AC C

B B

ノードaとノードbは集合C(ノードe f)で遮断できるかcが観測された場合 fが観測された場合

-gt 遮断されない -gt 遮断される

∵ fがtail-to-tailで観測されていない

eはhead-to-headだが子孫fがCに含まれる

∵ fがtail-to-tailで観測されている

eはhead-to-headでそれ自身あるいはその子孫が条件付き集合に

含まれない

有向分離(D分離)図85のモデルの有向分離性

パラメーターは観測済みノードと同じ amp 親ノードが無い

-gt 他のノードとのつながりは必ずtail-to-tailになる -gt 有向分離性に影響しない

124節のiidデータの有向分離性

図823

パラメーターuはtail-to-tail -gt uに値を入力したらあらゆる子ノード間で独立

-gt iid

uを積分消去した場合観測値は独立ではない

(835)

有向分離(D分離)図87のモデルの有向分離性

(836)

有向分離(D分離)ナイーブベイズの有向分離性

図824

例 bag-of-words

例 受信BOX迷惑メール

zが観測されるとあらゆるxノード間は独立

有向分離定理

1 有向分解(乗法定理を繰り返し適用して得た条件付き確率分布)

2 有向分離 (条件付き独立を繰り返し適用して得た条件付き確率分布)

以下の二つは同じ分布を得る

マルコフブランケット

xiが起きる確率をxi以外の全てのノードで条件付けた分布で考える

分母をxiで周辺化する

条件付き確率の積にする

xiに依存しないノードの条件付き確率は分子と打ち消し合う(次頁)

あるノードの条件付き独立性を考える時の最小単位

マルコフブランケット

図826

つまりxiの条件付き独立を考える時 1) 親子 2) 共同親 だけを考えれば良い

共同親A B

C

D E

F G

結局Cの条件付き確率P(C|AB)と Cの子ノードの条件付き確率P(D|CF)やP(E|CG)だけ残る

Cを含まない項は全部消える

無向グラフ(マルコフ確率場)無向グラフは条件付き独立を考えるのが簡単

図827集合Cを取り除いてA-B間の経路が無くなるなら条件付き独立

図828

無向グラフはマルコフブランケットも簡単

隣接ノードだけ考えれば良い

無向グラフ(マルコフ確率場)無向グラフの分解特性(これまで乗法定理を繰り返し適用していたもの)は以下のように定式化される

(838)

xi xj以外の全てのノードを取り除いた時の同時確率

よりと書くことも

各々の確率に分割できるならxijにおいてxixjは条件付き独立

クリーク

図829

無向グラフの分解特性は極大クリーク変数集合の関数にする事

クリーク x1 x2 x2 x3 x3 x4 x4 x2 極大クリーク x1 x2 x3 x2 x3 x4 x1 x2 x3 x4はクリークではない(x1 - x4間にリンクがない)

クリーク 全てのノードの組にリンクが存在するグラフの部分集合 極大クリーク もう一つを加えるとクリークでなくなってしまうようなクリーク

ポテンシャル関数極大クリークを引数としたポテンシャル関数

の積に分解するどんな関数にするかは言及しない

基本的に総和は1にならない -gt 規格化定数(分配関数)を導入

-gt 計算は大変

画像のノイズ除去の例

元のピクセル

ランダムに反転したピクセル

元画像10のピクセルをランダムに反転

ICMによる復元グラフカットアルゴリズムによる復元

(841)(842)

(843)

図831

有向-gt無向の変換図832のような簡単な場合

有向グラフ(a)無向グラフ(b)

以下のような対応づけができる

有向-gt無向の変換図833のような場合

親同士をリンクで結ぶ(モラル化)

1 向きを無くす 2 モラル化する 3 規格化する -gt ジャンクションツリーアルゴリズム(84)

生物の細胞

遺伝子間が相互作用のネットワークを形成している

geneX geneY

Protein X

Protein Y

様々な実験での遺伝子発現データ

とりうる可能性高い遺伝子ネットワークを探索(MAP推定)

データからこれを推定したい

実験

遺伝子

more

番外編 ベイジアンネットワークの学習

rarr 近似的に求めるアルゴリズムが開発される

httpwwwsclsrikenjpscruisesoftwaresign-bnhtml

番外編 ベイジアンネットワークの学習

こういうネットワーク構造は未知でデータから推定するアプローチはベイジアンネットワークのrdquo学習rdquoとかrdquo推論rdquoというらしい

(848で紹介だけしている)

SiGN-BN スパコン「京」で計算するソフトウェア自分の修論の内容

Rのbnlearnパッケージ(CBRCのBlue Gene上で実行)httpsignhgcjpsignbnindex_jahtml

番外編 ベイジアンネットワークの学習

番外編 ベイジアンネットワークの学習

どのグラフが良いか決める基準 尤度情報量基準(AIC BIC 尤度ampパラメーター数)

MAP推定(尤度times事前分布)hellip

データを元に最も最適と思われるグラフ構造を探索する

データ

グラフ

1 0 01 1 01 0 10 1 01 0 10 0 01 1 00 0 01 1 10 0 1

a b cb

a

c

b

a

c

b

a

c

データからグラフ構造を推定したい場合単純な式変形をしただけだと数学的に等しいので結局最適なグラフ構造を決定できないのでは(勉強会での議論)

=gt 実際にやってみた

番外編 ベイジアンネットワークの学習

httpwwwsclsrikenjpscruisewp-contentuploadssites3201312SIGN_HGC_Seminar_Tamada201302pdf

httpenwikipediaorgwikiDirected_acyclic_graph

ノード数の増加に対する取りうるDAG数

番外編 ベイジアンネットワークの学習

3ノードなら手計算でいけそう

乗法定理times2(n=6)

乗法定理times2 + 条件付き独立 (n=9)

乗法定理times1 + 独立(n=3)

全て独立(n=1)

乗法定理を使う (このままではグラフとして表現できない)

乗法定理times1 + 独立 + 条件付き独立(n=6)エッジ0個

エッジ1個

エッジ2個(head-to-tail tail-to-tail)

エッジ2個(head-to-head)

エッジ3個(全結合)

ノード3つで式変形を片っ端から行った

番外編 ベイジアンネットワークの学習

試しに以下のような簡単な01データを用いる またここでは単純に尤度のみでグラフの善し悪しを判定する

番外編 ベイジアンネットワークの学習

0 0 00 0 00 0 00 0 01 0 01 0 01 1 01 1 01 1 11 1 1

a b c

P(a) = 35 P(b) = 25 P(c) = 15 P(a b) = 25 P(b c) = 15 P(a c) = 15 P(a b c) = 15

P(a | b c) = 1 P(b | a c) = 1 P(c | a b) = 12 P(a | b) = 1 P(a | c) = 1 P(b | a) = 23 P(b | c) = 1 P(c | a) = 13 P(c | b) = 12

独立性について

番外編 ベイジアンネットワークの学習

0 0 00 0 00 0 00 0 01 0 01 0 01 1 01 1 01 1 11 1 1

a b c

P(a | b c) = P(a | b) P(a | b c) = P(a | c) P(b | a c) ne P(b | a) P(b | a c) = P(b | c) P(c | a b) ne P(c | a) P(c | a b) = P(c | b)

P(a b c) ne P(a) P(b) P(c) P(a b) ne P(a) P(b) P(b c) ne P(b) P(c) P(a c) ne P(a) P(c)

条件付き独立性について

データによって成り立ったり成り立たなかったりする

乗法定理times2(n=6)

乗法定理times2 + 条件付き独立 (n=9)

乗法定理times1 + 独立(n=3)

全て独立(n=1)

乗法定理times1 + 独立 + 条件付き独立(n=6)エッジ0個

エッジ1個

エッジ2個(head-to-tail tail-to-tail)

エッジ2個(head-to-head)

エッジ3個(全結合)

番外編 ベイジアンネットワークの学習

尤度を計算した

= 02= 02= 02= 02= 02= 02

= 0048

= 008= 012= 012

= 02= 02= 02= 02= 013

= 013= 02

= 02= 013

= 008= 008= 008= 012= 008= 012

乗法定理times2(n=6)エッジ3個(全結合)

番外編 ベイジアンネットワークの学習

= 02= 02= 02= 02= 02= 02

乗法定理で変形したものはグラフ構造は違うのにも関わらず尤度は等しい

b

a

cb

a

cb

a

cb

a

cb

a

cb

a

c

乗法定理times2 + 条件付き独立 (n=9)

乗法定理times1 + 独立(n=3)乗法定理times1 + 独立 + 条件付き独立(n=6)

エッジ0個

エッジ1個

エッジ2個(head-to-tail tail-to-tail)

エッジ2個(head-to-head)

番外編 ベイジアンネットワークの学習

= 008= 012= 012

= 02= 02= 02= 02= 013

= 013= 02

= 02= 013

= 008= 008= 008= 012= 008= 012

条件付き独立独立はデータによって成り立ったり成り立たなかったりする

「同じ尤度を持つDAGは複数存在する可能性がある」

21世紀の統計科学 第2巻 第6章 生命システムネットワークを明らかにするための統計的モデリング

Page 23: PRML8章

グラフィカルモデルの書き方パラメーターも明示的に含んだ書き方

(87)

図85 図86

学習データを入れている事を示す場合は塗りつぶすパラメータは小さい点で書く

観測されない隠れ変数はそのまま (-gt 第9 12章 EMアルゴリズム)

生成モデル観測データが生成される因果仮定を表現したモデル

人口的なデータを生成できる

例 伝承サンプリング(上位ノードから順に値を決めていくというだけ)

図85は生成モデルでは無い xnは値が既に決まっているから

xnの事前分布が必要図85

2

1

23

有向グラフの親子対が共役関係になる分布であると良い性質をもつ (多分解析的に積分が解けるとかモデルが複雑にならないとか)

特に重要なのが以下の二つでこれらは階層的に拡張して

任意の複雑なDAGが構築できる

離散変数 離散変数

ガウス変数 ガウス変数

離散変数

(89)

1-of-K符号化で書かれた多項分布

例 さいころで3が出る確率

パラメーター数 K - 1∵規格化のための制約

パラメーター数 K2 - 1

離散変数1-of-K符号化で書かれた多項分布(二つの状態を取る場合)

∵規格化のための制約

例 さいころABで各々(3 4)が出る確率

以下略hellip(36個パラメーターがある)

とりうる状態が増えるとパラメーターが指数的に増大してしまうKM - 1状態数Mで 個

離散変数乗法定理を用いるとP(x1x2) = P(x2|x1) P(x1)

これは図89の(a)

図89

変数がM個だとパラメーター数は M(K - 1)

でMについて線形

パラメーター数 K2 - 1

パラメーター数 2(K - 1)

離散変数

リンクを除去するとパラメーターを減らせる

全結合 全てが独立

パラメーター数M(K - 1)

パラメーター数 KM - 1

パラメーター数 K - 1 + (M - 1) K (K - 1)

K状態の連鎖

図810

x1 x2 xM x1 x2 xM

離散変数

パラメータを共有する事(sharing tyling)でもパラメーターは減らせる

図811

図812

図810のモデルの事前分布としてディリクレ分布を導入したもの

更に1つのパラメーターuが全ての条件付き分布に共有される場合

パラメーター数K2 - 1

パラメーター数2

離散変数

条件付き分布としてパラメトリックモデルを用いる事でもパラメーターは減らせる

図813

M個の親ノードと一つの子ノード (共に二値変数とする) そのままだとパラメーター数 2M

(810)

親変数の線形結合を入力とするロジスティックシグモイド関数を利用

パラメーター数 M + 1

線形ガウスモデル

(811)

確率的主成分分析因子分析線形動的システムなどで利用されているらしい

平均

pai

分散 vi

xi 全てのノードの同時分布の対数は (85 一般系のベイジアンネットワークより)

(812)

(813)

j

biwixj

線形ガウスモデル平均 u 分散 σ2の正規分布

自然対数をとる(expが消える)

あとはuに

σ2に

を代入すれば813になる

vi

線形ガウスモデル813はxの成分に関する2次関数なのでp(x)はD次元正規分布()

(814)

この時期待値と分散は再帰的に求まる

(815)

(816)

線形ガウスモデルリンクが一つもないD個のノード 全結合グラフ

パラメーター数wij 0個 bi D個 vi D個

パラメーター数wij (D(D-1))2個 bi D個 vi D個

x1

b1 v1

x2

b2 v2

x3

b3 v3

x4

b4 v4x1

b1 v1

x2

b2 v2

x3

b3 v3

x4

b4 v4

線形ガウスモデル中間的なグラフ(例 図814)

パラメーター数wij D - 1個 bi D個 vi D個

x1

b1 v1

x2

b2 v2

x3

b3 v3

x4

b4 v4

線形ガウスモデル

ガウス分布の共役事前分布はガウス分布

ガウス変量の平均をガウス分布とする(事前分布) =gt ガウス分布の平均値は超パラメーター

=gt 超パラメーターがガウス分布だとするhellip(超事前分布)

=gt 階層ベイズモデル(何階層でもモデルを拡張複雑化できる)

条件付き独立性

(820)

bがあってもなくてもaの条件付き確率に影響を与えない

これをcが与えられた下でaはbに対して条件付き独立であるという

cに対してaとbが条件付き独立とは以下のように書く

(821)

(822)

条件付き独立性が示せるとリンクを減らせる

a

c

ba

c

b

可能性のある全ての条件付き独立性を調べればリンクは減らせる =gt 実際には計算量が膨大

=gt グラフの形だけで独立かどうか判断が可能(d-separationという枠組み)

条件付き独立性

以降はまず3つのノードの簡単なグラフで説明する

3つのグラフの例①

ab

c

tail-to-tail

cに対して周辺化

これはp(a) p(b)という形には変形できない (独立ではない)

cで条件付ける

p(a|c) p(b|c)という形に変形できた(条件付き独立block)

(823)

(824)tailtail

3つのグラフの例②

ab

c

head-to-tail

cに対して周辺化

これはp(a) p(b)という形には変形できない (独立ではない)

cで条件付ける

p(a|c) p(b|c)という形に変形できた(条件付き独立block)

(826)

3つのグラフの例③

ab

c

head-to-head

cに対して周辺化

これはp(a) p(b)という形に変形できた(独立)

(828)

確率の総和は1だから

3つのグラフの例③

ab

c

head-to-head

cで条件付ける

p(a|c) p(b|c)という形に変形できない(unblock)

(828)

3つのグラフの例(まとめ)

グラフの形 cで周辺化 cで条件付け

tail-to-tail 独立ではない 条件付き独立(block)

head-to-tail 独立ではない 条件付き独立(block)

head-to-head 独立 独立ではない(unblock)

head-to-headの更に特殊な性質(弁明)

図820

バッテリーの状態 0切れている

1充電されている

燃料タンクの状態 0空1満タン

電動燃料計 0空と示している

1満タンと示している

p(B=1) = 09 p(F=1) = 09

p(G=1 | B = 1 F = 1) = 08 p(G=1 | B = 1 F = 0) = 02 p(G=1 | B = 0 F = 1) = 02 p(G=1 | B = 0 F = 0) = 01

p(B=0) = 01 p(F=0) = 01

p(G=0 | B = 1 F = 1) = 02 p(G=0 | B = 1 F = 0) = 08 p(G=0 | B = 0 F = 1) = 08 p(G=0 | B = 0 F = 0) = 09

事前にこういった情報が与えられているとする

head-to-headの更に特殊な性質(弁明)

何も観測されていないとき燃料タンクが空である確率は

p(F=0) = 01

燃料計が空を指しているという事実を観測した時の燃料タンクが空である確率は(ベイズの定理より)

少し確率が高まっている

確率が低くなる

さらにバッテリーが切れている事実を観測した時の燃料タンクが空である確率は

図821

head-to-headの更に特殊な性質(弁明)

さらに子孫ノードのいずれかが観測されても 燃料タンクが空になる確率は変化する

子孫ノードが0

有向分離(D分離)リンクを遮断する時の法則今までの話をノード集合にまで拡張したもの

(グラフの形だけでわかる)

(a) 集合Cに含まれるノードであって経路に含まれる矢印がそこでhead-to-tailあるいはtail-to-tailである

(b) 経路に含まれる矢印がそのノードでhead-to-headであり自身あるいはそのすべての子孫のいずれもが集合Cに含まれない

CA B CA B

CA B

あらゆるA-C-Bの経路が遮断されていれば集合Aは集合Cにおいて集合Bと条件付き独立

有向分離(D分離)

図822

A AC C

B B

ノードaとノードbは集合C(ノードe f)で遮断できるかcが観測された場合 fが観測された場合

-gt 遮断されない -gt 遮断される

∵ fがtail-to-tailで観測されていない

eはhead-to-headだが子孫fがCに含まれる

∵ fがtail-to-tailで観測されている

eはhead-to-headでそれ自身あるいはその子孫が条件付き集合に

含まれない

有向分離(D分離)図85のモデルの有向分離性

パラメーターは観測済みノードと同じ amp 親ノードが無い

-gt 他のノードとのつながりは必ずtail-to-tailになる -gt 有向分離性に影響しない

124節のiidデータの有向分離性

図823

パラメーターuはtail-to-tail -gt uに値を入力したらあらゆる子ノード間で独立

-gt iid

uを積分消去した場合観測値は独立ではない

(835)

有向分離(D分離)図87のモデルの有向分離性

(836)

有向分離(D分離)ナイーブベイズの有向分離性

図824

例 bag-of-words

例 受信BOX迷惑メール

zが観測されるとあらゆるxノード間は独立

有向分離定理

1 有向分解(乗法定理を繰り返し適用して得た条件付き確率分布)

2 有向分離 (条件付き独立を繰り返し適用して得た条件付き確率分布)

以下の二つは同じ分布を得る

マルコフブランケット

xiが起きる確率をxi以外の全てのノードで条件付けた分布で考える

分母をxiで周辺化する

条件付き確率の積にする

xiに依存しないノードの条件付き確率は分子と打ち消し合う(次頁)

あるノードの条件付き独立性を考える時の最小単位

マルコフブランケット

図826

つまりxiの条件付き独立を考える時 1) 親子 2) 共同親 だけを考えれば良い

共同親A B

C

D E

F G

結局Cの条件付き確率P(C|AB)と Cの子ノードの条件付き確率P(D|CF)やP(E|CG)だけ残る

Cを含まない項は全部消える

無向グラフ(マルコフ確率場)無向グラフは条件付き独立を考えるのが簡単

図827集合Cを取り除いてA-B間の経路が無くなるなら条件付き独立

図828

無向グラフはマルコフブランケットも簡単

隣接ノードだけ考えれば良い

無向グラフ(マルコフ確率場)無向グラフの分解特性(これまで乗法定理を繰り返し適用していたもの)は以下のように定式化される

(838)

xi xj以外の全てのノードを取り除いた時の同時確率

よりと書くことも

各々の確率に分割できるならxijにおいてxixjは条件付き独立

クリーク

図829

無向グラフの分解特性は極大クリーク変数集合の関数にする事

クリーク x1 x2 x2 x3 x3 x4 x4 x2 極大クリーク x1 x2 x3 x2 x3 x4 x1 x2 x3 x4はクリークではない(x1 - x4間にリンクがない)

クリーク 全てのノードの組にリンクが存在するグラフの部分集合 極大クリーク もう一つを加えるとクリークでなくなってしまうようなクリーク

ポテンシャル関数極大クリークを引数としたポテンシャル関数

の積に分解するどんな関数にするかは言及しない

基本的に総和は1にならない -gt 規格化定数(分配関数)を導入

-gt 計算は大変

画像のノイズ除去の例

元のピクセル

ランダムに反転したピクセル

元画像10のピクセルをランダムに反転

ICMによる復元グラフカットアルゴリズムによる復元

(841)(842)

(843)

図831

有向-gt無向の変換図832のような簡単な場合

有向グラフ(a)無向グラフ(b)

以下のような対応づけができる

有向-gt無向の変換図833のような場合

親同士をリンクで結ぶ(モラル化)

1 向きを無くす 2 モラル化する 3 規格化する -gt ジャンクションツリーアルゴリズム(84)

生物の細胞

遺伝子間が相互作用のネットワークを形成している

geneX geneY

Protein X

Protein Y

様々な実験での遺伝子発現データ

とりうる可能性高い遺伝子ネットワークを探索(MAP推定)

データからこれを推定したい

実験

遺伝子

more

番外編 ベイジアンネットワークの学習

rarr 近似的に求めるアルゴリズムが開発される

httpwwwsclsrikenjpscruisesoftwaresign-bnhtml

番外編 ベイジアンネットワークの学習

こういうネットワーク構造は未知でデータから推定するアプローチはベイジアンネットワークのrdquo学習rdquoとかrdquo推論rdquoというらしい

(848で紹介だけしている)

SiGN-BN スパコン「京」で計算するソフトウェア自分の修論の内容

Rのbnlearnパッケージ(CBRCのBlue Gene上で実行)httpsignhgcjpsignbnindex_jahtml

番外編 ベイジアンネットワークの学習

番外編 ベイジアンネットワークの学習

どのグラフが良いか決める基準 尤度情報量基準(AIC BIC 尤度ampパラメーター数)

MAP推定(尤度times事前分布)hellip

データを元に最も最適と思われるグラフ構造を探索する

データ

グラフ

1 0 01 1 01 0 10 1 01 0 10 0 01 1 00 0 01 1 10 0 1

a b cb

a

c

b

a

c

b

a

c

データからグラフ構造を推定したい場合単純な式変形をしただけだと数学的に等しいので結局最適なグラフ構造を決定できないのでは(勉強会での議論)

=gt 実際にやってみた

番外編 ベイジアンネットワークの学習

httpwwwsclsrikenjpscruisewp-contentuploadssites3201312SIGN_HGC_Seminar_Tamada201302pdf

httpenwikipediaorgwikiDirected_acyclic_graph

ノード数の増加に対する取りうるDAG数

番外編 ベイジアンネットワークの学習

3ノードなら手計算でいけそう

乗法定理times2(n=6)

乗法定理times2 + 条件付き独立 (n=9)

乗法定理times1 + 独立(n=3)

全て独立(n=1)

乗法定理を使う (このままではグラフとして表現できない)

乗法定理times1 + 独立 + 条件付き独立(n=6)エッジ0個

エッジ1個

エッジ2個(head-to-tail tail-to-tail)

エッジ2個(head-to-head)

エッジ3個(全結合)

ノード3つで式変形を片っ端から行った

番外編 ベイジアンネットワークの学習

試しに以下のような簡単な01データを用いる またここでは単純に尤度のみでグラフの善し悪しを判定する

番外編 ベイジアンネットワークの学習

0 0 00 0 00 0 00 0 01 0 01 0 01 1 01 1 01 1 11 1 1

a b c

P(a) = 35 P(b) = 25 P(c) = 15 P(a b) = 25 P(b c) = 15 P(a c) = 15 P(a b c) = 15

P(a | b c) = 1 P(b | a c) = 1 P(c | a b) = 12 P(a | b) = 1 P(a | c) = 1 P(b | a) = 23 P(b | c) = 1 P(c | a) = 13 P(c | b) = 12

独立性について

番外編 ベイジアンネットワークの学習

0 0 00 0 00 0 00 0 01 0 01 0 01 1 01 1 01 1 11 1 1

a b c

P(a | b c) = P(a | b) P(a | b c) = P(a | c) P(b | a c) ne P(b | a) P(b | a c) = P(b | c) P(c | a b) ne P(c | a) P(c | a b) = P(c | b)

P(a b c) ne P(a) P(b) P(c) P(a b) ne P(a) P(b) P(b c) ne P(b) P(c) P(a c) ne P(a) P(c)

条件付き独立性について

データによって成り立ったり成り立たなかったりする

乗法定理times2(n=6)

乗法定理times2 + 条件付き独立 (n=9)

乗法定理times1 + 独立(n=3)

全て独立(n=1)

乗法定理times1 + 独立 + 条件付き独立(n=6)エッジ0個

エッジ1個

エッジ2個(head-to-tail tail-to-tail)

エッジ2個(head-to-head)

エッジ3個(全結合)

番外編 ベイジアンネットワークの学習

尤度を計算した

= 02= 02= 02= 02= 02= 02

= 0048

= 008= 012= 012

= 02= 02= 02= 02= 013

= 013= 02

= 02= 013

= 008= 008= 008= 012= 008= 012

乗法定理times2(n=6)エッジ3個(全結合)

番外編 ベイジアンネットワークの学習

= 02= 02= 02= 02= 02= 02

乗法定理で変形したものはグラフ構造は違うのにも関わらず尤度は等しい

b

a

cb

a

cb

a

cb

a

cb

a

cb

a

c

乗法定理times2 + 条件付き独立 (n=9)

乗法定理times1 + 独立(n=3)乗法定理times1 + 独立 + 条件付き独立(n=6)

エッジ0個

エッジ1個

エッジ2個(head-to-tail tail-to-tail)

エッジ2個(head-to-head)

番外編 ベイジアンネットワークの学習

= 008= 012= 012

= 02= 02= 02= 02= 013

= 013= 02

= 02= 013

= 008= 008= 008= 012= 008= 012

条件付き独立独立はデータによって成り立ったり成り立たなかったりする

「同じ尤度を持つDAGは複数存在する可能性がある」

21世紀の統計科学 第2巻 第6章 生命システムネットワークを明らかにするための統計的モデリング

Page 24: PRML8章

生成モデル観測データが生成される因果仮定を表現したモデル

人口的なデータを生成できる

例 伝承サンプリング(上位ノードから順に値を決めていくというだけ)

図85は生成モデルでは無い xnは値が既に決まっているから

xnの事前分布が必要図85

2

1

23

有向グラフの親子対が共役関係になる分布であると良い性質をもつ (多分解析的に積分が解けるとかモデルが複雑にならないとか)

特に重要なのが以下の二つでこれらは階層的に拡張して

任意の複雑なDAGが構築できる

離散変数 離散変数

ガウス変数 ガウス変数

離散変数

(89)

1-of-K符号化で書かれた多項分布

例 さいころで3が出る確率

パラメーター数 K - 1∵規格化のための制約

パラメーター数 K2 - 1

離散変数1-of-K符号化で書かれた多項分布(二つの状態を取る場合)

∵規格化のための制約

例 さいころABで各々(3 4)が出る確率

以下略hellip(36個パラメーターがある)

とりうる状態が増えるとパラメーターが指数的に増大してしまうKM - 1状態数Mで 個

離散変数乗法定理を用いるとP(x1x2) = P(x2|x1) P(x1)

これは図89の(a)

図89

変数がM個だとパラメーター数は M(K - 1)

でMについて線形

パラメーター数 K2 - 1

パラメーター数 2(K - 1)

離散変数

リンクを除去するとパラメーターを減らせる

全結合 全てが独立

パラメーター数M(K - 1)

パラメーター数 KM - 1

パラメーター数 K - 1 + (M - 1) K (K - 1)

K状態の連鎖

図810

x1 x2 xM x1 x2 xM

離散変数

パラメータを共有する事(sharing tyling)でもパラメーターは減らせる

図811

図812

図810のモデルの事前分布としてディリクレ分布を導入したもの

更に1つのパラメーターuが全ての条件付き分布に共有される場合

パラメーター数K2 - 1

パラメーター数2

離散変数

条件付き分布としてパラメトリックモデルを用いる事でもパラメーターは減らせる

図813

M個の親ノードと一つの子ノード (共に二値変数とする) そのままだとパラメーター数 2M

(810)

親変数の線形結合を入力とするロジスティックシグモイド関数を利用

パラメーター数 M + 1

線形ガウスモデル

(811)

確率的主成分分析因子分析線形動的システムなどで利用されているらしい

平均

pai

分散 vi

xi 全てのノードの同時分布の対数は (85 一般系のベイジアンネットワークより)

(812)

(813)

j

biwixj

線形ガウスモデル平均 u 分散 σ2の正規分布

自然対数をとる(expが消える)

あとはuに

σ2に

を代入すれば813になる

vi

線形ガウスモデル813はxの成分に関する2次関数なのでp(x)はD次元正規分布()

(814)

この時期待値と分散は再帰的に求まる

(815)

(816)

線形ガウスモデルリンクが一つもないD個のノード 全結合グラフ

パラメーター数wij 0個 bi D個 vi D個

パラメーター数wij (D(D-1))2個 bi D個 vi D個

x1

b1 v1

x2

b2 v2

x3

b3 v3

x4

b4 v4x1

b1 v1

x2

b2 v2

x3

b3 v3

x4

b4 v4

線形ガウスモデル中間的なグラフ(例 図814)

パラメーター数wij D - 1個 bi D個 vi D個

x1

b1 v1

x2

b2 v2

x3

b3 v3

x4

b4 v4

線形ガウスモデル

ガウス分布の共役事前分布はガウス分布

ガウス変量の平均をガウス分布とする(事前分布) =gt ガウス分布の平均値は超パラメーター

=gt 超パラメーターがガウス分布だとするhellip(超事前分布)

=gt 階層ベイズモデル(何階層でもモデルを拡張複雑化できる)

条件付き独立性

(820)

bがあってもなくてもaの条件付き確率に影響を与えない

これをcが与えられた下でaはbに対して条件付き独立であるという

cに対してaとbが条件付き独立とは以下のように書く

(821)

(822)

条件付き独立性が示せるとリンクを減らせる

a

c

ba

c

b

可能性のある全ての条件付き独立性を調べればリンクは減らせる =gt 実際には計算量が膨大

=gt グラフの形だけで独立かどうか判断が可能(d-separationという枠組み)

条件付き独立性

以降はまず3つのノードの簡単なグラフで説明する

3つのグラフの例①

ab

c

tail-to-tail

cに対して周辺化

これはp(a) p(b)という形には変形できない (独立ではない)

cで条件付ける

p(a|c) p(b|c)という形に変形できた(条件付き独立block)

(823)

(824)tailtail

3つのグラフの例②

ab

c

head-to-tail

cに対して周辺化

これはp(a) p(b)という形には変形できない (独立ではない)

cで条件付ける

p(a|c) p(b|c)という形に変形できた(条件付き独立block)

(826)

3つのグラフの例③

ab

c

head-to-head

cに対して周辺化

これはp(a) p(b)という形に変形できた(独立)

(828)

確率の総和は1だから

3つのグラフの例③

ab

c

head-to-head

cで条件付ける

p(a|c) p(b|c)という形に変形できない(unblock)

(828)

3つのグラフの例(まとめ)

グラフの形 cで周辺化 cで条件付け

tail-to-tail 独立ではない 条件付き独立(block)

head-to-tail 独立ではない 条件付き独立(block)

head-to-head 独立 独立ではない(unblock)

head-to-headの更に特殊な性質(弁明)

図820

バッテリーの状態 0切れている

1充電されている

燃料タンクの状態 0空1満タン

電動燃料計 0空と示している

1満タンと示している

p(B=1) = 09 p(F=1) = 09

p(G=1 | B = 1 F = 1) = 08 p(G=1 | B = 1 F = 0) = 02 p(G=1 | B = 0 F = 1) = 02 p(G=1 | B = 0 F = 0) = 01

p(B=0) = 01 p(F=0) = 01

p(G=0 | B = 1 F = 1) = 02 p(G=0 | B = 1 F = 0) = 08 p(G=0 | B = 0 F = 1) = 08 p(G=0 | B = 0 F = 0) = 09

事前にこういった情報が与えられているとする

head-to-headの更に特殊な性質(弁明)

何も観測されていないとき燃料タンクが空である確率は

p(F=0) = 01

燃料計が空を指しているという事実を観測した時の燃料タンクが空である確率は(ベイズの定理より)

少し確率が高まっている

確率が低くなる

さらにバッテリーが切れている事実を観測した時の燃料タンクが空である確率は

図821

head-to-headの更に特殊な性質(弁明)

さらに子孫ノードのいずれかが観測されても 燃料タンクが空になる確率は変化する

子孫ノードが0

有向分離(D分離)リンクを遮断する時の法則今までの話をノード集合にまで拡張したもの

(グラフの形だけでわかる)

(a) 集合Cに含まれるノードであって経路に含まれる矢印がそこでhead-to-tailあるいはtail-to-tailである

(b) 経路に含まれる矢印がそのノードでhead-to-headであり自身あるいはそのすべての子孫のいずれもが集合Cに含まれない

CA B CA B

CA B

あらゆるA-C-Bの経路が遮断されていれば集合Aは集合Cにおいて集合Bと条件付き独立

有向分離(D分離)

図822

A AC C

B B

ノードaとノードbは集合C(ノードe f)で遮断できるかcが観測された場合 fが観測された場合

-gt 遮断されない -gt 遮断される

∵ fがtail-to-tailで観測されていない

eはhead-to-headだが子孫fがCに含まれる

∵ fがtail-to-tailで観測されている

eはhead-to-headでそれ自身あるいはその子孫が条件付き集合に

含まれない

有向分離(D分離)図85のモデルの有向分離性

パラメーターは観測済みノードと同じ amp 親ノードが無い

-gt 他のノードとのつながりは必ずtail-to-tailになる -gt 有向分離性に影響しない

124節のiidデータの有向分離性

図823

パラメーターuはtail-to-tail -gt uに値を入力したらあらゆる子ノード間で独立

-gt iid

uを積分消去した場合観測値は独立ではない

(835)

有向分離(D分離)図87のモデルの有向分離性

(836)

有向分離(D分離)ナイーブベイズの有向分離性

図824

例 bag-of-words

例 受信BOX迷惑メール

zが観測されるとあらゆるxノード間は独立

有向分離定理

1 有向分解(乗法定理を繰り返し適用して得た条件付き確率分布)

2 有向分離 (条件付き独立を繰り返し適用して得た条件付き確率分布)

以下の二つは同じ分布を得る

マルコフブランケット

xiが起きる確率をxi以外の全てのノードで条件付けた分布で考える

分母をxiで周辺化する

条件付き確率の積にする

xiに依存しないノードの条件付き確率は分子と打ち消し合う(次頁)

あるノードの条件付き独立性を考える時の最小単位

マルコフブランケット

図826

つまりxiの条件付き独立を考える時 1) 親子 2) 共同親 だけを考えれば良い

共同親A B

C

D E

F G

結局Cの条件付き確率P(C|AB)と Cの子ノードの条件付き確率P(D|CF)やP(E|CG)だけ残る

Cを含まない項は全部消える

無向グラフ(マルコフ確率場)無向グラフは条件付き独立を考えるのが簡単

図827集合Cを取り除いてA-B間の経路が無くなるなら条件付き独立

図828

無向グラフはマルコフブランケットも簡単

隣接ノードだけ考えれば良い

無向グラフ(マルコフ確率場)無向グラフの分解特性(これまで乗法定理を繰り返し適用していたもの)は以下のように定式化される

(838)

xi xj以外の全てのノードを取り除いた時の同時確率

よりと書くことも

各々の確率に分割できるならxijにおいてxixjは条件付き独立

クリーク

図829

無向グラフの分解特性は極大クリーク変数集合の関数にする事

クリーク x1 x2 x2 x3 x3 x4 x4 x2 極大クリーク x1 x2 x3 x2 x3 x4 x1 x2 x3 x4はクリークではない(x1 - x4間にリンクがない)

クリーク 全てのノードの組にリンクが存在するグラフの部分集合 極大クリーク もう一つを加えるとクリークでなくなってしまうようなクリーク

ポテンシャル関数極大クリークを引数としたポテンシャル関数

の積に分解するどんな関数にするかは言及しない

基本的に総和は1にならない -gt 規格化定数(分配関数)を導入

-gt 計算は大変

画像のノイズ除去の例

元のピクセル

ランダムに反転したピクセル

元画像10のピクセルをランダムに反転

ICMによる復元グラフカットアルゴリズムによる復元

(841)(842)

(843)

図831

有向-gt無向の変換図832のような簡単な場合

有向グラフ(a)無向グラフ(b)

以下のような対応づけができる

有向-gt無向の変換図833のような場合

親同士をリンクで結ぶ(モラル化)

1 向きを無くす 2 モラル化する 3 規格化する -gt ジャンクションツリーアルゴリズム(84)

生物の細胞

遺伝子間が相互作用のネットワークを形成している

geneX geneY

Protein X

Protein Y

様々な実験での遺伝子発現データ

とりうる可能性高い遺伝子ネットワークを探索(MAP推定)

データからこれを推定したい

実験

遺伝子

more

番外編 ベイジアンネットワークの学習

rarr 近似的に求めるアルゴリズムが開発される

httpwwwsclsrikenjpscruisesoftwaresign-bnhtml

番外編 ベイジアンネットワークの学習

こういうネットワーク構造は未知でデータから推定するアプローチはベイジアンネットワークのrdquo学習rdquoとかrdquo推論rdquoというらしい

(848で紹介だけしている)

SiGN-BN スパコン「京」で計算するソフトウェア自分の修論の内容

Rのbnlearnパッケージ(CBRCのBlue Gene上で実行)httpsignhgcjpsignbnindex_jahtml

番外編 ベイジアンネットワークの学習

番外編 ベイジアンネットワークの学習

どのグラフが良いか決める基準 尤度情報量基準(AIC BIC 尤度ampパラメーター数)

MAP推定(尤度times事前分布)hellip

データを元に最も最適と思われるグラフ構造を探索する

データ

グラフ

1 0 01 1 01 0 10 1 01 0 10 0 01 1 00 0 01 1 10 0 1

a b cb

a

c

b

a

c

b

a

c

データからグラフ構造を推定したい場合単純な式変形をしただけだと数学的に等しいので結局最適なグラフ構造を決定できないのでは(勉強会での議論)

=gt 実際にやってみた

番外編 ベイジアンネットワークの学習

httpwwwsclsrikenjpscruisewp-contentuploadssites3201312SIGN_HGC_Seminar_Tamada201302pdf

httpenwikipediaorgwikiDirected_acyclic_graph

ノード数の増加に対する取りうるDAG数

番外編 ベイジアンネットワークの学習

3ノードなら手計算でいけそう

乗法定理times2(n=6)

乗法定理times2 + 条件付き独立 (n=9)

乗法定理times1 + 独立(n=3)

全て独立(n=1)

乗法定理を使う (このままではグラフとして表現できない)

乗法定理times1 + 独立 + 条件付き独立(n=6)エッジ0個

エッジ1個

エッジ2個(head-to-tail tail-to-tail)

エッジ2個(head-to-head)

エッジ3個(全結合)

ノード3つで式変形を片っ端から行った

番外編 ベイジアンネットワークの学習

試しに以下のような簡単な01データを用いる またここでは単純に尤度のみでグラフの善し悪しを判定する

番外編 ベイジアンネットワークの学習

0 0 00 0 00 0 00 0 01 0 01 0 01 1 01 1 01 1 11 1 1

a b c

P(a) = 35 P(b) = 25 P(c) = 15 P(a b) = 25 P(b c) = 15 P(a c) = 15 P(a b c) = 15

P(a | b c) = 1 P(b | a c) = 1 P(c | a b) = 12 P(a | b) = 1 P(a | c) = 1 P(b | a) = 23 P(b | c) = 1 P(c | a) = 13 P(c | b) = 12

独立性について

番外編 ベイジアンネットワークの学習

0 0 00 0 00 0 00 0 01 0 01 0 01 1 01 1 01 1 11 1 1

a b c

P(a | b c) = P(a | b) P(a | b c) = P(a | c) P(b | a c) ne P(b | a) P(b | a c) = P(b | c) P(c | a b) ne P(c | a) P(c | a b) = P(c | b)

P(a b c) ne P(a) P(b) P(c) P(a b) ne P(a) P(b) P(b c) ne P(b) P(c) P(a c) ne P(a) P(c)

条件付き独立性について

データによって成り立ったり成り立たなかったりする

乗法定理times2(n=6)

乗法定理times2 + 条件付き独立 (n=9)

乗法定理times1 + 独立(n=3)

全て独立(n=1)

乗法定理times1 + 独立 + 条件付き独立(n=6)エッジ0個

エッジ1個

エッジ2個(head-to-tail tail-to-tail)

エッジ2個(head-to-head)

エッジ3個(全結合)

番外編 ベイジアンネットワークの学習

尤度を計算した

= 02= 02= 02= 02= 02= 02

= 0048

= 008= 012= 012

= 02= 02= 02= 02= 013

= 013= 02

= 02= 013

= 008= 008= 008= 012= 008= 012

乗法定理times2(n=6)エッジ3個(全結合)

番外編 ベイジアンネットワークの学習

= 02= 02= 02= 02= 02= 02

乗法定理で変形したものはグラフ構造は違うのにも関わらず尤度は等しい

b

a

cb

a

cb

a

cb

a

cb

a

cb

a

c

乗法定理times2 + 条件付き独立 (n=9)

乗法定理times1 + 独立(n=3)乗法定理times1 + 独立 + 条件付き独立(n=6)

エッジ0個

エッジ1個

エッジ2個(head-to-tail tail-to-tail)

エッジ2個(head-to-head)

番外編 ベイジアンネットワークの学習

= 008= 012= 012

= 02= 02= 02= 02= 013

= 013= 02

= 02= 013

= 008= 008= 008= 012= 008= 012

条件付き独立独立はデータによって成り立ったり成り立たなかったりする

「同じ尤度を持つDAGは複数存在する可能性がある」

21世紀の統計科学 第2巻 第6章 生命システムネットワークを明らかにするための統計的モデリング

Page 25: PRML8章

有向グラフの親子対が共役関係になる分布であると良い性質をもつ (多分解析的に積分が解けるとかモデルが複雑にならないとか)

特に重要なのが以下の二つでこれらは階層的に拡張して

任意の複雑なDAGが構築できる

離散変数 離散変数

ガウス変数 ガウス変数

離散変数

(89)

1-of-K符号化で書かれた多項分布

例 さいころで3が出る確率

パラメーター数 K - 1∵規格化のための制約

パラメーター数 K2 - 1

離散変数1-of-K符号化で書かれた多項分布(二つの状態を取る場合)

∵規格化のための制約

例 さいころABで各々(3 4)が出る確率

以下略hellip(36個パラメーターがある)

とりうる状態が増えるとパラメーターが指数的に増大してしまうKM - 1状態数Mで 個

離散変数乗法定理を用いるとP(x1x2) = P(x2|x1) P(x1)

これは図89の(a)

図89

変数がM個だとパラメーター数は M(K - 1)

でMについて線形

パラメーター数 K2 - 1

パラメーター数 2(K - 1)

離散変数

リンクを除去するとパラメーターを減らせる

全結合 全てが独立

パラメーター数M(K - 1)

パラメーター数 KM - 1

パラメーター数 K - 1 + (M - 1) K (K - 1)

K状態の連鎖

図810

x1 x2 xM x1 x2 xM

離散変数

パラメータを共有する事(sharing tyling)でもパラメーターは減らせる

図811

図812

図810のモデルの事前分布としてディリクレ分布を導入したもの

更に1つのパラメーターuが全ての条件付き分布に共有される場合

パラメーター数K2 - 1

パラメーター数2

離散変数

条件付き分布としてパラメトリックモデルを用いる事でもパラメーターは減らせる

図813

M個の親ノードと一つの子ノード (共に二値変数とする) そのままだとパラメーター数 2M

(810)

親変数の線形結合を入力とするロジスティックシグモイド関数を利用

パラメーター数 M + 1

線形ガウスモデル

(811)

確率的主成分分析因子分析線形動的システムなどで利用されているらしい

平均

pai

分散 vi

xi 全てのノードの同時分布の対数は (85 一般系のベイジアンネットワークより)

(812)

(813)

j

biwixj

線形ガウスモデル平均 u 分散 σ2の正規分布

自然対数をとる(expが消える)

あとはuに

σ2に

を代入すれば813になる

vi

線形ガウスモデル813はxの成分に関する2次関数なのでp(x)はD次元正規分布()

(814)

この時期待値と分散は再帰的に求まる

(815)

(816)

線形ガウスモデルリンクが一つもないD個のノード 全結合グラフ

パラメーター数wij 0個 bi D個 vi D個

パラメーター数wij (D(D-1))2個 bi D個 vi D個

x1

b1 v1

x2

b2 v2

x3

b3 v3

x4

b4 v4x1

b1 v1

x2

b2 v2

x3

b3 v3

x4

b4 v4

線形ガウスモデル中間的なグラフ(例 図814)

パラメーター数wij D - 1個 bi D個 vi D個

x1

b1 v1

x2

b2 v2

x3

b3 v3

x4

b4 v4

線形ガウスモデル

ガウス分布の共役事前分布はガウス分布

ガウス変量の平均をガウス分布とする(事前分布) =gt ガウス分布の平均値は超パラメーター

=gt 超パラメーターがガウス分布だとするhellip(超事前分布)

=gt 階層ベイズモデル(何階層でもモデルを拡張複雑化できる)

条件付き独立性

(820)

bがあってもなくてもaの条件付き確率に影響を与えない

これをcが与えられた下でaはbに対して条件付き独立であるという

cに対してaとbが条件付き独立とは以下のように書く

(821)

(822)

条件付き独立性が示せるとリンクを減らせる

a

c

ba

c

b

可能性のある全ての条件付き独立性を調べればリンクは減らせる =gt 実際には計算量が膨大

=gt グラフの形だけで独立かどうか判断が可能(d-separationという枠組み)

条件付き独立性

以降はまず3つのノードの簡単なグラフで説明する

3つのグラフの例①

ab

c

tail-to-tail

cに対して周辺化

これはp(a) p(b)という形には変形できない (独立ではない)

cで条件付ける

p(a|c) p(b|c)という形に変形できた(条件付き独立block)

(823)

(824)tailtail

3つのグラフの例②

ab

c

head-to-tail

cに対して周辺化

これはp(a) p(b)という形には変形できない (独立ではない)

cで条件付ける

p(a|c) p(b|c)という形に変形できた(条件付き独立block)

(826)

3つのグラフの例③

ab

c

head-to-head

cに対して周辺化

これはp(a) p(b)という形に変形できた(独立)

(828)

確率の総和は1だから

3つのグラフの例③

ab

c

head-to-head

cで条件付ける

p(a|c) p(b|c)という形に変形できない(unblock)

(828)

3つのグラフの例(まとめ)

グラフの形 cで周辺化 cで条件付け

tail-to-tail 独立ではない 条件付き独立(block)

head-to-tail 独立ではない 条件付き独立(block)

head-to-head 独立 独立ではない(unblock)

head-to-headの更に特殊な性質(弁明)

図820

バッテリーの状態 0切れている

1充電されている

燃料タンクの状態 0空1満タン

電動燃料計 0空と示している

1満タンと示している

p(B=1) = 09 p(F=1) = 09

p(G=1 | B = 1 F = 1) = 08 p(G=1 | B = 1 F = 0) = 02 p(G=1 | B = 0 F = 1) = 02 p(G=1 | B = 0 F = 0) = 01

p(B=0) = 01 p(F=0) = 01

p(G=0 | B = 1 F = 1) = 02 p(G=0 | B = 1 F = 0) = 08 p(G=0 | B = 0 F = 1) = 08 p(G=0 | B = 0 F = 0) = 09

事前にこういった情報が与えられているとする

head-to-headの更に特殊な性質(弁明)

何も観測されていないとき燃料タンクが空である確率は

p(F=0) = 01

燃料計が空を指しているという事実を観測した時の燃料タンクが空である確率は(ベイズの定理より)

少し確率が高まっている

確率が低くなる

さらにバッテリーが切れている事実を観測した時の燃料タンクが空である確率は

図821

head-to-headの更に特殊な性質(弁明)

さらに子孫ノードのいずれかが観測されても 燃料タンクが空になる確率は変化する

子孫ノードが0

有向分離(D分離)リンクを遮断する時の法則今までの話をノード集合にまで拡張したもの

(グラフの形だけでわかる)

(a) 集合Cに含まれるノードであって経路に含まれる矢印がそこでhead-to-tailあるいはtail-to-tailである

(b) 経路に含まれる矢印がそのノードでhead-to-headであり自身あるいはそのすべての子孫のいずれもが集合Cに含まれない

CA B CA B

CA B

あらゆるA-C-Bの経路が遮断されていれば集合Aは集合Cにおいて集合Bと条件付き独立

有向分離(D分離)

図822

A AC C

B B

ノードaとノードbは集合C(ノードe f)で遮断できるかcが観測された場合 fが観測された場合

-gt 遮断されない -gt 遮断される

∵ fがtail-to-tailで観測されていない

eはhead-to-headだが子孫fがCに含まれる

∵ fがtail-to-tailで観測されている

eはhead-to-headでそれ自身あるいはその子孫が条件付き集合に

含まれない

有向分離(D分離)図85のモデルの有向分離性

パラメーターは観測済みノードと同じ amp 親ノードが無い

-gt 他のノードとのつながりは必ずtail-to-tailになる -gt 有向分離性に影響しない

124節のiidデータの有向分離性

図823

パラメーターuはtail-to-tail -gt uに値を入力したらあらゆる子ノード間で独立

-gt iid

uを積分消去した場合観測値は独立ではない

(835)

有向分離(D分離)図87のモデルの有向分離性

(836)

有向分離(D分離)ナイーブベイズの有向分離性

図824

例 bag-of-words

例 受信BOX迷惑メール

zが観測されるとあらゆるxノード間は独立

有向分離定理

1 有向分解(乗法定理を繰り返し適用して得た条件付き確率分布)

2 有向分離 (条件付き独立を繰り返し適用して得た条件付き確率分布)

以下の二つは同じ分布を得る

マルコフブランケット

xiが起きる確率をxi以外の全てのノードで条件付けた分布で考える

分母をxiで周辺化する

条件付き確率の積にする

xiに依存しないノードの条件付き確率は分子と打ち消し合う(次頁)

あるノードの条件付き独立性を考える時の最小単位

マルコフブランケット

図826

つまりxiの条件付き独立を考える時 1) 親子 2) 共同親 だけを考えれば良い

共同親A B

C

D E

F G

結局Cの条件付き確率P(C|AB)と Cの子ノードの条件付き確率P(D|CF)やP(E|CG)だけ残る

Cを含まない項は全部消える

無向グラフ(マルコフ確率場)無向グラフは条件付き独立を考えるのが簡単

図827集合Cを取り除いてA-B間の経路が無くなるなら条件付き独立

図828

無向グラフはマルコフブランケットも簡単

隣接ノードだけ考えれば良い

無向グラフ(マルコフ確率場)無向グラフの分解特性(これまで乗法定理を繰り返し適用していたもの)は以下のように定式化される

(838)

xi xj以外の全てのノードを取り除いた時の同時確率

よりと書くことも

各々の確率に分割できるならxijにおいてxixjは条件付き独立

クリーク

図829

無向グラフの分解特性は極大クリーク変数集合の関数にする事

クリーク x1 x2 x2 x3 x3 x4 x4 x2 極大クリーク x1 x2 x3 x2 x3 x4 x1 x2 x3 x4はクリークではない(x1 - x4間にリンクがない)

クリーク 全てのノードの組にリンクが存在するグラフの部分集合 極大クリーク もう一つを加えるとクリークでなくなってしまうようなクリーク

ポテンシャル関数極大クリークを引数としたポテンシャル関数

の積に分解するどんな関数にするかは言及しない

基本的に総和は1にならない -gt 規格化定数(分配関数)を導入

-gt 計算は大変

画像のノイズ除去の例

元のピクセル

ランダムに反転したピクセル

元画像10のピクセルをランダムに反転

ICMによる復元グラフカットアルゴリズムによる復元

(841)(842)

(843)

図831

有向-gt無向の変換図832のような簡単な場合

有向グラフ(a)無向グラフ(b)

以下のような対応づけができる

有向-gt無向の変換図833のような場合

親同士をリンクで結ぶ(モラル化)

1 向きを無くす 2 モラル化する 3 規格化する -gt ジャンクションツリーアルゴリズム(84)

生物の細胞

遺伝子間が相互作用のネットワークを形成している

geneX geneY

Protein X

Protein Y

様々な実験での遺伝子発現データ

とりうる可能性高い遺伝子ネットワークを探索(MAP推定)

データからこれを推定したい

実験

遺伝子

more

番外編 ベイジアンネットワークの学習

rarr 近似的に求めるアルゴリズムが開発される

httpwwwsclsrikenjpscruisesoftwaresign-bnhtml

番外編 ベイジアンネットワークの学習

こういうネットワーク構造は未知でデータから推定するアプローチはベイジアンネットワークのrdquo学習rdquoとかrdquo推論rdquoというらしい

(848で紹介だけしている)

SiGN-BN スパコン「京」で計算するソフトウェア自分の修論の内容

Rのbnlearnパッケージ(CBRCのBlue Gene上で実行)httpsignhgcjpsignbnindex_jahtml

番外編 ベイジアンネットワークの学習

番外編 ベイジアンネットワークの学習

どのグラフが良いか決める基準 尤度情報量基準(AIC BIC 尤度ampパラメーター数)

MAP推定(尤度times事前分布)hellip

データを元に最も最適と思われるグラフ構造を探索する

データ

グラフ

1 0 01 1 01 0 10 1 01 0 10 0 01 1 00 0 01 1 10 0 1

a b cb

a

c

b

a

c

b

a

c

データからグラフ構造を推定したい場合単純な式変形をしただけだと数学的に等しいので結局最適なグラフ構造を決定できないのでは(勉強会での議論)

=gt 実際にやってみた

番外編 ベイジアンネットワークの学習

httpwwwsclsrikenjpscruisewp-contentuploadssites3201312SIGN_HGC_Seminar_Tamada201302pdf

httpenwikipediaorgwikiDirected_acyclic_graph

ノード数の増加に対する取りうるDAG数

番外編 ベイジアンネットワークの学習

3ノードなら手計算でいけそう

乗法定理times2(n=6)

乗法定理times2 + 条件付き独立 (n=9)

乗法定理times1 + 独立(n=3)

全て独立(n=1)

乗法定理を使う (このままではグラフとして表現できない)

乗法定理times1 + 独立 + 条件付き独立(n=6)エッジ0個

エッジ1個

エッジ2個(head-to-tail tail-to-tail)

エッジ2個(head-to-head)

エッジ3個(全結合)

ノード3つで式変形を片っ端から行った

番外編 ベイジアンネットワークの学習

試しに以下のような簡単な01データを用いる またここでは単純に尤度のみでグラフの善し悪しを判定する

番外編 ベイジアンネットワークの学習

0 0 00 0 00 0 00 0 01 0 01 0 01 1 01 1 01 1 11 1 1

a b c

P(a) = 35 P(b) = 25 P(c) = 15 P(a b) = 25 P(b c) = 15 P(a c) = 15 P(a b c) = 15

P(a | b c) = 1 P(b | a c) = 1 P(c | a b) = 12 P(a | b) = 1 P(a | c) = 1 P(b | a) = 23 P(b | c) = 1 P(c | a) = 13 P(c | b) = 12

独立性について

番外編 ベイジアンネットワークの学習

0 0 00 0 00 0 00 0 01 0 01 0 01 1 01 1 01 1 11 1 1

a b c

P(a | b c) = P(a | b) P(a | b c) = P(a | c) P(b | a c) ne P(b | a) P(b | a c) = P(b | c) P(c | a b) ne P(c | a) P(c | a b) = P(c | b)

P(a b c) ne P(a) P(b) P(c) P(a b) ne P(a) P(b) P(b c) ne P(b) P(c) P(a c) ne P(a) P(c)

条件付き独立性について

データによって成り立ったり成り立たなかったりする

乗法定理times2(n=6)

乗法定理times2 + 条件付き独立 (n=9)

乗法定理times1 + 独立(n=3)

全て独立(n=1)

乗法定理times1 + 独立 + 条件付き独立(n=6)エッジ0個

エッジ1個

エッジ2個(head-to-tail tail-to-tail)

エッジ2個(head-to-head)

エッジ3個(全結合)

番外編 ベイジアンネットワークの学習

尤度を計算した

= 02= 02= 02= 02= 02= 02

= 0048

= 008= 012= 012

= 02= 02= 02= 02= 013

= 013= 02

= 02= 013

= 008= 008= 008= 012= 008= 012

乗法定理times2(n=6)エッジ3個(全結合)

番外編 ベイジアンネットワークの学習

= 02= 02= 02= 02= 02= 02

乗法定理で変形したものはグラフ構造は違うのにも関わらず尤度は等しい

b

a

cb

a

cb

a

cb

a

cb

a

cb

a

c

乗法定理times2 + 条件付き独立 (n=9)

乗法定理times1 + 独立(n=3)乗法定理times1 + 独立 + 条件付き独立(n=6)

エッジ0個

エッジ1個

エッジ2個(head-to-tail tail-to-tail)

エッジ2個(head-to-head)

番外編 ベイジアンネットワークの学習

= 008= 012= 012

= 02= 02= 02= 02= 013

= 013= 02

= 02= 013

= 008= 008= 008= 012= 008= 012

条件付き独立独立はデータによって成り立ったり成り立たなかったりする

「同じ尤度を持つDAGは複数存在する可能性がある」

21世紀の統計科学 第2巻 第6章 生命システムネットワークを明らかにするための統計的モデリング

Page 26: PRML8章

離散変数

(89)

1-of-K符号化で書かれた多項分布

例 さいころで3が出る確率

パラメーター数 K - 1∵規格化のための制約

パラメーター数 K2 - 1

離散変数1-of-K符号化で書かれた多項分布(二つの状態を取る場合)

∵規格化のための制約

例 さいころABで各々(3 4)が出る確率

以下略hellip(36個パラメーターがある)

とりうる状態が増えるとパラメーターが指数的に増大してしまうKM - 1状態数Mで 個

離散変数乗法定理を用いるとP(x1x2) = P(x2|x1) P(x1)

これは図89の(a)

図89

変数がM個だとパラメーター数は M(K - 1)

でMについて線形

パラメーター数 K2 - 1

パラメーター数 2(K - 1)

離散変数

リンクを除去するとパラメーターを減らせる

全結合 全てが独立

パラメーター数M(K - 1)

パラメーター数 KM - 1

パラメーター数 K - 1 + (M - 1) K (K - 1)

K状態の連鎖

図810

x1 x2 xM x1 x2 xM

離散変数

パラメータを共有する事(sharing tyling)でもパラメーターは減らせる

図811

図812

図810のモデルの事前分布としてディリクレ分布を導入したもの

更に1つのパラメーターuが全ての条件付き分布に共有される場合

パラメーター数K2 - 1

パラメーター数2

離散変数

条件付き分布としてパラメトリックモデルを用いる事でもパラメーターは減らせる

図813

M個の親ノードと一つの子ノード (共に二値変数とする) そのままだとパラメーター数 2M

(810)

親変数の線形結合を入力とするロジスティックシグモイド関数を利用

パラメーター数 M + 1

線形ガウスモデル

(811)

確率的主成分分析因子分析線形動的システムなどで利用されているらしい

平均

pai

分散 vi

xi 全てのノードの同時分布の対数は (85 一般系のベイジアンネットワークより)

(812)

(813)

j

biwixj

線形ガウスモデル平均 u 分散 σ2の正規分布

自然対数をとる(expが消える)

あとはuに

σ2に

を代入すれば813になる

vi

線形ガウスモデル813はxの成分に関する2次関数なのでp(x)はD次元正規分布()

(814)

この時期待値と分散は再帰的に求まる

(815)

(816)

線形ガウスモデルリンクが一つもないD個のノード 全結合グラフ

パラメーター数wij 0個 bi D個 vi D個

パラメーター数wij (D(D-1))2個 bi D個 vi D個

x1

b1 v1

x2

b2 v2

x3

b3 v3

x4

b4 v4x1

b1 v1

x2

b2 v2

x3

b3 v3

x4

b4 v4

線形ガウスモデル中間的なグラフ(例 図814)

パラメーター数wij D - 1個 bi D個 vi D個

x1

b1 v1

x2

b2 v2

x3

b3 v3

x4

b4 v4

線形ガウスモデル

ガウス分布の共役事前分布はガウス分布

ガウス変量の平均をガウス分布とする(事前分布) =gt ガウス分布の平均値は超パラメーター

=gt 超パラメーターがガウス分布だとするhellip(超事前分布)

=gt 階層ベイズモデル(何階層でもモデルを拡張複雑化できる)

条件付き独立性

(820)

bがあってもなくてもaの条件付き確率に影響を与えない

これをcが与えられた下でaはbに対して条件付き独立であるという

cに対してaとbが条件付き独立とは以下のように書く

(821)

(822)

条件付き独立性が示せるとリンクを減らせる

a

c

ba

c

b

可能性のある全ての条件付き独立性を調べればリンクは減らせる =gt 実際には計算量が膨大

=gt グラフの形だけで独立かどうか判断が可能(d-separationという枠組み)

条件付き独立性

以降はまず3つのノードの簡単なグラフで説明する

3つのグラフの例①

ab

c

tail-to-tail

cに対して周辺化

これはp(a) p(b)という形には変形できない (独立ではない)

cで条件付ける

p(a|c) p(b|c)という形に変形できた(条件付き独立block)

(823)

(824)tailtail

3つのグラフの例②

ab

c

head-to-tail

cに対して周辺化

これはp(a) p(b)という形には変形できない (独立ではない)

cで条件付ける

p(a|c) p(b|c)という形に変形できた(条件付き独立block)

(826)

3つのグラフの例③

ab

c

head-to-head

cに対して周辺化

これはp(a) p(b)という形に変形できた(独立)

(828)

確率の総和は1だから

3つのグラフの例③

ab

c

head-to-head

cで条件付ける

p(a|c) p(b|c)という形に変形できない(unblock)

(828)

3つのグラフの例(まとめ)

グラフの形 cで周辺化 cで条件付け

tail-to-tail 独立ではない 条件付き独立(block)

head-to-tail 独立ではない 条件付き独立(block)

head-to-head 独立 独立ではない(unblock)

head-to-headの更に特殊な性質(弁明)

図820

バッテリーの状態 0切れている

1充電されている

燃料タンクの状態 0空1満タン

電動燃料計 0空と示している

1満タンと示している

p(B=1) = 09 p(F=1) = 09

p(G=1 | B = 1 F = 1) = 08 p(G=1 | B = 1 F = 0) = 02 p(G=1 | B = 0 F = 1) = 02 p(G=1 | B = 0 F = 0) = 01

p(B=0) = 01 p(F=0) = 01

p(G=0 | B = 1 F = 1) = 02 p(G=0 | B = 1 F = 0) = 08 p(G=0 | B = 0 F = 1) = 08 p(G=0 | B = 0 F = 0) = 09

事前にこういった情報が与えられているとする

head-to-headの更に特殊な性質(弁明)

何も観測されていないとき燃料タンクが空である確率は

p(F=0) = 01

燃料計が空を指しているという事実を観測した時の燃料タンクが空である確率は(ベイズの定理より)

少し確率が高まっている

確率が低くなる

さらにバッテリーが切れている事実を観測した時の燃料タンクが空である確率は

図821

head-to-headの更に特殊な性質(弁明)

さらに子孫ノードのいずれかが観測されても 燃料タンクが空になる確率は変化する

子孫ノードが0

有向分離(D分離)リンクを遮断する時の法則今までの話をノード集合にまで拡張したもの

(グラフの形だけでわかる)

(a) 集合Cに含まれるノードであって経路に含まれる矢印がそこでhead-to-tailあるいはtail-to-tailである

(b) 経路に含まれる矢印がそのノードでhead-to-headであり自身あるいはそのすべての子孫のいずれもが集合Cに含まれない

CA B CA B

CA B

あらゆるA-C-Bの経路が遮断されていれば集合Aは集合Cにおいて集合Bと条件付き独立

有向分離(D分離)

図822

A AC C

B B

ノードaとノードbは集合C(ノードe f)で遮断できるかcが観測された場合 fが観測された場合

-gt 遮断されない -gt 遮断される

∵ fがtail-to-tailで観測されていない

eはhead-to-headだが子孫fがCに含まれる

∵ fがtail-to-tailで観測されている

eはhead-to-headでそれ自身あるいはその子孫が条件付き集合に

含まれない

有向分離(D分離)図85のモデルの有向分離性

パラメーターは観測済みノードと同じ amp 親ノードが無い

-gt 他のノードとのつながりは必ずtail-to-tailになる -gt 有向分離性に影響しない

124節のiidデータの有向分離性

図823

パラメーターuはtail-to-tail -gt uに値を入力したらあらゆる子ノード間で独立

-gt iid

uを積分消去した場合観測値は独立ではない

(835)

有向分離(D分離)図87のモデルの有向分離性

(836)

有向分離(D分離)ナイーブベイズの有向分離性

図824

例 bag-of-words

例 受信BOX迷惑メール

zが観測されるとあらゆるxノード間は独立

有向分離定理

1 有向分解(乗法定理を繰り返し適用して得た条件付き確率分布)

2 有向分離 (条件付き独立を繰り返し適用して得た条件付き確率分布)

以下の二つは同じ分布を得る

マルコフブランケット

xiが起きる確率をxi以外の全てのノードで条件付けた分布で考える

分母をxiで周辺化する

条件付き確率の積にする

xiに依存しないノードの条件付き確率は分子と打ち消し合う(次頁)

あるノードの条件付き独立性を考える時の最小単位

マルコフブランケット

図826

つまりxiの条件付き独立を考える時 1) 親子 2) 共同親 だけを考えれば良い

共同親A B

C

D E

F G

結局Cの条件付き確率P(C|AB)と Cの子ノードの条件付き確率P(D|CF)やP(E|CG)だけ残る

Cを含まない項は全部消える

無向グラフ(マルコフ確率場)無向グラフは条件付き独立を考えるのが簡単

図827集合Cを取り除いてA-B間の経路が無くなるなら条件付き独立

図828

無向グラフはマルコフブランケットも簡単

隣接ノードだけ考えれば良い

無向グラフ(マルコフ確率場)無向グラフの分解特性(これまで乗法定理を繰り返し適用していたもの)は以下のように定式化される

(838)

xi xj以外の全てのノードを取り除いた時の同時確率

よりと書くことも

各々の確率に分割できるならxijにおいてxixjは条件付き独立

クリーク

図829

無向グラフの分解特性は極大クリーク変数集合の関数にする事

クリーク x1 x2 x2 x3 x3 x4 x4 x2 極大クリーク x1 x2 x3 x2 x3 x4 x1 x2 x3 x4はクリークではない(x1 - x4間にリンクがない)

クリーク 全てのノードの組にリンクが存在するグラフの部分集合 極大クリーク もう一つを加えるとクリークでなくなってしまうようなクリーク

ポテンシャル関数極大クリークを引数としたポテンシャル関数

の積に分解するどんな関数にするかは言及しない

基本的に総和は1にならない -gt 規格化定数(分配関数)を導入

-gt 計算は大変

画像のノイズ除去の例

元のピクセル

ランダムに反転したピクセル

元画像10のピクセルをランダムに反転

ICMによる復元グラフカットアルゴリズムによる復元

(841)(842)

(843)

図831

有向-gt無向の変換図832のような簡単な場合

有向グラフ(a)無向グラフ(b)

以下のような対応づけができる

有向-gt無向の変換図833のような場合

親同士をリンクで結ぶ(モラル化)

1 向きを無くす 2 モラル化する 3 規格化する -gt ジャンクションツリーアルゴリズム(84)

生物の細胞

遺伝子間が相互作用のネットワークを形成している

geneX geneY

Protein X

Protein Y

様々な実験での遺伝子発現データ

とりうる可能性高い遺伝子ネットワークを探索(MAP推定)

データからこれを推定したい

実験

遺伝子

more

番外編 ベイジアンネットワークの学習

rarr 近似的に求めるアルゴリズムが開発される

httpwwwsclsrikenjpscruisesoftwaresign-bnhtml

番外編 ベイジアンネットワークの学習

こういうネットワーク構造は未知でデータから推定するアプローチはベイジアンネットワークのrdquo学習rdquoとかrdquo推論rdquoというらしい

(848で紹介だけしている)

SiGN-BN スパコン「京」で計算するソフトウェア自分の修論の内容

Rのbnlearnパッケージ(CBRCのBlue Gene上で実行)httpsignhgcjpsignbnindex_jahtml

番外編 ベイジアンネットワークの学習

番外編 ベイジアンネットワークの学習

どのグラフが良いか決める基準 尤度情報量基準(AIC BIC 尤度ampパラメーター数)

MAP推定(尤度times事前分布)hellip

データを元に最も最適と思われるグラフ構造を探索する

データ

グラフ

1 0 01 1 01 0 10 1 01 0 10 0 01 1 00 0 01 1 10 0 1

a b cb

a

c

b

a

c

b

a

c

データからグラフ構造を推定したい場合単純な式変形をしただけだと数学的に等しいので結局最適なグラフ構造を決定できないのでは(勉強会での議論)

=gt 実際にやってみた

番外編 ベイジアンネットワークの学習

httpwwwsclsrikenjpscruisewp-contentuploadssites3201312SIGN_HGC_Seminar_Tamada201302pdf

httpenwikipediaorgwikiDirected_acyclic_graph

ノード数の増加に対する取りうるDAG数

番外編 ベイジアンネットワークの学習

3ノードなら手計算でいけそう

乗法定理times2(n=6)

乗法定理times2 + 条件付き独立 (n=9)

乗法定理times1 + 独立(n=3)

全て独立(n=1)

乗法定理を使う (このままではグラフとして表現できない)

乗法定理times1 + 独立 + 条件付き独立(n=6)エッジ0個

エッジ1個

エッジ2個(head-to-tail tail-to-tail)

エッジ2個(head-to-head)

エッジ3個(全結合)

ノード3つで式変形を片っ端から行った

番外編 ベイジアンネットワークの学習

試しに以下のような簡単な01データを用いる またここでは単純に尤度のみでグラフの善し悪しを判定する

番外編 ベイジアンネットワークの学習

0 0 00 0 00 0 00 0 01 0 01 0 01 1 01 1 01 1 11 1 1

a b c

P(a) = 35 P(b) = 25 P(c) = 15 P(a b) = 25 P(b c) = 15 P(a c) = 15 P(a b c) = 15

P(a | b c) = 1 P(b | a c) = 1 P(c | a b) = 12 P(a | b) = 1 P(a | c) = 1 P(b | a) = 23 P(b | c) = 1 P(c | a) = 13 P(c | b) = 12

独立性について

番外編 ベイジアンネットワークの学習

0 0 00 0 00 0 00 0 01 0 01 0 01 1 01 1 01 1 11 1 1

a b c

P(a | b c) = P(a | b) P(a | b c) = P(a | c) P(b | a c) ne P(b | a) P(b | a c) = P(b | c) P(c | a b) ne P(c | a) P(c | a b) = P(c | b)

P(a b c) ne P(a) P(b) P(c) P(a b) ne P(a) P(b) P(b c) ne P(b) P(c) P(a c) ne P(a) P(c)

条件付き独立性について

データによって成り立ったり成り立たなかったりする

乗法定理times2(n=6)

乗法定理times2 + 条件付き独立 (n=9)

乗法定理times1 + 独立(n=3)

全て独立(n=1)

乗法定理times1 + 独立 + 条件付き独立(n=6)エッジ0個

エッジ1個

エッジ2個(head-to-tail tail-to-tail)

エッジ2個(head-to-head)

エッジ3個(全結合)

番外編 ベイジアンネットワークの学習

尤度を計算した

= 02= 02= 02= 02= 02= 02

= 0048

= 008= 012= 012

= 02= 02= 02= 02= 013

= 013= 02

= 02= 013

= 008= 008= 008= 012= 008= 012

乗法定理times2(n=6)エッジ3個(全結合)

番外編 ベイジアンネットワークの学習

= 02= 02= 02= 02= 02= 02

乗法定理で変形したものはグラフ構造は違うのにも関わらず尤度は等しい

b

a

cb

a

cb

a

cb

a

cb

a

cb

a

c

乗法定理times2 + 条件付き独立 (n=9)

乗法定理times1 + 独立(n=3)乗法定理times1 + 独立 + 条件付き独立(n=6)

エッジ0個

エッジ1個

エッジ2個(head-to-tail tail-to-tail)

エッジ2個(head-to-head)

番外編 ベイジアンネットワークの学習

= 008= 012= 012

= 02= 02= 02= 02= 013

= 013= 02

= 02= 013

= 008= 008= 008= 012= 008= 012

条件付き独立独立はデータによって成り立ったり成り立たなかったりする

「同じ尤度を持つDAGは複数存在する可能性がある」

21世紀の統計科学 第2巻 第6章 生命システムネットワークを明らかにするための統計的モデリング

Page 27: PRML8章

パラメーター数 K2 - 1

離散変数1-of-K符号化で書かれた多項分布(二つの状態を取る場合)

∵規格化のための制約

例 さいころABで各々(3 4)が出る確率

以下略hellip(36個パラメーターがある)

とりうる状態が増えるとパラメーターが指数的に増大してしまうKM - 1状態数Mで 個

離散変数乗法定理を用いるとP(x1x2) = P(x2|x1) P(x1)

これは図89の(a)

図89

変数がM個だとパラメーター数は M(K - 1)

でMについて線形

パラメーター数 K2 - 1

パラメーター数 2(K - 1)

離散変数

リンクを除去するとパラメーターを減らせる

全結合 全てが独立

パラメーター数M(K - 1)

パラメーター数 KM - 1

パラメーター数 K - 1 + (M - 1) K (K - 1)

K状態の連鎖

図810

x1 x2 xM x1 x2 xM

離散変数

パラメータを共有する事(sharing tyling)でもパラメーターは減らせる

図811

図812

図810のモデルの事前分布としてディリクレ分布を導入したもの

更に1つのパラメーターuが全ての条件付き分布に共有される場合

パラメーター数K2 - 1

パラメーター数2

離散変数

条件付き分布としてパラメトリックモデルを用いる事でもパラメーターは減らせる

図813

M個の親ノードと一つの子ノード (共に二値変数とする) そのままだとパラメーター数 2M

(810)

親変数の線形結合を入力とするロジスティックシグモイド関数を利用

パラメーター数 M + 1

線形ガウスモデル

(811)

確率的主成分分析因子分析線形動的システムなどで利用されているらしい

平均

pai

分散 vi

xi 全てのノードの同時分布の対数は (85 一般系のベイジアンネットワークより)

(812)

(813)

j

biwixj

線形ガウスモデル平均 u 分散 σ2の正規分布

自然対数をとる(expが消える)

あとはuに

σ2に

を代入すれば813になる

vi

線形ガウスモデル813はxの成分に関する2次関数なのでp(x)はD次元正規分布()

(814)

この時期待値と分散は再帰的に求まる

(815)

(816)

線形ガウスモデルリンクが一つもないD個のノード 全結合グラフ

パラメーター数wij 0個 bi D個 vi D個

パラメーター数wij (D(D-1))2個 bi D個 vi D個

x1

b1 v1

x2

b2 v2

x3

b3 v3

x4

b4 v4x1

b1 v1

x2

b2 v2

x3

b3 v3

x4

b4 v4

線形ガウスモデル中間的なグラフ(例 図814)

パラメーター数wij D - 1個 bi D個 vi D個

x1

b1 v1

x2

b2 v2

x3

b3 v3

x4

b4 v4

線形ガウスモデル

ガウス分布の共役事前分布はガウス分布

ガウス変量の平均をガウス分布とする(事前分布) =gt ガウス分布の平均値は超パラメーター

=gt 超パラメーターがガウス分布だとするhellip(超事前分布)

=gt 階層ベイズモデル(何階層でもモデルを拡張複雑化できる)

条件付き独立性

(820)

bがあってもなくてもaの条件付き確率に影響を与えない

これをcが与えられた下でaはbに対して条件付き独立であるという

cに対してaとbが条件付き独立とは以下のように書く

(821)

(822)

条件付き独立性が示せるとリンクを減らせる

a

c

ba

c

b

可能性のある全ての条件付き独立性を調べればリンクは減らせる =gt 実際には計算量が膨大

=gt グラフの形だけで独立かどうか判断が可能(d-separationという枠組み)

条件付き独立性

以降はまず3つのノードの簡単なグラフで説明する

3つのグラフの例①

ab

c

tail-to-tail

cに対して周辺化

これはp(a) p(b)という形には変形できない (独立ではない)

cで条件付ける

p(a|c) p(b|c)という形に変形できた(条件付き独立block)

(823)

(824)tailtail

3つのグラフの例②

ab

c

head-to-tail

cに対して周辺化

これはp(a) p(b)という形には変形できない (独立ではない)

cで条件付ける

p(a|c) p(b|c)という形に変形できた(条件付き独立block)

(826)

3つのグラフの例③

ab

c

head-to-head

cに対して周辺化

これはp(a) p(b)という形に変形できた(独立)

(828)

確率の総和は1だから

3つのグラフの例③

ab

c

head-to-head

cで条件付ける

p(a|c) p(b|c)という形に変形できない(unblock)

(828)

3つのグラフの例(まとめ)

グラフの形 cで周辺化 cで条件付け

tail-to-tail 独立ではない 条件付き独立(block)

head-to-tail 独立ではない 条件付き独立(block)

head-to-head 独立 独立ではない(unblock)

head-to-headの更に特殊な性質(弁明)

図820

バッテリーの状態 0切れている

1充電されている

燃料タンクの状態 0空1満タン

電動燃料計 0空と示している

1満タンと示している

p(B=1) = 09 p(F=1) = 09

p(G=1 | B = 1 F = 1) = 08 p(G=1 | B = 1 F = 0) = 02 p(G=1 | B = 0 F = 1) = 02 p(G=1 | B = 0 F = 0) = 01

p(B=0) = 01 p(F=0) = 01

p(G=0 | B = 1 F = 1) = 02 p(G=0 | B = 1 F = 0) = 08 p(G=0 | B = 0 F = 1) = 08 p(G=0 | B = 0 F = 0) = 09

事前にこういった情報が与えられているとする

head-to-headの更に特殊な性質(弁明)

何も観測されていないとき燃料タンクが空である確率は

p(F=0) = 01

燃料計が空を指しているという事実を観測した時の燃料タンクが空である確率は(ベイズの定理より)

少し確率が高まっている

確率が低くなる

さらにバッテリーが切れている事実を観測した時の燃料タンクが空である確率は

図821

head-to-headの更に特殊な性質(弁明)

さらに子孫ノードのいずれかが観測されても 燃料タンクが空になる確率は変化する

子孫ノードが0

有向分離(D分離)リンクを遮断する時の法則今までの話をノード集合にまで拡張したもの

(グラフの形だけでわかる)

(a) 集合Cに含まれるノードであって経路に含まれる矢印がそこでhead-to-tailあるいはtail-to-tailである

(b) 経路に含まれる矢印がそのノードでhead-to-headであり自身あるいはそのすべての子孫のいずれもが集合Cに含まれない

CA B CA B

CA B

あらゆるA-C-Bの経路が遮断されていれば集合Aは集合Cにおいて集合Bと条件付き独立

有向分離(D分離)

図822

A AC C

B B

ノードaとノードbは集合C(ノードe f)で遮断できるかcが観測された場合 fが観測された場合

-gt 遮断されない -gt 遮断される

∵ fがtail-to-tailで観測されていない

eはhead-to-headだが子孫fがCに含まれる

∵ fがtail-to-tailで観測されている

eはhead-to-headでそれ自身あるいはその子孫が条件付き集合に

含まれない

有向分離(D分離)図85のモデルの有向分離性

パラメーターは観測済みノードと同じ amp 親ノードが無い

-gt 他のノードとのつながりは必ずtail-to-tailになる -gt 有向分離性に影響しない

124節のiidデータの有向分離性

図823

パラメーターuはtail-to-tail -gt uに値を入力したらあらゆる子ノード間で独立

-gt iid

uを積分消去した場合観測値は独立ではない

(835)

有向分離(D分離)図87のモデルの有向分離性

(836)

有向分離(D分離)ナイーブベイズの有向分離性

図824

例 bag-of-words

例 受信BOX迷惑メール

zが観測されるとあらゆるxノード間は独立

有向分離定理

1 有向分解(乗法定理を繰り返し適用して得た条件付き確率分布)

2 有向分離 (条件付き独立を繰り返し適用して得た条件付き確率分布)

以下の二つは同じ分布を得る

マルコフブランケット

xiが起きる確率をxi以外の全てのノードで条件付けた分布で考える

分母をxiで周辺化する

条件付き確率の積にする

xiに依存しないノードの条件付き確率は分子と打ち消し合う(次頁)

あるノードの条件付き独立性を考える時の最小単位

マルコフブランケット

図826

つまりxiの条件付き独立を考える時 1) 親子 2) 共同親 だけを考えれば良い

共同親A B

C

D E

F G

結局Cの条件付き確率P(C|AB)と Cの子ノードの条件付き確率P(D|CF)やP(E|CG)だけ残る

Cを含まない項は全部消える

無向グラフ(マルコフ確率場)無向グラフは条件付き独立を考えるのが簡単

図827集合Cを取り除いてA-B間の経路が無くなるなら条件付き独立

図828

無向グラフはマルコフブランケットも簡単

隣接ノードだけ考えれば良い

無向グラフ(マルコフ確率場)無向グラフの分解特性(これまで乗法定理を繰り返し適用していたもの)は以下のように定式化される

(838)

xi xj以外の全てのノードを取り除いた時の同時確率

よりと書くことも

各々の確率に分割できるならxijにおいてxixjは条件付き独立

クリーク

図829

無向グラフの分解特性は極大クリーク変数集合の関数にする事

クリーク x1 x2 x2 x3 x3 x4 x4 x2 極大クリーク x1 x2 x3 x2 x3 x4 x1 x2 x3 x4はクリークではない(x1 - x4間にリンクがない)

クリーク 全てのノードの組にリンクが存在するグラフの部分集合 極大クリーク もう一つを加えるとクリークでなくなってしまうようなクリーク

ポテンシャル関数極大クリークを引数としたポテンシャル関数

の積に分解するどんな関数にするかは言及しない

基本的に総和は1にならない -gt 規格化定数(分配関数)を導入

-gt 計算は大変

画像のノイズ除去の例

元のピクセル

ランダムに反転したピクセル

元画像10のピクセルをランダムに反転

ICMによる復元グラフカットアルゴリズムによる復元

(841)(842)

(843)

図831

有向-gt無向の変換図832のような簡単な場合

有向グラフ(a)無向グラフ(b)

以下のような対応づけができる

有向-gt無向の変換図833のような場合

親同士をリンクで結ぶ(モラル化)

1 向きを無くす 2 モラル化する 3 規格化する -gt ジャンクションツリーアルゴリズム(84)

生物の細胞

遺伝子間が相互作用のネットワークを形成している

geneX geneY

Protein X

Protein Y

様々な実験での遺伝子発現データ

とりうる可能性高い遺伝子ネットワークを探索(MAP推定)

データからこれを推定したい

実験

遺伝子

more

番外編 ベイジアンネットワークの学習

rarr 近似的に求めるアルゴリズムが開発される

httpwwwsclsrikenjpscruisesoftwaresign-bnhtml

番外編 ベイジアンネットワークの学習

こういうネットワーク構造は未知でデータから推定するアプローチはベイジアンネットワークのrdquo学習rdquoとかrdquo推論rdquoというらしい

(848で紹介だけしている)

SiGN-BN スパコン「京」で計算するソフトウェア自分の修論の内容

Rのbnlearnパッケージ(CBRCのBlue Gene上で実行)httpsignhgcjpsignbnindex_jahtml

番外編 ベイジアンネットワークの学習

番外編 ベイジアンネットワークの学習

どのグラフが良いか決める基準 尤度情報量基準(AIC BIC 尤度ampパラメーター数)

MAP推定(尤度times事前分布)hellip

データを元に最も最適と思われるグラフ構造を探索する

データ

グラフ

1 0 01 1 01 0 10 1 01 0 10 0 01 1 00 0 01 1 10 0 1

a b cb

a

c

b

a

c

b

a

c

データからグラフ構造を推定したい場合単純な式変形をしただけだと数学的に等しいので結局最適なグラフ構造を決定できないのでは(勉強会での議論)

=gt 実際にやってみた

番外編 ベイジアンネットワークの学習

httpwwwsclsrikenjpscruisewp-contentuploadssites3201312SIGN_HGC_Seminar_Tamada201302pdf

httpenwikipediaorgwikiDirected_acyclic_graph

ノード数の増加に対する取りうるDAG数

番外編 ベイジアンネットワークの学習

3ノードなら手計算でいけそう

乗法定理times2(n=6)

乗法定理times2 + 条件付き独立 (n=9)

乗法定理times1 + 独立(n=3)

全て独立(n=1)

乗法定理を使う (このままではグラフとして表現できない)

乗法定理times1 + 独立 + 条件付き独立(n=6)エッジ0個

エッジ1個

エッジ2個(head-to-tail tail-to-tail)

エッジ2個(head-to-head)

エッジ3個(全結合)

ノード3つで式変形を片っ端から行った

番外編 ベイジアンネットワークの学習

試しに以下のような簡単な01データを用いる またここでは単純に尤度のみでグラフの善し悪しを判定する

番外編 ベイジアンネットワークの学習

0 0 00 0 00 0 00 0 01 0 01 0 01 1 01 1 01 1 11 1 1

a b c

P(a) = 35 P(b) = 25 P(c) = 15 P(a b) = 25 P(b c) = 15 P(a c) = 15 P(a b c) = 15

P(a | b c) = 1 P(b | a c) = 1 P(c | a b) = 12 P(a | b) = 1 P(a | c) = 1 P(b | a) = 23 P(b | c) = 1 P(c | a) = 13 P(c | b) = 12

独立性について

番外編 ベイジアンネットワークの学習

0 0 00 0 00 0 00 0 01 0 01 0 01 1 01 1 01 1 11 1 1

a b c

P(a | b c) = P(a | b) P(a | b c) = P(a | c) P(b | a c) ne P(b | a) P(b | a c) = P(b | c) P(c | a b) ne P(c | a) P(c | a b) = P(c | b)

P(a b c) ne P(a) P(b) P(c) P(a b) ne P(a) P(b) P(b c) ne P(b) P(c) P(a c) ne P(a) P(c)

条件付き独立性について

データによって成り立ったり成り立たなかったりする

乗法定理times2(n=6)

乗法定理times2 + 条件付き独立 (n=9)

乗法定理times1 + 独立(n=3)

全て独立(n=1)

乗法定理times1 + 独立 + 条件付き独立(n=6)エッジ0個

エッジ1個

エッジ2個(head-to-tail tail-to-tail)

エッジ2個(head-to-head)

エッジ3個(全結合)

番外編 ベイジアンネットワークの学習

尤度を計算した

= 02= 02= 02= 02= 02= 02

= 0048

= 008= 012= 012

= 02= 02= 02= 02= 013

= 013= 02

= 02= 013

= 008= 008= 008= 012= 008= 012

乗法定理times2(n=6)エッジ3個(全結合)

番外編 ベイジアンネットワークの学習

= 02= 02= 02= 02= 02= 02

乗法定理で変形したものはグラフ構造は違うのにも関わらず尤度は等しい

b

a

cb

a

cb

a

cb

a

cb

a

cb

a

c

乗法定理times2 + 条件付き独立 (n=9)

乗法定理times1 + 独立(n=3)乗法定理times1 + 独立 + 条件付き独立(n=6)

エッジ0個

エッジ1個

エッジ2個(head-to-tail tail-to-tail)

エッジ2個(head-to-head)

番外編 ベイジアンネットワークの学習

= 008= 012= 012

= 02= 02= 02= 02= 013

= 013= 02

= 02= 013

= 008= 008= 008= 012= 008= 012

条件付き独立独立はデータによって成り立ったり成り立たなかったりする

「同じ尤度を持つDAGは複数存在する可能性がある」

21世紀の統計科学 第2巻 第6章 生命システムネットワークを明らかにするための統計的モデリング

Page 28: PRML8章

離散変数乗法定理を用いるとP(x1x2) = P(x2|x1) P(x1)

これは図89の(a)

図89

変数がM個だとパラメーター数は M(K - 1)

でMについて線形

パラメーター数 K2 - 1

パラメーター数 2(K - 1)

離散変数

リンクを除去するとパラメーターを減らせる

全結合 全てが独立

パラメーター数M(K - 1)

パラメーター数 KM - 1

パラメーター数 K - 1 + (M - 1) K (K - 1)

K状態の連鎖

図810

x1 x2 xM x1 x2 xM

離散変数

パラメータを共有する事(sharing tyling)でもパラメーターは減らせる

図811

図812

図810のモデルの事前分布としてディリクレ分布を導入したもの

更に1つのパラメーターuが全ての条件付き分布に共有される場合

パラメーター数K2 - 1

パラメーター数2

離散変数

条件付き分布としてパラメトリックモデルを用いる事でもパラメーターは減らせる

図813

M個の親ノードと一つの子ノード (共に二値変数とする) そのままだとパラメーター数 2M

(810)

親変数の線形結合を入力とするロジスティックシグモイド関数を利用

パラメーター数 M + 1

線形ガウスモデル

(811)

確率的主成分分析因子分析線形動的システムなどで利用されているらしい

平均

pai

分散 vi

xi 全てのノードの同時分布の対数は (85 一般系のベイジアンネットワークより)

(812)

(813)

j

biwixj

線形ガウスモデル平均 u 分散 σ2の正規分布

自然対数をとる(expが消える)

あとはuに

σ2に

を代入すれば813になる

vi

線形ガウスモデル813はxの成分に関する2次関数なのでp(x)はD次元正規分布()

(814)

この時期待値と分散は再帰的に求まる

(815)

(816)

線形ガウスモデルリンクが一つもないD個のノード 全結合グラフ

パラメーター数wij 0個 bi D個 vi D個

パラメーター数wij (D(D-1))2個 bi D個 vi D個

x1

b1 v1

x2

b2 v2

x3

b3 v3

x4

b4 v4x1

b1 v1

x2

b2 v2

x3

b3 v3

x4

b4 v4

線形ガウスモデル中間的なグラフ(例 図814)

パラメーター数wij D - 1個 bi D個 vi D個

x1

b1 v1

x2

b2 v2

x3

b3 v3

x4

b4 v4

線形ガウスモデル

ガウス分布の共役事前分布はガウス分布

ガウス変量の平均をガウス分布とする(事前分布) =gt ガウス分布の平均値は超パラメーター

=gt 超パラメーターがガウス分布だとするhellip(超事前分布)

=gt 階層ベイズモデル(何階層でもモデルを拡張複雑化できる)

条件付き独立性

(820)

bがあってもなくてもaの条件付き確率に影響を与えない

これをcが与えられた下でaはbに対して条件付き独立であるという

cに対してaとbが条件付き独立とは以下のように書く

(821)

(822)

条件付き独立性が示せるとリンクを減らせる

a

c

ba

c

b

可能性のある全ての条件付き独立性を調べればリンクは減らせる =gt 実際には計算量が膨大

=gt グラフの形だけで独立かどうか判断が可能(d-separationという枠組み)

条件付き独立性

以降はまず3つのノードの簡単なグラフで説明する

3つのグラフの例①

ab

c

tail-to-tail

cに対して周辺化

これはp(a) p(b)という形には変形できない (独立ではない)

cで条件付ける

p(a|c) p(b|c)という形に変形できた(条件付き独立block)

(823)

(824)tailtail

3つのグラフの例②

ab

c

head-to-tail

cに対して周辺化

これはp(a) p(b)という形には変形できない (独立ではない)

cで条件付ける

p(a|c) p(b|c)という形に変形できた(条件付き独立block)

(826)

3つのグラフの例③

ab

c

head-to-head

cに対して周辺化

これはp(a) p(b)という形に変形できた(独立)

(828)

確率の総和は1だから

3つのグラフの例③

ab

c

head-to-head

cで条件付ける

p(a|c) p(b|c)という形に変形できない(unblock)

(828)

3つのグラフの例(まとめ)

グラフの形 cで周辺化 cで条件付け

tail-to-tail 独立ではない 条件付き独立(block)

head-to-tail 独立ではない 条件付き独立(block)

head-to-head 独立 独立ではない(unblock)

head-to-headの更に特殊な性質(弁明)

図820

バッテリーの状態 0切れている

1充電されている

燃料タンクの状態 0空1満タン

電動燃料計 0空と示している

1満タンと示している

p(B=1) = 09 p(F=1) = 09

p(G=1 | B = 1 F = 1) = 08 p(G=1 | B = 1 F = 0) = 02 p(G=1 | B = 0 F = 1) = 02 p(G=1 | B = 0 F = 0) = 01

p(B=0) = 01 p(F=0) = 01

p(G=0 | B = 1 F = 1) = 02 p(G=0 | B = 1 F = 0) = 08 p(G=0 | B = 0 F = 1) = 08 p(G=0 | B = 0 F = 0) = 09

事前にこういった情報が与えられているとする

head-to-headの更に特殊な性質(弁明)

何も観測されていないとき燃料タンクが空である確率は

p(F=0) = 01

燃料計が空を指しているという事実を観測した時の燃料タンクが空である確率は(ベイズの定理より)

少し確率が高まっている

確率が低くなる

さらにバッテリーが切れている事実を観測した時の燃料タンクが空である確率は

図821

head-to-headの更に特殊な性質(弁明)

さらに子孫ノードのいずれかが観測されても 燃料タンクが空になる確率は変化する

子孫ノードが0

有向分離(D分離)リンクを遮断する時の法則今までの話をノード集合にまで拡張したもの

(グラフの形だけでわかる)

(a) 集合Cに含まれるノードであって経路に含まれる矢印がそこでhead-to-tailあるいはtail-to-tailである

(b) 経路に含まれる矢印がそのノードでhead-to-headであり自身あるいはそのすべての子孫のいずれもが集合Cに含まれない

CA B CA B

CA B

あらゆるA-C-Bの経路が遮断されていれば集合Aは集合Cにおいて集合Bと条件付き独立

有向分離(D分離)

図822

A AC C

B B

ノードaとノードbは集合C(ノードe f)で遮断できるかcが観測された場合 fが観測された場合

-gt 遮断されない -gt 遮断される

∵ fがtail-to-tailで観測されていない

eはhead-to-headだが子孫fがCに含まれる

∵ fがtail-to-tailで観測されている

eはhead-to-headでそれ自身あるいはその子孫が条件付き集合に

含まれない

有向分離(D分離)図85のモデルの有向分離性

パラメーターは観測済みノードと同じ amp 親ノードが無い

-gt 他のノードとのつながりは必ずtail-to-tailになる -gt 有向分離性に影響しない

124節のiidデータの有向分離性

図823

パラメーターuはtail-to-tail -gt uに値を入力したらあらゆる子ノード間で独立

-gt iid

uを積分消去した場合観測値は独立ではない

(835)

有向分離(D分離)図87のモデルの有向分離性

(836)

有向分離(D分離)ナイーブベイズの有向分離性

図824

例 bag-of-words

例 受信BOX迷惑メール

zが観測されるとあらゆるxノード間は独立

有向分離定理

1 有向分解(乗法定理を繰り返し適用して得た条件付き確率分布)

2 有向分離 (条件付き独立を繰り返し適用して得た条件付き確率分布)

以下の二つは同じ分布を得る

マルコフブランケット

xiが起きる確率をxi以外の全てのノードで条件付けた分布で考える

分母をxiで周辺化する

条件付き確率の積にする

xiに依存しないノードの条件付き確率は分子と打ち消し合う(次頁)

あるノードの条件付き独立性を考える時の最小単位

マルコフブランケット

図826

つまりxiの条件付き独立を考える時 1) 親子 2) 共同親 だけを考えれば良い

共同親A B

C

D E

F G

結局Cの条件付き確率P(C|AB)と Cの子ノードの条件付き確率P(D|CF)やP(E|CG)だけ残る

Cを含まない項は全部消える

無向グラフ(マルコフ確率場)無向グラフは条件付き独立を考えるのが簡単

図827集合Cを取り除いてA-B間の経路が無くなるなら条件付き独立

図828

無向グラフはマルコフブランケットも簡単

隣接ノードだけ考えれば良い

無向グラフ(マルコフ確率場)無向グラフの分解特性(これまで乗法定理を繰り返し適用していたもの)は以下のように定式化される

(838)

xi xj以外の全てのノードを取り除いた時の同時確率

よりと書くことも

各々の確率に分割できるならxijにおいてxixjは条件付き独立

クリーク

図829

無向グラフの分解特性は極大クリーク変数集合の関数にする事

クリーク x1 x2 x2 x3 x3 x4 x4 x2 極大クリーク x1 x2 x3 x2 x3 x4 x1 x2 x3 x4はクリークではない(x1 - x4間にリンクがない)

クリーク 全てのノードの組にリンクが存在するグラフの部分集合 極大クリーク もう一つを加えるとクリークでなくなってしまうようなクリーク

ポテンシャル関数極大クリークを引数としたポテンシャル関数

の積に分解するどんな関数にするかは言及しない

基本的に総和は1にならない -gt 規格化定数(分配関数)を導入

-gt 計算は大変

画像のノイズ除去の例

元のピクセル

ランダムに反転したピクセル

元画像10のピクセルをランダムに反転

ICMによる復元グラフカットアルゴリズムによる復元

(841)(842)

(843)

図831

有向-gt無向の変換図832のような簡単な場合

有向グラフ(a)無向グラフ(b)

以下のような対応づけができる

有向-gt無向の変換図833のような場合

親同士をリンクで結ぶ(モラル化)

1 向きを無くす 2 モラル化する 3 規格化する -gt ジャンクションツリーアルゴリズム(84)

生物の細胞

遺伝子間が相互作用のネットワークを形成している

geneX geneY

Protein X

Protein Y

様々な実験での遺伝子発現データ

とりうる可能性高い遺伝子ネットワークを探索(MAP推定)

データからこれを推定したい

実験

遺伝子

more

番外編 ベイジアンネットワークの学習

rarr 近似的に求めるアルゴリズムが開発される

httpwwwsclsrikenjpscruisesoftwaresign-bnhtml

番外編 ベイジアンネットワークの学習

こういうネットワーク構造は未知でデータから推定するアプローチはベイジアンネットワークのrdquo学習rdquoとかrdquo推論rdquoというらしい

(848で紹介だけしている)

SiGN-BN スパコン「京」で計算するソフトウェア自分の修論の内容

Rのbnlearnパッケージ(CBRCのBlue Gene上で実行)httpsignhgcjpsignbnindex_jahtml

番外編 ベイジアンネットワークの学習

番外編 ベイジアンネットワークの学習

どのグラフが良いか決める基準 尤度情報量基準(AIC BIC 尤度ampパラメーター数)

MAP推定(尤度times事前分布)hellip

データを元に最も最適と思われるグラフ構造を探索する

データ

グラフ

1 0 01 1 01 0 10 1 01 0 10 0 01 1 00 0 01 1 10 0 1

a b cb

a

c

b

a

c

b

a

c

データからグラフ構造を推定したい場合単純な式変形をしただけだと数学的に等しいので結局最適なグラフ構造を決定できないのでは(勉強会での議論)

=gt 実際にやってみた

番外編 ベイジアンネットワークの学習

httpwwwsclsrikenjpscruisewp-contentuploadssites3201312SIGN_HGC_Seminar_Tamada201302pdf

httpenwikipediaorgwikiDirected_acyclic_graph

ノード数の増加に対する取りうるDAG数

番外編 ベイジアンネットワークの学習

3ノードなら手計算でいけそう

乗法定理times2(n=6)

乗法定理times2 + 条件付き独立 (n=9)

乗法定理times1 + 独立(n=3)

全て独立(n=1)

乗法定理を使う (このままではグラフとして表現できない)

乗法定理times1 + 独立 + 条件付き独立(n=6)エッジ0個

エッジ1個

エッジ2個(head-to-tail tail-to-tail)

エッジ2個(head-to-head)

エッジ3個(全結合)

ノード3つで式変形を片っ端から行った

番外編 ベイジアンネットワークの学習

試しに以下のような簡単な01データを用いる またここでは単純に尤度のみでグラフの善し悪しを判定する

番外編 ベイジアンネットワークの学習

0 0 00 0 00 0 00 0 01 0 01 0 01 1 01 1 01 1 11 1 1

a b c

P(a) = 35 P(b) = 25 P(c) = 15 P(a b) = 25 P(b c) = 15 P(a c) = 15 P(a b c) = 15

P(a | b c) = 1 P(b | a c) = 1 P(c | a b) = 12 P(a | b) = 1 P(a | c) = 1 P(b | a) = 23 P(b | c) = 1 P(c | a) = 13 P(c | b) = 12

独立性について

番外編 ベイジアンネットワークの学習

0 0 00 0 00 0 00 0 01 0 01 0 01 1 01 1 01 1 11 1 1

a b c

P(a | b c) = P(a | b) P(a | b c) = P(a | c) P(b | a c) ne P(b | a) P(b | a c) = P(b | c) P(c | a b) ne P(c | a) P(c | a b) = P(c | b)

P(a b c) ne P(a) P(b) P(c) P(a b) ne P(a) P(b) P(b c) ne P(b) P(c) P(a c) ne P(a) P(c)

条件付き独立性について

データによって成り立ったり成り立たなかったりする

乗法定理times2(n=6)

乗法定理times2 + 条件付き独立 (n=9)

乗法定理times1 + 独立(n=3)

全て独立(n=1)

乗法定理times1 + 独立 + 条件付き独立(n=6)エッジ0個

エッジ1個

エッジ2個(head-to-tail tail-to-tail)

エッジ2個(head-to-head)

エッジ3個(全結合)

番外編 ベイジアンネットワークの学習

尤度を計算した

= 02= 02= 02= 02= 02= 02

= 0048

= 008= 012= 012

= 02= 02= 02= 02= 013

= 013= 02

= 02= 013

= 008= 008= 008= 012= 008= 012

乗法定理times2(n=6)エッジ3個(全結合)

番外編 ベイジアンネットワークの学習

= 02= 02= 02= 02= 02= 02

乗法定理で変形したものはグラフ構造は違うのにも関わらず尤度は等しい

b

a

cb

a

cb

a

cb

a

cb

a

cb

a

c

乗法定理times2 + 条件付き独立 (n=9)

乗法定理times1 + 独立(n=3)乗法定理times1 + 独立 + 条件付き独立(n=6)

エッジ0個

エッジ1個

エッジ2個(head-to-tail tail-to-tail)

エッジ2個(head-to-head)

番外編 ベイジアンネットワークの学習

= 008= 012= 012

= 02= 02= 02= 02= 013

= 013= 02

= 02= 013

= 008= 008= 008= 012= 008= 012

条件付き独立独立はデータによって成り立ったり成り立たなかったりする

「同じ尤度を持つDAGは複数存在する可能性がある」

21世紀の統計科学 第2巻 第6章 生命システムネットワークを明らかにするための統計的モデリング

Page 29: PRML8章

離散変数

リンクを除去するとパラメーターを減らせる

全結合 全てが独立

パラメーター数M(K - 1)

パラメーター数 KM - 1

パラメーター数 K - 1 + (M - 1) K (K - 1)

K状態の連鎖

図810

x1 x2 xM x1 x2 xM

離散変数

パラメータを共有する事(sharing tyling)でもパラメーターは減らせる

図811

図812

図810のモデルの事前分布としてディリクレ分布を導入したもの

更に1つのパラメーターuが全ての条件付き分布に共有される場合

パラメーター数K2 - 1

パラメーター数2

離散変数

条件付き分布としてパラメトリックモデルを用いる事でもパラメーターは減らせる

図813

M個の親ノードと一つの子ノード (共に二値変数とする) そのままだとパラメーター数 2M

(810)

親変数の線形結合を入力とするロジスティックシグモイド関数を利用

パラメーター数 M + 1

線形ガウスモデル

(811)

確率的主成分分析因子分析線形動的システムなどで利用されているらしい

平均

pai

分散 vi

xi 全てのノードの同時分布の対数は (85 一般系のベイジアンネットワークより)

(812)

(813)

j

biwixj

線形ガウスモデル平均 u 分散 σ2の正規分布

自然対数をとる(expが消える)

あとはuに

σ2に

を代入すれば813になる

vi

線形ガウスモデル813はxの成分に関する2次関数なのでp(x)はD次元正規分布()

(814)

この時期待値と分散は再帰的に求まる

(815)

(816)

線形ガウスモデルリンクが一つもないD個のノード 全結合グラフ

パラメーター数wij 0個 bi D個 vi D個

パラメーター数wij (D(D-1))2個 bi D個 vi D個

x1

b1 v1

x2

b2 v2

x3

b3 v3

x4

b4 v4x1

b1 v1

x2

b2 v2

x3

b3 v3

x4

b4 v4

線形ガウスモデル中間的なグラフ(例 図814)

パラメーター数wij D - 1個 bi D個 vi D個

x1

b1 v1

x2

b2 v2

x3

b3 v3

x4

b4 v4

線形ガウスモデル

ガウス分布の共役事前分布はガウス分布

ガウス変量の平均をガウス分布とする(事前分布) =gt ガウス分布の平均値は超パラメーター

=gt 超パラメーターがガウス分布だとするhellip(超事前分布)

=gt 階層ベイズモデル(何階層でもモデルを拡張複雑化できる)

条件付き独立性

(820)

bがあってもなくてもaの条件付き確率に影響を与えない

これをcが与えられた下でaはbに対して条件付き独立であるという

cに対してaとbが条件付き独立とは以下のように書く

(821)

(822)

条件付き独立性が示せるとリンクを減らせる

a

c

ba

c

b

可能性のある全ての条件付き独立性を調べればリンクは減らせる =gt 実際には計算量が膨大

=gt グラフの形だけで独立かどうか判断が可能(d-separationという枠組み)

条件付き独立性

以降はまず3つのノードの簡単なグラフで説明する

3つのグラフの例①

ab

c

tail-to-tail

cに対して周辺化

これはp(a) p(b)という形には変形できない (独立ではない)

cで条件付ける

p(a|c) p(b|c)という形に変形できた(条件付き独立block)

(823)

(824)tailtail

3つのグラフの例②

ab

c

head-to-tail

cに対して周辺化

これはp(a) p(b)という形には変形できない (独立ではない)

cで条件付ける

p(a|c) p(b|c)という形に変形できた(条件付き独立block)

(826)

3つのグラフの例③

ab

c

head-to-head

cに対して周辺化

これはp(a) p(b)という形に変形できた(独立)

(828)

確率の総和は1だから

3つのグラフの例③

ab

c

head-to-head

cで条件付ける

p(a|c) p(b|c)という形に変形できない(unblock)

(828)

3つのグラフの例(まとめ)

グラフの形 cで周辺化 cで条件付け

tail-to-tail 独立ではない 条件付き独立(block)

head-to-tail 独立ではない 条件付き独立(block)

head-to-head 独立 独立ではない(unblock)

head-to-headの更に特殊な性質(弁明)

図820

バッテリーの状態 0切れている

1充電されている

燃料タンクの状態 0空1満タン

電動燃料計 0空と示している

1満タンと示している

p(B=1) = 09 p(F=1) = 09

p(G=1 | B = 1 F = 1) = 08 p(G=1 | B = 1 F = 0) = 02 p(G=1 | B = 0 F = 1) = 02 p(G=1 | B = 0 F = 0) = 01

p(B=0) = 01 p(F=0) = 01

p(G=0 | B = 1 F = 1) = 02 p(G=0 | B = 1 F = 0) = 08 p(G=0 | B = 0 F = 1) = 08 p(G=0 | B = 0 F = 0) = 09

事前にこういった情報が与えられているとする

head-to-headの更に特殊な性質(弁明)

何も観測されていないとき燃料タンクが空である確率は

p(F=0) = 01

燃料計が空を指しているという事実を観測した時の燃料タンクが空である確率は(ベイズの定理より)

少し確率が高まっている

確率が低くなる

さらにバッテリーが切れている事実を観測した時の燃料タンクが空である確率は

図821

head-to-headの更に特殊な性質(弁明)

さらに子孫ノードのいずれかが観測されても 燃料タンクが空になる確率は変化する

子孫ノードが0

有向分離(D分離)リンクを遮断する時の法則今までの話をノード集合にまで拡張したもの

(グラフの形だけでわかる)

(a) 集合Cに含まれるノードであって経路に含まれる矢印がそこでhead-to-tailあるいはtail-to-tailである

(b) 経路に含まれる矢印がそのノードでhead-to-headであり自身あるいはそのすべての子孫のいずれもが集合Cに含まれない

CA B CA B

CA B

あらゆるA-C-Bの経路が遮断されていれば集合Aは集合Cにおいて集合Bと条件付き独立

有向分離(D分離)

図822

A AC C

B B

ノードaとノードbは集合C(ノードe f)で遮断できるかcが観測された場合 fが観測された場合

-gt 遮断されない -gt 遮断される

∵ fがtail-to-tailで観測されていない

eはhead-to-headだが子孫fがCに含まれる

∵ fがtail-to-tailで観測されている

eはhead-to-headでそれ自身あるいはその子孫が条件付き集合に

含まれない

有向分離(D分離)図85のモデルの有向分離性

パラメーターは観測済みノードと同じ amp 親ノードが無い

-gt 他のノードとのつながりは必ずtail-to-tailになる -gt 有向分離性に影響しない

124節のiidデータの有向分離性

図823

パラメーターuはtail-to-tail -gt uに値を入力したらあらゆる子ノード間で独立

-gt iid

uを積分消去した場合観測値は独立ではない

(835)

有向分離(D分離)図87のモデルの有向分離性

(836)

有向分離(D分離)ナイーブベイズの有向分離性

図824

例 bag-of-words

例 受信BOX迷惑メール

zが観測されるとあらゆるxノード間は独立

有向分離定理

1 有向分解(乗法定理を繰り返し適用して得た条件付き確率分布)

2 有向分離 (条件付き独立を繰り返し適用して得た条件付き確率分布)

以下の二つは同じ分布を得る

マルコフブランケット

xiが起きる確率をxi以外の全てのノードで条件付けた分布で考える

分母をxiで周辺化する

条件付き確率の積にする

xiに依存しないノードの条件付き確率は分子と打ち消し合う(次頁)

あるノードの条件付き独立性を考える時の最小単位

マルコフブランケット

図826

つまりxiの条件付き独立を考える時 1) 親子 2) 共同親 だけを考えれば良い

共同親A B

C

D E

F G

結局Cの条件付き確率P(C|AB)と Cの子ノードの条件付き確率P(D|CF)やP(E|CG)だけ残る

Cを含まない項は全部消える

無向グラフ(マルコフ確率場)無向グラフは条件付き独立を考えるのが簡単

図827集合Cを取り除いてA-B間の経路が無くなるなら条件付き独立

図828

無向グラフはマルコフブランケットも簡単

隣接ノードだけ考えれば良い

無向グラフ(マルコフ確率場)無向グラフの分解特性(これまで乗法定理を繰り返し適用していたもの)は以下のように定式化される

(838)

xi xj以外の全てのノードを取り除いた時の同時確率

よりと書くことも

各々の確率に分割できるならxijにおいてxixjは条件付き独立

クリーク

図829

無向グラフの分解特性は極大クリーク変数集合の関数にする事

クリーク x1 x2 x2 x3 x3 x4 x4 x2 極大クリーク x1 x2 x3 x2 x3 x4 x1 x2 x3 x4はクリークではない(x1 - x4間にリンクがない)

クリーク 全てのノードの組にリンクが存在するグラフの部分集合 極大クリーク もう一つを加えるとクリークでなくなってしまうようなクリーク

ポテンシャル関数極大クリークを引数としたポテンシャル関数

の積に分解するどんな関数にするかは言及しない

基本的に総和は1にならない -gt 規格化定数(分配関数)を導入

-gt 計算は大変

画像のノイズ除去の例

元のピクセル

ランダムに反転したピクセル

元画像10のピクセルをランダムに反転

ICMによる復元グラフカットアルゴリズムによる復元

(841)(842)

(843)

図831

有向-gt無向の変換図832のような簡単な場合

有向グラフ(a)無向グラフ(b)

以下のような対応づけができる

有向-gt無向の変換図833のような場合

親同士をリンクで結ぶ(モラル化)

1 向きを無くす 2 モラル化する 3 規格化する -gt ジャンクションツリーアルゴリズム(84)

生物の細胞

遺伝子間が相互作用のネットワークを形成している

geneX geneY

Protein X

Protein Y

様々な実験での遺伝子発現データ

とりうる可能性高い遺伝子ネットワークを探索(MAP推定)

データからこれを推定したい

実験

遺伝子

more

番外編 ベイジアンネットワークの学習

rarr 近似的に求めるアルゴリズムが開発される

httpwwwsclsrikenjpscruisesoftwaresign-bnhtml

番外編 ベイジアンネットワークの学習

こういうネットワーク構造は未知でデータから推定するアプローチはベイジアンネットワークのrdquo学習rdquoとかrdquo推論rdquoというらしい

(848で紹介だけしている)

SiGN-BN スパコン「京」で計算するソフトウェア自分の修論の内容

Rのbnlearnパッケージ(CBRCのBlue Gene上で実行)httpsignhgcjpsignbnindex_jahtml

番外編 ベイジアンネットワークの学習

番外編 ベイジアンネットワークの学習

どのグラフが良いか決める基準 尤度情報量基準(AIC BIC 尤度ampパラメーター数)

MAP推定(尤度times事前分布)hellip

データを元に最も最適と思われるグラフ構造を探索する

データ

グラフ

1 0 01 1 01 0 10 1 01 0 10 0 01 1 00 0 01 1 10 0 1

a b cb

a

c

b

a

c

b

a

c

データからグラフ構造を推定したい場合単純な式変形をしただけだと数学的に等しいので結局最適なグラフ構造を決定できないのでは(勉強会での議論)

=gt 実際にやってみた

番外編 ベイジアンネットワークの学習

httpwwwsclsrikenjpscruisewp-contentuploadssites3201312SIGN_HGC_Seminar_Tamada201302pdf

httpenwikipediaorgwikiDirected_acyclic_graph

ノード数の増加に対する取りうるDAG数

番外編 ベイジアンネットワークの学習

3ノードなら手計算でいけそう

乗法定理times2(n=6)

乗法定理times2 + 条件付き独立 (n=9)

乗法定理times1 + 独立(n=3)

全て独立(n=1)

乗法定理を使う (このままではグラフとして表現できない)

乗法定理times1 + 独立 + 条件付き独立(n=6)エッジ0個

エッジ1個

エッジ2個(head-to-tail tail-to-tail)

エッジ2個(head-to-head)

エッジ3個(全結合)

ノード3つで式変形を片っ端から行った

番外編 ベイジアンネットワークの学習

試しに以下のような簡単な01データを用いる またここでは単純に尤度のみでグラフの善し悪しを判定する

番外編 ベイジアンネットワークの学習

0 0 00 0 00 0 00 0 01 0 01 0 01 1 01 1 01 1 11 1 1

a b c

P(a) = 35 P(b) = 25 P(c) = 15 P(a b) = 25 P(b c) = 15 P(a c) = 15 P(a b c) = 15

P(a | b c) = 1 P(b | a c) = 1 P(c | a b) = 12 P(a | b) = 1 P(a | c) = 1 P(b | a) = 23 P(b | c) = 1 P(c | a) = 13 P(c | b) = 12

独立性について

番外編 ベイジアンネットワークの学習

0 0 00 0 00 0 00 0 01 0 01 0 01 1 01 1 01 1 11 1 1

a b c

P(a | b c) = P(a | b) P(a | b c) = P(a | c) P(b | a c) ne P(b | a) P(b | a c) = P(b | c) P(c | a b) ne P(c | a) P(c | a b) = P(c | b)

P(a b c) ne P(a) P(b) P(c) P(a b) ne P(a) P(b) P(b c) ne P(b) P(c) P(a c) ne P(a) P(c)

条件付き独立性について

データによって成り立ったり成り立たなかったりする

乗法定理times2(n=6)

乗法定理times2 + 条件付き独立 (n=9)

乗法定理times1 + 独立(n=3)

全て独立(n=1)

乗法定理times1 + 独立 + 条件付き独立(n=6)エッジ0個

エッジ1個

エッジ2個(head-to-tail tail-to-tail)

エッジ2個(head-to-head)

エッジ3個(全結合)

番外編 ベイジアンネットワークの学習

尤度を計算した

= 02= 02= 02= 02= 02= 02

= 0048

= 008= 012= 012

= 02= 02= 02= 02= 013

= 013= 02

= 02= 013

= 008= 008= 008= 012= 008= 012

乗法定理times2(n=6)エッジ3個(全結合)

番外編 ベイジアンネットワークの学習

= 02= 02= 02= 02= 02= 02

乗法定理で変形したものはグラフ構造は違うのにも関わらず尤度は等しい

b

a

cb

a

cb

a

cb

a

cb

a

cb

a

c

乗法定理times2 + 条件付き独立 (n=9)

乗法定理times1 + 独立(n=3)乗法定理times1 + 独立 + 条件付き独立(n=6)

エッジ0個

エッジ1個

エッジ2個(head-to-tail tail-to-tail)

エッジ2個(head-to-head)

番外編 ベイジアンネットワークの学習

= 008= 012= 012

= 02= 02= 02= 02= 013

= 013= 02

= 02= 013

= 008= 008= 008= 012= 008= 012

条件付き独立独立はデータによって成り立ったり成り立たなかったりする

「同じ尤度を持つDAGは複数存在する可能性がある」

21世紀の統計科学 第2巻 第6章 生命システムネットワークを明らかにするための統計的モデリング

Page 30: PRML8章

離散変数

パラメータを共有する事(sharing tyling)でもパラメーターは減らせる

図811

図812

図810のモデルの事前分布としてディリクレ分布を導入したもの

更に1つのパラメーターuが全ての条件付き分布に共有される場合

パラメーター数K2 - 1

パラメーター数2

離散変数

条件付き分布としてパラメトリックモデルを用いる事でもパラメーターは減らせる

図813

M個の親ノードと一つの子ノード (共に二値変数とする) そのままだとパラメーター数 2M

(810)

親変数の線形結合を入力とするロジスティックシグモイド関数を利用

パラメーター数 M + 1

線形ガウスモデル

(811)

確率的主成分分析因子分析線形動的システムなどで利用されているらしい

平均

pai

分散 vi

xi 全てのノードの同時分布の対数は (85 一般系のベイジアンネットワークより)

(812)

(813)

j

biwixj

線形ガウスモデル平均 u 分散 σ2の正規分布

自然対数をとる(expが消える)

あとはuに

σ2に

を代入すれば813になる

vi

線形ガウスモデル813はxの成分に関する2次関数なのでp(x)はD次元正規分布()

(814)

この時期待値と分散は再帰的に求まる

(815)

(816)

線形ガウスモデルリンクが一つもないD個のノード 全結合グラフ

パラメーター数wij 0個 bi D個 vi D個

パラメーター数wij (D(D-1))2個 bi D個 vi D個

x1

b1 v1

x2

b2 v2

x3

b3 v3

x4

b4 v4x1

b1 v1

x2

b2 v2

x3

b3 v3

x4

b4 v4

線形ガウスモデル中間的なグラフ(例 図814)

パラメーター数wij D - 1個 bi D個 vi D個

x1

b1 v1

x2

b2 v2

x3

b3 v3

x4

b4 v4

線形ガウスモデル

ガウス分布の共役事前分布はガウス分布

ガウス変量の平均をガウス分布とする(事前分布) =gt ガウス分布の平均値は超パラメーター

=gt 超パラメーターがガウス分布だとするhellip(超事前分布)

=gt 階層ベイズモデル(何階層でもモデルを拡張複雑化できる)

条件付き独立性

(820)

bがあってもなくてもaの条件付き確率に影響を与えない

これをcが与えられた下でaはbに対して条件付き独立であるという

cに対してaとbが条件付き独立とは以下のように書く

(821)

(822)

条件付き独立性が示せるとリンクを減らせる

a

c

ba

c

b

可能性のある全ての条件付き独立性を調べればリンクは減らせる =gt 実際には計算量が膨大

=gt グラフの形だけで独立かどうか判断が可能(d-separationという枠組み)

条件付き独立性

以降はまず3つのノードの簡単なグラフで説明する

3つのグラフの例①

ab

c

tail-to-tail

cに対して周辺化

これはp(a) p(b)という形には変形できない (独立ではない)

cで条件付ける

p(a|c) p(b|c)という形に変形できた(条件付き独立block)

(823)

(824)tailtail

3つのグラフの例②

ab

c

head-to-tail

cに対して周辺化

これはp(a) p(b)という形には変形できない (独立ではない)

cで条件付ける

p(a|c) p(b|c)という形に変形できた(条件付き独立block)

(826)

3つのグラフの例③

ab

c

head-to-head

cに対して周辺化

これはp(a) p(b)という形に変形できた(独立)

(828)

確率の総和は1だから

3つのグラフの例③

ab

c

head-to-head

cで条件付ける

p(a|c) p(b|c)という形に変形できない(unblock)

(828)

3つのグラフの例(まとめ)

グラフの形 cで周辺化 cで条件付け

tail-to-tail 独立ではない 条件付き独立(block)

head-to-tail 独立ではない 条件付き独立(block)

head-to-head 独立 独立ではない(unblock)

head-to-headの更に特殊な性質(弁明)

図820

バッテリーの状態 0切れている

1充電されている

燃料タンクの状態 0空1満タン

電動燃料計 0空と示している

1満タンと示している

p(B=1) = 09 p(F=1) = 09

p(G=1 | B = 1 F = 1) = 08 p(G=1 | B = 1 F = 0) = 02 p(G=1 | B = 0 F = 1) = 02 p(G=1 | B = 0 F = 0) = 01

p(B=0) = 01 p(F=0) = 01

p(G=0 | B = 1 F = 1) = 02 p(G=0 | B = 1 F = 0) = 08 p(G=0 | B = 0 F = 1) = 08 p(G=0 | B = 0 F = 0) = 09

事前にこういった情報が与えられているとする

head-to-headの更に特殊な性質(弁明)

何も観測されていないとき燃料タンクが空である確率は

p(F=0) = 01

燃料計が空を指しているという事実を観測した時の燃料タンクが空である確率は(ベイズの定理より)

少し確率が高まっている

確率が低くなる

さらにバッテリーが切れている事実を観測した時の燃料タンクが空である確率は

図821

head-to-headの更に特殊な性質(弁明)

さらに子孫ノードのいずれかが観測されても 燃料タンクが空になる確率は変化する

子孫ノードが0

有向分離(D分離)リンクを遮断する時の法則今までの話をノード集合にまで拡張したもの

(グラフの形だけでわかる)

(a) 集合Cに含まれるノードであって経路に含まれる矢印がそこでhead-to-tailあるいはtail-to-tailである

(b) 経路に含まれる矢印がそのノードでhead-to-headであり自身あるいはそのすべての子孫のいずれもが集合Cに含まれない

CA B CA B

CA B

あらゆるA-C-Bの経路が遮断されていれば集合Aは集合Cにおいて集合Bと条件付き独立

有向分離(D分離)

図822

A AC C

B B

ノードaとノードbは集合C(ノードe f)で遮断できるかcが観測された場合 fが観測された場合

-gt 遮断されない -gt 遮断される

∵ fがtail-to-tailで観測されていない

eはhead-to-headだが子孫fがCに含まれる

∵ fがtail-to-tailで観測されている

eはhead-to-headでそれ自身あるいはその子孫が条件付き集合に

含まれない

有向分離(D分離)図85のモデルの有向分離性

パラメーターは観測済みノードと同じ amp 親ノードが無い

-gt 他のノードとのつながりは必ずtail-to-tailになる -gt 有向分離性に影響しない

124節のiidデータの有向分離性

図823

パラメーターuはtail-to-tail -gt uに値を入力したらあらゆる子ノード間で独立

-gt iid

uを積分消去した場合観測値は独立ではない

(835)

有向分離(D分離)図87のモデルの有向分離性

(836)

有向分離(D分離)ナイーブベイズの有向分離性

図824

例 bag-of-words

例 受信BOX迷惑メール

zが観測されるとあらゆるxノード間は独立

有向分離定理

1 有向分解(乗法定理を繰り返し適用して得た条件付き確率分布)

2 有向分離 (条件付き独立を繰り返し適用して得た条件付き確率分布)

以下の二つは同じ分布を得る

マルコフブランケット

xiが起きる確率をxi以外の全てのノードで条件付けた分布で考える

分母をxiで周辺化する

条件付き確率の積にする

xiに依存しないノードの条件付き確率は分子と打ち消し合う(次頁)

あるノードの条件付き独立性を考える時の最小単位

マルコフブランケット

図826

つまりxiの条件付き独立を考える時 1) 親子 2) 共同親 だけを考えれば良い

共同親A B

C

D E

F G

結局Cの条件付き確率P(C|AB)と Cの子ノードの条件付き確率P(D|CF)やP(E|CG)だけ残る

Cを含まない項は全部消える

無向グラフ(マルコフ確率場)無向グラフは条件付き独立を考えるのが簡単

図827集合Cを取り除いてA-B間の経路が無くなるなら条件付き独立

図828

無向グラフはマルコフブランケットも簡単

隣接ノードだけ考えれば良い

無向グラフ(マルコフ確率場)無向グラフの分解特性(これまで乗法定理を繰り返し適用していたもの)は以下のように定式化される

(838)

xi xj以外の全てのノードを取り除いた時の同時確率

よりと書くことも

各々の確率に分割できるならxijにおいてxixjは条件付き独立

クリーク

図829

無向グラフの分解特性は極大クリーク変数集合の関数にする事

クリーク x1 x2 x2 x3 x3 x4 x4 x2 極大クリーク x1 x2 x3 x2 x3 x4 x1 x2 x3 x4はクリークではない(x1 - x4間にリンクがない)

クリーク 全てのノードの組にリンクが存在するグラフの部分集合 極大クリーク もう一つを加えるとクリークでなくなってしまうようなクリーク

ポテンシャル関数極大クリークを引数としたポテンシャル関数

の積に分解するどんな関数にするかは言及しない

基本的に総和は1にならない -gt 規格化定数(分配関数)を導入

-gt 計算は大変

画像のノイズ除去の例

元のピクセル

ランダムに反転したピクセル

元画像10のピクセルをランダムに反転

ICMによる復元グラフカットアルゴリズムによる復元

(841)(842)

(843)

図831

有向-gt無向の変換図832のような簡単な場合

有向グラフ(a)無向グラフ(b)

以下のような対応づけができる

有向-gt無向の変換図833のような場合

親同士をリンクで結ぶ(モラル化)

1 向きを無くす 2 モラル化する 3 規格化する -gt ジャンクションツリーアルゴリズム(84)

生物の細胞

遺伝子間が相互作用のネットワークを形成している

geneX geneY

Protein X

Protein Y

様々な実験での遺伝子発現データ

とりうる可能性高い遺伝子ネットワークを探索(MAP推定)

データからこれを推定したい

実験

遺伝子

more

番外編 ベイジアンネットワークの学習

rarr 近似的に求めるアルゴリズムが開発される

httpwwwsclsrikenjpscruisesoftwaresign-bnhtml

番外編 ベイジアンネットワークの学習

こういうネットワーク構造は未知でデータから推定するアプローチはベイジアンネットワークのrdquo学習rdquoとかrdquo推論rdquoというらしい

(848で紹介だけしている)

SiGN-BN スパコン「京」で計算するソフトウェア自分の修論の内容

Rのbnlearnパッケージ(CBRCのBlue Gene上で実行)httpsignhgcjpsignbnindex_jahtml

番外編 ベイジアンネットワークの学習

番外編 ベイジアンネットワークの学習

どのグラフが良いか決める基準 尤度情報量基準(AIC BIC 尤度ampパラメーター数)

MAP推定(尤度times事前分布)hellip

データを元に最も最適と思われるグラフ構造を探索する

データ

グラフ

1 0 01 1 01 0 10 1 01 0 10 0 01 1 00 0 01 1 10 0 1

a b cb

a

c

b

a

c

b

a

c

データからグラフ構造を推定したい場合単純な式変形をしただけだと数学的に等しいので結局最適なグラフ構造を決定できないのでは(勉強会での議論)

=gt 実際にやってみた

番外編 ベイジアンネットワークの学習

httpwwwsclsrikenjpscruisewp-contentuploadssites3201312SIGN_HGC_Seminar_Tamada201302pdf

httpenwikipediaorgwikiDirected_acyclic_graph

ノード数の増加に対する取りうるDAG数

番外編 ベイジアンネットワークの学習

3ノードなら手計算でいけそう

乗法定理times2(n=6)

乗法定理times2 + 条件付き独立 (n=9)

乗法定理times1 + 独立(n=3)

全て独立(n=1)

乗法定理を使う (このままではグラフとして表現できない)

乗法定理times1 + 独立 + 条件付き独立(n=6)エッジ0個

エッジ1個

エッジ2個(head-to-tail tail-to-tail)

エッジ2個(head-to-head)

エッジ3個(全結合)

ノード3つで式変形を片っ端から行った

番外編 ベイジアンネットワークの学習

試しに以下のような簡単な01データを用いる またここでは単純に尤度のみでグラフの善し悪しを判定する

番外編 ベイジアンネットワークの学習

0 0 00 0 00 0 00 0 01 0 01 0 01 1 01 1 01 1 11 1 1

a b c

P(a) = 35 P(b) = 25 P(c) = 15 P(a b) = 25 P(b c) = 15 P(a c) = 15 P(a b c) = 15

P(a | b c) = 1 P(b | a c) = 1 P(c | a b) = 12 P(a | b) = 1 P(a | c) = 1 P(b | a) = 23 P(b | c) = 1 P(c | a) = 13 P(c | b) = 12

独立性について

番外編 ベイジアンネットワークの学習

0 0 00 0 00 0 00 0 01 0 01 0 01 1 01 1 01 1 11 1 1

a b c

P(a | b c) = P(a | b) P(a | b c) = P(a | c) P(b | a c) ne P(b | a) P(b | a c) = P(b | c) P(c | a b) ne P(c | a) P(c | a b) = P(c | b)

P(a b c) ne P(a) P(b) P(c) P(a b) ne P(a) P(b) P(b c) ne P(b) P(c) P(a c) ne P(a) P(c)

条件付き独立性について

データによって成り立ったり成り立たなかったりする

乗法定理times2(n=6)

乗法定理times2 + 条件付き独立 (n=9)

乗法定理times1 + 独立(n=3)

全て独立(n=1)

乗法定理times1 + 独立 + 条件付き独立(n=6)エッジ0個

エッジ1個

エッジ2個(head-to-tail tail-to-tail)

エッジ2個(head-to-head)

エッジ3個(全結合)

番外編 ベイジアンネットワークの学習

尤度を計算した

= 02= 02= 02= 02= 02= 02

= 0048

= 008= 012= 012

= 02= 02= 02= 02= 013

= 013= 02

= 02= 013

= 008= 008= 008= 012= 008= 012

乗法定理times2(n=6)エッジ3個(全結合)

番外編 ベイジアンネットワークの学習

= 02= 02= 02= 02= 02= 02

乗法定理で変形したものはグラフ構造は違うのにも関わらず尤度は等しい

b

a

cb

a

cb

a

cb

a

cb

a

cb

a

c

乗法定理times2 + 条件付き独立 (n=9)

乗法定理times1 + 独立(n=3)乗法定理times1 + 独立 + 条件付き独立(n=6)

エッジ0個

エッジ1個

エッジ2個(head-to-tail tail-to-tail)

エッジ2個(head-to-head)

番外編 ベイジアンネットワークの学習

= 008= 012= 012

= 02= 02= 02= 02= 013

= 013= 02

= 02= 013

= 008= 008= 008= 012= 008= 012

条件付き独立独立はデータによって成り立ったり成り立たなかったりする

「同じ尤度を持つDAGは複数存在する可能性がある」

21世紀の統計科学 第2巻 第6章 生命システムネットワークを明らかにするための統計的モデリング

Page 31: PRML8章

離散変数

条件付き分布としてパラメトリックモデルを用いる事でもパラメーターは減らせる

図813

M個の親ノードと一つの子ノード (共に二値変数とする) そのままだとパラメーター数 2M

(810)

親変数の線形結合を入力とするロジスティックシグモイド関数を利用

パラメーター数 M + 1

線形ガウスモデル

(811)

確率的主成分分析因子分析線形動的システムなどで利用されているらしい

平均

pai

分散 vi

xi 全てのノードの同時分布の対数は (85 一般系のベイジアンネットワークより)

(812)

(813)

j

biwixj

線形ガウスモデル平均 u 分散 σ2の正規分布

自然対数をとる(expが消える)

あとはuに

σ2に

を代入すれば813になる

vi

線形ガウスモデル813はxの成分に関する2次関数なのでp(x)はD次元正規分布()

(814)

この時期待値と分散は再帰的に求まる

(815)

(816)

線形ガウスモデルリンクが一つもないD個のノード 全結合グラフ

パラメーター数wij 0個 bi D個 vi D個

パラメーター数wij (D(D-1))2個 bi D個 vi D個

x1

b1 v1

x2

b2 v2

x3

b3 v3

x4

b4 v4x1

b1 v1

x2

b2 v2

x3

b3 v3

x4

b4 v4

線形ガウスモデル中間的なグラフ(例 図814)

パラメーター数wij D - 1個 bi D個 vi D個

x1

b1 v1

x2

b2 v2

x3

b3 v3

x4

b4 v4

線形ガウスモデル

ガウス分布の共役事前分布はガウス分布

ガウス変量の平均をガウス分布とする(事前分布) =gt ガウス分布の平均値は超パラメーター

=gt 超パラメーターがガウス分布だとするhellip(超事前分布)

=gt 階層ベイズモデル(何階層でもモデルを拡張複雑化できる)

条件付き独立性

(820)

bがあってもなくてもaの条件付き確率に影響を与えない

これをcが与えられた下でaはbに対して条件付き独立であるという

cに対してaとbが条件付き独立とは以下のように書く

(821)

(822)

条件付き独立性が示せるとリンクを減らせる

a

c

ba

c

b

可能性のある全ての条件付き独立性を調べればリンクは減らせる =gt 実際には計算量が膨大

=gt グラフの形だけで独立かどうか判断が可能(d-separationという枠組み)

条件付き独立性

以降はまず3つのノードの簡単なグラフで説明する

3つのグラフの例①

ab

c

tail-to-tail

cに対して周辺化

これはp(a) p(b)という形には変形できない (独立ではない)

cで条件付ける

p(a|c) p(b|c)という形に変形できた(条件付き独立block)

(823)

(824)tailtail

3つのグラフの例②

ab

c

head-to-tail

cに対して周辺化

これはp(a) p(b)という形には変形できない (独立ではない)

cで条件付ける

p(a|c) p(b|c)という形に変形できた(条件付き独立block)

(826)

3つのグラフの例③

ab

c

head-to-head

cに対して周辺化

これはp(a) p(b)という形に変形できた(独立)

(828)

確率の総和は1だから

3つのグラフの例③

ab

c

head-to-head

cで条件付ける

p(a|c) p(b|c)という形に変形できない(unblock)

(828)

3つのグラフの例(まとめ)

グラフの形 cで周辺化 cで条件付け

tail-to-tail 独立ではない 条件付き独立(block)

head-to-tail 独立ではない 条件付き独立(block)

head-to-head 独立 独立ではない(unblock)

head-to-headの更に特殊な性質(弁明)

図820

バッテリーの状態 0切れている

1充電されている

燃料タンクの状態 0空1満タン

電動燃料計 0空と示している

1満タンと示している

p(B=1) = 09 p(F=1) = 09

p(G=1 | B = 1 F = 1) = 08 p(G=1 | B = 1 F = 0) = 02 p(G=1 | B = 0 F = 1) = 02 p(G=1 | B = 0 F = 0) = 01

p(B=0) = 01 p(F=0) = 01

p(G=0 | B = 1 F = 1) = 02 p(G=0 | B = 1 F = 0) = 08 p(G=0 | B = 0 F = 1) = 08 p(G=0 | B = 0 F = 0) = 09

事前にこういった情報が与えられているとする

head-to-headの更に特殊な性質(弁明)

何も観測されていないとき燃料タンクが空である確率は

p(F=0) = 01

燃料計が空を指しているという事実を観測した時の燃料タンクが空である確率は(ベイズの定理より)

少し確率が高まっている

確率が低くなる

さらにバッテリーが切れている事実を観測した時の燃料タンクが空である確率は

図821

head-to-headの更に特殊な性質(弁明)

さらに子孫ノードのいずれかが観測されても 燃料タンクが空になる確率は変化する

子孫ノードが0

有向分離(D分離)リンクを遮断する時の法則今までの話をノード集合にまで拡張したもの

(グラフの形だけでわかる)

(a) 集合Cに含まれるノードであって経路に含まれる矢印がそこでhead-to-tailあるいはtail-to-tailである

(b) 経路に含まれる矢印がそのノードでhead-to-headであり自身あるいはそのすべての子孫のいずれもが集合Cに含まれない

CA B CA B

CA B

あらゆるA-C-Bの経路が遮断されていれば集合Aは集合Cにおいて集合Bと条件付き独立

有向分離(D分離)

図822

A AC C

B B

ノードaとノードbは集合C(ノードe f)で遮断できるかcが観測された場合 fが観測された場合

-gt 遮断されない -gt 遮断される

∵ fがtail-to-tailで観測されていない

eはhead-to-headだが子孫fがCに含まれる

∵ fがtail-to-tailで観測されている

eはhead-to-headでそれ自身あるいはその子孫が条件付き集合に

含まれない

有向分離(D分離)図85のモデルの有向分離性

パラメーターは観測済みノードと同じ amp 親ノードが無い

-gt 他のノードとのつながりは必ずtail-to-tailになる -gt 有向分離性に影響しない

124節のiidデータの有向分離性

図823

パラメーターuはtail-to-tail -gt uに値を入力したらあらゆる子ノード間で独立

-gt iid

uを積分消去した場合観測値は独立ではない

(835)

有向分離(D分離)図87のモデルの有向分離性

(836)

有向分離(D分離)ナイーブベイズの有向分離性

図824

例 bag-of-words

例 受信BOX迷惑メール

zが観測されるとあらゆるxノード間は独立

有向分離定理

1 有向分解(乗法定理を繰り返し適用して得た条件付き確率分布)

2 有向分離 (条件付き独立を繰り返し適用して得た条件付き確率分布)

以下の二つは同じ分布を得る

マルコフブランケット

xiが起きる確率をxi以外の全てのノードで条件付けた分布で考える

分母をxiで周辺化する

条件付き確率の積にする

xiに依存しないノードの条件付き確率は分子と打ち消し合う(次頁)

あるノードの条件付き独立性を考える時の最小単位

マルコフブランケット

図826

つまりxiの条件付き独立を考える時 1) 親子 2) 共同親 だけを考えれば良い

共同親A B

C

D E

F G

結局Cの条件付き確率P(C|AB)と Cの子ノードの条件付き確率P(D|CF)やP(E|CG)だけ残る

Cを含まない項は全部消える

無向グラフ(マルコフ確率場)無向グラフは条件付き独立を考えるのが簡単

図827集合Cを取り除いてA-B間の経路が無くなるなら条件付き独立

図828

無向グラフはマルコフブランケットも簡単

隣接ノードだけ考えれば良い

無向グラフ(マルコフ確率場)無向グラフの分解特性(これまで乗法定理を繰り返し適用していたもの)は以下のように定式化される

(838)

xi xj以外の全てのノードを取り除いた時の同時確率

よりと書くことも

各々の確率に分割できるならxijにおいてxixjは条件付き独立

クリーク

図829

無向グラフの分解特性は極大クリーク変数集合の関数にする事

クリーク x1 x2 x2 x3 x3 x4 x4 x2 極大クリーク x1 x2 x3 x2 x3 x4 x1 x2 x3 x4はクリークではない(x1 - x4間にリンクがない)

クリーク 全てのノードの組にリンクが存在するグラフの部分集合 極大クリーク もう一つを加えるとクリークでなくなってしまうようなクリーク

ポテンシャル関数極大クリークを引数としたポテンシャル関数

の積に分解するどんな関数にするかは言及しない

基本的に総和は1にならない -gt 規格化定数(分配関数)を導入

-gt 計算は大変

画像のノイズ除去の例

元のピクセル

ランダムに反転したピクセル

元画像10のピクセルをランダムに反転

ICMによる復元グラフカットアルゴリズムによる復元

(841)(842)

(843)

図831

有向-gt無向の変換図832のような簡単な場合

有向グラフ(a)無向グラフ(b)

以下のような対応づけができる

有向-gt無向の変換図833のような場合

親同士をリンクで結ぶ(モラル化)

1 向きを無くす 2 モラル化する 3 規格化する -gt ジャンクションツリーアルゴリズム(84)

生物の細胞

遺伝子間が相互作用のネットワークを形成している

geneX geneY

Protein X

Protein Y

様々な実験での遺伝子発現データ

とりうる可能性高い遺伝子ネットワークを探索(MAP推定)

データからこれを推定したい

実験

遺伝子

more

番外編 ベイジアンネットワークの学習

rarr 近似的に求めるアルゴリズムが開発される

httpwwwsclsrikenjpscruisesoftwaresign-bnhtml

番外編 ベイジアンネットワークの学習

こういうネットワーク構造は未知でデータから推定するアプローチはベイジアンネットワークのrdquo学習rdquoとかrdquo推論rdquoというらしい

(848で紹介だけしている)

SiGN-BN スパコン「京」で計算するソフトウェア自分の修論の内容

Rのbnlearnパッケージ(CBRCのBlue Gene上で実行)httpsignhgcjpsignbnindex_jahtml

番外編 ベイジアンネットワークの学習

番外編 ベイジアンネットワークの学習

どのグラフが良いか決める基準 尤度情報量基準(AIC BIC 尤度ampパラメーター数)

MAP推定(尤度times事前分布)hellip

データを元に最も最適と思われるグラフ構造を探索する

データ

グラフ

1 0 01 1 01 0 10 1 01 0 10 0 01 1 00 0 01 1 10 0 1

a b cb

a

c

b

a

c

b

a

c

データからグラフ構造を推定したい場合単純な式変形をしただけだと数学的に等しいので結局最適なグラフ構造を決定できないのでは(勉強会での議論)

=gt 実際にやってみた

番外編 ベイジアンネットワークの学習

httpwwwsclsrikenjpscruisewp-contentuploadssites3201312SIGN_HGC_Seminar_Tamada201302pdf

httpenwikipediaorgwikiDirected_acyclic_graph

ノード数の増加に対する取りうるDAG数

番外編 ベイジアンネットワークの学習

3ノードなら手計算でいけそう

乗法定理times2(n=6)

乗法定理times2 + 条件付き独立 (n=9)

乗法定理times1 + 独立(n=3)

全て独立(n=1)

乗法定理を使う (このままではグラフとして表現できない)

乗法定理times1 + 独立 + 条件付き独立(n=6)エッジ0個

エッジ1個

エッジ2個(head-to-tail tail-to-tail)

エッジ2個(head-to-head)

エッジ3個(全結合)

ノード3つで式変形を片っ端から行った

番外編 ベイジアンネットワークの学習

試しに以下のような簡単な01データを用いる またここでは単純に尤度のみでグラフの善し悪しを判定する

番外編 ベイジアンネットワークの学習

0 0 00 0 00 0 00 0 01 0 01 0 01 1 01 1 01 1 11 1 1

a b c

P(a) = 35 P(b) = 25 P(c) = 15 P(a b) = 25 P(b c) = 15 P(a c) = 15 P(a b c) = 15

P(a | b c) = 1 P(b | a c) = 1 P(c | a b) = 12 P(a | b) = 1 P(a | c) = 1 P(b | a) = 23 P(b | c) = 1 P(c | a) = 13 P(c | b) = 12

独立性について

番外編 ベイジアンネットワークの学習

0 0 00 0 00 0 00 0 01 0 01 0 01 1 01 1 01 1 11 1 1

a b c

P(a | b c) = P(a | b) P(a | b c) = P(a | c) P(b | a c) ne P(b | a) P(b | a c) = P(b | c) P(c | a b) ne P(c | a) P(c | a b) = P(c | b)

P(a b c) ne P(a) P(b) P(c) P(a b) ne P(a) P(b) P(b c) ne P(b) P(c) P(a c) ne P(a) P(c)

条件付き独立性について

データによって成り立ったり成り立たなかったりする

乗法定理times2(n=6)

乗法定理times2 + 条件付き独立 (n=9)

乗法定理times1 + 独立(n=3)

全て独立(n=1)

乗法定理times1 + 独立 + 条件付き独立(n=6)エッジ0個

エッジ1個

エッジ2個(head-to-tail tail-to-tail)

エッジ2個(head-to-head)

エッジ3個(全結合)

番外編 ベイジアンネットワークの学習

尤度を計算した

= 02= 02= 02= 02= 02= 02

= 0048

= 008= 012= 012

= 02= 02= 02= 02= 013

= 013= 02

= 02= 013

= 008= 008= 008= 012= 008= 012

乗法定理times2(n=6)エッジ3個(全結合)

番外編 ベイジアンネットワークの学習

= 02= 02= 02= 02= 02= 02

乗法定理で変形したものはグラフ構造は違うのにも関わらず尤度は等しい

b

a

cb

a

cb

a

cb

a

cb

a

cb

a

c

乗法定理times2 + 条件付き独立 (n=9)

乗法定理times1 + 独立(n=3)乗法定理times1 + 独立 + 条件付き独立(n=6)

エッジ0個

エッジ1個

エッジ2個(head-to-tail tail-to-tail)

エッジ2個(head-to-head)

番外編 ベイジアンネットワークの学習

= 008= 012= 012

= 02= 02= 02= 02= 013

= 013= 02

= 02= 013

= 008= 008= 008= 012= 008= 012

条件付き独立独立はデータによって成り立ったり成り立たなかったりする

「同じ尤度を持つDAGは複数存在する可能性がある」

21世紀の統計科学 第2巻 第6章 生命システムネットワークを明らかにするための統計的モデリング

Page 32: PRML8章

線形ガウスモデル

(811)

確率的主成分分析因子分析線形動的システムなどで利用されているらしい

平均

pai

分散 vi

xi 全てのノードの同時分布の対数は (85 一般系のベイジアンネットワークより)

(812)

(813)

j

biwixj

線形ガウスモデル平均 u 分散 σ2の正規分布

自然対数をとる(expが消える)

あとはuに

σ2に

を代入すれば813になる

vi

線形ガウスモデル813はxの成分に関する2次関数なのでp(x)はD次元正規分布()

(814)

この時期待値と分散は再帰的に求まる

(815)

(816)

線形ガウスモデルリンクが一つもないD個のノード 全結合グラフ

パラメーター数wij 0個 bi D個 vi D個

パラメーター数wij (D(D-1))2個 bi D個 vi D個

x1

b1 v1

x2

b2 v2

x3

b3 v3

x4

b4 v4x1

b1 v1

x2

b2 v2

x3

b3 v3

x4

b4 v4

線形ガウスモデル中間的なグラフ(例 図814)

パラメーター数wij D - 1個 bi D個 vi D個

x1

b1 v1

x2

b2 v2

x3

b3 v3

x4

b4 v4

線形ガウスモデル

ガウス分布の共役事前分布はガウス分布

ガウス変量の平均をガウス分布とする(事前分布) =gt ガウス分布の平均値は超パラメーター

=gt 超パラメーターがガウス分布だとするhellip(超事前分布)

=gt 階層ベイズモデル(何階層でもモデルを拡張複雑化できる)

条件付き独立性

(820)

bがあってもなくてもaの条件付き確率に影響を与えない

これをcが与えられた下でaはbに対して条件付き独立であるという

cに対してaとbが条件付き独立とは以下のように書く

(821)

(822)

条件付き独立性が示せるとリンクを減らせる

a

c

ba

c

b

可能性のある全ての条件付き独立性を調べればリンクは減らせる =gt 実際には計算量が膨大

=gt グラフの形だけで独立かどうか判断が可能(d-separationという枠組み)

条件付き独立性

以降はまず3つのノードの簡単なグラフで説明する

3つのグラフの例①

ab

c

tail-to-tail

cに対して周辺化

これはp(a) p(b)という形には変形できない (独立ではない)

cで条件付ける

p(a|c) p(b|c)という形に変形できた(条件付き独立block)

(823)

(824)tailtail

3つのグラフの例②

ab

c

head-to-tail

cに対して周辺化

これはp(a) p(b)という形には変形できない (独立ではない)

cで条件付ける

p(a|c) p(b|c)という形に変形できた(条件付き独立block)

(826)

3つのグラフの例③

ab

c

head-to-head

cに対して周辺化

これはp(a) p(b)という形に変形できた(独立)

(828)

確率の総和は1だから

3つのグラフの例③

ab

c

head-to-head

cで条件付ける

p(a|c) p(b|c)という形に変形できない(unblock)

(828)

3つのグラフの例(まとめ)

グラフの形 cで周辺化 cで条件付け

tail-to-tail 独立ではない 条件付き独立(block)

head-to-tail 独立ではない 条件付き独立(block)

head-to-head 独立 独立ではない(unblock)

head-to-headの更に特殊な性質(弁明)

図820

バッテリーの状態 0切れている

1充電されている

燃料タンクの状態 0空1満タン

電動燃料計 0空と示している

1満タンと示している

p(B=1) = 09 p(F=1) = 09

p(G=1 | B = 1 F = 1) = 08 p(G=1 | B = 1 F = 0) = 02 p(G=1 | B = 0 F = 1) = 02 p(G=1 | B = 0 F = 0) = 01

p(B=0) = 01 p(F=0) = 01

p(G=0 | B = 1 F = 1) = 02 p(G=0 | B = 1 F = 0) = 08 p(G=0 | B = 0 F = 1) = 08 p(G=0 | B = 0 F = 0) = 09

事前にこういった情報が与えられているとする

head-to-headの更に特殊な性質(弁明)

何も観測されていないとき燃料タンクが空である確率は

p(F=0) = 01

燃料計が空を指しているという事実を観測した時の燃料タンクが空である確率は(ベイズの定理より)

少し確率が高まっている

確率が低くなる

さらにバッテリーが切れている事実を観測した時の燃料タンクが空である確率は

図821

head-to-headの更に特殊な性質(弁明)

さらに子孫ノードのいずれかが観測されても 燃料タンクが空になる確率は変化する

子孫ノードが0

有向分離(D分離)リンクを遮断する時の法則今までの話をノード集合にまで拡張したもの

(グラフの形だけでわかる)

(a) 集合Cに含まれるノードであって経路に含まれる矢印がそこでhead-to-tailあるいはtail-to-tailである

(b) 経路に含まれる矢印がそのノードでhead-to-headであり自身あるいはそのすべての子孫のいずれもが集合Cに含まれない

CA B CA B

CA B

あらゆるA-C-Bの経路が遮断されていれば集合Aは集合Cにおいて集合Bと条件付き独立

有向分離(D分離)

図822

A AC C

B B

ノードaとノードbは集合C(ノードe f)で遮断できるかcが観測された場合 fが観測された場合

-gt 遮断されない -gt 遮断される

∵ fがtail-to-tailで観測されていない

eはhead-to-headだが子孫fがCに含まれる

∵ fがtail-to-tailで観測されている

eはhead-to-headでそれ自身あるいはその子孫が条件付き集合に

含まれない

有向分離(D分離)図85のモデルの有向分離性

パラメーターは観測済みノードと同じ amp 親ノードが無い

-gt 他のノードとのつながりは必ずtail-to-tailになる -gt 有向分離性に影響しない

124節のiidデータの有向分離性

図823

パラメーターuはtail-to-tail -gt uに値を入力したらあらゆる子ノード間で独立

-gt iid

uを積分消去した場合観測値は独立ではない

(835)

有向分離(D分離)図87のモデルの有向分離性

(836)

有向分離(D分離)ナイーブベイズの有向分離性

図824

例 bag-of-words

例 受信BOX迷惑メール

zが観測されるとあらゆるxノード間は独立

有向分離定理

1 有向分解(乗法定理を繰り返し適用して得た条件付き確率分布)

2 有向分離 (条件付き独立を繰り返し適用して得た条件付き確率分布)

以下の二つは同じ分布を得る

マルコフブランケット

xiが起きる確率をxi以外の全てのノードで条件付けた分布で考える

分母をxiで周辺化する

条件付き確率の積にする

xiに依存しないノードの条件付き確率は分子と打ち消し合う(次頁)

あるノードの条件付き独立性を考える時の最小単位

マルコフブランケット

図826

つまりxiの条件付き独立を考える時 1) 親子 2) 共同親 だけを考えれば良い

共同親A B

C

D E

F G

結局Cの条件付き確率P(C|AB)と Cの子ノードの条件付き確率P(D|CF)やP(E|CG)だけ残る

Cを含まない項は全部消える

無向グラフ(マルコフ確率場)無向グラフは条件付き独立を考えるのが簡単

図827集合Cを取り除いてA-B間の経路が無くなるなら条件付き独立

図828

無向グラフはマルコフブランケットも簡単

隣接ノードだけ考えれば良い

無向グラフ(マルコフ確率場)無向グラフの分解特性(これまで乗法定理を繰り返し適用していたもの)は以下のように定式化される

(838)

xi xj以外の全てのノードを取り除いた時の同時確率

よりと書くことも

各々の確率に分割できるならxijにおいてxixjは条件付き独立

クリーク

図829

無向グラフの分解特性は極大クリーク変数集合の関数にする事

クリーク x1 x2 x2 x3 x3 x4 x4 x2 極大クリーク x1 x2 x3 x2 x3 x4 x1 x2 x3 x4はクリークではない(x1 - x4間にリンクがない)

クリーク 全てのノードの組にリンクが存在するグラフの部分集合 極大クリーク もう一つを加えるとクリークでなくなってしまうようなクリーク

ポテンシャル関数極大クリークを引数としたポテンシャル関数

の積に分解するどんな関数にするかは言及しない

基本的に総和は1にならない -gt 規格化定数(分配関数)を導入

-gt 計算は大変

画像のノイズ除去の例

元のピクセル

ランダムに反転したピクセル

元画像10のピクセルをランダムに反転

ICMによる復元グラフカットアルゴリズムによる復元

(841)(842)

(843)

図831

有向-gt無向の変換図832のような簡単な場合

有向グラフ(a)無向グラフ(b)

以下のような対応づけができる

有向-gt無向の変換図833のような場合

親同士をリンクで結ぶ(モラル化)

1 向きを無くす 2 モラル化する 3 規格化する -gt ジャンクションツリーアルゴリズム(84)

生物の細胞

遺伝子間が相互作用のネットワークを形成している

geneX geneY

Protein X

Protein Y

様々な実験での遺伝子発現データ

とりうる可能性高い遺伝子ネットワークを探索(MAP推定)

データからこれを推定したい

実験

遺伝子

more

番外編 ベイジアンネットワークの学習

rarr 近似的に求めるアルゴリズムが開発される

httpwwwsclsrikenjpscruisesoftwaresign-bnhtml

番外編 ベイジアンネットワークの学習

こういうネットワーク構造は未知でデータから推定するアプローチはベイジアンネットワークのrdquo学習rdquoとかrdquo推論rdquoというらしい

(848で紹介だけしている)

SiGN-BN スパコン「京」で計算するソフトウェア自分の修論の内容

Rのbnlearnパッケージ(CBRCのBlue Gene上で実行)httpsignhgcjpsignbnindex_jahtml

番外編 ベイジアンネットワークの学習

番外編 ベイジアンネットワークの学習

どのグラフが良いか決める基準 尤度情報量基準(AIC BIC 尤度ampパラメーター数)

MAP推定(尤度times事前分布)hellip

データを元に最も最適と思われるグラフ構造を探索する

データ

グラフ

1 0 01 1 01 0 10 1 01 0 10 0 01 1 00 0 01 1 10 0 1

a b cb

a

c

b

a

c

b

a

c

データからグラフ構造を推定したい場合単純な式変形をしただけだと数学的に等しいので結局最適なグラフ構造を決定できないのでは(勉強会での議論)

=gt 実際にやってみた

番外編 ベイジアンネットワークの学習

httpwwwsclsrikenjpscruisewp-contentuploadssites3201312SIGN_HGC_Seminar_Tamada201302pdf

httpenwikipediaorgwikiDirected_acyclic_graph

ノード数の増加に対する取りうるDAG数

番外編 ベイジアンネットワークの学習

3ノードなら手計算でいけそう

乗法定理times2(n=6)

乗法定理times2 + 条件付き独立 (n=9)

乗法定理times1 + 独立(n=3)

全て独立(n=1)

乗法定理を使う (このままではグラフとして表現できない)

乗法定理times1 + 独立 + 条件付き独立(n=6)エッジ0個

エッジ1個

エッジ2個(head-to-tail tail-to-tail)

エッジ2個(head-to-head)

エッジ3個(全結合)

ノード3つで式変形を片っ端から行った

番外編 ベイジアンネットワークの学習

試しに以下のような簡単な01データを用いる またここでは単純に尤度のみでグラフの善し悪しを判定する

番外編 ベイジアンネットワークの学習

0 0 00 0 00 0 00 0 01 0 01 0 01 1 01 1 01 1 11 1 1

a b c

P(a) = 35 P(b) = 25 P(c) = 15 P(a b) = 25 P(b c) = 15 P(a c) = 15 P(a b c) = 15

P(a | b c) = 1 P(b | a c) = 1 P(c | a b) = 12 P(a | b) = 1 P(a | c) = 1 P(b | a) = 23 P(b | c) = 1 P(c | a) = 13 P(c | b) = 12

独立性について

番外編 ベイジアンネットワークの学習

0 0 00 0 00 0 00 0 01 0 01 0 01 1 01 1 01 1 11 1 1

a b c

P(a | b c) = P(a | b) P(a | b c) = P(a | c) P(b | a c) ne P(b | a) P(b | a c) = P(b | c) P(c | a b) ne P(c | a) P(c | a b) = P(c | b)

P(a b c) ne P(a) P(b) P(c) P(a b) ne P(a) P(b) P(b c) ne P(b) P(c) P(a c) ne P(a) P(c)

条件付き独立性について

データによって成り立ったり成り立たなかったりする

乗法定理times2(n=6)

乗法定理times2 + 条件付き独立 (n=9)

乗法定理times1 + 独立(n=3)

全て独立(n=1)

乗法定理times1 + 独立 + 条件付き独立(n=6)エッジ0個

エッジ1個

エッジ2個(head-to-tail tail-to-tail)

エッジ2個(head-to-head)

エッジ3個(全結合)

番外編 ベイジアンネットワークの学習

尤度を計算した

= 02= 02= 02= 02= 02= 02

= 0048

= 008= 012= 012

= 02= 02= 02= 02= 013

= 013= 02

= 02= 013

= 008= 008= 008= 012= 008= 012

乗法定理times2(n=6)エッジ3個(全結合)

番外編 ベイジアンネットワークの学習

= 02= 02= 02= 02= 02= 02

乗法定理で変形したものはグラフ構造は違うのにも関わらず尤度は等しい

b

a

cb

a

cb

a

cb

a

cb

a

cb

a

c

乗法定理times2 + 条件付き独立 (n=9)

乗法定理times1 + 独立(n=3)乗法定理times1 + 独立 + 条件付き独立(n=6)

エッジ0個

エッジ1個

エッジ2個(head-to-tail tail-to-tail)

エッジ2個(head-to-head)

番外編 ベイジアンネットワークの学習

= 008= 012= 012

= 02= 02= 02= 02= 013

= 013= 02

= 02= 013

= 008= 008= 008= 012= 008= 012

条件付き独立独立はデータによって成り立ったり成り立たなかったりする

「同じ尤度を持つDAGは複数存在する可能性がある」

21世紀の統計科学 第2巻 第6章 生命システムネットワークを明らかにするための統計的モデリング

Page 33: PRML8章

線形ガウスモデル平均 u 分散 σ2の正規分布

自然対数をとる(expが消える)

あとはuに

σ2に

を代入すれば813になる

vi

線形ガウスモデル813はxの成分に関する2次関数なのでp(x)はD次元正規分布()

(814)

この時期待値と分散は再帰的に求まる

(815)

(816)

線形ガウスモデルリンクが一つもないD個のノード 全結合グラフ

パラメーター数wij 0個 bi D個 vi D個

パラメーター数wij (D(D-1))2個 bi D個 vi D個

x1

b1 v1

x2

b2 v2

x3

b3 v3

x4

b4 v4x1

b1 v1

x2

b2 v2

x3

b3 v3

x4

b4 v4

線形ガウスモデル中間的なグラフ(例 図814)

パラメーター数wij D - 1個 bi D個 vi D個

x1

b1 v1

x2

b2 v2

x3

b3 v3

x4

b4 v4

線形ガウスモデル

ガウス分布の共役事前分布はガウス分布

ガウス変量の平均をガウス分布とする(事前分布) =gt ガウス分布の平均値は超パラメーター

=gt 超パラメーターがガウス分布だとするhellip(超事前分布)

=gt 階層ベイズモデル(何階層でもモデルを拡張複雑化できる)

条件付き独立性

(820)

bがあってもなくてもaの条件付き確率に影響を与えない

これをcが与えられた下でaはbに対して条件付き独立であるという

cに対してaとbが条件付き独立とは以下のように書く

(821)

(822)

条件付き独立性が示せるとリンクを減らせる

a

c

ba

c

b

可能性のある全ての条件付き独立性を調べればリンクは減らせる =gt 実際には計算量が膨大

=gt グラフの形だけで独立かどうか判断が可能(d-separationという枠組み)

条件付き独立性

以降はまず3つのノードの簡単なグラフで説明する

3つのグラフの例①

ab

c

tail-to-tail

cに対して周辺化

これはp(a) p(b)という形には変形できない (独立ではない)

cで条件付ける

p(a|c) p(b|c)という形に変形できた(条件付き独立block)

(823)

(824)tailtail

3つのグラフの例②

ab

c

head-to-tail

cに対して周辺化

これはp(a) p(b)という形には変形できない (独立ではない)

cで条件付ける

p(a|c) p(b|c)という形に変形できた(条件付き独立block)

(826)

3つのグラフの例③

ab

c

head-to-head

cに対して周辺化

これはp(a) p(b)という形に変形できた(独立)

(828)

確率の総和は1だから

3つのグラフの例③

ab

c

head-to-head

cで条件付ける

p(a|c) p(b|c)という形に変形できない(unblock)

(828)

3つのグラフの例(まとめ)

グラフの形 cで周辺化 cで条件付け

tail-to-tail 独立ではない 条件付き独立(block)

head-to-tail 独立ではない 条件付き独立(block)

head-to-head 独立 独立ではない(unblock)

head-to-headの更に特殊な性質(弁明)

図820

バッテリーの状態 0切れている

1充電されている

燃料タンクの状態 0空1満タン

電動燃料計 0空と示している

1満タンと示している

p(B=1) = 09 p(F=1) = 09

p(G=1 | B = 1 F = 1) = 08 p(G=1 | B = 1 F = 0) = 02 p(G=1 | B = 0 F = 1) = 02 p(G=1 | B = 0 F = 0) = 01

p(B=0) = 01 p(F=0) = 01

p(G=0 | B = 1 F = 1) = 02 p(G=0 | B = 1 F = 0) = 08 p(G=0 | B = 0 F = 1) = 08 p(G=0 | B = 0 F = 0) = 09

事前にこういった情報が与えられているとする

head-to-headの更に特殊な性質(弁明)

何も観測されていないとき燃料タンクが空である確率は

p(F=0) = 01

燃料計が空を指しているという事実を観測した時の燃料タンクが空である確率は(ベイズの定理より)

少し確率が高まっている

確率が低くなる

さらにバッテリーが切れている事実を観測した時の燃料タンクが空である確率は

図821

head-to-headの更に特殊な性質(弁明)

さらに子孫ノードのいずれかが観測されても 燃料タンクが空になる確率は変化する

子孫ノードが0

有向分離(D分離)リンクを遮断する時の法則今までの話をノード集合にまで拡張したもの

(グラフの形だけでわかる)

(a) 集合Cに含まれるノードであって経路に含まれる矢印がそこでhead-to-tailあるいはtail-to-tailである

(b) 経路に含まれる矢印がそのノードでhead-to-headであり自身あるいはそのすべての子孫のいずれもが集合Cに含まれない

CA B CA B

CA B

あらゆるA-C-Bの経路が遮断されていれば集合Aは集合Cにおいて集合Bと条件付き独立

有向分離(D分離)

図822

A AC C

B B

ノードaとノードbは集合C(ノードe f)で遮断できるかcが観測された場合 fが観測された場合

-gt 遮断されない -gt 遮断される

∵ fがtail-to-tailで観測されていない

eはhead-to-headだが子孫fがCに含まれる

∵ fがtail-to-tailで観測されている

eはhead-to-headでそれ自身あるいはその子孫が条件付き集合に

含まれない

有向分離(D分離)図85のモデルの有向分離性

パラメーターは観測済みノードと同じ amp 親ノードが無い

-gt 他のノードとのつながりは必ずtail-to-tailになる -gt 有向分離性に影響しない

124節のiidデータの有向分離性

図823

パラメーターuはtail-to-tail -gt uに値を入力したらあらゆる子ノード間で独立

-gt iid

uを積分消去した場合観測値は独立ではない

(835)

有向分離(D分離)図87のモデルの有向分離性

(836)

有向分離(D分離)ナイーブベイズの有向分離性

図824

例 bag-of-words

例 受信BOX迷惑メール

zが観測されるとあらゆるxノード間は独立

有向分離定理

1 有向分解(乗法定理を繰り返し適用して得た条件付き確率分布)

2 有向分離 (条件付き独立を繰り返し適用して得た条件付き確率分布)

以下の二つは同じ分布を得る

マルコフブランケット

xiが起きる確率をxi以外の全てのノードで条件付けた分布で考える

分母をxiで周辺化する

条件付き確率の積にする

xiに依存しないノードの条件付き確率は分子と打ち消し合う(次頁)

あるノードの条件付き独立性を考える時の最小単位

マルコフブランケット

図826

つまりxiの条件付き独立を考える時 1) 親子 2) 共同親 だけを考えれば良い

共同親A B

C

D E

F G

結局Cの条件付き確率P(C|AB)と Cの子ノードの条件付き確率P(D|CF)やP(E|CG)だけ残る

Cを含まない項は全部消える

無向グラフ(マルコフ確率場)無向グラフは条件付き独立を考えるのが簡単

図827集合Cを取り除いてA-B間の経路が無くなるなら条件付き独立

図828

無向グラフはマルコフブランケットも簡単

隣接ノードだけ考えれば良い

無向グラフ(マルコフ確率場)無向グラフの分解特性(これまで乗法定理を繰り返し適用していたもの)は以下のように定式化される

(838)

xi xj以外の全てのノードを取り除いた時の同時確率

よりと書くことも

各々の確率に分割できるならxijにおいてxixjは条件付き独立

クリーク

図829

無向グラフの分解特性は極大クリーク変数集合の関数にする事

クリーク x1 x2 x2 x3 x3 x4 x4 x2 極大クリーク x1 x2 x3 x2 x3 x4 x1 x2 x3 x4はクリークではない(x1 - x4間にリンクがない)

クリーク 全てのノードの組にリンクが存在するグラフの部分集合 極大クリーク もう一つを加えるとクリークでなくなってしまうようなクリーク

ポテンシャル関数極大クリークを引数としたポテンシャル関数

の積に分解するどんな関数にするかは言及しない

基本的に総和は1にならない -gt 規格化定数(分配関数)を導入

-gt 計算は大変

画像のノイズ除去の例

元のピクセル

ランダムに反転したピクセル

元画像10のピクセルをランダムに反転

ICMによる復元グラフカットアルゴリズムによる復元

(841)(842)

(843)

図831

有向-gt無向の変換図832のような簡単な場合

有向グラフ(a)無向グラフ(b)

以下のような対応づけができる

有向-gt無向の変換図833のような場合

親同士をリンクで結ぶ(モラル化)

1 向きを無くす 2 モラル化する 3 規格化する -gt ジャンクションツリーアルゴリズム(84)

生物の細胞

遺伝子間が相互作用のネットワークを形成している

geneX geneY

Protein X

Protein Y

様々な実験での遺伝子発現データ

とりうる可能性高い遺伝子ネットワークを探索(MAP推定)

データからこれを推定したい

実験

遺伝子

more

番外編 ベイジアンネットワークの学習

rarr 近似的に求めるアルゴリズムが開発される

httpwwwsclsrikenjpscruisesoftwaresign-bnhtml

番外編 ベイジアンネットワークの学習

こういうネットワーク構造は未知でデータから推定するアプローチはベイジアンネットワークのrdquo学習rdquoとかrdquo推論rdquoというらしい

(848で紹介だけしている)

SiGN-BN スパコン「京」で計算するソフトウェア自分の修論の内容

Rのbnlearnパッケージ(CBRCのBlue Gene上で実行)httpsignhgcjpsignbnindex_jahtml

番外編 ベイジアンネットワークの学習

番外編 ベイジアンネットワークの学習

どのグラフが良いか決める基準 尤度情報量基準(AIC BIC 尤度ampパラメーター数)

MAP推定(尤度times事前分布)hellip

データを元に最も最適と思われるグラフ構造を探索する

データ

グラフ

1 0 01 1 01 0 10 1 01 0 10 0 01 1 00 0 01 1 10 0 1

a b cb

a

c

b

a

c

b

a

c

データからグラフ構造を推定したい場合単純な式変形をしただけだと数学的に等しいので結局最適なグラフ構造を決定できないのでは(勉強会での議論)

=gt 実際にやってみた

番外編 ベイジアンネットワークの学習

httpwwwsclsrikenjpscruisewp-contentuploadssites3201312SIGN_HGC_Seminar_Tamada201302pdf

httpenwikipediaorgwikiDirected_acyclic_graph

ノード数の増加に対する取りうるDAG数

番外編 ベイジアンネットワークの学習

3ノードなら手計算でいけそう

乗法定理times2(n=6)

乗法定理times2 + 条件付き独立 (n=9)

乗法定理times1 + 独立(n=3)

全て独立(n=1)

乗法定理を使う (このままではグラフとして表現できない)

乗法定理times1 + 独立 + 条件付き独立(n=6)エッジ0個

エッジ1個

エッジ2個(head-to-tail tail-to-tail)

エッジ2個(head-to-head)

エッジ3個(全結合)

ノード3つで式変形を片っ端から行った

番外編 ベイジアンネットワークの学習

試しに以下のような簡単な01データを用いる またここでは単純に尤度のみでグラフの善し悪しを判定する

番外編 ベイジアンネットワークの学習

0 0 00 0 00 0 00 0 01 0 01 0 01 1 01 1 01 1 11 1 1

a b c

P(a) = 35 P(b) = 25 P(c) = 15 P(a b) = 25 P(b c) = 15 P(a c) = 15 P(a b c) = 15

P(a | b c) = 1 P(b | a c) = 1 P(c | a b) = 12 P(a | b) = 1 P(a | c) = 1 P(b | a) = 23 P(b | c) = 1 P(c | a) = 13 P(c | b) = 12

独立性について

番外編 ベイジアンネットワークの学習

0 0 00 0 00 0 00 0 01 0 01 0 01 1 01 1 01 1 11 1 1

a b c

P(a | b c) = P(a | b) P(a | b c) = P(a | c) P(b | a c) ne P(b | a) P(b | a c) = P(b | c) P(c | a b) ne P(c | a) P(c | a b) = P(c | b)

P(a b c) ne P(a) P(b) P(c) P(a b) ne P(a) P(b) P(b c) ne P(b) P(c) P(a c) ne P(a) P(c)

条件付き独立性について

データによって成り立ったり成り立たなかったりする

乗法定理times2(n=6)

乗法定理times2 + 条件付き独立 (n=9)

乗法定理times1 + 独立(n=3)

全て独立(n=1)

乗法定理times1 + 独立 + 条件付き独立(n=6)エッジ0個

エッジ1個

エッジ2個(head-to-tail tail-to-tail)

エッジ2個(head-to-head)

エッジ3個(全結合)

番外編 ベイジアンネットワークの学習

尤度を計算した

= 02= 02= 02= 02= 02= 02

= 0048

= 008= 012= 012

= 02= 02= 02= 02= 013

= 013= 02

= 02= 013

= 008= 008= 008= 012= 008= 012

乗法定理times2(n=6)エッジ3個(全結合)

番外編 ベイジアンネットワークの学習

= 02= 02= 02= 02= 02= 02

乗法定理で変形したものはグラフ構造は違うのにも関わらず尤度は等しい

b

a

cb

a

cb

a

cb

a

cb

a

cb

a

c

乗法定理times2 + 条件付き独立 (n=9)

乗法定理times1 + 独立(n=3)乗法定理times1 + 独立 + 条件付き独立(n=6)

エッジ0個

エッジ1個

エッジ2個(head-to-tail tail-to-tail)

エッジ2個(head-to-head)

番外編 ベイジアンネットワークの学習

= 008= 012= 012

= 02= 02= 02= 02= 013

= 013= 02

= 02= 013

= 008= 008= 008= 012= 008= 012

条件付き独立独立はデータによって成り立ったり成り立たなかったりする

「同じ尤度を持つDAGは複数存在する可能性がある」

21世紀の統計科学 第2巻 第6章 生命システムネットワークを明らかにするための統計的モデリング

Page 34: PRML8章

線形ガウスモデル813はxの成分に関する2次関数なのでp(x)はD次元正規分布()

(814)

この時期待値と分散は再帰的に求まる

(815)

(816)

線形ガウスモデルリンクが一つもないD個のノード 全結合グラフ

パラメーター数wij 0個 bi D個 vi D個

パラメーター数wij (D(D-1))2個 bi D個 vi D個

x1

b1 v1

x2

b2 v2

x3

b3 v3

x4

b4 v4x1

b1 v1

x2

b2 v2

x3

b3 v3

x4

b4 v4

線形ガウスモデル中間的なグラフ(例 図814)

パラメーター数wij D - 1個 bi D個 vi D個

x1

b1 v1

x2

b2 v2

x3

b3 v3

x4

b4 v4

線形ガウスモデル

ガウス分布の共役事前分布はガウス分布

ガウス変量の平均をガウス分布とする(事前分布) =gt ガウス分布の平均値は超パラメーター

=gt 超パラメーターがガウス分布だとするhellip(超事前分布)

=gt 階層ベイズモデル(何階層でもモデルを拡張複雑化できる)

条件付き独立性

(820)

bがあってもなくてもaの条件付き確率に影響を与えない

これをcが与えられた下でaはbに対して条件付き独立であるという

cに対してaとbが条件付き独立とは以下のように書く

(821)

(822)

条件付き独立性が示せるとリンクを減らせる

a

c

ba

c

b

可能性のある全ての条件付き独立性を調べればリンクは減らせる =gt 実際には計算量が膨大

=gt グラフの形だけで独立かどうか判断が可能(d-separationという枠組み)

条件付き独立性

以降はまず3つのノードの簡単なグラフで説明する

3つのグラフの例①

ab

c

tail-to-tail

cに対して周辺化

これはp(a) p(b)という形には変形できない (独立ではない)

cで条件付ける

p(a|c) p(b|c)という形に変形できた(条件付き独立block)

(823)

(824)tailtail

3つのグラフの例②

ab

c

head-to-tail

cに対して周辺化

これはp(a) p(b)という形には変形できない (独立ではない)

cで条件付ける

p(a|c) p(b|c)という形に変形できた(条件付き独立block)

(826)

3つのグラフの例③

ab

c

head-to-head

cに対して周辺化

これはp(a) p(b)という形に変形できた(独立)

(828)

確率の総和は1だから

3つのグラフの例③

ab

c

head-to-head

cで条件付ける

p(a|c) p(b|c)という形に変形できない(unblock)

(828)

3つのグラフの例(まとめ)

グラフの形 cで周辺化 cで条件付け

tail-to-tail 独立ではない 条件付き独立(block)

head-to-tail 独立ではない 条件付き独立(block)

head-to-head 独立 独立ではない(unblock)

head-to-headの更に特殊な性質(弁明)

図820

バッテリーの状態 0切れている

1充電されている

燃料タンクの状態 0空1満タン

電動燃料計 0空と示している

1満タンと示している

p(B=1) = 09 p(F=1) = 09

p(G=1 | B = 1 F = 1) = 08 p(G=1 | B = 1 F = 0) = 02 p(G=1 | B = 0 F = 1) = 02 p(G=1 | B = 0 F = 0) = 01

p(B=0) = 01 p(F=0) = 01

p(G=0 | B = 1 F = 1) = 02 p(G=0 | B = 1 F = 0) = 08 p(G=0 | B = 0 F = 1) = 08 p(G=0 | B = 0 F = 0) = 09

事前にこういった情報が与えられているとする

head-to-headの更に特殊な性質(弁明)

何も観測されていないとき燃料タンクが空である確率は

p(F=0) = 01

燃料計が空を指しているという事実を観測した時の燃料タンクが空である確率は(ベイズの定理より)

少し確率が高まっている

確率が低くなる

さらにバッテリーが切れている事実を観測した時の燃料タンクが空である確率は

図821

head-to-headの更に特殊な性質(弁明)

さらに子孫ノードのいずれかが観測されても 燃料タンクが空になる確率は変化する

子孫ノードが0

有向分離(D分離)リンクを遮断する時の法則今までの話をノード集合にまで拡張したもの

(グラフの形だけでわかる)

(a) 集合Cに含まれるノードであって経路に含まれる矢印がそこでhead-to-tailあるいはtail-to-tailである

(b) 経路に含まれる矢印がそのノードでhead-to-headであり自身あるいはそのすべての子孫のいずれもが集合Cに含まれない

CA B CA B

CA B

あらゆるA-C-Bの経路が遮断されていれば集合Aは集合Cにおいて集合Bと条件付き独立

有向分離(D分離)

図822

A AC C

B B

ノードaとノードbは集合C(ノードe f)で遮断できるかcが観測された場合 fが観測された場合

-gt 遮断されない -gt 遮断される

∵ fがtail-to-tailで観測されていない

eはhead-to-headだが子孫fがCに含まれる

∵ fがtail-to-tailで観測されている

eはhead-to-headでそれ自身あるいはその子孫が条件付き集合に

含まれない

有向分離(D分離)図85のモデルの有向分離性

パラメーターは観測済みノードと同じ amp 親ノードが無い

-gt 他のノードとのつながりは必ずtail-to-tailになる -gt 有向分離性に影響しない

124節のiidデータの有向分離性

図823

パラメーターuはtail-to-tail -gt uに値を入力したらあらゆる子ノード間で独立

-gt iid

uを積分消去した場合観測値は独立ではない

(835)

有向分離(D分離)図87のモデルの有向分離性

(836)

有向分離(D分離)ナイーブベイズの有向分離性

図824

例 bag-of-words

例 受信BOX迷惑メール

zが観測されるとあらゆるxノード間は独立

有向分離定理

1 有向分解(乗法定理を繰り返し適用して得た条件付き確率分布)

2 有向分離 (条件付き独立を繰り返し適用して得た条件付き確率分布)

以下の二つは同じ分布を得る

マルコフブランケット

xiが起きる確率をxi以外の全てのノードで条件付けた分布で考える

分母をxiで周辺化する

条件付き確率の積にする

xiに依存しないノードの条件付き確率は分子と打ち消し合う(次頁)

あるノードの条件付き独立性を考える時の最小単位

マルコフブランケット

図826

つまりxiの条件付き独立を考える時 1) 親子 2) 共同親 だけを考えれば良い

共同親A B

C

D E

F G

結局Cの条件付き確率P(C|AB)と Cの子ノードの条件付き確率P(D|CF)やP(E|CG)だけ残る

Cを含まない項は全部消える

無向グラフ(マルコフ確率場)無向グラフは条件付き独立を考えるのが簡単

図827集合Cを取り除いてA-B間の経路が無くなるなら条件付き独立

図828

無向グラフはマルコフブランケットも簡単

隣接ノードだけ考えれば良い

無向グラフ(マルコフ確率場)無向グラフの分解特性(これまで乗法定理を繰り返し適用していたもの)は以下のように定式化される

(838)

xi xj以外の全てのノードを取り除いた時の同時確率

よりと書くことも

各々の確率に分割できるならxijにおいてxixjは条件付き独立

クリーク

図829

無向グラフの分解特性は極大クリーク変数集合の関数にする事

クリーク x1 x2 x2 x3 x3 x4 x4 x2 極大クリーク x1 x2 x3 x2 x3 x4 x1 x2 x3 x4はクリークではない(x1 - x4間にリンクがない)

クリーク 全てのノードの組にリンクが存在するグラフの部分集合 極大クリーク もう一つを加えるとクリークでなくなってしまうようなクリーク

ポテンシャル関数極大クリークを引数としたポテンシャル関数

の積に分解するどんな関数にするかは言及しない

基本的に総和は1にならない -gt 規格化定数(分配関数)を導入

-gt 計算は大変

画像のノイズ除去の例

元のピクセル

ランダムに反転したピクセル

元画像10のピクセルをランダムに反転

ICMによる復元グラフカットアルゴリズムによる復元

(841)(842)

(843)

図831

有向-gt無向の変換図832のような簡単な場合

有向グラフ(a)無向グラフ(b)

以下のような対応づけができる

有向-gt無向の変換図833のような場合

親同士をリンクで結ぶ(モラル化)

1 向きを無くす 2 モラル化する 3 規格化する -gt ジャンクションツリーアルゴリズム(84)

生物の細胞

遺伝子間が相互作用のネットワークを形成している

geneX geneY

Protein X

Protein Y

様々な実験での遺伝子発現データ

とりうる可能性高い遺伝子ネットワークを探索(MAP推定)

データからこれを推定したい

実験

遺伝子

more

番外編 ベイジアンネットワークの学習

rarr 近似的に求めるアルゴリズムが開発される

httpwwwsclsrikenjpscruisesoftwaresign-bnhtml

番外編 ベイジアンネットワークの学習

こういうネットワーク構造は未知でデータから推定するアプローチはベイジアンネットワークのrdquo学習rdquoとかrdquo推論rdquoというらしい

(848で紹介だけしている)

SiGN-BN スパコン「京」で計算するソフトウェア自分の修論の内容

Rのbnlearnパッケージ(CBRCのBlue Gene上で実行)httpsignhgcjpsignbnindex_jahtml

番外編 ベイジアンネットワークの学習

番外編 ベイジアンネットワークの学習

どのグラフが良いか決める基準 尤度情報量基準(AIC BIC 尤度ampパラメーター数)

MAP推定(尤度times事前分布)hellip

データを元に最も最適と思われるグラフ構造を探索する

データ

グラフ

1 0 01 1 01 0 10 1 01 0 10 0 01 1 00 0 01 1 10 0 1

a b cb

a

c

b

a

c

b

a

c

データからグラフ構造を推定したい場合単純な式変形をしただけだと数学的に等しいので結局最適なグラフ構造を決定できないのでは(勉強会での議論)

=gt 実際にやってみた

番外編 ベイジアンネットワークの学習

httpwwwsclsrikenjpscruisewp-contentuploadssites3201312SIGN_HGC_Seminar_Tamada201302pdf

httpenwikipediaorgwikiDirected_acyclic_graph

ノード数の増加に対する取りうるDAG数

番外編 ベイジアンネットワークの学習

3ノードなら手計算でいけそう

乗法定理times2(n=6)

乗法定理times2 + 条件付き独立 (n=9)

乗法定理times1 + 独立(n=3)

全て独立(n=1)

乗法定理を使う (このままではグラフとして表現できない)

乗法定理times1 + 独立 + 条件付き独立(n=6)エッジ0個

エッジ1個

エッジ2個(head-to-tail tail-to-tail)

エッジ2個(head-to-head)

エッジ3個(全結合)

ノード3つで式変形を片っ端から行った

番外編 ベイジアンネットワークの学習

試しに以下のような簡単な01データを用いる またここでは単純に尤度のみでグラフの善し悪しを判定する

番外編 ベイジアンネットワークの学習

0 0 00 0 00 0 00 0 01 0 01 0 01 1 01 1 01 1 11 1 1

a b c

P(a) = 35 P(b) = 25 P(c) = 15 P(a b) = 25 P(b c) = 15 P(a c) = 15 P(a b c) = 15

P(a | b c) = 1 P(b | a c) = 1 P(c | a b) = 12 P(a | b) = 1 P(a | c) = 1 P(b | a) = 23 P(b | c) = 1 P(c | a) = 13 P(c | b) = 12

独立性について

番外編 ベイジアンネットワークの学習

0 0 00 0 00 0 00 0 01 0 01 0 01 1 01 1 01 1 11 1 1

a b c

P(a | b c) = P(a | b) P(a | b c) = P(a | c) P(b | a c) ne P(b | a) P(b | a c) = P(b | c) P(c | a b) ne P(c | a) P(c | a b) = P(c | b)

P(a b c) ne P(a) P(b) P(c) P(a b) ne P(a) P(b) P(b c) ne P(b) P(c) P(a c) ne P(a) P(c)

条件付き独立性について

データによって成り立ったり成り立たなかったりする

乗法定理times2(n=6)

乗法定理times2 + 条件付き独立 (n=9)

乗法定理times1 + 独立(n=3)

全て独立(n=1)

乗法定理times1 + 独立 + 条件付き独立(n=6)エッジ0個

エッジ1個

エッジ2個(head-to-tail tail-to-tail)

エッジ2個(head-to-head)

エッジ3個(全結合)

番外編 ベイジアンネットワークの学習

尤度を計算した

= 02= 02= 02= 02= 02= 02

= 0048

= 008= 012= 012

= 02= 02= 02= 02= 013

= 013= 02

= 02= 013

= 008= 008= 008= 012= 008= 012

乗法定理times2(n=6)エッジ3個(全結合)

番外編 ベイジアンネットワークの学習

= 02= 02= 02= 02= 02= 02

乗法定理で変形したものはグラフ構造は違うのにも関わらず尤度は等しい

b

a

cb

a

cb

a

cb

a

cb

a

cb

a

c

乗法定理times2 + 条件付き独立 (n=9)

乗法定理times1 + 独立(n=3)乗法定理times1 + 独立 + 条件付き独立(n=6)

エッジ0個

エッジ1個

エッジ2個(head-to-tail tail-to-tail)

エッジ2個(head-to-head)

番外編 ベイジアンネットワークの学習

= 008= 012= 012

= 02= 02= 02= 02= 013

= 013= 02

= 02= 013

= 008= 008= 008= 012= 008= 012

条件付き独立独立はデータによって成り立ったり成り立たなかったりする

「同じ尤度を持つDAGは複数存在する可能性がある」

21世紀の統計科学 第2巻 第6章 生命システムネットワークを明らかにするための統計的モデリング

Page 35: PRML8章

線形ガウスモデルリンクが一つもないD個のノード 全結合グラフ

パラメーター数wij 0個 bi D個 vi D個

パラメーター数wij (D(D-1))2個 bi D個 vi D個

x1

b1 v1

x2

b2 v2

x3

b3 v3

x4

b4 v4x1

b1 v1

x2

b2 v2

x3

b3 v3

x4

b4 v4

線形ガウスモデル中間的なグラフ(例 図814)

パラメーター数wij D - 1個 bi D個 vi D個

x1

b1 v1

x2

b2 v2

x3

b3 v3

x4

b4 v4

線形ガウスモデル

ガウス分布の共役事前分布はガウス分布

ガウス変量の平均をガウス分布とする(事前分布) =gt ガウス分布の平均値は超パラメーター

=gt 超パラメーターがガウス分布だとするhellip(超事前分布)

=gt 階層ベイズモデル(何階層でもモデルを拡張複雑化できる)

条件付き独立性

(820)

bがあってもなくてもaの条件付き確率に影響を与えない

これをcが与えられた下でaはbに対して条件付き独立であるという

cに対してaとbが条件付き独立とは以下のように書く

(821)

(822)

条件付き独立性が示せるとリンクを減らせる

a

c

ba

c

b

可能性のある全ての条件付き独立性を調べればリンクは減らせる =gt 実際には計算量が膨大

=gt グラフの形だけで独立かどうか判断が可能(d-separationという枠組み)

条件付き独立性

以降はまず3つのノードの簡単なグラフで説明する

3つのグラフの例①

ab

c

tail-to-tail

cに対して周辺化

これはp(a) p(b)という形には変形できない (独立ではない)

cで条件付ける

p(a|c) p(b|c)という形に変形できた(条件付き独立block)

(823)

(824)tailtail

3つのグラフの例②

ab

c

head-to-tail

cに対して周辺化

これはp(a) p(b)という形には変形できない (独立ではない)

cで条件付ける

p(a|c) p(b|c)という形に変形できた(条件付き独立block)

(826)

3つのグラフの例③

ab

c

head-to-head

cに対して周辺化

これはp(a) p(b)という形に変形できた(独立)

(828)

確率の総和は1だから

3つのグラフの例③

ab

c

head-to-head

cで条件付ける

p(a|c) p(b|c)という形に変形できない(unblock)

(828)

3つのグラフの例(まとめ)

グラフの形 cで周辺化 cで条件付け

tail-to-tail 独立ではない 条件付き独立(block)

head-to-tail 独立ではない 条件付き独立(block)

head-to-head 独立 独立ではない(unblock)

head-to-headの更に特殊な性質(弁明)

図820

バッテリーの状態 0切れている

1充電されている

燃料タンクの状態 0空1満タン

電動燃料計 0空と示している

1満タンと示している

p(B=1) = 09 p(F=1) = 09

p(G=1 | B = 1 F = 1) = 08 p(G=1 | B = 1 F = 0) = 02 p(G=1 | B = 0 F = 1) = 02 p(G=1 | B = 0 F = 0) = 01

p(B=0) = 01 p(F=0) = 01

p(G=0 | B = 1 F = 1) = 02 p(G=0 | B = 1 F = 0) = 08 p(G=0 | B = 0 F = 1) = 08 p(G=0 | B = 0 F = 0) = 09

事前にこういった情報が与えられているとする

head-to-headの更に特殊な性質(弁明)

何も観測されていないとき燃料タンクが空である確率は

p(F=0) = 01

燃料計が空を指しているという事実を観測した時の燃料タンクが空である確率は(ベイズの定理より)

少し確率が高まっている

確率が低くなる

さらにバッテリーが切れている事実を観測した時の燃料タンクが空である確率は

図821

head-to-headの更に特殊な性質(弁明)

さらに子孫ノードのいずれかが観測されても 燃料タンクが空になる確率は変化する

子孫ノードが0

有向分離(D分離)リンクを遮断する時の法則今までの話をノード集合にまで拡張したもの

(グラフの形だけでわかる)

(a) 集合Cに含まれるノードであって経路に含まれる矢印がそこでhead-to-tailあるいはtail-to-tailである

(b) 経路に含まれる矢印がそのノードでhead-to-headであり自身あるいはそのすべての子孫のいずれもが集合Cに含まれない

CA B CA B

CA B

あらゆるA-C-Bの経路が遮断されていれば集合Aは集合Cにおいて集合Bと条件付き独立

有向分離(D分離)

図822

A AC C

B B

ノードaとノードbは集合C(ノードe f)で遮断できるかcが観測された場合 fが観測された場合

-gt 遮断されない -gt 遮断される

∵ fがtail-to-tailで観測されていない

eはhead-to-headだが子孫fがCに含まれる

∵ fがtail-to-tailで観測されている

eはhead-to-headでそれ自身あるいはその子孫が条件付き集合に

含まれない

有向分離(D分離)図85のモデルの有向分離性

パラメーターは観測済みノードと同じ amp 親ノードが無い

-gt 他のノードとのつながりは必ずtail-to-tailになる -gt 有向分離性に影響しない

124節のiidデータの有向分離性

図823

パラメーターuはtail-to-tail -gt uに値を入力したらあらゆる子ノード間で独立

-gt iid

uを積分消去した場合観測値は独立ではない

(835)

有向分離(D分離)図87のモデルの有向分離性

(836)

有向分離(D分離)ナイーブベイズの有向分離性

図824

例 bag-of-words

例 受信BOX迷惑メール

zが観測されるとあらゆるxノード間は独立

有向分離定理

1 有向分解(乗法定理を繰り返し適用して得た条件付き確率分布)

2 有向分離 (条件付き独立を繰り返し適用して得た条件付き確率分布)

以下の二つは同じ分布を得る

マルコフブランケット

xiが起きる確率をxi以外の全てのノードで条件付けた分布で考える

分母をxiで周辺化する

条件付き確率の積にする

xiに依存しないノードの条件付き確率は分子と打ち消し合う(次頁)

あるノードの条件付き独立性を考える時の最小単位

マルコフブランケット

図826

つまりxiの条件付き独立を考える時 1) 親子 2) 共同親 だけを考えれば良い

共同親A B

C

D E

F G

結局Cの条件付き確率P(C|AB)と Cの子ノードの条件付き確率P(D|CF)やP(E|CG)だけ残る

Cを含まない項は全部消える

無向グラフ(マルコフ確率場)無向グラフは条件付き独立を考えるのが簡単

図827集合Cを取り除いてA-B間の経路が無くなるなら条件付き独立

図828

無向グラフはマルコフブランケットも簡単

隣接ノードだけ考えれば良い

無向グラフ(マルコフ確率場)無向グラフの分解特性(これまで乗法定理を繰り返し適用していたもの)は以下のように定式化される

(838)

xi xj以外の全てのノードを取り除いた時の同時確率

よりと書くことも

各々の確率に分割できるならxijにおいてxixjは条件付き独立

クリーク

図829

無向グラフの分解特性は極大クリーク変数集合の関数にする事

クリーク x1 x2 x2 x3 x3 x4 x4 x2 極大クリーク x1 x2 x3 x2 x3 x4 x1 x2 x3 x4はクリークではない(x1 - x4間にリンクがない)

クリーク 全てのノードの組にリンクが存在するグラフの部分集合 極大クリーク もう一つを加えるとクリークでなくなってしまうようなクリーク

ポテンシャル関数極大クリークを引数としたポテンシャル関数

の積に分解するどんな関数にするかは言及しない

基本的に総和は1にならない -gt 規格化定数(分配関数)を導入

-gt 計算は大変

画像のノイズ除去の例

元のピクセル

ランダムに反転したピクセル

元画像10のピクセルをランダムに反転

ICMによる復元グラフカットアルゴリズムによる復元

(841)(842)

(843)

図831

有向-gt無向の変換図832のような簡単な場合

有向グラフ(a)無向グラフ(b)

以下のような対応づけができる

有向-gt無向の変換図833のような場合

親同士をリンクで結ぶ(モラル化)

1 向きを無くす 2 モラル化する 3 規格化する -gt ジャンクションツリーアルゴリズム(84)

生物の細胞

遺伝子間が相互作用のネットワークを形成している

geneX geneY

Protein X

Protein Y

様々な実験での遺伝子発現データ

とりうる可能性高い遺伝子ネットワークを探索(MAP推定)

データからこれを推定したい

実験

遺伝子

more

番外編 ベイジアンネットワークの学習

rarr 近似的に求めるアルゴリズムが開発される

httpwwwsclsrikenjpscruisesoftwaresign-bnhtml

番外編 ベイジアンネットワークの学習

こういうネットワーク構造は未知でデータから推定するアプローチはベイジアンネットワークのrdquo学習rdquoとかrdquo推論rdquoというらしい

(848で紹介だけしている)

SiGN-BN スパコン「京」で計算するソフトウェア自分の修論の内容

Rのbnlearnパッケージ(CBRCのBlue Gene上で実行)httpsignhgcjpsignbnindex_jahtml

番外編 ベイジアンネットワークの学習

番外編 ベイジアンネットワークの学習

どのグラフが良いか決める基準 尤度情報量基準(AIC BIC 尤度ampパラメーター数)

MAP推定(尤度times事前分布)hellip

データを元に最も最適と思われるグラフ構造を探索する

データ

グラフ

1 0 01 1 01 0 10 1 01 0 10 0 01 1 00 0 01 1 10 0 1

a b cb

a

c

b

a

c

b

a

c

データからグラフ構造を推定したい場合単純な式変形をしただけだと数学的に等しいので結局最適なグラフ構造を決定できないのでは(勉強会での議論)

=gt 実際にやってみた

番外編 ベイジアンネットワークの学習

httpwwwsclsrikenjpscruisewp-contentuploadssites3201312SIGN_HGC_Seminar_Tamada201302pdf

httpenwikipediaorgwikiDirected_acyclic_graph

ノード数の増加に対する取りうるDAG数

番外編 ベイジアンネットワークの学習

3ノードなら手計算でいけそう

乗法定理times2(n=6)

乗法定理times2 + 条件付き独立 (n=9)

乗法定理times1 + 独立(n=3)

全て独立(n=1)

乗法定理を使う (このままではグラフとして表現できない)

乗法定理times1 + 独立 + 条件付き独立(n=6)エッジ0個

エッジ1個

エッジ2個(head-to-tail tail-to-tail)

エッジ2個(head-to-head)

エッジ3個(全結合)

ノード3つで式変形を片っ端から行った

番外編 ベイジアンネットワークの学習

試しに以下のような簡単な01データを用いる またここでは単純に尤度のみでグラフの善し悪しを判定する

番外編 ベイジアンネットワークの学習

0 0 00 0 00 0 00 0 01 0 01 0 01 1 01 1 01 1 11 1 1

a b c

P(a) = 35 P(b) = 25 P(c) = 15 P(a b) = 25 P(b c) = 15 P(a c) = 15 P(a b c) = 15

P(a | b c) = 1 P(b | a c) = 1 P(c | a b) = 12 P(a | b) = 1 P(a | c) = 1 P(b | a) = 23 P(b | c) = 1 P(c | a) = 13 P(c | b) = 12

独立性について

番外編 ベイジアンネットワークの学習

0 0 00 0 00 0 00 0 01 0 01 0 01 1 01 1 01 1 11 1 1

a b c

P(a | b c) = P(a | b) P(a | b c) = P(a | c) P(b | a c) ne P(b | a) P(b | a c) = P(b | c) P(c | a b) ne P(c | a) P(c | a b) = P(c | b)

P(a b c) ne P(a) P(b) P(c) P(a b) ne P(a) P(b) P(b c) ne P(b) P(c) P(a c) ne P(a) P(c)

条件付き独立性について

データによって成り立ったり成り立たなかったりする

乗法定理times2(n=6)

乗法定理times2 + 条件付き独立 (n=9)

乗法定理times1 + 独立(n=3)

全て独立(n=1)

乗法定理times1 + 独立 + 条件付き独立(n=6)エッジ0個

エッジ1個

エッジ2個(head-to-tail tail-to-tail)

エッジ2個(head-to-head)

エッジ3個(全結合)

番外編 ベイジアンネットワークの学習

尤度を計算した

= 02= 02= 02= 02= 02= 02

= 0048

= 008= 012= 012

= 02= 02= 02= 02= 013

= 013= 02

= 02= 013

= 008= 008= 008= 012= 008= 012

乗法定理times2(n=6)エッジ3個(全結合)

番外編 ベイジアンネットワークの学習

= 02= 02= 02= 02= 02= 02

乗法定理で変形したものはグラフ構造は違うのにも関わらず尤度は等しい

b

a

cb

a

cb

a

cb

a

cb

a

cb

a

c

乗法定理times2 + 条件付き独立 (n=9)

乗法定理times1 + 独立(n=3)乗法定理times1 + 独立 + 条件付き独立(n=6)

エッジ0個

エッジ1個

エッジ2個(head-to-tail tail-to-tail)

エッジ2個(head-to-head)

番外編 ベイジアンネットワークの学習

= 008= 012= 012

= 02= 02= 02= 02= 013

= 013= 02

= 02= 013

= 008= 008= 008= 012= 008= 012

条件付き独立独立はデータによって成り立ったり成り立たなかったりする

「同じ尤度を持つDAGは複数存在する可能性がある」

21世紀の統計科学 第2巻 第6章 生命システムネットワークを明らかにするための統計的モデリング

Page 36: PRML8章

線形ガウスモデル中間的なグラフ(例 図814)

パラメーター数wij D - 1個 bi D個 vi D個

x1

b1 v1

x2

b2 v2

x3

b3 v3

x4

b4 v4

線形ガウスモデル

ガウス分布の共役事前分布はガウス分布

ガウス変量の平均をガウス分布とする(事前分布) =gt ガウス分布の平均値は超パラメーター

=gt 超パラメーターがガウス分布だとするhellip(超事前分布)

=gt 階層ベイズモデル(何階層でもモデルを拡張複雑化できる)

条件付き独立性

(820)

bがあってもなくてもaの条件付き確率に影響を与えない

これをcが与えられた下でaはbに対して条件付き独立であるという

cに対してaとbが条件付き独立とは以下のように書く

(821)

(822)

条件付き独立性が示せるとリンクを減らせる

a

c

ba

c

b

可能性のある全ての条件付き独立性を調べればリンクは減らせる =gt 実際には計算量が膨大

=gt グラフの形だけで独立かどうか判断が可能(d-separationという枠組み)

条件付き独立性

以降はまず3つのノードの簡単なグラフで説明する

3つのグラフの例①

ab

c

tail-to-tail

cに対して周辺化

これはp(a) p(b)という形には変形できない (独立ではない)

cで条件付ける

p(a|c) p(b|c)という形に変形できた(条件付き独立block)

(823)

(824)tailtail

3つのグラフの例②

ab

c

head-to-tail

cに対して周辺化

これはp(a) p(b)という形には変形できない (独立ではない)

cで条件付ける

p(a|c) p(b|c)という形に変形できた(条件付き独立block)

(826)

3つのグラフの例③

ab

c

head-to-head

cに対して周辺化

これはp(a) p(b)という形に変形できた(独立)

(828)

確率の総和は1だから

3つのグラフの例③

ab

c

head-to-head

cで条件付ける

p(a|c) p(b|c)という形に変形できない(unblock)

(828)

3つのグラフの例(まとめ)

グラフの形 cで周辺化 cで条件付け

tail-to-tail 独立ではない 条件付き独立(block)

head-to-tail 独立ではない 条件付き独立(block)

head-to-head 独立 独立ではない(unblock)

head-to-headの更に特殊な性質(弁明)

図820

バッテリーの状態 0切れている

1充電されている

燃料タンクの状態 0空1満タン

電動燃料計 0空と示している

1満タンと示している

p(B=1) = 09 p(F=1) = 09

p(G=1 | B = 1 F = 1) = 08 p(G=1 | B = 1 F = 0) = 02 p(G=1 | B = 0 F = 1) = 02 p(G=1 | B = 0 F = 0) = 01

p(B=0) = 01 p(F=0) = 01

p(G=0 | B = 1 F = 1) = 02 p(G=0 | B = 1 F = 0) = 08 p(G=0 | B = 0 F = 1) = 08 p(G=0 | B = 0 F = 0) = 09

事前にこういった情報が与えられているとする

head-to-headの更に特殊な性質(弁明)

何も観測されていないとき燃料タンクが空である確率は

p(F=0) = 01

燃料計が空を指しているという事実を観測した時の燃料タンクが空である確率は(ベイズの定理より)

少し確率が高まっている

確率が低くなる

さらにバッテリーが切れている事実を観測した時の燃料タンクが空である確率は

図821

head-to-headの更に特殊な性質(弁明)

さらに子孫ノードのいずれかが観測されても 燃料タンクが空になる確率は変化する

子孫ノードが0

有向分離(D分離)リンクを遮断する時の法則今までの話をノード集合にまで拡張したもの

(グラフの形だけでわかる)

(a) 集合Cに含まれるノードであって経路に含まれる矢印がそこでhead-to-tailあるいはtail-to-tailである

(b) 経路に含まれる矢印がそのノードでhead-to-headであり自身あるいはそのすべての子孫のいずれもが集合Cに含まれない

CA B CA B

CA B

あらゆるA-C-Bの経路が遮断されていれば集合Aは集合Cにおいて集合Bと条件付き独立

有向分離(D分離)

図822

A AC C

B B

ノードaとノードbは集合C(ノードe f)で遮断できるかcが観測された場合 fが観測された場合

-gt 遮断されない -gt 遮断される

∵ fがtail-to-tailで観測されていない

eはhead-to-headだが子孫fがCに含まれる

∵ fがtail-to-tailで観測されている

eはhead-to-headでそれ自身あるいはその子孫が条件付き集合に

含まれない

有向分離(D分離)図85のモデルの有向分離性

パラメーターは観測済みノードと同じ amp 親ノードが無い

-gt 他のノードとのつながりは必ずtail-to-tailになる -gt 有向分離性に影響しない

124節のiidデータの有向分離性

図823

パラメーターuはtail-to-tail -gt uに値を入力したらあらゆる子ノード間で独立

-gt iid

uを積分消去した場合観測値は独立ではない

(835)

有向分離(D分離)図87のモデルの有向分離性

(836)

有向分離(D分離)ナイーブベイズの有向分離性

図824

例 bag-of-words

例 受信BOX迷惑メール

zが観測されるとあらゆるxノード間は独立

有向分離定理

1 有向分解(乗法定理を繰り返し適用して得た条件付き確率分布)

2 有向分離 (条件付き独立を繰り返し適用して得た条件付き確率分布)

以下の二つは同じ分布を得る

マルコフブランケット

xiが起きる確率をxi以外の全てのノードで条件付けた分布で考える

分母をxiで周辺化する

条件付き確率の積にする

xiに依存しないノードの条件付き確率は分子と打ち消し合う(次頁)

あるノードの条件付き独立性を考える時の最小単位

マルコフブランケット

図826

つまりxiの条件付き独立を考える時 1) 親子 2) 共同親 だけを考えれば良い

共同親A B

C

D E

F G

結局Cの条件付き確率P(C|AB)と Cの子ノードの条件付き確率P(D|CF)やP(E|CG)だけ残る

Cを含まない項は全部消える

無向グラフ(マルコフ確率場)無向グラフは条件付き独立を考えるのが簡単

図827集合Cを取り除いてA-B間の経路が無くなるなら条件付き独立

図828

無向グラフはマルコフブランケットも簡単

隣接ノードだけ考えれば良い

無向グラフ(マルコフ確率場)無向グラフの分解特性(これまで乗法定理を繰り返し適用していたもの)は以下のように定式化される

(838)

xi xj以外の全てのノードを取り除いた時の同時確率

よりと書くことも

各々の確率に分割できるならxijにおいてxixjは条件付き独立

クリーク

図829

無向グラフの分解特性は極大クリーク変数集合の関数にする事

クリーク x1 x2 x2 x3 x3 x4 x4 x2 極大クリーク x1 x2 x3 x2 x3 x4 x1 x2 x3 x4はクリークではない(x1 - x4間にリンクがない)

クリーク 全てのノードの組にリンクが存在するグラフの部分集合 極大クリーク もう一つを加えるとクリークでなくなってしまうようなクリーク

ポテンシャル関数極大クリークを引数としたポテンシャル関数

の積に分解するどんな関数にするかは言及しない

基本的に総和は1にならない -gt 規格化定数(分配関数)を導入

-gt 計算は大変

画像のノイズ除去の例

元のピクセル

ランダムに反転したピクセル

元画像10のピクセルをランダムに反転

ICMによる復元グラフカットアルゴリズムによる復元

(841)(842)

(843)

図831

有向-gt無向の変換図832のような簡単な場合

有向グラフ(a)無向グラフ(b)

以下のような対応づけができる

有向-gt無向の変換図833のような場合

親同士をリンクで結ぶ(モラル化)

1 向きを無くす 2 モラル化する 3 規格化する -gt ジャンクションツリーアルゴリズム(84)

生物の細胞

遺伝子間が相互作用のネットワークを形成している

geneX geneY

Protein X

Protein Y

様々な実験での遺伝子発現データ

とりうる可能性高い遺伝子ネットワークを探索(MAP推定)

データからこれを推定したい

実験

遺伝子

more

番外編 ベイジアンネットワークの学習

rarr 近似的に求めるアルゴリズムが開発される

httpwwwsclsrikenjpscruisesoftwaresign-bnhtml

番外編 ベイジアンネットワークの学習

こういうネットワーク構造は未知でデータから推定するアプローチはベイジアンネットワークのrdquo学習rdquoとかrdquo推論rdquoというらしい

(848で紹介だけしている)

SiGN-BN スパコン「京」で計算するソフトウェア自分の修論の内容

Rのbnlearnパッケージ(CBRCのBlue Gene上で実行)httpsignhgcjpsignbnindex_jahtml

番外編 ベイジアンネットワークの学習

番外編 ベイジアンネットワークの学習

どのグラフが良いか決める基準 尤度情報量基準(AIC BIC 尤度ampパラメーター数)

MAP推定(尤度times事前分布)hellip

データを元に最も最適と思われるグラフ構造を探索する

データ

グラフ

1 0 01 1 01 0 10 1 01 0 10 0 01 1 00 0 01 1 10 0 1

a b cb

a

c

b

a

c

b

a

c

データからグラフ構造を推定したい場合単純な式変形をしただけだと数学的に等しいので結局最適なグラフ構造を決定できないのでは(勉強会での議論)

=gt 実際にやってみた

番外編 ベイジアンネットワークの学習

httpwwwsclsrikenjpscruisewp-contentuploadssites3201312SIGN_HGC_Seminar_Tamada201302pdf

httpenwikipediaorgwikiDirected_acyclic_graph

ノード数の増加に対する取りうるDAG数

番外編 ベイジアンネットワークの学習

3ノードなら手計算でいけそう

乗法定理times2(n=6)

乗法定理times2 + 条件付き独立 (n=9)

乗法定理times1 + 独立(n=3)

全て独立(n=1)

乗法定理を使う (このままではグラフとして表現できない)

乗法定理times1 + 独立 + 条件付き独立(n=6)エッジ0個

エッジ1個

エッジ2個(head-to-tail tail-to-tail)

エッジ2個(head-to-head)

エッジ3個(全結合)

ノード3つで式変形を片っ端から行った

番外編 ベイジアンネットワークの学習

試しに以下のような簡単な01データを用いる またここでは単純に尤度のみでグラフの善し悪しを判定する

番外編 ベイジアンネットワークの学習

0 0 00 0 00 0 00 0 01 0 01 0 01 1 01 1 01 1 11 1 1

a b c

P(a) = 35 P(b) = 25 P(c) = 15 P(a b) = 25 P(b c) = 15 P(a c) = 15 P(a b c) = 15

P(a | b c) = 1 P(b | a c) = 1 P(c | a b) = 12 P(a | b) = 1 P(a | c) = 1 P(b | a) = 23 P(b | c) = 1 P(c | a) = 13 P(c | b) = 12

独立性について

番外編 ベイジアンネットワークの学習

0 0 00 0 00 0 00 0 01 0 01 0 01 1 01 1 01 1 11 1 1

a b c

P(a | b c) = P(a | b) P(a | b c) = P(a | c) P(b | a c) ne P(b | a) P(b | a c) = P(b | c) P(c | a b) ne P(c | a) P(c | a b) = P(c | b)

P(a b c) ne P(a) P(b) P(c) P(a b) ne P(a) P(b) P(b c) ne P(b) P(c) P(a c) ne P(a) P(c)

条件付き独立性について

データによって成り立ったり成り立たなかったりする

乗法定理times2(n=6)

乗法定理times2 + 条件付き独立 (n=9)

乗法定理times1 + 独立(n=3)

全て独立(n=1)

乗法定理times1 + 独立 + 条件付き独立(n=6)エッジ0個

エッジ1個

エッジ2個(head-to-tail tail-to-tail)

エッジ2個(head-to-head)

エッジ3個(全結合)

番外編 ベイジアンネットワークの学習

尤度を計算した

= 02= 02= 02= 02= 02= 02

= 0048

= 008= 012= 012

= 02= 02= 02= 02= 013

= 013= 02

= 02= 013

= 008= 008= 008= 012= 008= 012

乗法定理times2(n=6)エッジ3個(全結合)

番外編 ベイジアンネットワークの学習

= 02= 02= 02= 02= 02= 02

乗法定理で変形したものはグラフ構造は違うのにも関わらず尤度は等しい

b

a

cb

a

cb

a

cb

a

cb

a

cb

a

c

乗法定理times2 + 条件付き独立 (n=9)

乗法定理times1 + 独立(n=3)乗法定理times1 + 独立 + 条件付き独立(n=6)

エッジ0個

エッジ1個

エッジ2個(head-to-tail tail-to-tail)

エッジ2個(head-to-head)

番外編 ベイジアンネットワークの学習

= 008= 012= 012

= 02= 02= 02= 02= 013

= 013= 02

= 02= 013

= 008= 008= 008= 012= 008= 012

条件付き独立独立はデータによって成り立ったり成り立たなかったりする

「同じ尤度を持つDAGは複数存在する可能性がある」

21世紀の統計科学 第2巻 第6章 生命システムネットワークを明らかにするための統計的モデリング

Page 37: PRML8章

線形ガウスモデル

ガウス分布の共役事前分布はガウス分布

ガウス変量の平均をガウス分布とする(事前分布) =gt ガウス分布の平均値は超パラメーター

=gt 超パラメーターがガウス分布だとするhellip(超事前分布)

=gt 階層ベイズモデル(何階層でもモデルを拡張複雑化できる)

条件付き独立性

(820)

bがあってもなくてもaの条件付き確率に影響を与えない

これをcが与えられた下でaはbに対して条件付き独立であるという

cに対してaとbが条件付き独立とは以下のように書く

(821)

(822)

条件付き独立性が示せるとリンクを減らせる

a

c

ba

c

b

可能性のある全ての条件付き独立性を調べればリンクは減らせる =gt 実際には計算量が膨大

=gt グラフの形だけで独立かどうか判断が可能(d-separationという枠組み)

条件付き独立性

以降はまず3つのノードの簡単なグラフで説明する

3つのグラフの例①

ab

c

tail-to-tail

cに対して周辺化

これはp(a) p(b)という形には変形できない (独立ではない)

cで条件付ける

p(a|c) p(b|c)という形に変形できた(条件付き独立block)

(823)

(824)tailtail

3つのグラフの例②

ab

c

head-to-tail

cに対して周辺化

これはp(a) p(b)という形には変形できない (独立ではない)

cで条件付ける

p(a|c) p(b|c)という形に変形できた(条件付き独立block)

(826)

3つのグラフの例③

ab

c

head-to-head

cに対して周辺化

これはp(a) p(b)という形に変形できた(独立)

(828)

確率の総和は1だから

3つのグラフの例③

ab

c

head-to-head

cで条件付ける

p(a|c) p(b|c)という形に変形できない(unblock)

(828)

3つのグラフの例(まとめ)

グラフの形 cで周辺化 cで条件付け

tail-to-tail 独立ではない 条件付き独立(block)

head-to-tail 独立ではない 条件付き独立(block)

head-to-head 独立 独立ではない(unblock)

head-to-headの更に特殊な性質(弁明)

図820

バッテリーの状態 0切れている

1充電されている

燃料タンクの状態 0空1満タン

電動燃料計 0空と示している

1満タンと示している

p(B=1) = 09 p(F=1) = 09

p(G=1 | B = 1 F = 1) = 08 p(G=1 | B = 1 F = 0) = 02 p(G=1 | B = 0 F = 1) = 02 p(G=1 | B = 0 F = 0) = 01

p(B=0) = 01 p(F=0) = 01

p(G=0 | B = 1 F = 1) = 02 p(G=0 | B = 1 F = 0) = 08 p(G=0 | B = 0 F = 1) = 08 p(G=0 | B = 0 F = 0) = 09

事前にこういった情報が与えられているとする

head-to-headの更に特殊な性質(弁明)

何も観測されていないとき燃料タンクが空である確率は

p(F=0) = 01

燃料計が空を指しているという事実を観測した時の燃料タンクが空である確率は(ベイズの定理より)

少し確率が高まっている

確率が低くなる

さらにバッテリーが切れている事実を観測した時の燃料タンクが空である確率は

図821

head-to-headの更に特殊な性質(弁明)

さらに子孫ノードのいずれかが観測されても 燃料タンクが空になる確率は変化する

子孫ノードが0

有向分離(D分離)リンクを遮断する時の法則今までの話をノード集合にまで拡張したもの

(グラフの形だけでわかる)

(a) 集合Cに含まれるノードであって経路に含まれる矢印がそこでhead-to-tailあるいはtail-to-tailである

(b) 経路に含まれる矢印がそのノードでhead-to-headであり自身あるいはそのすべての子孫のいずれもが集合Cに含まれない

CA B CA B

CA B

あらゆるA-C-Bの経路が遮断されていれば集合Aは集合Cにおいて集合Bと条件付き独立

有向分離(D分離)

図822

A AC C

B B

ノードaとノードbは集合C(ノードe f)で遮断できるかcが観測された場合 fが観測された場合

-gt 遮断されない -gt 遮断される

∵ fがtail-to-tailで観測されていない

eはhead-to-headだが子孫fがCに含まれる

∵ fがtail-to-tailで観測されている

eはhead-to-headでそれ自身あるいはその子孫が条件付き集合に

含まれない

有向分離(D分離)図85のモデルの有向分離性

パラメーターは観測済みノードと同じ amp 親ノードが無い

-gt 他のノードとのつながりは必ずtail-to-tailになる -gt 有向分離性に影響しない

124節のiidデータの有向分離性

図823

パラメーターuはtail-to-tail -gt uに値を入力したらあらゆる子ノード間で独立

-gt iid

uを積分消去した場合観測値は独立ではない

(835)

有向分離(D分離)図87のモデルの有向分離性

(836)

有向分離(D分離)ナイーブベイズの有向分離性

図824

例 bag-of-words

例 受信BOX迷惑メール

zが観測されるとあらゆるxノード間は独立

有向分離定理

1 有向分解(乗法定理を繰り返し適用して得た条件付き確率分布)

2 有向分離 (条件付き独立を繰り返し適用して得た条件付き確率分布)

以下の二つは同じ分布を得る

マルコフブランケット

xiが起きる確率をxi以外の全てのノードで条件付けた分布で考える

分母をxiで周辺化する

条件付き確率の積にする

xiに依存しないノードの条件付き確率は分子と打ち消し合う(次頁)

あるノードの条件付き独立性を考える時の最小単位

マルコフブランケット

図826

つまりxiの条件付き独立を考える時 1) 親子 2) 共同親 だけを考えれば良い

共同親A B

C

D E

F G

結局Cの条件付き確率P(C|AB)と Cの子ノードの条件付き確率P(D|CF)やP(E|CG)だけ残る

Cを含まない項は全部消える

無向グラフ(マルコフ確率場)無向グラフは条件付き独立を考えるのが簡単

図827集合Cを取り除いてA-B間の経路が無くなるなら条件付き独立

図828

無向グラフはマルコフブランケットも簡単

隣接ノードだけ考えれば良い

無向グラフ(マルコフ確率場)無向グラフの分解特性(これまで乗法定理を繰り返し適用していたもの)は以下のように定式化される

(838)

xi xj以外の全てのノードを取り除いた時の同時確率

よりと書くことも

各々の確率に分割できるならxijにおいてxixjは条件付き独立

クリーク

図829

無向グラフの分解特性は極大クリーク変数集合の関数にする事

クリーク x1 x2 x2 x3 x3 x4 x4 x2 極大クリーク x1 x2 x3 x2 x3 x4 x1 x2 x3 x4はクリークではない(x1 - x4間にリンクがない)

クリーク 全てのノードの組にリンクが存在するグラフの部分集合 極大クリーク もう一つを加えるとクリークでなくなってしまうようなクリーク

ポテンシャル関数極大クリークを引数としたポテンシャル関数

の積に分解するどんな関数にするかは言及しない

基本的に総和は1にならない -gt 規格化定数(分配関数)を導入

-gt 計算は大変

画像のノイズ除去の例

元のピクセル

ランダムに反転したピクセル

元画像10のピクセルをランダムに反転

ICMによる復元グラフカットアルゴリズムによる復元

(841)(842)

(843)

図831

有向-gt無向の変換図832のような簡単な場合

有向グラフ(a)無向グラフ(b)

以下のような対応づけができる

有向-gt無向の変換図833のような場合

親同士をリンクで結ぶ(モラル化)

1 向きを無くす 2 モラル化する 3 規格化する -gt ジャンクションツリーアルゴリズム(84)

生物の細胞

遺伝子間が相互作用のネットワークを形成している

geneX geneY

Protein X

Protein Y

様々な実験での遺伝子発現データ

とりうる可能性高い遺伝子ネットワークを探索(MAP推定)

データからこれを推定したい

実験

遺伝子

more

番外編 ベイジアンネットワークの学習

rarr 近似的に求めるアルゴリズムが開発される

httpwwwsclsrikenjpscruisesoftwaresign-bnhtml

番外編 ベイジアンネットワークの学習

こういうネットワーク構造は未知でデータから推定するアプローチはベイジアンネットワークのrdquo学習rdquoとかrdquo推論rdquoというらしい

(848で紹介だけしている)

SiGN-BN スパコン「京」で計算するソフトウェア自分の修論の内容

Rのbnlearnパッケージ(CBRCのBlue Gene上で実行)httpsignhgcjpsignbnindex_jahtml

番外編 ベイジアンネットワークの学習

番外編 ベイジアンネットワークの学習

どのグラフが良いか決める基準 尤度情報量基準(AIC BIC 尤度ampパラメーター数)

MAP推定(尤度times事前分布)hellip

データを元に最も最適と思われるグラフ構造を探索する

データ

グラフ

1 0 01 1 01 0 10 1 01 0 10 0 01 1 00 0 01 1 10 0 1

a b cb

a

c

b

a

c

b

a

c

データからグラフ構造を推定したい場合単純な式変形をしただけだと数学的に等しいので結局最適なグラフ構造を決定できないのでは(勉強会での議論)

=gt 実際にやってみた

番外編 ベイジアンネットワークの学習

httpwwwsclsrikenjpscruisewp-contentuploadssites3201312SIGN_HGC_Seminar_Tamada201302pdf

httpenwikipediaorgwikiDirected_acyclic_graph

ノード数の増加に対する取りうるDAG数

番外編 ベイジアンネットワークの学習

3ノードなら手計算でいけそう

乗法定理times2(n=6)

乗法定理times2 + 条件付き独立 (n=9)

乗法定理times1 + 独立(n=3)

全て独立(n=1)

乗法定理を使う (このままではグラフとして表現できない)

乗法定理times1 + 独立 + 条件付き独立(n=6)エッジ0個

エッジ1個

エッジ2個(head-to-tail tail-to-tail)

エッジ2個(head-to-head)

エッジ3個(全結合)

ノード3つで式変形を片っ端から行った

番外編 ベイジアンネットワークの学習

試しに以下のような簡単な01データを用いる またここでは単純に尤度のみでグラフの善し悪しを判定する

番外編 ベイジアンネットワークの学習

0 0 00 0 00 0 00 0 01 0 01 0 01 1 01 1 01 1 11 1 1

a b c

P(a) = 35 P(b) = 25 P(c) = 15 P(a b) = 25 P(b c) = 15 P(a c) = 15 P(a b c) = 15

P(a | b c) = 1 P(b | a c) = 1 P(c | a b) = 12 P(a | b) = 1 P(a | c) = 1 P(b | a) = 23 P(b | c) = 1 P(c | a) = 13 P(c | b) = 12

独立性について

番外編 ベイジアンネットワークの学習

0 0 00 0 00 0 00 0 01 0 01 0 01 1 01 1 01 1 11 1 1

a b c

P(a | b c) = P(a | b) P(a | b c) = P(a | c) P(b | a c) ne P(b | a) P(b | a c) = P(b | c) P(c | a b) ne P(c | a) P(c | a b) = P(c | b)

P(a b c) ne P(a) P(b) P(c) P(a b) ne P(a) P(b) P(b c) ne P(b) P(c) P(a c) ne P(a) P(c)

条件付き独立性について

データによって成り立ったり成り立たなかったりする

乗法定理times2(n=6)

乗法定理times2 + 条件付き独立 (n=9)

乗法定理times1 + 独立(n=3)

全て独立(n=1)

乗法定理times1 + 独立 + 条件付き独立(n=6)エッジ0個

エッジ1個

エッジ2個(head-to-tail tail-to-tail)

エッジ2個(head-to-head)

エッジ3個(全結合)

番外編 ベイジアンネットワークの学習

尤度を計算した

= 02= 02= 02= 02= 02= 02

= 0048

= 008= 012= 012

= 02= 02= 02= 02= 013

= 013= 02

= 02= 013

= 008= 008= 008= 012= 008= 012

乗法定理times2(n=6)エッジ3個(全結合)

番外編 ベイジアンネットワークの学習

= 02= 02= 02= 02= 02= 02

乗法定理で変形したものはグラフ構造は違うのにも関わらず尤度は等しい

b

a

cb

a

cb

a

cb

a

cb

a

cb

a

c

乗法定理times2 + 条件付き独立 (n=9)

乗法定理times1 + 独立(n=3)乗法定理times1 + 独立 + 条件付き独立(n=6)

エッジ0個

エッジ1個

エッジ2個(head-to-tail tail-to-tail)

エッジ2個(head-to-head)

番外編 ベイジアンネットワークの学習

= 008= 012= 012

= 02= 02= 02= 02= 013

= 013= 02

= 02= 013

= 008= 008= 008= 012= 008= 012

条件付き独立独立はデータによって成り立ったり成り立たなかったりする

「同じ尤度を持つDAGは複数存在する可能性がある」

21世紀の統計科学 第2巻 第6章 生命システムネットワークを明らかにするための統計的モデリング

Page 38: PRML8章

条件付き独立性

(820)

bがあってもなくてもaの条件付き確率に影響を与えない

これをcが与えられた下でaはbに対して条件付き独立であるという

cに対してaとbが条件付き独立とは以下のように書く

(821)

(822)

条件付き独立性が示せるとリンクを減らせる

a

c

ba

c

b

可能性のある全ての条件付き独立性を調べればリンクは減らせる =gt 実際には計算量が膨大

=gt グラフの形だけで独立かどうか判断が可能(d-separationという枠組み)

条件付き独立性

以降はまず3つのノードの簡単なグラフで説明する

3つのグラフの例①

ab

c

tail-to-tail

cに対して周辺化

これはp(a) p(b)という形には変形できない (独立ではない)

cで条件付ける

p(a|c) p(b|c)という形に変形できた(条件付き独立block)

(823)

(824)tailtail

3つのグラフの例②

ab

c

head-to-tail

cに対して周辺化

これはp(a) p(b)という形には変形できない (独立ではない)

cで条件付ける

p(a|c) p(b|c)という形に変形できた(条件付き独立block)

(826)

3つのグラフの例③

ab

c

head-to-head

cに対して周辺化

これはp(a) p(b)という形に変形できた(独立)

(828)

確率の総和は1だから

3つのグラフの例③

ab

c

head-to-head

cで条件付ける

p(a|c) p(b|c)という形に変形できない(unblock)

(828)

3つのグラフの例(まとめ)

グラフの形 cで周辺化 cで条件付け

tail-to-tail 独立ではない 条件付き独立(block)

head-to-tail 独立ではない 条件付き独立(block)

head-to-head 独立 独立ではない(unblock)

head-to-headの更に特殊な性質(弁明)

図820

バッテリーの状態 0切れている

1充電されている

燃料タンクの状態 0空1満タン

電動燃料計 0空と示している

1満タンと示している

p(B=1) = 09 p(F=1) = 09

p(G=1 | B = 1 F = 1) = 08 p(G=1 | B = 1 F = 0) = 02 p(G=1 | B = 0 F = 1) = 02 p(G=1 | B = 0 F = 0) = 01

p(B=0) = 01 p(F=0) = 01

p(G=0 | B = 1 F = 1) = 02 p(G=0 | B = 1 F = 0) = 08 p(G=0 | B = 0 F = 1) = 08 p(G=0 | B = 0 F = 0) = 09

事前にこういった情報が与えられているとする

head-to-headの更に特殊な性質(弁明)

何も観測されていないとき燃料タンクが空である確率は

p(F=0) = 01

燃料計が空を指しているという事実を観測した時の燃料タンクが空である確率は(ベイズの定理より)

少し確率が高まっている

確率が低くなる

さらにバッテリーが切れている事実を観測した時の燃料タンクが空である確率は

図821

head-to-headの更に特殊な性質(弁明)

さらに子孫ノードのいずれかが観測されても 燃料タンクが空になる確率は変化する

子孫ノードが0

有向分離(D分離)リンクを遮断する時の法則今までの話をノード集合にまで拡張したもの

(グラフの形だけでわかる)

(a) 集合Cに含まれるノードであって経路に含まれる矢印がそこでhead-to-tailあるいはtail-to-tailである

(b) 経路に含まれる矢印がそのノードでhead-to-headであり自身あるいはそのすべての子孫のいずれもが集合Cに含まれない

CA B CA B

CA B

あらゆるA-C-Bの経路が遮断されていれば集合Aは集合Cにおいて集合Bと条件付き独立

有向分離(D分離)

図822

A AC C

B B

ノードaとノードbは集合C(ノードe f)で遮断できるかcが観測された場合 fが観測された場合

-gt 遮断されない -gt 遮断される

∵ fがtail-to-tailで観測されていない

eはhead-to-headだが子孫fがCに含まれる

∵ fがtail-to-tailで観測されている

eはhead-to-headでそれ自身あるいはその子孫が条件付き集合に

含まれない

有向分離(D分離)図85のモデルの有向分離性

パラメーターは観測済みノードと同じ amp 親ノードが無い

-gt 他のノードとのつながりは必ずtail-to-tailになる -gt 有向分離性に影響しない

124節のiidデータの有向分離性

図823

パラメーターuはtail-to-tail -gt uに値を入力したらあらゆる子ノード間で独立

-gt iid

uを積分消去した場合観測値は独立ではない

(835)

有向分離(D分離)図87のモデルの有向分離性

(836)

有向分離(D分離)ナイーブベイズの有向分離性

図824

例 bag-of-words

例 受信BOX迷惑メール

zが観測されるとあらゆるxノード間は独立

有向分離定理

1 有向分解(乗法定理を繰り返し適用して得た条件付き確率分布)

2 有向分離 (条件付き独立を繰り返し適用して得た条件付き確率分布)

以下の二つは同じ分布を得る

マルコフブランケット

xiが起きる確率をxi以外の全てのノードで条件付けた分布で考える

分母をxiで周辺化する

条件付き確率の積にする

xiに依存しないノードの条件付き確率は分子と打ち消し合う(次頁)

あるノードの条件付き独立性を考える時の最小単位

マルコフブランケット

図826

つまりxiの条件付き独立を考える時 1) 親子 2) 共同親 だけを考えれば良い

共同親A B

C

D E

F G

結局Cの条件付き確率P(C|AB)と Cの子ノードの条件付き確率P(D|CF)やP(E|CG)だけ残る

Cを含まない項は全部消える

無向グラフ(マルコフ確率場)無向グラフは条件付き独立を考えるのが簡単

図827集合Cを取り除いてA-B間の経路が無くなるなら条件付き独立

図828

無向グラフはマルコフブランケットも簡単

隣接ノードだけ考えれば良い

無向グラフ(マルコフ確率場)無向グラフの分解特性(これまで乗法定理を繰り返し適用していたもの)は以下のように定式化される

(838)

xi xj以外の全てのノードを取り除いた時の同時確率

よりと書くことも

各々の確率に分割できるならxijにおいてxixjは条件付き独立

クリーク

図829

無向グラフの分解特性は極大クリーク変数集合の関数にする事

クリーク x1 x2 x2 x3 x3 x4 x4 x2 極大クリーク x1 x2 x3 x2 x3 x4 x1 x2 x3 x4はクリークではない(x1 - x4間にリンクがない)

クリーク 全てのノードの組にリンクが存在するグラフの部分集合 極大クリーク もう一つを加えるとクリークでなくなってしまうようなクリーク

ポテンシャル関数極大クリークを引数としたポテンシャル関数

の積に分解するどんな関数にするかは言及しない

基本的に総和は1にならない -gt 規格化定数(分配関数)を導入

-gt 計算は大変

画像のノイズ除去の例

元のピクセル

ランダムに反転したピクセル

元画像10のピクセルをランダムに反転

ICMによる復元グラフカットアルゴリズムによる復元

(841)(842)

(843)

図831

有向-gt無向の変換図832のような簡単な場合

有向グラフ(a)無向グラフ(b)

以下のような対応づけができる

有向-gt無向の変換図833のような場合

親同士をリンクで結ぶ(モラル化)

1 向きを無くす 2 モラル化する 3 規格化する -gt ジャンクションツリーアルゴリズム(84)

生物の細胞

遺伝子間が相互作用のネットワークを形成している

geneX geneY

Protein X

Protein Y

様々な実験での遺伝子発現データ

とりうる可能性高い遺伝子ネットワークを探索(MAP推定)

データからこれを推定したい

実験

遺伝子

more

番外編 ベイジアンネットワークの学習

rarr 近似的に求めるアルゴリズムが開発される

httpwwwsclsrikenjpscruisesoftwaresign-bnhtml

番外編 ベイジアンネットワークの学習

こういうネットワーク構造は未知でデータから推定するアプローチはベイジアンネットワークのrdquo学習rdquoとかrdquo推論rdquoというらしい

(848で紹介だけしている)

SiGN-BN スパコン「京」で計算するソフトウェア自分の修論の内容

Rのbnlearnパッケージ(CBRCのBlue Gene上で実行)httpsignhgcjpsignbnindex_jahtml

番外編 ベイジアンネットワークの学習

番外編 ベイジアンネットワークの学習

どのグラフが良いか決める基準 尤度情報量基準(AIC BIC 尤度ampパラメーター数)

MAP推定(尤度times事前分布)hellip

データを元に最も最適と思われるグラフ構造を探索する

データ

グラフ

1 0 01 1 01 0 10 1 01 0 10 0 01 1 00 0 01 1 10 0 1

a b cb

a

c

b

a

c

b

a

c

データからグラフ構造を推定したい場合単純な式変形をしただけだと数学的に等しいので結局最適なグラフ構造を決定できないのでは(勉強会での議論)

=gt 実際にやってみた

番外編 ベイジアンネットワークの学習

httpwwwsclsrikenjpscruisewp-contentuploadssites3201312SIGN_HGC_Seminar_Tamada201302pdf

httpenwikipediaorgwikiDirected_acyclic_graph

ノード数の増加に対する取りうるDAG数

番外編 ベイジアンネットワークの学習

3ノードなら手計算でいけそう

乗法定理times2(n=6)

乗法定理times2 + 条件付き独立 (n=9)

乗法定理times1 + 独立(n=3)

全て独立(n=1)

乗法定理を使う (このままではグラフとして表現できない)

乗法定理times1 + 独立 + 条件付き独立(n=6)エッジ0個

エッジ1個

エッジ2個(head-to-tail tail-to-tail)

エッジ2個(head-to-head)

エッジ3個(全結合)

ノード3つで式変形を片っ端から行った

番外編 ベイジアンネットワークの学習

試しに以下のような簡単な01データを用いる またここでは単純に尤度のみでグラフの善し悪しを判定する

番外編 ベイジアンネットワークの学習

0 0 00 0 00 0 00 0 01 0 01 0 01 1 01 1 01 1 11 1 1

a b c

P(a) = 35 P(b) = 25 P(c) = 15 P(a b) = 25 P(b c) = 15 P(a c) = 15 P(a b c) = 15

P(a | b c) = 1 P(b | a c) = 1 P(c | a b) = 12 P(a | b) = 1 P(a | c) = 1 P(b | a) = 23 P(b | c) = 1 P(c | a) = 13 P(c | b) = 12

独立性について

番外編 ベイジアンネットワークの学習

0 0 00 0 00 0 00 0 01 0 01 0 01 1 01 1 01 1 11 1 1

a b c

P(a | b c) = P(a | b) P(a | b c) = P(a | c) P(b | a c) ne P(b | a) P(b | a c) = P(b | c) P(c | a b) ne P(c | a) P(c | a b) = P(c | b)

P(a b c) ne P(a) P(b) P(c) P(a b) ne P(a) P(b) P(b c) ne P(b) P(c) P(a c) ne P(a) P(c)

条件付き独立性について

データによって成り立ったり成り立たなかったりする

乗法定理times2(n=6)

乗法定理times2 + 条件付き独立 (n=9)

乗法定理times1 + 独立(n=3)

全て独立(n=1)

乗法定理times1 + 独立 + 条件付き独立(n=6)エッジ0個

エッジ1個

エッジ2個(head-to-tail tail-to-tail)

エッジ2個(head-to-head)

エッジ3個(全結合)

番外編 ベイジアンネットワークの学習

尤度を計算した

= 02= 02= 02= 02= 02= 02

= 0048

= 008= 012= 012

= 02= 02= 02= 02= 013

= 013= 02

= 02= 013

= 008= 008= 008= 012= 008= 012

乗法定理times2(n=6)エッジ3個(全結合)

番外編 ベイジアンネットワークの学習

= 02= 02= 02= 02= 02= 02

乗法定理で変形したものはグラフ構造は違うのにも関わらず尤度は等しい

b

a

cb

a

cb

a

cb

a

cb

a

cb

a

c

乗法定理times2 + 条件付き独立 (n=9)

乗法定理times1 + 独立(n=3)乗法定理times1 + 独立 + 条件付き独立(n=6)

エッジ0個

エッジ1個

エッジ2個(head-to-tail tail-to-tail)

エッジ2個(head-to-head)

番外編 ベイジアンネットワークの学習

= 008= 012= 012

= 02= 02= 02= 02= 013

= 013= 02

= 02= 013

= 008= 008= 008= 012= 008= 012

条件付き独立独立はデータによって成り立ったり成り立たなかったりする

「同じ尤度を持つDAGは複数存在する可能性がある」

21世紀の統計科学 第2巻 第6章 生命システムネットワークを明らかにするための統計的モデリング

Page 39: PRML8章

可能性のある全ての条件付き独立性を調べればリンクは減らせる =gt 実際には計算量が膨大

=gt グラフの形だけで独立かどうか判断が可能(d-separationという枠組み)

条件付き独立性

以降はまず3つのノードの簡単なグラフで説明する

3つのグラフの例①

ab

c

tail-to-tail

cに対して周辺化

これはp(a) p(b)という形には変形できない (独立ではない)

cで条件付ける

p(a|c) p(b|c)という形に変形できた(条件付き独立block)

(823)

(824)tailtail

3つのグラフの例②

ab

c

head-to-tail

cに対して周辺化

これはp(a) p(b)という形には変形できない (独立ではない)

cで条件付ける

p(a|c) p(b|c)という形に変形できた(条件付き独立block)

(826)

3つのグラフの例③

ab

c

head-to-head

cに対して周辺化

これはp(a) p(b)という形に変形できた(独立)

(828)

確率の総和は1だから

3つのグラフの例③

ab

c

head-to-head

cで条件付ける

p(a|c) p(b|c)という形に変形できない(unblock)

(828)

3つのグラフの例(まとめ)

グラフの形 cで周辺化 cで条件付け

tail-to-tail 独立ではない 条件付き独立(block)

head-to-tail 独立ではない 条件付き独立(block)

head-to-head 独立 独立ではない(unblock)

head-to-headの更に特殊な性質(弁明)

図820

バッテリーの状態 0切れている

1充電されている

燃料タンクの状態 0空1満タン

電動燃料計 0空と示している

1満タンと示している

p(B=1) = 09 p(F=1) = 09

p(G=1 | B = 1 F = 1) = 08 p(G=1 | B = 1 F = 0) = 02 p(G=1 | B = 0 F = 1) = 02 p(G=1 | B = 0 F = 0) = 01

p(B=0) = 01 p(F=0) = 01

p(G=0 | B = 1 F = 1) = 02 p(G=0 | B = 1 F = 0) = 08 p(G=0 | B = 0 F = 1) = 08 p(G=0 | B = 0 F = 0) = 09

事前にこういった情報が与えられているとする

head-to-headの更に特殊な性質(弁明)

何も観測されていないとき燃料タンクが空である確率は

p(F=0) = 01

燃料計が空を指しているという事実を観測した時の燃料タンクが空である確率は(ベイズの定理より)

少し確率が高まっている

確率が低くなる

さらにバッテリーが切れている事実を観測した時の燃料タンクが空である確率は

図821

head-to-headの更に特殊な性質(弁明)

さらに子孫ノードのいずれかが観測されても 燃料タンクが空になる確率は変化する

子孫ノードが0

有向分離(D分離)リンクを遮断する時の法則今までの話をノード集合にまで拡張したもの

(グラフの形だけでわかる)

(a) 集合Cに含まれるノードであって経路に含まれる矢印がそこでhead-to-tailあるいはtail-to-tailである

(b) 経路に含まれる矢印がそのノードでhead-to-headであり自身あるいはそのすべての子孫のいずれもが集合Cに含まれない

CA B CA B

CA B

あらゆるA-C-Bの経路が遮断されていれば集合Aは集合Cにおいて集合Bと条件付き独立

有向分離(D分離)

図822

A AC C

B B

ノードaとノードbは集合C(ノードe f)で遮断できるかcが観測された場合 fが観測された場合

-gt 遮断されない -gt 遮断される

∵ fがtail-to-tailで観測されていない

eはhead-to-headだが子孫fがCに含まれる

∵ fがtail-to-tailで観測されている

eはhead-to-headでそれ自身あるいはその子孫が条件付き集合に

含まれない

有向分離(D分離)図85のモデルの有向分離性

パラメーターは観測済みノードと同じ amp 親ノードが無い

-gt 他のノードとのつながりは必ずtail-to-tailになる -gt 有向分離性に影響しない

124節のiidデータの有向分離性

図823

パラメーターuはtail-to-tail -gt uに値を入力したらあらゆる子ノード間で独立

-gt iid

uを積分消去した場合観測値は独立ではない

(835)

有向分離(D分離)図87のモデルの有向分離性

(836)

有向分離(D分離)ナイーブベイズの有向分離性

図824

例 bag-of-words

例 受信BOX迷惑メール

zが観測されるとあらゆるxノード間は独立

有向分離定理

1 有向分解(乗法定理を繰り返し適用して得た条件付き確率分布)

2 有向分離 (条件付き独立を繰り返し適用して得た条件付き確率分布)

以下の二つは同じ分布を得る

マルコフブランケット

xiが起きる確率をxi以外の全てのノードで条件付けた分布で考える

分母をxiで周辺化する

条件付き確率の積にする

xiに依存しないノードの条件付き確率は分子と打ち消し合う(次頁)

あるノードの条件付き独立性を考える時の最小単位

マルコフブランケット

図826

つまりxiの条件付き独立を考える時 1) 親子 2) 共同親 だけを考えれば良い

共同親A B

C

D E

F G

結局Cの条件付き確率P(C|AB)と Cの子ノードの条件付き確率P(D|CF)やP(E|CG)だけ残る

Cを含まない項は全部消える

無向グラフ(マルコフ確率場)無向グラフは条件付き独立を考えるのが簡単

図827集合Cを取り除いてA-B間の経路が無くなるなら条件付き独立

図828

無向グラフはマルコフブランケットも簡単

隣接ノードだけ考えれば良い

無向グラフ(マルコフ確率場)無向グラフの分解特性(これまで乗法定理を繰り返し適用していたもの)は以下のように定式化される

(838)

xi xj以外の全てのノードを取り除いた時の同時確率

よりと書くことも

各々の確率に分割できるならxijにおいてxixjは条件付き独立

クリーク

図829

無向グラフの分解特性は極大クリーク変数集合の関数にする事

クリーク x1 x2 x2 x3 x3 x4 x4 x2 極大クリーク x1 x2 x3 x2 x3 x4 x1 x2 x3 x4はクリークではない(x1 - x4間にリンクがない)

クリーク 全てのノードの組にリンクが存在するグラフの部分集合 極大クリーク もう一つを加えるとクリークでなくなってしまうようなクリーク

ポテンシャル関数極大クリークを引数としたポテンシャル関数

の積に分解するどんな関数にするかは言及しない

基本的に総和は1にならない -gt 規格化定数(分配関数)を導入

-gt 計算は大変

画像のノイズ除去の例

元のピクセル

ランダムに反転したピクセル

元画像10のピクセルをランダムに反転

ICMによる復元グラフカットアルゴリズムによる復元

(841)(842)

(843)

図831

有向-gt無向の変換図832のような簡単な場合

有向グラフ(a)無向グラフ(b)

以下のような対応づけができる

有向-gt無向の変換図833のような場合

親同士をリンクで結ぶ(モラル化)

1 向きを無くす 2 モラル化する 3 規格化する -gt ジャンクションツリーアルゴリズム(84)

生物の細胞

遺伝子間が相互作用のネットワークを形成している

geneX geneY

Protein X

Protein Y

様々な実験での遺伝子発現データ

とりうる可能性高い遺伝子ネットワークを探索(MAP推定)

データからこれを推定したい

実験

遺伝子

more

番外編 ベイジアンネットワークの学習

rarr 近似的に求めるアルゴリズムが開発される

httpwwwsclsrikenjpscruisesoftwaresign-bnhtml

番外編 ベイジアンネットワークの学習

こういうネットワーク構造は未知でデータから推定するアプローチはベイジアンネットワークのrdquo学習rdquoとかrdquo推論rdquoというらしい

(848で紹介だけしている)

SiGN-BN スパコン「京」で計算するソフトウェア自分の修論の内容

Rのbnlearnパッケージ(CBRCのBlue Gene上で実行)httpsignhgcjpsignbnindex_jahtml

番外編 ベイジアンネットワークの学習

番外編 ベイジアンネットワークの学習

どのグラフが良いか決める基準 尤度情報量基準(AIC BIC 尤度ampパラメーター数)

MAP推定(尤度times事前分布)hellip

データを元に最も最適と思われるグラフ構造を探索する

データ

グラフ

1 0 01 1 01 0 10 1 01 0 10 0 01 1 00 0 01 1 10 0 1

a b cb

a

c

b

a

c

b

a

c

データからグラフ構造を推定したい場合単純な式変形をしただけだと数学的に等しいので結局最適なグラフ構造を決定できないのでは(勉強会での議論)

=gt 実際にやってみた

番外編 ベイジアンネットワークの学習

httpwwwsclsrikenjpscruisewp-contentuploadssites3201312SIGN_HGC_Seminar_Tamada201302pdf

httpenwikipediaorgwikiDirected_acyclic_graph

ノード数の増加に対する取りうるDAG数

番外編 ベイジアンネットワークの学習

3ノードなら手計算でいけそう

乗法定理times2(n=6)

乗法定理times2 + 条件付き独立 (n=9)

乗法定理times1 + 独立(n=3)

全て独立(n=1)

乗法定理を使う (このままではグラフとして表現できない)

乗法定理times1 + 独立 + 条件付き独立(n=6)エッジ0個

エッジ1個

エッジ2個(head-to-tail tail-to-tail)

エッジ2個(head-to-head)

エッジ3個(全結合)

ノード3つで式変形を片っ端から行った

番外編 ベイジアンネットワークの学習

試しに以下のような簡単な01データを用いる またここでは単純に尤度のみでグラフの善し悪しを判定する

番外編 ベイジアンネットワークの学習

0 0 00 0 00 0 00 0 01 0 01 0 01 1 01 1 01 1 11 1 1

a b c

P(a) = 35 P(b) = 25 P(c) = 15 P(a b) = 25 P(b c) = 15 P(a c) = 15 P(a b c) = 15

P(a | b c) = 1 P(b | a c) = 1 P(c | a b) = 12 P(a | b) = 1 P(a | c) = 1 P(b | a) = 23 P(b | c) = 1 P(c | a) = 13 P(c | b) = 12

独立性について

番外編 ベイジアンネットワークの学習

0 0 00 0 00 0 00 0 01 0 01 0 01 1 01 1 01 1 11 1 1

a b c

P(a | b c) = P(a | b) P(a | b c) = P(a | c) P(b | a c) ne P(b | a) P(b | a c) = P(b | c) P(c | a b) ne P(c | a) P(c | a b) = P(c | b)

P(a b c) ne P(a) P(b) P(c) P(a b) ne P(a) P(b) P(b c) ne P(b) P(c) P(a c) ne P(a) P(c)

条件付き独立性について

データによって成り立ったり成り立たなかったりする

乗法定理times2(n=6)

乗法定理times2 + 条件付き独立 (n=9)

乗法定理times1 + 独立(n=3)

全て独立(n=1)

乗法定理times1 + 独立 + 条件付き独立(n=6)エッジ0個

エッジ1個

エッジ2個(head-to-tail tail-to-tail)

エッジ2個(head-to-head)

エッジ3個(全結合)

番外編 ベイジアンネットワークの学習

尤度を計算した

= 02= 02= 02= 02= 02= 02

= 0048

= 008= 012= 012

= 02= 02= 02= 02= 013

= 013= 02

= 02= 013

= 008= 008= 008= 012= 008= 012

乗法定理times2(n=6)エッジ3個(全結合)

番外編 ベイジアンネットワークの学習

= 02= 02= 02= 02= 02= 02

乗法定理で変形したものはグラフ構造は違うのにも関わらず尤度は等しい

b

a

cb

a

cb

a

cb

a

cb

a

cb

a

c

乗法定理times2 + 条件付き独立 (n=9)

乗法定理times1 + 独立(n=3)乗法定理times1 + 独立 + 条件付き独立(n=6)

エッジ0個

エッジ1個

エッジ2個(head-to-tail tail-to-tail)

エッジ2個(head-to-head)

番外編 ベイジアンネットワークの学習

= 008= 012= 012

= 02= 02= 02= 02= 013

= 013= 02

= 02= 013

= 008= 008= 008= 012= 008= 012

条件付き独立独立はデータによって成り立ったり成り立たなかったりする

「同じ尤度を持つDAGは複数存在する可能性がある」

21世紀の統計科学 第2巻 第6章 生命システムネットワークを明らかにするための統計的モデリング

Page 40: PRML8章

3つのグラフの例①

ab

c

tail-to-tail

cに対して周辺化

これはp(a) p(b)という形には変形できない (独立ではない)

cで条件付ける

p(a|c) p(b|c)という形に変形できた(条件付き独立block)

(823)

(824)tailtail

3つのグラフの例②

ab

c

head-to-tail

cに対して周辺化

これはp(a) p(b)という形には変形できない (独立ではない)

cで条件付ける

p(a|c) p(b|c)という形に変形できた(条件付き独立block)

(826)

3つのグラフの例③

ab

c

head-to-head

cに対して周辺化

これはp(a) p(b)という形に変形できた(独立)

(828)

確率の総和は1だから

3つのグラフの例③

ab

c

head-to-head

cで条件付ける

p(a|c) p(b|c)という形に変形できない(unblock)

(828)

3つのグラフの例(まとめ)

グラフの形 cで周辺化 cで条件付け

tail-to-tail 独立ではない 条件付き独立(block)

head-to-tail 独立ではない 条件付き独立(block)

head-to-head 独立 独立ではない(unblock)

head-to-headの更に特殊な性質(弁明)

図820

バッテリーの状態 0切れている

1充電されている

燃料タンクの状態 0空1満タン

電動燃料計 0空と示している

1満タンと示している

p(B=1) = 09 p(F=1) = 09

p(G=1 | B = 1 F = 1) = 08 p(G=1 | B = 1 F = 0) = 02 p(G=1 | B = 0 F = 1) = 02 p(G=1 | B = 0 F = 0) = 01

p(B=0) = 01 p(F=0) = 01

p(G=0 | B = 1 F = 1) = 02 p(G=0 | B = 1 F = 0) = 08 p(G=0 | B = 0 F = 1) = 08 p(G=0 | B = 0 F = 0) = 09

事前にこういった情報が与えられているとする

head-to-headの更に特殊な性質(弁明)

何も観測されていないとき燃料タンクが空である確率は

p(F=0) = 01

燃料計が空を指しているという事実を観測した時の燃料タンクが空である確率は(ベイズの定理より)

少し確率が高まっている

確率が低くなる

さらにバッテリーが切れている事実を観測した時の燃料タンクが空である確率は

図821

head-to-headの更に特殊な性質(弁明)

さらに子孫ノードのいずれかが観測されても 燃料タンクが空になる確率は変化する

子孫ノードが0

有向分離(D分離)リンクを遮断する時の法則今までの話をノード集合にまで拡張したもの

(グラフの形だけでわかる)

(a) 集合Cに含まれるノードであって経路に含まれる矢印がそこでhead-to-tailあるいはtail-to-tailである

(b) 経路に含まれる矢印がそのノードでhead-to-headであり自身あるいはそのすべての子孫のいずれもが集合Cに含まれない

CA B CA B

CA B

あらゆるA-C-Bの経路が遮断されていれば集合Aは集合Cにおいて集合Bと条件付き独立

有向分離(D分離)

図822

A AC C

B B

ノードaとノードbは集合C(ノードe f)で遮断できるかcが観測された場合 fが観測された場合

-gt 遮断されない -gt 遮断される

∵ fがtail-to-tailで観測されていない

eはhead-to-headだが子孫fがCに含まれる

∵ fがtail-to-tailで観測されている

eはhead-to-headでそれ自身あるいはその子孫が条件付き集合に

含まれない

有向分離(D分離)図85のモデルの有向分離性

パラメーターは観測済みノードと同じ amp 親ノードが無い

-gt 他のノードとのつながりは必ずtail-to-tailになる -gt 有向分離性に影響しない

124節のiidデータの有向分離性

図823

パラメーターuはtail-to-tail -gt uに値を入力したらあらゆる子ノード間で独立

-gt iid

uを積分消去した場合観測値は独立ではない

(835)

有向分離(D分離)図87のモデルの有向分離性

(836)

有向分離(D分離)ナイーブベイズの有向分離性

図824

例 bag-of-words

例 受信BOX迷惑メール

zが観測されるとあらゆるxノード間は独立

有向分離定理

1 有向分解(乗法定理を繰り返し適用して得た条件付き確率分布)

2 有向分離 (条件付き独立を繰り返し適用して得た条件付き確率分布)

以下の二つは同じ分布を得る

マルコフブランケット

xiが起きる確率をxi以外の全てのノードで条件付けた分布で考える

分母をxiで周辺化する

条件付き確率の積にする

xiに依存しないノードの条件付き確率は分子と打ち消し合う(次頁)

あるノードの条件付き独立性を考える時の最小単位

マルコフブランケット

図826

つまりxiの条件付き独立を考える時 1) 親子 2) 共同親 だけを考えれば良い

共同親A B

C

D E

F G

結局Cの条件付き確率P(C|AB)と Cの子ノードの条件付き確率P(D|CF)やP(E|CG)だけ残る

Cを含まない項は全部消える

無向グラフ(マルコフ確率場)無向グラフは条件付き独立を考えるのが簡単

図827集合Cを取り除いてA-B間の経路が無くなるなら条件付き独立

図828

無向グラフはマルコフブランケットも簡単

隣接ノードだけ考えれば良い

無向グラフ(マルコフ確率場)無向グラフの分解特性(これまで乗法定理を繰り返し適用していたもの)は以下のように定式化される

(838)

xi xj以外の全てのノードを取り除いた時の同時確率

よりと書くことも

各々の確率に分割できるならxijにおいてxixjは条件付き独立

クリーク

図829

無向グラフの分解特性は極大クリーク変数集合の関数にする事

クリーク x1 x2 x2 x3 x3 x4 x4 x2 極大クリーク x1 x2 x3 x2 x3 x4 x1 x2 x3 x4はクリークではない(x1 - x4間にリンクがない)

クリーク 全てのノードの組にリンクが存在するグラフの部分集合 極大クリーク もう一つを加えるとクリークでなくなってしまうようなクリーク

ポテンシャル関数極大クリークを引数としたポテンシャル関数

の積に分解するどんな関数にするかは言及しない

基本的に総和は1にならない -gt 規格化定数(分配関数)を導入

-gt 計算は大変

画像のノイズ除去の例

元のピクセル

ランダムに反転したピクセル

元画像10のピクセルをランダムに反転

ICMによる復元グラフカットアルゴリズムによる復元

(841)(842)

(843)

図831

有向-gt無向の変換図832のような簡単な場合

有向グラフ(a)無向グラフ(b)

以下のような対応づけができる

有向-gt無向の変換図833のような場合

親同士をリンクで結ぶ(モラル化)

1 向きを無くす 2 モラル化する 3 規格化する -gt ジャンクションツリーアルゴリズム(84)

生物の細胞

遺伝子間が相互作用のネットワークを形成している

geneX geneY

Protein X

Protein Y

様々な実験での遺伝子発現データ

とりうる可能性高い遺伝子ネットワークを探索(MAP推定)

データからこれを推定したい

実験

遺伝子

more

番外編 ベイジアンネットワークの学習

rarr 近似的に求めるアルゴリズムが開発される

httpwwwsclsrikenjpscruisesoftwaresign-bnhtml

番外編 ベイジアンネットワークの学習

こういうネットワーク構造は未知でデータから推定するアプローチはベイジアンネットワークのrdquo学習rdquoとかrdquo推論rdquoというらしい

(848で紹介だけしている)

SiGN-BN スパコン「京」で計算するソフトウェア自分の修論の内容

Rのbnlearnパッケージ(CBRCのBlue Gene上で実行)httpsignhgcjpsignbnindex_jahtml

番外編 ベイジアンネットワークの学習

番外編 ベイジアンネットワークの学習

どのグラフが良いか決める基準 尤度情報量基準(AIC BIC 尤度ampパラメーター数)

MAP推定(尤度times事前分布)hellip

データを元に最も最適と思われるグラフ構造を探索する

データ

グラフ

1 0 01 1 01 0 10 1 01 0 10 0 01 1 00 0 01 1 10 0 1

a b cb

a

c

b

a

c

b

a

c

データからグラフ構造を推定したい場合単純な式変形をしただけだと数学的に等しいので結局最適なグラフ構造を決定できないのでは(勉強会での議論)

=gt 実際にやってみた

番外編 ベイジアンネットワークの学習

httpwwwsclsrikenjpscruisewp-contentuploadssites3201312SIGN_HGC_Seminar_Tamada201302pdf

httpenwikipediaorgwikiDirected_acyclic_graph

ノード数の増加に対する取りうるDAG数

番外編 ベイジアンネットワークの学習

3ノードなら手計算でいけそう

乗法定理times2(n=6)

乗法定理times2 + 条件付き独立 (n=9)

乗法定理times1 + 独立(n=3)

全て独立(n=1)

乗法定理を使う (このままではグラフとして表現できない)

乗法定理times1 + 独立 + 条件付き独立(n=6)エッジ0個

エッジ1個

エッジ2個(head-to-tail tail-to-tail)

エッジ2個(head-to-head)

エッジ3個(全結合)

ノード3つで式変形を片っ端から行った

番外編 ベイジアンネットワークの学習

試しに以下のような簡単な01データを用いる またここでは単純に尤度のみでグラフの善し悪しを判定する

番外編 ベイジアンネットワークの学習

0 0 00 0 00 0 00 0 01 0 01 0 01 1 01 1 01 1 11 1 1

a b c

P(a) = 35 P(b) = 25 P(c) = 15 P(a b) = 25 P(b c) = 15 P(a c) = 15 P(a b c) = 15

P(a | b c) = 1 P(b | a c) = 1 P(c | a b) = 12 P(a | b) = 1 P(a | c) = 1 P(b | a) = 23 P(b | c) = 1 P(c | a) = 13 P(c | b) = 12

独立性について

番外編 ベイジアンネットワークの学習

0 0 00 0 00 0 00 0 01 0 01 0 01 1 01 1 01 1 11 1 1

a b c

P(a | b c) = P(a | b) P(a | b c) = P(a | c) P(b | a c) ne P(b | a) P(b | a c) = P(b | c) P(c | a b) ne P(c | a) P(c | a b) = P(c | b)

P(a b c) ne P(a) P(b) P(c) P(a b) ne P(a) P(b) P(b c) ne P(b) P(c) P(a c) ne P(a) P(c)

条件付き独立性について

データによって成り立ったり成り立たなかったりする

乗法定理times2(n=6)

乗法定理times2 + 条件付き独立 (n=9)

乗法定理times1 + 独立(n=3)

全て独立(n=1)

乗法定理times1 + 独立 + 条件付き独立(n=6)エッジ0個

エッジ1個

エッジ2個(head-to-tail tail-to-tail)

エッジ2個(head-to-head)

エッジ3個(全結合)

番外編 ベイジアンネットワークの学習

尤度を計算した

= 02= 02= 02= 02= 02= 02

= 0048

= 008= 012= 012

= 02= 02= 02= 02= 013

= 013= 02

= 02= 013

= 008= 008= 008= 012= 008= 012

乗法定理times2(n=6)エッジ3個(全結合)

番外編 ベイジアンネットワークの学習

= 02= 02= 02= 02= 02= 02

乗法定理で変形したものはグラフ構造は違うのにも関わらず尤度は等しい

b

a

cb

a

cb

a

cb

a

cb

a

cb

a

c

乗法定理times2 + 条件付き独立 (n=9)

乗法定理times1 + 独立(n=3)乗法定理times1 + 独立 + 条件付き独立(n=6)

エッジ0個

エッジ1個

エッジ2個(head-to-tail tail-to-tail)

エッジ2個(head-to-head)

番外編 ベイジアンネットワークの学習

= 008= 012= 012

= 02= 02= 02= 02= 013

= 013= 02

= 02= 013

= 008= 008= 008= 012= 008= 012

条件付き独立独立はデータによって成り立ったり成り立たなかったりする

「同じ尤度を持つDAGは複数存在する可能性がある」

21世紀の統計科学 第2巻 第6章 生命システムネットワークを明らかにするための統計的モデリング

Page 41: PRML8章

3つのグラフの例②

ab

c

head-to-tail

cに対して周辺化

これはp(a) p(b)という形には変形できない (独立ではない)

cで条件付ける

p(a|c) p(b|c)という形に変形できた(条件付き独立block)

(826)

3つのグラフの例③

ab

c

head-to-head

cに対して周辺化

これはp(a) p(b)という形に変形できた(独立)

(828)

確率の総和は1だから

3つのグラフの例③

ab

c

head-to-head

cで条件付ける

p(a|c) p(b|c)という形に変形できない(unblock)

(828)

3つのグラフの例(まとめ)

グラフの形 cで周辺化 cで条件付け

tail-to-tail 独立ではない 条件付き独立(block)

head-to-tail 独立ではない 条件付き独立(block)

head-to-head 独立 独立ではない(unblock)

head-to-headの更に特殊な性質(弁明)

図820

バッテリーの状態 0切れている

1充電されている

燃料タンクの状態 0空1満タン

電動燃料計 0空と示している

1満タンと示している

p(B=1) = 09 p(F=1) = 09

p(G=1 | B = 1 F = 1) = 08 p(G=1 | B = 1 F = 0) = 02 p(G=1 | B = 0 F = 1) = 02 p(G=1 | B = 0 F = 0) = 01

p(B=0) = 01 p(F=0) = 01

p(G=0 | B = 1 F = 1) = 02 p(G=0 | B = 1 F = 0) = 08 p(G=0 | B = 0 F = 1) = 08 p(G=0 | B = 0 F = 0) = 09

事前にこういった情報が与えられているとする

head-to-headの更に特殊な性質(弁明)

何も観測されていないとき燃料タンクが空である確率は

p(F=0) = 01

燃料計が空を指しているという事実を観測した時の燃料タンクが空である確率は(ベイズの定理より)

少し確率が高まっている

確率が低くなる

さらにバッテリーが切れている事実を観測した時の燃料タンクが空である確率は

図821

head-to-headの更に特殊な性質(弁明)

さらに子孫ノードのいずれかが観測されても 燃料タンクが空になる確率は変化する

子孫ノードが0

有向分離(D分離)リンクを遮断する時の法則今までの話をノード集合にまで拡張したもの

(グラフの形だけでわかる)

(a) 集合Cに含まれるノードであって経路に含まれる矢印がそこでhead-to-tailあるいはtail-to-tailである

(b) 経路に含まれる矢印がそのノードでhead-to-headであり自身あるいはそのすべての子孫のいずれもが集合Cに含まれない

CA B CA B

CA B

あらゆるA-C-Bの経路が遮断されていれば集合Aは集合Cにおいて集合Bと条件付き独立

有向分離(D分離)

図822

A AC C

B B

ノードaとノードbは集合C(ノードe f)で遮断できるかcが観測された場合 fが観測された場合

-gt 遮断されない -gt 遮断される

∵ fがtail-to-tailで観測されていない

eはhead-to-headだが子孫fがCに含まれる

∵ fがtail-to-tailで観測されている

eはhead-to-headでそれ自身あるいはその子孫が条件付き集合に

含まれない

有向分離(D分離)図85のモデルの有向分離性

パラメーターは観測済みノードと同じ amp 親ノードが無い

-gt 他のノードとのつながりは必ずtail-to-tailになる -gt 有向分離性に影響しない

124節のiidデータの有向分離性

図823

パラメーターuはtail-to-tail -gt uに値を入力したらあらゆる子ノード間で独立

-gt iid

uを積分消去した場合観測値は独立ではない

(835)

有向分離(D分離)図87のモデルの有向分離性

(836)

有向分離(D分離)ナイーブベイズの有向分離性

図824

例 bag-of-words

例 受信BOX迷惑メール

zが観測されるとあらゆるxノード間は独立

有向分離定理

1 有向分解(乗法定理を繰り返し適用して得た条件付き確率分布)

2 有向分離 (条件付き独立を繰り返し適用して得た条件付き確率分布)

以下の二つは同じ分布を得る

マルコフブランケット

xiが起きる確率をxi以外の全てのノードで条件付けた分布で考える

分母をxiで周辺化する

条件付き確率の積にする

xiに依存しないノードの条件付き確率は分子と打ち消し合う(次頁)

あるノードの条件付き独立性を考える時の最小単位

マルコフブランケット

図826

つまりxiの条件付き独立を考える時 1) 親子 2) 共同親 だけを考えれば良い

共同親A B

C

D E

F G

結局Cの条件付き確率P(C|AB)と Cの子ノードの条件付き確率P(D|CF)やP(E|CG)だけ残る

Cを含まない項は全部消える

無向グラフ(マルコフ確率場)無向グラフは条件付き独立を考えるのが簡単

図827集合Cを取り除いてA-B間の経路が無くなるなら条件付き独立

図828

無向グラフはマルコフブランケットも簡単

隣接ノードだけ考えれば良い

無向グラフ(マルコフ確率場)無向グラフの分解特性(これまで乗法定理を繰り返し適用していたもの)は以下のように定式化される

(838)

xi xj以外の全てのノードを取り除いた時の同時確率

よりと書くことも

各々の確率に分割できるならxijにおいてxixjは条件付き独立

クリーク

図829

無向グラフの分解特性は極大クリーク変数集合の関数にする事

クリーク x1 x2 x2 x3 x3 x4 x4 x2 極大クリーク x1 x2 x3 x2 x3 x4 x1 x2 x3 x4はクリークではない(x1 - x4間にリンクがない)

クリーク 全てのノードの組にリンクが存在するグラフの部分集合 極大クリーク もう一つを加えるとクリークでなくなってしまうようなクリーク

ポテンシャル関数極大クリークを引数としたポテンシャル関数

の積に分解するどんな関数にするかは言及しない

基本的に総和は1にならない -gt 規格化定数(分配関数)を導入

-gt 計算は大変

画像のノイズ除去の例

元のピクセル

ランダムに反転したピクセル

元画像10のピクセルをランダムに反転

ICMによる復元グラフカットアルゴリズムによる復元

(841)(842)

(843)

図831

有向-gt無向の変換図832のような簡単な場合

有向グラフ(a)無向グラフ(b)

以下のような対応づけができる

有向-gt無向の変換図833のような場合

親同士をリンクで結ぶ(モラル化)

1 向きを無くす 2 モラル化する 3 規格化する -gt ジャンクションツリーアルゴリズム(84)

生物の細胞

遺伝子間が相互作用のネットワークを形成している

geneX geneY

Protein X

Protein Y

様々な実験での遺伝子発現データ

とりうる可能性高い遺伝子ネットワークを探索(MAP推定)

データからこれを推定したい

実験

遺伝子

more

番外編 ベイジアンネットワークの学習

rarr 近似的に求めるアルゴリズムが開発される

httpwwwsclsrikenjpscruisesoftwaresign-bnhtml

番外編 ベイジアンネットワークの学習

こういうネットワーク構造は未知でデータから推定するアプローチはベイジアンネットワークのrdquo学習rdquoとかrdquo推論rdquoというらしい

(848で紹介だけしている)

SiGN-BN スパコン「京」で計算するソフトウェア自分の修論の内容

Rのbnlearnパッケージ(CBRCのBlue Gene上で実行)httpsignhgcjpsignbnindex_jahtml

番外編 ベイジアンネットワークの学習

番外編 ベイジアンネットワークの学習

どのグラフが良いか決める基準 尤度情報量基準(AIC BIC 尤度ampパラメーター数)

MAP推定(尤度times事前分布)hellip

データを元に最も最適と思われるグラフ構造を探索する

データ

グラフ

1 0 01 1 01 0 10 1 01 0 10 0 01 1 00 0 01 1 10 0 1

a b cb

a

c

b

a

c

b

a

c

データからグラフ構造を推定したい場合単純な式変形をしただけだと数学的に等しいので結局最適なグラフ構造を決定できないのでは(勉強会での議論)

=gt 実際にやってみた

番外編 ベイジアンネットワークの学習

httpwwwsclsrikenjpscruisewp-contentuploadssites3201312SIGN_HGC_Seminar_Tamada201302pdf

httpenwikipediaorgwikiDirected_acyclic_graph

ノード数の増加に対する取りうるDAG数

番外編 ベイジアンネットワークの学習

3ノードなら手計算でいけそう

乗法定理times2(n=6)

乗法定理times2 + 条件付き独立 (n=9)

乗法定理times1 + 独立(n=3)

全て独立(n=1)

乗法定理を使う (このままではグラフとして表現できない)

乗法定理times1 + 独立 + 条件付き独立(n=6)エッジ0個

エッジ1個

エッジ2個(head-to-tail tail-to-tail)

エッジ2個(head-to-head)

エッジ3個(全結合)

ノード3つで式変形を片っ端から行った

番外編 ベイジアンネットワークの学習

試しに以下のような簡単な01データを用いる またここでは単純に尤度のみでグラフの善し悪しを判定する

番外編 ベイジアンネットワークの学習

0 0 00 0 00 0 00 0 01 0 01 0 01 1 01 1 01 1 11 1 1

a b c

P(a) = 35 P(b) = 25 P(c) = 15 P(a b) = 25 P(b c) = 15 P(a c) = 15 P(a b c) = 15

P(a | b c) = 1 P(b | a c) = 1 P(c | a b) = 12 P(a | b) = 1 P(a | c) = 1 P(b | a) = 23 P(b | c) = 1 P(c | a) = 13 P(c | b) = 12

独立性について

番外編 ベイジアンネットワークの学習

0 0 00 0 00 0 00 0 01 0 01 0 01 1 01 1 01 1 11 1 1

a b c

P(a | b c) = P(a | b) P(a | b c) = P(a | c) P(b | a c) ne P(b | a) P(b | a c) = P(b | c) P(c | a b) ne P(c | a) P(c | a b) = P(c | b)

P(a b c) ne P(a) P(b) P(c) P(a b) ne P(a) P(b) P(b c) ne P(b) P(c) P(a c) ne P(a) P(c)

条件付き独立性について

データによって成り立ったり成り立たなかったりする

乗法定理times2(n=6)

乗法定理times2 + 条件付き独立 (n=9)

乗法定理times1 + 独立(n=3)

全て独立(n=1)

乗法定理times1 + 独立 + 条件付き独立(n=6)エッジ0個

エッジ1個

エッジ2個(head-to-tail tail-to-tail)

エッジ2個(head-to-head)

エッジ3個(全結合)

番外編 ベイジアンネットワークの学習

尤度を計算した

= 02= 02= 02= 02= 02= 02

= 0048

= 008= 012= 012

= 02= 02= 02= 02= 013

= 013= 02

= 02= 013

= 008= 008= 008= 012= 008= 012

乗法定理times2(n=6)エッジ3個(全結合)

番外編 ベイジアンネットワークの学習

= 02= 02= 02= 02= 02= 02

乗法定理で変形したものはグラフ構造は違うのにも関わらず尤度は等しい

b

a

cb

a

cb

a

cb

a

cb

a

cb

a

c

乗法定理times2 + 条件付き独立 (n=9)

乗法定理times1 + 独立(n=3)乗法定理times1 + 独立 + 条件付き独立(n=6)

エッジ0個

エッジ1個

エッジ2個(head-to-tail tail-to-tail)

エッジ2個(head-to-head)

番外編 ベイジアンネットワークの学習

= 008= 012= 012

= 02= 02= 02= 02= 013

= 013= 02

= 02= 013

= 008= 008= 008= 012= 008= 012

条件付き独立独立はデータによって成り立ったり成り立たなかったりする

「同じ尤度を持つDAGは複数存在する可能性がある」

21世紀の統計科学 第2巻 第6章 生命システムネットワークを明らかにするための統計的モデリング

Page 42: PRML8章

3つのグラフの例③

ab

c

head-to-head

cに対して周辺化

これはp(a) p(b)という形に変形できた(独立)

(828)

確率の総和は1だから

3つのグラフの例③

ab

c

head-to-head

cで条件付ける

p(a|c) p(b|c)という形に変形できない(unblock)

(828)

3つのグラフの例(まとめ)

グラフの形 cで周辺化 cで条件付け

tail-to-tail 独立ではない 条件付き独立(block)

head-to-tail 独立ではない 条件付き独立(block)

head-to-head 独立 独立ではない(unblock)

head-to-headの更に特殊な性質(弁明)

図820

バッテリーの状態 0切れている

1充電されている

燃料タンクの状態 0空1満タン

電動燃料計 0空と示している

1満タンと示している

p(B=1) = 09 p(F=1) = 09

p(G=1 | B = 1 F = 1) = 08 p(G=1 | B = 1 F = 0) = 02 p(G=1 | B = 0 F = 1) = 02 p(G=1 | B = 0 F = 0) = 01

p(B=0) = 01 p(F=0) = 01

p(G=0 | B = 1 F = 1) = 02 p(G=0 | B = 1 F = 0) = 08 p(G=0 | B = 0 F = 1) = 08 p(G=0 | B = 0 F = 0) = 09

事前にこういった情報が与えられているとする

head-to-headの更に特殊な性質(弁明)

何も観測されていないとき燃料タンクが空である確率は

p(F=0) = 01

燃料計が空を指しているという事実を観測した時の燃料タンクが空である確率は(ベイズの定理より)

少し確率が高まっている

確率が低くなる

さらにバッテリーが切れている事実を観測した時の燃料タンクが空である確率は

図821

head-to-headの更に特殊な性質(弁明)

さらに子孫ノードのいずれかが観測されても 燃料タンクが空になる確率は変化する

子孫ノードが0

有向分離(D分離)リンクを遮断する時の法則今までの話をノード集合にまで拡張したもの

(グラフの形だけでわかる)

(a) 集合Cに含まれるノードであって経路に含まれる矢印がそこでhead-to-tailあるいはtail-to-tailである

(b) 経路に含まれる矢印がそのノードでhead-to-headであり自身あるいはそのすべての子孫のいずれもが集合Cに含まれない

CA B CA B

CA B

あらゆるA-C-Bの経路が遮断されていれば集合Aは集合Cにおいて集合Bと条件付き独立

有向分離(D分離)

図822

A AC C

B B

ノードaとノードbは集合C(ノードe f)で遮断できるかcが観測された場合 fが観測された場合

-gt 遮断されない -gt 遮断される

∵ fがtail-to-tailで観測されていない

eはhead-to-headだが子孫fがCに含まれる

∵ fがtail-to-tailで観測されている

eはhead-to-headでそれ自身あるいはその子孫が条件付き集合に

含まれない

有向分離(D分離)図85のモデルの有向分離性

パラメーターは観測済みノードと同じ amp 親ノードが無い

-gt 他のノードとのつながりは必ずtail-to-tailになる -gt 有向分離性に影響しない

124節のiidデータの有向分離性

図823

パラメーターuはtail-to-tail -gt uに値を入力したらあらゆる子ノード間で独立

-gt iid

uを積分消去した場合観測値は独立ではない

(835)

有向分離(D分離)図87のモデルの有向分離性

(836)

有向分離(D分離)ナイーブベイズの有向分離性

図824

例 bag-of-words

例 受信BOX迷惑メール

zが観測されるとあらゆるxノード間は独立

有向分離定理

1 有向分解(乗法定理を繰り返し適用して得た条件付き確率分布)

2 有向分離 (条件付き独立を繰り返し適用して得た条件付き確率分布)

以下の二つは同じ分布を得る

マルコフブランケット

xiが起きる確率をxi以外の全てのノードで条件付けた分布で考える

分母をxiで周辺化する

条件付き確率の積にする

xiに依存しないノードの条件付き確率は分子と打ち消し合う(次頁)

あるノードの条件付き独立性を考える時の最小単位

マルコフブランケット

図826

つまりxiの条件付き独立を考える時 1) 親子 2) 共同親 だけを考えれば良い

共同親A B

C

D E

F G

結局Cの条件付き確率P(C|AB)と Cの子ノードの条件付き確率P(D|CF)やP(E|CG)だけ残る

Cを含まない項は全部消える

無向グラフ(マルコフ確率場)無向グラフは条件付き独立を考えるのが簡単

図827集合Cを取り除いてA-B間の経路が無くなるなら条件付き独立

図828

無向グラフはマルコフブランケットも簡単

隣接ノードだけ考えれば良い

無向グラフ(マルコフ確率場)無向グラフの分解特性(これまで乗法定理を繰り返し適用していたもの)は以下のように定式化される

(838)

xi xj以外の全てのノードを取り除いた時の同時確率

よりと書くことも

各々の確率に分割できるならxijにおいてxixjは条件付き独立

クリーク

図829

無向グラフの分解特性は極大クリーク変数集合の関数にする事

クリーク x1 x2 x2 x3 x3 x4 x4 x2 極大クリーク x1 x2 x3 x2 x3 x4 x1 x2 x3 x4はクリークではない(x1 - x4間にリンクがない)

クリーク 全てのノードの組にリンクが存在するグラフの部分集合 極大クリーク もう一つを加えるとクリークでなくなってしまうようなクリーク

ポテンシャル関数極大クリークを引数としたポテンシャル関数

の積に分解するどんな関数にするかは言及しない

基本的に総和は1にならない -gt 規格化定数(分配関数)を導入

-gt 計算は大変

画像のノイズ除去の例

元のピクセル

ランダムに反転したピクセル

元画像10のピクセルをランダムに反転

ICMによる復元グラフカットアルゴリズムによる復元

(841)(842)

(843)

図831

有向-gt無向の変換図832のような簡単な場合

有向グラフ(a)無向グラフ(b)

以下のような対応づけができる

有向-gt無向の変換図833のような場合

親同士をリンクで結ぶ(モラル化)

1 向きを無くす 2 モラル化する 3 規格化する -gt ジャンクションツリーアルゴリズム(84)

生物の細胞

遺伝子間が相互作用のネットワークを形成している

geneX geneY

Protein X

Protein Y

様々な実験での遺伝子発現データ

とりうる可能性高い遺伝子ネットワークを探索(MAP推定)

データからこれを推定したい

実験

遺伝子

more

番外編 ベイジアンネットワークの学習

rarr 近似的に求めるアルゴリズムが開発される

httpwwwsclsrikenjpscruisesoftwaresign-bnhtml

番外編 ベイジアンネットワークの学習

こういうネットワーク構造は未知でデータから推定するアプローチはベイジアンネットワークのrdquo学習rdquoとかrdquo推論rdquoというらしい

(848で紹介だけしている)

SiGN-BN スパコン「京」で計算するソフトウェア自分の修論の内容

Rのbnlearnパッケージ(CBRCのBlue Gene上で実行)httpsignhgcjpsignbnindex_jahtml

番外編 ベイジアンネットワークの学習

番外編 ベイジアンネットワークの学習

どのグラフが良いか決める基準 尤度情報量基準(AIC BIC 尤度ampパラメーター数)

MAP推定(尤度times事前分布)hellip

データを元に最も最適と思われるグラフ構造を探索する

データ

グラフ

1 0 01 1 01 0 10 1 01 0 10 0 01 1 00 0 01 1 10 0 1

a b cb

a

c

b

a

c

b

a

c

データからグラフ構造を推定したい場合単純な式変形をしただけだと数学的に等しいので結局最適なグラフ構造を決定できないのでは(勉強会での議論)

=gt 実際にやってみた

番外編 ベイジアンネットワークの学習

httpwwwsclsrikenjpscruisewp-contentuploadssites3201312SIGN_HGC_Seminar_Tamada201302pdf

httpenwikipediaorgwikiDirected_acyclic_graph

ノード数の増加に対する取りうるDAG数

番外編 ベイジアンネットワークの学習

3ノードなら手計算でいけそう

乗法定理times2(n=6)

乗法定理times2 + 条件付き独立 (n=9)

乗法定理times1 + 独立(n=3)

全て独立(n=1)

乗法定理を使う (このままではグラフとして表現できない)

乗法定理times1 + 独立 + 条件付き独立(n=6)エッジ0個

エッジ1個

エッジ2個(head-to-tail tail-to-tail)

エッジ2個(head-to-head)

エッジ3個(全結合)

ノード3つで式変形を片っ端から行った

番外編 ベイジアンネットワークの学習

試しに以下のような簡単な01データを用いる またここでは単純に尤度のみでグラフの善し悪しを判定する

番外編 ベイジアンネットワークの学習

0 0 00 0 00 0 00 0 01 0 01 0 01 1 01 1 01 1 11 1 1

a b c

P(a) = 35 P(b) = 25 P(c) = 15 P(a b) = 25 P(b c) = 15 P(a c) = 15 P(a b c) = 15

P(a | b c) = 1 P(b | a c) = 1 P(c | a b) = 12 P(a | b) = 1 P(a | c) = 1 P(b | a) = 23 P(b | c) = 1 P(c | a) = 13 P(c | b) = 12

独立性について

番外編 ベイジアンネットワークの学習

0 0 00 0 00 0 00 0 01 0 01 0 01 1 01 1 01 1 11 1 1

a b c

P(a | b c) = P(a | b) P(a | b c) = P(a | c) P(b | a c) ne P(b | a) P(b | a c) = P(b | c) P(c | a b) ne P(c | a) P(c | a b) = P(c | b)

P(a b c) ne P(a) P(b) P(c) P(a b) ne P(a) P(b) P(b c) ne P(b) P(c) P(a c) ne P(a) P(c)

条件付き独立性について

データによって成り立ったり成り立たなかったりする

乗法定理times2(n=6)

乗法定理times2 + 条件付き独立 (n=9)

乗法定理times1 + 独立(n=3)

全て独立(n=1)

乗法定理times1 + 独立 + 条件付き独立(n=6)エッジ0個

エッジ1個

エッジ2個(head-to-tail tail-to-tail)

エッジ2個(head-to-head)

エッジ3個(全結合)

番外編 ベイジアンネットワークの学習

尤度を計算した

= 02= 02= 02= 02= 02= 02

= 0048

= 008= 012= 012

= 02= 02= 02= 02= 013

= 013= 02

= 02= 013

= 008= 008= 008= 012= 008= 012

乗法定理times2(n=6)エッジ3個(全結合)

番外編 ベイジアンネットワークの学習

= 02= 02= 02= 02= 02= 02

乗法定理で変形したものはグラフ構造は違うのにも関わらず尤度は等しい

b

a

cb

a

cb

a

cb

a

cb

a

cb

a

c

乗法定理times2 + 条件付き独立 (n=9)

乗法定理times1 + 独立(n=3)乗法定理times1 + 独立 + 条件付き独立(n=6)

エッジ0個

エッジ1個

エッジ2個(head-to-tail tail-to-tail)

エッジ2個(head-to-head)

番外編 ベイジアンネットワークの学習

= 008= 012= 012

= 02= 02= 02= 02= 013

= 013= 02

= 02= 013

= 008= 008= 008= 012= 008= 012

条件付き独立独立はデータによって成り立ったり成り立たなかったりする

「同じ尤度を持つDAGは複数存在する可能性がある」

21世紀の統計科学 第2巻 第6章 生命システムネットワークを明らかにするための統計的モデリング

Page 43: PRML8章

3つのグラフの例③

ab

c

head-to-head

cで条件付ける

p(a|c) p(b|c)という形に変形できない(unblock)

(828)

3つのグラフの例(まとめ)

グラフの形 cで周辺化 cで条件付け

tail-to-tail 独立ではない 条件付き独立(block)

head-to-tail 独立ではない 条件付き独立(block)

head-to-head 独立 独立ではない(unblock)

head-to-headの更に特殊な性質(弁明)

図820

バッテリーの状態 0切れている

1充電されている

燃料タンクの状態 0空1満タン

電動燃料計 0空と示している

1満タンと示している

p(B=1) = 09 p(F=1) = 09

p(G=1 | B = 1 F = 1) = 08 p(G=1 | B = 1 F = 0) = 02 p(G=1 | B = 0 F = 1) = 02 p(G=1 | B = 0 F = 0) = 01

p(B=0) = 01 p(F=0) = 01

p(G=0 | B = 1 F = 1) = 02 p(G=0 | B = 1 F = 0) = 08 p(G=0 | B = 0 F = 1) = 08 p(G=0 | B = 0 F = 0) = 09

事前にこういった情報が与えられているとする

head-to-headの更に特殊な性質(弁明)

何も観測されていないとき燃料タンクが空である確率は

p(F=0) = 01

燃料計が空を指しているという事実を観測した時の燃料タンクが空である確率は(ベイズの定理より)

少し確率が高まっている

確率が低くなる

さらにバッテリーが切れている事実を観測した時の燃料タンクが空である確率は

図821

head-to-headの更に特殊な性質(弁明)

さらに子孫ノードのいずれかが観測されても 燃料タンクが空になる確率は変化する

子孫ノードが0

有向分離(D分離)リンクを遮断する時の法則今までの話をノード集合にまで拡張したもの

(グラフの形だけでわかる)

(a) 集合Cに含まれるノードであって経路に含まれる矢印がそこでhead-to-tailあるいはtail-to-tailである

(b) 経路に含まれる矢印がそのノードでhead-to-headであり自身あるいはそのすべての子孫のいずれもが集合Cに含まれない

CA B CA B

CA B

あらゆるA-C-Bの経路が遮断されていれば集合Aは集合Cにおいて集合Bと条件付き独立

有向分離(D分離)

図822

A AC C

B B

ノードaとノードbは集合C(ノードe f)で遮断できるかcが観測された場合 fが観測された場合

-gt 遮断されない -gt 遮断される

∵ fがtail-to-tailで観測されていない

eはhead-to-headだが子孫fがCに含まれる

∵ fがtail-to-tailで観測されている

eはhead-to-headでそれ自身あるいはその子孫が条件付き集合に

含まれない

有向分離(D分離)図85のモデルの有向分離性

パラメーターは観測済みノードと同じ amp 親ノードが無い

-gt 他のノードとのつながりは必ずtail-to-tailになる -gt 有向分離性に影響しない

124節のiidデータの有向分離性

図823

パラメーターuはtail-to-tail -gt uに値を入力したらあらゆる子ノード間で独立

-gt iid

uを積分消去した場合観測値は独立ではない

(835)

有向分離(D分離)図87のモデルの有向分離性

(836)

有向分離(D分離)ナイーブベイズの有向分離性

図824

例 bag-of-words

例 受信BOX迷惑メール

zが観測されるとあらゆるxノード間は独立

有向分離定理

1 有向分解(乗法定理を繰り返し適用して得た条件付き確率分布)

2 有向分離 (条件付き独立を繰り返し適用して得た条件付き確率分布)

以下の二つは同じ分布を得る

マルコフブランケット

xiが起きる確率をxi以外の全てのノードで条件付けた分布で考える

分母をxiで周辺化する

条件付き確率の積にする

xiに依存しないノードの条件付き確率は分子と打ち消し合う(次頁)

あるノードの条件付き独立性を考える時の最小単位

マルコフブランケット

図826

つまりxiの条件付き独立を考える時 1) 親子 2) 共同親 だけを考えれば良い

共同親A B

C

D E

F G

結局Cの条件付き確率P(C|AB)と Cの子ノードの条件付き確率P(D|CF)やP(E|CG)だけ残る

Cを含まない項は全部消える

無向グラフ(マルコフ確率場)無向グラフは条件付き独立を考えるのが簡単

図827集合Cを取り除いてA-B間の経路が無くなるなら条件付き独立

図828

無向グラフはマルコフブランケットも簡単

隣接ノードだけ考えれば良い

無向グラフ(マルコフ確率場)無向グラフの分解特性(これまで乗法定理を繰り返し適用していたもの)は以下のように定式化される

(838)

xi xj以外の全てのノードを取り除いた時の同時確率

よりと書くことも

各々の確率に分割できるならxijにおいてxixjは条件付き独立

クリーク

図829

無向グラフの分解特性は極大クリーク変数集合の関数にする事

クリーク x1 x2 x2 x3 x3 x4 x4 x2 極大クリーク x1 x2 x3 x2 x3 x4 x1 x2 x3 x4はクリークではない(x1 - x4間にリンクがない)

クリーク 全てのノードの組にリンクが存在するグラフの部分集合 極大クリーク もう一つを加えるとクリークでなくなってしまうようなクリーク

ポテンシャル関数極大クリークを引数としたポテンシャル関数

の積に分解するどんな関数にするかは言及しない

基本的に総和は1にならない -gt 規格化定数(分配関数)を導入

-gt 計算は大変

画像のノイズ除去の例

元のピクセル

ランダムに反転したピクセル

元画像10のピクセルをランダムに反転

ICMによる復元グラフカットアルゴリズムによる復元

(841)(842)

(843)

図831

有向-gt無向の変換図832のような簡単な場合

有向グラフ(a)無向グラフ(b)

以下のような対応づけができる

有向-gt無向の変換図833のような場合

親同士をリンクで結ぶ(モラル化)

1 向きを無くす 2 モラル化する 3 規格化する -gt ジャンクションツリーアルゴリズム(84)

生物の細胞

遺伝子間が相互作用のネットワークを形成している

geneX geneY

Protein X

Protein Y

様々な実験での遺伝子発現データ

とりうる可能性高い遺伝子ネットワークを探索(MAP推定)

データからこれを推定したい

実験

遺伝子

more

番外編 ベイジアンネットワークの学習

rarr 近似的に求めるアルゴリズムが開発される

httpwwwsclsrikenjpscruisesoftwaresign-bnhtml

番外編 ベイジアンネットワークの学習

こういうネットワーク構造は未知でデータから推定するアプローチはベイジアンネットワークのrdquo学習rdquoとかrdquo推論rdquoというらしい

(848で紹介だけしている)

SiGN-BN スパコン「京」で計算するソフトウェア自分の修論の内容

Rのbnlearnパッケージ(CBRCのBlue Gene上で実行)httpsignhgcjpsignbnindex_jahtml

番外編 ベイジアンネットワークの学習

番外編 ベイジアンネットワークの学習

どのグラフが良いか決める基準 尤度情報量基準(AIC BIC 尤度ampパラメーター数)

MAP推定(尤度times事前分布)hellip

データを元に最も最適と思われるグラフ構造を探索する

データ

グラフ

1 0 01 1 01 0 10 1 01 0 10 0 01 1 00 0 01 1 10 0 1

a b cb

a

c

b

a

c

b

a

c

データからグラフ構造を推定したい場合単純な式変形をしただけだと数学的に等しいので結局最適なグラフ構造を決定できないのでは(勉強会での議論)

=gt 実際にやってみた

番外編 ベイジアンネットワークの学習

httpwwwsclsrikenjpscruisewp-contentuploadssites3201312SIGN_HGC_Seminar_Tamada201302pdf

httpenwikipediaorgwikiDirected_acyclic_graph

ノード数の増加に対する取りうるDAG数

番外編 ベイジアンネットワークの学習

3ノードなら手計算でいけそう

乗法定理times2(n=6)

乗法定理times2 + 条件付き独立 (n=9)

乗法定理times1 + 独立(n=3)

全て独立(n=1)

乗法定理を使う (このままではグラフとして表現できない)

乗法定理times1 + 独立 + 条件付き独立(n=6)エッジ0個

エッジ1個

エッジ2個(head-to-tail tail-to-tail)

エッジ2個(head-to-head)

エッジ3個(全結合)

ノード3つで式変形を片っ端から行った

番外編 ベイジアンネットワークの学習

試しに以下のような簡単な01データを用いる またここでは単純に尤度のみでグラフの善し悪しを判定する

番外編 ベイジアンネットワークの学習

0 0 00 0 00 0 00 0 01 0 01 0 01 1 01 1 01 1 11 1 1

a b c

P(a) = 35 P(b) = 25 P(c) = 15 P(a b) = 25 P(b c) = 15 P(a c) = 15 P(a b c) = 15

P(a | b c) = 1 P(b | a c) = 1 P(c | a b) = 12 P(a | b) = 1 P(a | c) = 1 P(b | a) = 23 P(b | c) = 1 P(c | a) = 13 P(c | b) = 12

独立性について

番外編 ベイジアンネットワークの学習

0 0 00 0 00 0 00 0 01 0 01 0 01 1 01 1 01 1 11 1 1

a b c

P(a | b c) = P(a | b) P(a | b c) = P(a | c) P(b | a c) ne P(b | a) P(b | a c) = P(b | c) P(c | a b) ne P(c | a) P(c | a b) = P(c | b)

P(a b c) ne P(a) P(b) P(c) P(a b) ne P(a) P(b) P(b c) ne P(b) P(c) P(a c) ne P(a) P(c)

条件付き独立性について

データによって成り立ったり成り立たなかったりする

乗法定理times2(n=6)

乗法定理times2 + 条件付き独立 (n=9)

乗法定理times1 + 独立(n=3)

全て独立(n=1)

乗法定理times1 + 独立 + 条件付き独立(n=6)エッジ0個

エッジ1個

エッジ2個(head-to-tail tail-to-tail)

エッジ2個(head-to-head)

エッジ3個(全結合)

番外編 ベイジアンネットワークの学習

尤度を計算した

= 02= 02= 02= 02= 02= 02

= 0048

= 008= 012= 012

= 02= 02= 02= 02= 013

= 013= 02

= 02= 013

= 008= 008= 008= 012= 008= 012

乗法定理times2(n=6)エッジ3個(全結合)

番外編 ベイジアンネットワークの学習

= 02= 02= 02= 02= 02= 02

乗法定理で変形したものはグラフ構造は違うのにも関わらず尤度は等しい

b

a

cb

a

cb

a

cb

a

cb

a

cb

a

c

乗法定理times2 + 条件付き独立 (n=9)

乗法定理times1 + 独立(n=3)乗法定理times1 + 独立 + 条件付き独立(n=6)

エッジ0個

エッジ1個

エッジ2個(head-to-tail tail-to-tail)

エッジ2個(head-to-head)

番外編 ベイジアンネットワークの学習

= 008= 012= 012

= 02= 02= 02= 02= 013

= 013= 02

= 02= 013

= 008= 008= 008= 012= 008= 012

条件付き独立独立はデータによって成り立ったり成り立たなかったりする

「同じ尤度を持つDAGは複数存在する可能性がある」

21世紀の統計科学 第2巻 第6章 生命システムネットワークを明らかにするための統計的モデリング

Page 44: PRML8章

3つのグラフの例(まとめ)

グラフの形 cで周辺化 cで条件付け

tail-to-tail 独立ではない 条件付き独立(block)

head-to-tail 独立ではない 条件付き独立(block)

head-to-head 独立 独立ではない(unblock)

head-to-headの更に特殊な性質(弁明)

図820

バッテリーの状態 0切れている

1充電されている

燃料タンクの状態 0空1満タン

電動燃料計 0空と示している

1満タンと示している

p(B=1) = 09 p(F=1) = 09

p(G=1 | B = 1 F = 1) = 08 p(G=1 | B = 1 F = 0) = 02 p(G=1 | B = 0 F = 1) = 02 p(G=1 | B = 0 F = 0) = 01

p(B=0) = 01 p(F=0) = 01

p(G=0 | B = 1 F = 1) = 02 p(G=0 | B = 1 F = 0) = 08 p(G=0 | B = 0 F = 1) = 08 p(G=0 | B = 0 F = 0) = 09

事前にこういった情報が与えられているとする

head-to-headの更に特殊な性質(弁明)

何も観測されていないとき燃料タンクが空である確率は

p(F=0) = 01

燃料計が空を指しているという事実を観測した時の燃料タンクが空である確率は(ベイズの定理より)

少し確率が高まっている

確率が低くなる

さらにバッテリーが切れている事実を観測した時の燃料タンクが空である確率は

図821

head-to-headの更に特殊な性質(弁明)

さらに子孫ノードのいずれかが観測されても 燃料タンクが空になる確率は変化する

子孫ノードが0

有向分離(D分離)リンクを遮断する時の法則今までの話をノード集合にまで拡張したもの

(グラフの形だけでわかる)

(a) 集合Cに含まれるノードであって経路に含まれる矢印がそこでhead-to-tailあるいはtail-to-tailである

(b) 経路に含まれる矢印がそのノードでhead-to-headであり自身あるいはそのすべての子孫のいずれもが集合Cに含まれない

CA B CA B

CA B

あらゆるA-C-Bの経路が遮断されていれば集合Aは集合Cにおいて集合Bと条件付き独立

有向分離(D分離)

図822

A AC C

B B

ノードaとノードbは集合C(ノードe f)で遮断できるかcが観測された場合 fが観測された場合

-gt 遮断されない -gt 遮断される

∵ fがtail-to-tailで観測されていない

eはhead-to-headだが子孫fがCに含まれる

∵ fがtail-to-tailで観測されている

eはhead-to-headでそれ自身あるいはその子孫が条件付き集合に

含まれない

有向分離(D分離)図85のモデルの有向分離性

パラメーターは観測済みノードと同じ amp 親ノードが無い

-gt 他のノードとのつながりは必ずtail-to-tailになる -gt 有向分離性に影響しない

124節のiidデータの有向分離性

図823

パラメーターuはtail-to-tail -gt uに値を入力したらあらゆる子ノード間で独立

-gt iid

uを積分消去した場合観測値は独立ではない

(835)

有向分離(D分離)図87のモデルの有向分離性

(836)

有向分離(D分離)ナイーブベイズの有向分離性

図824

例 bag-of-words

例 受信BOX迷惑メール

zが観測されるとあらゆるxノード間は独立

有向分離定理

1 有向分解(乗法定理を繰り返し適用して得た条件付き確率分布)

2 有向分離 (条件付き独立を繰り返し適用して得た条件付き確率分布)

以下の二つは同じ分布を得る

マルコフブランケット

xiが起きる確率をxi以外の全てのノードで条件付けた分布で考える

分母をxiで周辺化する

条件付き確率の積にする

xiに依存しないノードの条件付き確率は分子と打ち消し合う(次頁)

あるノードの条件付き独立性を考える時の最小単位

マルコフブランケット

図826

つまりxiの条件付き独立を考える時 1) 親子 2) 共同親 だけを考えれば良い

共同親A B

C

D E

F G

結局Cの条件付き確率P(C|AB)と Cの子ノードの条件付き確率P(D|CF)やP(E|CG)だけ残る

Cを含まない項は全部消える

無向グラフ(マルコフ確率場)無向グラフは条件付き独立を考えるのが簡単

図827集合Cを取り除いてA-B間の経路が無くなるなら条件付き独立

図828

無向グラフはマルコフブランケットも簡単

隣接ノードだけ考えれば良い

無向グラフ(マルコフ確率場)無向グラフの分解特性(これまで乗法定理を繰り返し適用していたもの)は以下のように定式化される

(838)

xi xj以外の全てのノードを取り除いた時の同時確率

よりと書くことも

各々の確率に分割できるならxijにおいてxixjは条件付き独立

クリーク

図829

無向グラフの分解特性は極大クリーク変数集合の関数にする事

クリーク x1 x2 x2 x3 x3 x4 x4 x2 極大クリーク x1 x2 x3 x2 x3 x4 x1 x2 x3 x4はクリークではない(x1 - x4間にリンクがない)

クリーク 全てのノードの組にリンクが存在するグラフの部分集合 極大クリーク もう一つを加えるとクリークでなくなってしまうようなクリーク

ポテンシャル関数極大クリークを引数としたポテンシャル関数

の積に分解するどんな関数にするかは言及しない

基本的に総和は1にならない -gt 規格化定数(分配関数)を導入

-gt 計算は大変

画像のノイズ除去の例

元のピクセル

ランダムに反転したピクセル

元画像10のピクセルをランダムに反転

ICMによる復元グラフカットアルゴリズムによる復元

(841)(842)

(843)

図831

有向-gt無向の変換図832のような簡単な場合

有向グラフ(a)無向グラフ(b)

以下のような対応づけができる

有向-gt無向の変換図833のような場合

親同士をリンクで結ぶ(モラル化)

1 向きを無くす 2 モラル化する 3 規格化する -gt ジャンクションツリーアルゴリズム(84)

生物の細胞

遺伝子間が相互作用のネットワークを形成している

geneX geneY

Protein X

Protein Y

様々な実験での遺伝子発現データ

とりうる可能性高い遺伝子ネットワークを探索(MAP推定)

データからこれを推定したい

実験

遺伝子

more

番外編 ベイジアンネットワークの学習

rarr 近似的に求めるアルゴリズムが開発される

httpwwwsclsrikenjpscruisesoftwaresign-bnhtml

番外編 ベイジアンネットワークの学習

こういうネットワーク構造は未知でデータから推定するアプローチはベイジアンネットワークのrdquo学習rdquoとかrdquo推論rdquoというらしい

(848で紹介だけしている)

SiGN-BN スパコン「京」で計算するソフトウェア自分の修論の内容

Rのbnlearnパッケージ(CBRCのBlue Gene上で実行)httpsignhgcjpsignbnindex_jahtml

番外編 ベイジアンネットワークの学習

番外編 ベイジアンネットワークの学習

どのグラフが良いか決める基準 尤度情報量基準(AIC BIC 尤度ampパラメーター数)

MAP推定(尤度times事前分布)hellip

データを元に最も最適と思われるグラフ構造を探索する

データ

グラフ

1 0 01 1 01 0 10 1 01 0 10 0 01 1 00 0 01 1 10 0 1

a b cb

a

c

b

a

c

b

a

c

データからグラフ構造を推定したい場合単純な式変形をしただけだと数学的に等しいので結局最適なグラフ構造を決定できないのでは(勉強会での議論)

=gt 実際にやってみた

番外編 ベイジアンネットワークの学習

httpwwwsclsrikenjpscruisewp-contentuploadssites3201312SIGN_HGC_Seminar_Tamada201302pdf

httpenwikipediaorgwikiDirected_acyclic_graph

ノード数の増加に対する取りうるDAG数

番外編 ベイジアンネットワークの学習

3ノードなら手計算でいけそう

乗法定理times2(n=6)

乗法定理times2 + 条件付き独立 (n=9)

乗法定理times1 + 独立(n=3)

全て独立(n=1)

乗法定理を使う (このままではグラフとして表現できない)

乗法定理times1 + 独立 + 条件付き独立(n=6)エッジ0個

エッジ1個

エッジ2個(head-to-tail tail-to-tail)

エッジ2個(head-to-head)

エッジ3個(全結合)

ノード3つで式変形を片っ端から行った

番外編 ベイジアンネットワークの学習

試しに以下のような簡単な01データを用いる またここでは単純に尤度のみでグラフの善し悪しを判定する

番外編 ベイジアンネットワークの学習

0 0 00 0 00 0 00 0 01 0 01 0 01 1 01 1 01 1 11 1 1

a b c

P(a) = 35 P(b) = 25 P(c) = 15 P(a b) = 25 P(b c) = 15 P(a c) = 15 P(a b c) = 15

P(a | b c) = 1 P(b | a c) = 1 P(c | a b) = 12 P(a | b) = 1 P(a | c) = 1 P(b | a) = 23 P(b | c) = 1 P(c | a) = 13 P(c | b) = 12

独立性について

番外編 ベイジアンネットワークの学習

0 0 00 0 00 0 00 0 01 0 01 0 01 1 01 1 01 1 11 1 1

a b c

P(a | b c) = P(a | b) P(a | b c) = P(a | c) P(b | a c) ne P(b | a) P(b | a c) = P(b | c) P(c | a b) ne P(c | a) P(c | a b) = P(c | b)

P(a b c) ne P(a) P(b) P(c) P(a b) ne P(a) P(b) P(b c) ne P(b) P(c) P(a c) ne P(a) P(c)

条件付き独立性について

データによって成り立ったり成り立たなかったりする

乗法定理times2(n=6)

乗法定理times2 + 条件付き独立 (n=9)

乗法定理times1 + 独立(n=3)

全て独立(n=1)

乗法定理times1 + 独立 + 条件付き独立(n=6)エッジ0個

エッジ1個

エッジ2個(head-to-tail tail-to-tail)

エッジ2個(head-to-head)

エッジ3個(全結合)

番外編 ベイジアンネットワークの学習

尤度を計算した

= 02= 02= 02= 02= 02= 02

= 0048

= 008= 012= 012

= 02= 02= 02= 02= 013

= 013= 02

= 02= 013

= 008= 008= 008= 012= 008= 012

乗法定理times2(n=6)エッジ3個(全結合)

番外編 ベイジアンネットワークの学習

= 02= 02= 02= 02= 02= 02

乗法定理で変形したものはグラフ構造は違うのにも関わらず尤度は等しい

b

a

cb

a

cb

a

cb

a

cb

a

cb

a

c

乗法定理times2 + 条件付き独立 (n=9)

乗法定理times1 + 独立(n=3)乗法定理times1 + 独立 + 条件付き独立(n=6)

エッジ0個

エッジ1個

エッジ2個(head-to-tail tail-to-tail)

エッジ2個(head-to-head)

番外編 ベイジアンネットワークの学習

= 008= 012= 012

= 02= 02= 02= 02= 013

= 013= 02

= 02= 013

= 008= 008= 008= 012= 008= 012

条件付き独立独立はデータによって成り立ったり成り立たなかったりする

「同じ尤度を持つDAGは複数存在する可能性がある」

21世紀の統計科学 第2巻 第6章 生命システムネットワークを明らかにするための統計的モデリング

Page 45: PRML8章

head-to-headの更に特殊な性質(弁明)

図820

バッテリーの状態 0切れている

1充電されている

燃料タンクの状態 0空1満タン

電動燃料計 0空と示している

1満タンと示している

p(B=1) = 09 p(F=1) = 09

p(G=1 | B = 1 F = 1) = 08 p(G=1 | B = 1 F = 0) = 02 p(G=1 | B = 0 F = 1) = 02 p(G=1 | B = 0 F = 0) = 01

p(B=0) = 01 p(F=0) = 01

p(G=0 | B = 1 F = 1) = 02 p(G=0 | B = 1 F = 0) = 08 p(G=0 | B = 0 F = 1) = 08 p(G=0 | B = 0 F = 0) = 09

事前にこういった情報が与えられているとする

head-to-headの更に特殊な性質(弁明)

何も観測されていないとき燃料タンクが空である確率は

p(F=0) = 01

燃料計が空を指しているという事実を観測した時の燃料タンクが空である確率は(ベイズの定理より)

少し確率が高まっている

確率が低くなる

さらにバッテリーが切れている事実を観測した時の燃料タンクが空である確率は

図821

head-to-headの更に特殊な性質(弁明)

さらに子孫ノードのいずれかが観測されても 燃料タンクが空になる確率は変化する

子孫ノードが0

有向分離(D分離)リンクを遮断する時の法則今までの話をノード集合にまで拡張したもの

(グラフの形だけでわかる)

(a) 集合Cに含まれるノードであって経路に含まれる矢印がそこでhead-to-tailあるいはtail-to-tailである

(b) 経路に含まれる矢印がそのノードでhead-to-headであり自身あるいはそのすべての子孫のいずれもが集合Cに含まれない

CA B CA B

CA B

あらゆるA-C-Bの経路が遮断されていれば集合Aは集合Cにおいて集合Bと条件付き独立

有向分離(D分離)

図822

A AC C

B B

ノードaとノードbは集合C(ノードe f)で遮断できるかcが観測された場合 fが観測された場合

-gt 遮断されない -gt 遮断される

∵ fがtail-to-tailで観測されていない

eはhead-to-headだが子孫fがCに含まれる

∵ fがtail-to-tailで観測されている

eはhead-to-headでそれ自身あるいはその子孫が条件付き集合に

含まれない

有向分離(D分離)図85のモデルの有向分離性

パラメーターは観測済みノードと同じ amp 親ノードが無い

-gt 他のノードとのつながりは必ずtail-to-tailになる -gt 有向分離性に影響しない

124節のiidデータの有向分離性

図823

パラメーターuはtail-to-tail -gt uに値を入力したらあらゆる子ノード間で独立

-gt iid

uを積分消去した場合観測値は独立ではない

(835)

有向分離(D分離)図87のモデルの有向分離性

(836)

有向分離(D分離)ナイーブベイズの有向分離性

図824

例 bag-of-words

例 受信BOX迷惑メール

zが観測されるとあらゆるxノード間は独立

有向分離定理

1 有向分解(乗法定理を繰り返し適用して得た条件付き確率分布)

2 有向分離 (条件付き独立を繰り返し適用して得た条件付き確率分布)

以下の二つは同じ分布を得る

マルコフブランケット

xiが起きる確率をxi以外の全てのノードで条件付けた分布で考える

分母をxiで周辺化する

条件付き確率の積にする

xiに依存しないノードの条件付き確率は分子と打ち消し合う(次頁)

あるノードの条件付き独立性を考える時の最小単位

マルコフブランケット

図826

つまりxiの条件付き独立を考える時 1) 親子 2) 共同親 だけを考えれば良い

共同親A B

C

D E

F G

結局Cの条件付き確率P(C|AB)と Cの子ノードの条件付き確率P(D|CF)やP(E|CG)だけ残る

Cを含まない項は全部消える

無向グラフ(マルコフ確率場)無向グラフは条件付き独立を考えるのが簡単

図827集合Cを取り除いてA-B間の経路が無くなるなら条件付き独立

図828

無向グラフはマルコフブランケットも簡単

隣接ノードだけ考えれば良い

無向グラフ(マルコフ確率場)無向グラフの分解特性(これまで乗法定理を繰り返し適用していたもの)は以下のように定式化される

(838)

xi xj以外の全てのノードを取り除いた時の同時確率

よりと書くことも

各々の確率に分割できるならxijにおいてxixjは条件付き独立

クリーク

図829

無向グラフの分解特性は極大クリーク変数集合の関数にする事

クリーク x1 x2 x2 x3 x3 x4 x4 x2 極大クリーク x1 x2 x3 x2 x3 x4 x1 x2 x3 x4はクリークではない(x1 - x4間にリンクがない)

クリーク 全てのノードの組にリンクが存在するグラフの部分集合 極大クリーク もう一つを加えるとクリークでなくなってしまうようなクリーク

ポテンシャル関数極大クリークを引数としたポテンシャル関数

の積に分解するどんな関数にするかは言及しない

基本的に総和は1にならない -gt 規格化定数(分配関数)を導入

-gt 計算は大変

画像のノイズ除去の例

元のピクセル

ランダムに反転したピクセル

元画像10のピクセルをランダムに反転

ICMによる復元グラフカットアルゴリズムによる復元

(841)(842)

(843)

図831

有向-gt無向の変換図832のような簡単な場合

有向グラフ(a)無向グラフ(b)

以下のような対応づけができる

有向-gt無向の変換図833のような場合

親同士をリンクで結ぶ(モラル化)

1 向きを無くす 2 モラル化する 3 規格化する -gt ジャンクションツリーアルゴリズム(84)

生物の細胞

遺伝子間が相互作用のネットワークを形成している

geneX geneY

Protein X

Protein Y

様々な実験での遺伝子発現データ

とりうる可能性高い遺伝子ネットワークを探索(MAP推定)

データからこれを推定したい

実験

遺伝子

more

番外編 ベイジアンネットワークの学習

rarr 近似的に求めるアルゴリズムが開発される

httpwwwsclsrikenjpscruisesoftwaresign-bnhtml

番外編 ベイジアンネットワークの学習

こういうネットワーク構造は未知でデータから推定するアプローチはベイジアンネットワークのrdquo学習rdquoとかrdquo推論rdquoというらしい

(848で紹介だけしている)

SiGN-BN スパコン「京」で計算するソフトウェア自分の修論の内容

Rのbnlearnパッケージ(CBRCのBlue Gene上で実行)httpsignhgcjpsignbnindex_jahtml

番外編 ベイジアンネットワークの学習

番外編 ベイジアンネットワークの学習

どのグラフが良いか決める基準 尤度情報量基準(AIC BIC 尤度ampパラメーター数)

MAP推定(尤度times事前分布)hellip

データを元に最も最適と思われるグラフ構造を探索する

データ

グラフ

1 0 01 1 01 0 10 1 01 0 10 0 01 1 00 0 01 1 10 0 1

a b cb

a

c

b

a

c

b

a

c

データからグラフ構造を推定したい場合単純な式変形をしただけだと数学的に等しいので結局最適なグラフ構造を決定できないのでは(勉強会での議論)

=gt 実際にやってみた

番外編 ベイジアンネットワークの学習

httpwwwsclsrikenjpscruisewp-contentuploadssites3201312SIGN_HGC_Seminar_Tamada201302pdf

httpenwikipediaorgwikiDirected_acyclic_graph

ノード数の増加に対する取りうるDAG数

番外編 ベイジアンネットワークの学習

3ノードなら手計算でいけそう

乗法定理times2(n=6)

乗法定理times2 + 条件付き独立 (n=9)

乗法定理times1 + 独立(n=3)

全て独立(n=1)

乗法定理を使う (このままではグラフとして表現できない)

乗法定理times1 + 独立 + 条件付き独立(n=6)エッジ0個

エッジ1個

エッジ2個(head-to-tail tail-to-tail)

エッジ2個(head-to-head)

エッジ3個(全結合)

ノード3つで式変形を片っ端から行った

番外編 ベイジアンネットワークの学習

試しに以下のような簡単な01データを用いる またここでは単純に尤度のみでグラフの善し悪しを判定する

番外編 ベイジアンネットワークの学習

0 0 00 0 00 0 00 0 01 0 01 0 01 1 01 1 01 1 11 1 1

a b c

P(a) = 35 P(b) = 25 P(c) = 15 P(a b) = 25 P(b c) = 15 P(a c) = 15 P(a b c) = 15

P(a | b c) = 1 P(b | a c) = 1 P(c | a b) = 12 P(a | b) = 1 P(a | c) = 1 P(b | a) = 23 P(b | c) = 1 P(c | a) = 13 P(c | b) = 12

独立性について

番外編 ベイジアンネットワークの学習

0 0 00 0 00 0 00 0 01 0 01 0 01 1 01 1 01 1 11 1 1

a b c

P(a | b c) = P(a | b) P(a | b c) = P(a | c) P(b | a c) ne P(b | a) P(b | a c) = P(b | c) P(c | a b) ne P(c | a) P(c | a b) = P(c | b)

P(a b c) ne P(a) P(b) P(c) P(a b) ne P(a) P(b) P(b c) ne P(b) P(c) P(a c) ne P(a) P(c)

条件付き独立性について

データによって成り立ったり成り立たなかったりする

乗法定理times2(n=6)

乗法定理times2 + 条件付き独立 (n=9)

乗法定理times1 + 独立(n=3)

全て独立(n=1)

乗法定理times1 + 独立 + 条件付き独立(n=6)エッジ0個

エッジ1個

エッジ2個(head-to-tail tail-to-tail)

エッジ2個(head-to-head)

エッジ3個(全結合)

番外編 ベイジアンネットワークの学習

尤度を計算した

= 02= 02= 02= 02= 02= 02

= 0048

= 008= 012= 012

= 02= 02= 02= 02= 013

= 013= 02

= 02= 013

= 008= 008= 008= 012= 008= 012

乗法定理times2(n=6)エッジ3個(全結合)

番外編 ベイジアンネットワークの学習

= 02= 02= 02= 02= 02= 02

乗法定理で変形したものはグラフ構造は違うのにも関わらず尤度は等しい

b

a

cb

a

cb

a

cb

a

cb

a

cb

a

c

乗法定理times2 + 条件付き独立 (n=9)

乗法定理times1 + 独立(n=3)乗法定理times1 + 独立 + 条件付き独立(n=6)

エッジ0個

エッジ1個

エッジ2個(head-to-tail tail-to-tail)

エッジ2個(head-to-head)

番外編 ベイジアンネットワークの学習

= 008= 012= 012

= 02= 02= 02= 02= 013

= 013= 02

= 02= 013

= 008= 008= 008= 012= 008= 012

条件付き独立独立はデータによって成り立ったり成り立たなかったりする

「同じ尤度を持つDAGは複数存在する可能性がある」

21世紀の統計科学 第2巻 第6章 生命システムネットワークを明らかにするための統計的モデリング

Page 46: PRML8章

head-to-headの更に特殊な性質(弁明)

何も観測されていないとき燃料タンクが空である確率は

p(F=0) = 01

燃料計が空を指しているという事実を観測した時の燃料タンクが空である確率は(ベイズの定理より)

少し確率が高まっている

確率が低くなる

さらにバッテリーが切れている事実を観測した時の燃料タンクが空である確率は

図821

head-to-headの更に特殊な性質(弁明)

さらに子孫ノードのいずれかが観測されても 燃料タンクが空になる確率は変化する

子孫ノードが0

有向分離(D分離)リンクを遮断する時の法則今までの話をノード集合にまで拡張したもの

(グラフの形だけでわかる)

(a) 集合Cに含まれるノードであって経路に含まれる矢印がそこでhead-to-tailあるいはtail-to-tailである

(b) 経路に含まれる矢印がそのノードでhead-to-headであり自身あるいはそのすべての子孫のいずれもが集合Cに含まれない

CA B CA B

CA B

あらゆるA-C-Bの経路が遮断されていれば集合Aは集合Cにおいて集合Bと条件付き独立

有向分離(D分離)

図822

A AC C

B B

ノードaとノードbは集合C(ノードe f)で遮断できるかcが観測された場合 fが観測された場合

-gt 遮断されない -gt 遮断される

∵ fがtail-to-tailで観測されていない

eはhead-to-headだが子孫fがCに含まれる

∵ fがtail-to-tailで観測されている

eはhead-to-headでそれ自身あるいはその子孫が条件付き集合に

含まれない

有向分離(D分離)図85のモデルの有向分離性

パラメーターは観測済みノードと同じ amp 親ノードが無い

-gt 他のノードとのつながりは必ずtail-to-tailになる -gt 有向分離性に影響しない

124節のiidデータの有向分離性

図823

パラメーターuはtail-to-tail -gt uに値を入力したらあらゆる子ノード間で独立

-gt iid

uを積分消去した場合観測値は独立ではない

(835)

有向分離(D分離)図87のモデルの有向分離性

(836)

有向分離(D分離)ナイーブベイズの有向分離性

図824

例 bag-of-words

例 受信BOX迷惑メール

zが観測されるとあらゆるxノード間は独立

有向分離定理

1 有向分解(乗法定理を繰り返し適用して得た条件付き確率分布)

2 有向分離 (条件付き独立を繰り返し適用して得た条件付き確率分布)

以下の二つは同じ分布を得る

マルコフブランケット

xiが起きる確率をxi以外の全てのノードで条件付けた分布で考える

分母をxiで周辺化する

条件付き確率の積にする

xiに依存しないノードの条件付き確率は分子と打ち消し合う(次頁)

あるノードの条件付き独立性を考える時の最小単位

マルコフブランケット

図826

つまりxiの条件付き独立を考える時 1) 親子 2) 共同親 だけを考えれば良い

共同親A B

C

D E

F G

結局Cの条件付き確率P(C|AB)と Cの子ノードの条件付き確率P(D|CF)やP(E|CG)だけ残る

Cを含まない項は全部消える

無向グラフ(マルコフ確率場)無向グラフは条件付き独立を考えるのが簡単

図827集合Cを取り除いてA-B間の経路が無くなるなら条件付き独立

図828

無向グラフはマルコフブランケットも簡単

隣接ノードだけ考えれば良い

無向グラフ(マルコフ確率場)無向グラフの分解特性(これまで乗法定理を繰り返し適用していたもの)は以下のように定式化される

(838)

xi xj以外の全てのノードを取り除いた時の同時確率

よりと書くことも

各々の確率に分割できるならxijにおいてxixjは条件付き独立

クリーク

図829

無向グラフの分解特性は極大クリーク変数集合の関数にする事

クリーク x1 x2 x2 x3 x3 x4 x4 x2 極大クリーク x1 x2 x3 x2 x3 x4 x1 x2 x3 x4はクリークではない(x1 - x4間にリンクがない)

クリーク 全てのノードの組にリンクが存在するグラフの部分集合 極大クリーク もう一つを加えるとクリークでなくなってしまうようなクリーク

ポテンシャル関数極大クリークを引数としたポテンシャル関数

の積に分解するどんな関数にするかは言及しない

基本的に総和は1にならない -gt 規格化定数(分配関数)を導入

-gt 計算は大変

画像のノイズ除去の例

元のピクセル

ランダムに反転したピクセル

元画像10のピクセルをランダムに反転

ICMによる復元グラフカットアルゴリズムによる復元

(841)(842)

(843)

図831

有向-gt無向の変換図832のような簡単な場合

有向グラフ(a)無向グラフ(b)

以下のような対応づけができる

有向-gt無向の変換図833のような場合

親同士をリンクで結ぶ(モラル化)

1 向きを無くす 2 モラル化する 3 規格化する -gt ジャンクションツリーアルゴリズム(84)

生物の細胞

遺伝子間が相互作用のネットワークを形成している

geneX geneY

Protein X

Protein Y

様々な実験での遺伝子発現データ

とりうる可能性高い遺伝子ネットワークを探索(MAP推定)

データからこれを推定したい

実験

遺伝子

more

番外編 ベイジアンネットワークの学習

rarr 近似的に求めるアルゴリズムが開発される

httpwwwsclsrikenjpscruisesoftwaresign-bnhtml

番外編 ベイジアンネットワークの学習

こういうネットワーク構造は未知でデータから推定するアプローチはベイジアンネットワークのrdquo学習rdquoとかrdquo推論rdquoというらしい

(848で紹介だけしている)

SiGN-BN スパコン「京」で計算するソフトウェア自分の修論の内容

Rのbnlearnパッケージ(CBRCのBlue Gene上で実行)httpsignhgcjpsignbnindex_jahtml

番外編 ベイジアンネットワークの学習

番外編 ベイジアンネットワークの学習

どのグラフが良いか決める基準 尤度情報量基準(AIC BIC 尤度ampパラメーター数)

MAP推定(尤度times事前分布)hellip

データを元に最も最適と思われるグラフ構造を探索する

データ

グラフ

1 0 01 1 01 0 10 1 01 0 10 0 01 1 00 0 01 1 10 0 1

a b cb

a

c

b

a

c

b

a

c

データからグラフ構造を推定したい場合単純な式変形をしただけだと数学的に等しいので結局最適なグラフ構造を決定できないのでは(勉強会での議論)

=gt 実際にやってみた

番外編 ベイジアンネットワークの学習

httpwwwsclsrikenjpscruisewp-contentuploadssites3201312SIGN_HGC_Seminar_Tamada201302pdf

httpenwikipediaorgwikiDirected_acyclic_graph

ノード数の増加に対する取りうるDAG数

番外編 ベイジアンネットワークの学習

3ノードなら手計算でいけそう

乗法定理times2(n=6)

乗法定理times2 + 条件付き独立 (n=9)

乗法定理times1 + 独立(n=3)

全て独立(n=1)

乗法定理を使う (このままではグラフとして表現できない)

乗法定理times1 + 独立 + 条件付き独立(n=6)エッジ0個

エッジ1個

エッジ2個(head-to-tail tail-to-tail)

エッジ2個(head-to-head)

エッジ3個(全結合)

ノード3つで式変形を片っ端から行った

番外編 ベイジアンネットワークの学習

試しに以下のような簡単な01データを用いる またここでは単純に尤度のみでグラフの善し悪しを判定する

番外編 ベイジアンネットワークの学習

0 0 00 0 00 0 00 0 01 0 01 0 01 1 01 1 01 1 11 1 1

a b c

P(a) = 35 P(b) = 25 P(c) = 15 P(a b) = 25 P(b c) = 15 P(a c) = 15 P(a b c) = 15

P(a | b c) = 1 P(b | a c) = 1 P(c | a b) = 12 P(a | b) = 1 P(a | c) = 1 P(b | a) = 23 P(b | c) = 1 P(c | a) = 13 P(c | b) = 12

独立性について

番外編 ベイジアンネットワークの学習

0 0 00 0 00 0 00 0 01 0 01 0 01 1 01 1 01 1 11 1 1

a b c

P(a | b c) = P(a | b) P(a | b c) = P(a | c) P(b | a c) ne P(b | a) P(b | a c) = P(b | c) P(c | a b) ne P(c | a) P(c | a b) = P(c | b)

P(a b c) ne P(a) P(b) P(c) P(a b) ne P(a) P(b) P(b c) ne P(b) P(c) P(a c) ne P(a) P(c)

条件付き独立性について

データによって成り立ったり成り立たなかったりする

乗法定理times2(n=6)

乗法定理times2 + 条件付き独立 (n=9)

乗法定理times1 + 独立(n=3)

全て独立(n=1)

乗法定理times1 + 独立 + 条件付き独立(n=6)エッジ0個

エッジ1個

エッジ2個(head-to-tail tail-to-tail)

エッジ2個(head-to-head)

エッジ3個(全結合)

番外編 ベイジアンネットワークの学習

尤度を計算した

= 02= 02= 02= 02= 02= 02

= 0048

= 008= 012= 012

= 02= 02= 02= 02= 013

= 013= 02

= 02= 013

= 008= 008= 008= 012= 008= 012

乗法定理times2(n=6)エッジ3個(全結合)

番外編 ベイジアンネットワークの学習

= 02= 02= 02= 02= 02= 02

乗法定理で変形したものはグラフ構造は違うのにも関わらず尤度は等しい

b

a

cb

a

cb

a

cb

a

cb

a

cb

a

c

乗法定理times2 + 条件付き独立 (n=9)

乗法定理times1 + 独立(n=3)乗法定理times1 + 独立 + 条件付き独立(n=6)

エッジ0個

エッジ1個

エッジ2個(head-to-tail tail-to-tail)

エッジ2個(head-to-head)

番外編 ベイジアンネットワークの学習

= 008= 012= 012

= 02= 02= 02= 02= 013

= 013= 02

= 02= 013

= 008= 008= 008= 012= 008= 012

条件付き独立独立はデータによって成り立ったり成り立たなかったりする

「同じ尤度を持つDAGは複数存在する可能性がある」

21世紀の統計科学 第2巻 第6章 生命システムネットワークを明らかにするための統計的モデリング

Page 47: PRML8章

head-to-headの更に特殊な性質(弁明)

さらに子孫ノードのいずれかが観測されても 燃料タンクが空になる確率は変化する

子孫ノードが0

有向分離(D分離)リンクを遮断する時の法則今までの話をノード集合にまで拡張したもの

(グラフの形だけでわかる)

(a) 集合Cに含まれるノードであって経路に含まれる矢印がそこでhead-to-tailあるいはtail-to-tailである

(b) 経路に含まれる矢印がそのノードでhead-to-headであり自身あるいはそのすべての子孫のいずれもが集合Cに含まれない

CA B CA B

CA B

あらゆるA-C-Bの経路が遮断されていれば集合Aは集合Cにおいて集合Bと条件付き独立

有向分離(D分離)

図822

A AC C

B B

ノードaとノードbは集合C(ノードe f)で遮断できるかcが観測された場合 fが観測された場合

-gt 遮断されない -gt 遮断される

∵ fがtail-to-tailで観測されていない

eはhead-to-headだが子孫fがCに含まれる

∵ fがtail-to-tailで観測されている

eはhead-to-headでそれ自身あるいはその子孫が条件付き集合に

含まれない

有向分離(D分離)図85のモデルの有向分離性

パラメーターは観測済みノードと同じ amp 親ノードが無い

-gt 他のノードとのつながりは必ずtail-to-tailになる -gt 有向分離性に影響しない

124節のiidデータの有向分離性

図823

パラメーターuはtail-to-tail -gt uに値を入力したらあらゆる子ノード間で独立

-gt iid

uを積分消去した場合観測値は独立ではない

(835)

有向分離(D分離)図87のモデルの有向分離性

(836)

有向分離(D分離)ナイーブベイズの有向分離性

図824

例 bag-of-words

例 受信BOX迷惑メール

zが観測されるとあらゆるxノード間は独立

有向分離定理

1 有向分解(乗法定理を繰り返し適用して得た条件付き確率分布)

2 有向分離 (条件付き独立を繰り返し適用して得た条件付き確率分布)

以下の二つは同じ分布を得る

マルコフブランケット

xiが起きる確率をxi以外の全てのノードで条件付けた分布で考える

分母をxiで周辺化する

条件付き確率の積にする

xiに依存しないノードの条件付き確率は分子と打ち消し合う(次頁)

あるノードの条件付き独立性を考える時の最小単位

マルコフブランケット

図826

つまりxiの条件付き独立を考える時 1) 親子 2) 共同親 だけを考えれば良い

共同親A B

C

D E

F G

結局Cの条件付き確率P(C|AB)と Cの子ノードの条件付き確率P(D|CF)やP(E|CG)だけ残る

Cを含まない項は全部消える

無向グラフ(マルコフ確率場)無向グラフは条件付き独立を考えるのが簡単

図827集合Cを取り除いてA-B間の経路が無くなるなら条件付き独立

図828

無向グラフはマルコフブランケットも簡単

隣接ノードだけ考えれば良い

無向グラフ(マルコフ確率場)無向グラフの分解特性(これまで乗法定理を繰り返し適用していたもの)は以下のように定式化される

(838)

xi xj以外の全てのノードを取り除いた時の同時確率

よりと書くことも

各々の確率に分割できるならxijにおいてxixjは条件付き独立

クリーク

図829

無向グラフの分解特性は極大クリーク変数集合の関数にする事

クリーク x1 x2 x2 x3 x3 x4 x4 x2 極大クリーク x1 x2 x3 x2 x3 x4 x1 x2 x3 x4はクリークではない(x1 - x4間にリンクがない)

クリーク 全てのノードの組にリンクが存在するグラフの部分集合 極大クリーク もう一つを加えるとクリークでなくなってしまうようなクリーク

ポテンシャル関数極大クリークを引数としたポテンシャル関数

の積に分解するどんな関数にするかは言及しない

基本的に総和は1にならない -gt 規格化定数(分配関数)を導入

-gt 計算は大変

画像のノイズ除去の例

元のピクセル

ランダムに反転したピクセル

元画像10のピクセルをランダムに反転

ICMによる復元グラフカットアルゴリズムによる復元

(841)(842)

(843)

図831

有向-gt無向の変換図832のような簡単な場合

有向グラフ(a)無向グラフ(b)

以下のような対応づけができる

有向-gt無向の変換図833のような場合

親同士をリンクで結ぶ(モラル化)

1 向きを無くす 2 モラル化する 3 規格化する -gt ジャンクションツリーアルゴリズム(84)

生物の細胞

遺伝子間が相互作用のネットワークを形成している

geneX geneY

Protein X

Protein Y

様々な実験での遺伝子発現データ

とりうる可能性高い遺伝子ネットワークを探索(MAP推定)

データからこれを推定したい

実験

遺伝子

more

番外編 ベイジアンネットワークの学習

rarr 近似的に求めるアルゴリズムが開発される

httpwwwsclsrikenjpscruisesoftwaresign-bnhtml

番外編 ベイジアンネットワークの学習

こういうネットワーク構造は未知でデータから推定するアプローチはベイジアンネットワークのrdquo学習rdquoとかrdquo推論rdquoというらしい

(848で紹介だけしている)

SiGN-BN スパコン「京」で計算するソフトウェア自分の修論の内容

Rのbnlearnパッケージ(CBRCのBlue Gene上で実行)httpsignhgcjpsignbnindex_jahtml

番外編 ベイジアンネットワークの学習

番外編 ベイジアンネットワークの学習

どのグラフが良いか決める基準 尤度情報量基準(AIC BIC 尤度ampパラメーター数)

MAP推定(尤度times事前分布)hellip

データを元に最も最適と思われるグラフ構造を探索する

データ

グラフ

1 0 01 1 01 0 10 1 01 0 10 0 01 1 00 0 01 1 10 0 1

a b cb

a

c

b

a

c

b

a

c

データからグラフ構造を推定したい場合単純な式変形をしただけだと数学的に等しいので結局最適なグラフ構造を決定できないのでは(勉強会での議論)

=gt 実際にやってみた

番外編 ベイジアンネットワークの学習

httpwwwsclsrikenjpscruisewp-contentuploadssites3201312SIGN_HGC_Seminar_Tamada201302pdf

httpenwikipediaorgwikiDirected_acyclic_graph

ノード数の増加に対する取りうるDAG数

番外編 ベイジアンネットワークの学習

3ノードなら手計算でいけそう

乗法定理times2(n=6)

乗法定理times2 + 条件付き独立 (n=9)

乗法定理times1 + 独立(n=3)

全て独立(n=1)

乗法定理を使う (このままではグラフとして表現できない)

乗法定理times1 + 独立 + 条件付き独立(n=6)エッジ0個

エッジ1個

エッジ2個(head-to-tail tail-to-tail)

エッジ2個(head-to-head)

エッジ3個(全結合)

ノード3つで式変形を片っ端から行った

番外編 ベイジアンネットワークの学習

試しに以下のような簡単な01データを用いる またここでは単純に尤度のみでグラフの善し悪しを判定する

番外編 ベイジアンネットワークの学習

0 0 00 0 00 0 00 0 01 0 01 0 01 1 01 1 01 1 11 1 1

a b c

P(a) = 35 P(b) = 25 P(c) = 15 P(a b) = 25 P(b c) = 15 P(a c) = 15 P(a b c) = 15

P(a | b c) = 1 P(b | a c) = 1 P(c | a b) = 12 P(a | b) = 1 P(a | c) = 1 P(b | a) = 23 P(b | c) = 1 P(c | a) = 13 P(c | b) = 12

独立性について

番外編 ベイジアンネットワークの学習

0 0 00 0 00 0 00 0 01 0 01 0 01 1 01 1 01 1 11 1 1

a b c

P(a | b c) = P(a | b) P(a | b c) = P(a | c) P(b | a c) ne P(b | a) P(b | a c) = P(b | c) P(c | a b) ne P(c | a) P(c | a b) = P(c | b)

P(a b c) ne P(a) P(b) P(c) P(a b) ne P(a) P(b) P(b c) ne P(b) P(c) P(a c) ne P(a) P(c)

条件付き独立性について

データによって成り立ったり成り立たなかったりする

乗法定理times2(n=6)

乗法定理times2 + 条件付き独立 (n=9)

乗法定理times1 + 独立(n=3)

全て独立(n=1)

乗法定理times1 + 独立 + 条件付き独立(n=6)エッジ0個

エッジ1個

エッジ2個(head-to-tail tail-to-tail)

エッジ2個(head-to-head)

エッジ3個(全結合)

番外編 ベイジアンネットワークの学習

尤度を計算した

= 02= 02= 02= 02= 02= 02

= 0048

= 008= 012= 012

= 02= 02= 02= 02= 013

= 013= 02

= 02= 013

= 008= 008= 008= 012= 008= 012

乗法定理times2(n=6)エッジ3個(全結合)

番外編 ベイジアンネットワークの学習

= 02= 02= 02= 02= 02= 02

乗法定理で変形したものはグラフ構造は違うのにも関わらず尤度は等しい

b

a

cb

a

cb

a

cb

a

cb

a

cb

a

c

乗法定理times2 + 条件付き独立 (n=9)

乗法定理times1 + 独立(n=3)乗法定理times1 + 独立 + 条件付き独立(n=6)

エッジ0個

エッジ1個

エッジ2個(head-to-tail tail-to-tail)

エッジ2個(head-to-head)

番外編 ベイジアンネットワークの学習

= 008= 012= 012

= 02= 02= 02= 02= 013

= 013= 02

= 02= 013

= 008= 008= 008= 012= 008= 012

条件付き独立独立はデータによって成り立ったり成り立たなかったりする

「同じ尤度を持つDAGは複数存在する可能性がある」

21世紀の統計科学 第2巻 第6章 生命システムネットワークを明らかにするための統計的モデリング

Page 48: PRML8章

有向分離(D分離)リンクを遮断する時の法則今までの話をノード集合にまで拡張したもの

(グラフの形だけでわかる)

(a) 集合Cに含まれるノードであって経路に含まれる矢印がそこでhead-to-tailあるいはtail-to-tailである

(b) 経路に含まれる矢印がそのノードでhead-to-headであり自身あるいはそのすべての子孫のいずれもが集合Cに含まれない

CA B CA B

CA B

あらゆるA-C-Bの経路が遮断されていれば集合Aは集合Cにおいて集合Bと条件付き独立

有向分離(D分離)

図822

A AC C

B B

ノードaとノードbは集合C(ノードe f)で遮断できるかcが観測された場合 fが観測された場合

-gt 遮断されない -gt 遮断される

∵ fがtail-to-tailで観測されていない

eはhead-to-headだが子孫fがCに含まれる

∵ fがtail-to-tailで観測されている

eはhead-to-headでそれ自身あるいはその子孫が条件付き集合に

含まれない

有向分離(D分離)図85のモデルの有向分離性

パラメーターは観測済みノードと同じ amp 親ノードが無い

-gt 他のノードとのつながりは必ずtail-to-tailになる -gt 有向分離性に影響しない

124節のiidデータの有向分離性

図823

パラメーターuはtail-to-tail -gt uに値を入力したらあらゆる子ノード間で独立

-gt iid

uを積分消去した場合観測値は独立ではない

(835)

有向分離(D分離)図87のモデルの有向分離性

(836)

有向分離(D分離)ナイーブベイズの有向分離性

図824

例 bag-of-words

例 受信BOX迷惑メール

zが観測されるとあらゆるxノード間は独立

有向分離定理

1 有向分解(乗法定理を繰り返し適用して得た条件付き確率分布)

2 有向分離 (条件付き独立を繰り返し適用して得た条件付き確率分布)

以下の二つは同じ分布を得る

マルコフブランケット

xiが起きる確率をxi以外の全てのノードで条件付けた分布で考える

分母をxiで周辺化する

条件付き確率の積にする

xiに依存しないノードの条件付き確率は分子と打ち消し合う(次頁)

あるノードの条件付き独立性を考える時の最小単位

マルコフブランケット

図826

つまりxiの条件付き独立を考える時 1) 親子 2) 共同親 だけを考えれば良い

共同親A B

C

D E

F G

結局Cの条件付き確率P(C|AB)と Cの子ノードの条件付き確率P(D|CF)やP(E|CG)だけ残る

Cを含まない項は全部消える

無向グラフ(マルコフ確率場)無向グラフは条件付き独立を考えるのが簡単

図827集合Cを取り除いてA-B間の経路が無くなるなら条件付き独立

図828

無向グラフはマルコフブランケットも簡単

隣接ノードだけ考えれば良い

無向グラフ(マルコフ確率場)無向グラフの分解特性(これまで乗法定理を繰り返し適用していたもの)は以下のように定式化される

(838)

xi xj以外の全てのノードを取り除いた時の同時確率

よりと書くことも

各々の確率に分割できるならxijにおいてxixjは条件付き独立

クリーク

図829

無向グラフの分解特性は極大クリーク変数集合の関数にする事

クリーク x1 x2 x2 x3 x3 x4 x4 x2 極大クリーク x1 x2 x3 x2 x3 x4 x1 x2 x3 x4はクリークではない(x1 - x4間にリンクがない)

クリーク 全てのノードの組にリンクが存在するグラフの部分集合 極大クリーク もう一つを加えるとクリークでなくなってしまうようなクリーク

ポテンシャル関数極大クリークを引数としたポテンシャル関数

の積に分解するどんな関数にするかは言及しない

基本的に総和は1にならない -gt 規格化定数(分配関数)を導入

-gt 計算は大変

画像のノイズ除去の例

元のピクセル

ランダムに反転したピクセル

元画像10のピクセルをランダムに反転

ICMによる復元グラフカットアルゴリズムによる復元

(841)(842)

(843)

図831

有向-gt無向の変換図832のような簡単な場合

有向グラフ(a)無向グラフ(b)

以下のような対応づけができる

有向-gt無向の変換図833のような場合

親同士をリンクで結ぶ(モラル化)

1 向きを無くす 2 モラル化する 3 規格化する -gt ジャンクションツリーアルゴリズム(84)

生物の細胞

遺伝子間が相互作用のネットワークを形成している

geneX geneY

Protein X

Protein Y

様々な実験での遺伝子発現データ

とりうる可能性高い遺伝子ネットワークを探索(MAP推定)

データからこれを推定したい

実験

遺伝子

more

番外編 ベイジアンネットワークの学習

rarr 近似的に求めるアルゴリズムが開発される

httpwwwsclsrikenjpscruisesoftwaresign-bnhtml

番外編 ベイジアンネットワークの学習

こういうネットワーク構造は未知でデータから推定するアプローチはベイジアンネットワークのrdquo学習rdquoとかrdquo推論rdquoというらしい

(848で紹介だけしている)

SiGN-BN スパコン「京」で計算するソフトウェア自分の修論の内容

Rのbnlearnパッケージ(CBRCのBlue Gene上で実行)httpsignhgcjpsignbnindex_jahtml

番外編 ベイジアンネットワークの学習

番外編 ベイジアンネットワークの学習

どのグラフが良いか決める基準 尤度情報量基準(AIC BIC 尤度ampパラメーター数)

MAP推定(尤度times事前分布)hellip

データを元に最も最適と思われるグラフ構造を探索する

データ

グラフ

1 0 01 1 01 0 10 1 01 0 10 0 01 1 00 0 01 1 10 0 1

a b cb

a

c

b

a

c

b

a

c

データからグラフ構造を推定したい場合単純な式変形をしただけだと数学的に等しいので結局最適なグラフ構造を決定できないのでは(勉強会での議論)

=gt 実際にやってみた

番外編 ベイジアンネットワークの学習

httpwwwsclsrikenjpscruisewp-contentuploadssites3201312SIGN_HGC_Seminar_Tamada201302pdf

httpenwikipediaorgwikiDirected_acyclic_graph

ノード数の増加に対する取りうるDAG数

番外編 ベイジアンネットワークの学習

3ノードなら手計算でいけそう

乗法定理times2(n=6)

乗法定理times2 + 条件付き独立 (n=9)

乗法定理times1 + 独立(n=3)

全て独立(n=1)

乗法定理を使う (このままではグラフとして表現できない)

乗法定理times1 + 独立 + 条件付き独立(n=6)エッジ0個

エッジ1個

エッジ2個(head-to-tail tail-to-tail)

エッジ2個(head-to-head)

エッジ3個(全結合)

ノード3つで式変形を片っ端から行った

番外編 ベイジアンネットワークの学習

試しに以下のような簡単な01データを用いる またここでは単純に尤度のみでグラフの善し悪しを判定する

番外編 ベイジアンネットワークの学習

0 0 00 0 00 0 00 0 01 0 01 0 01 1 01 1 01 1 11 1 1

a b c

P(a) = 35 P(b) = 25 P(c) = 15 P(a b) = 25 P(b c) = 15 P(a c) = 15 P(a b c) = 15

P(a | b c) = 1 P(b | a c) = 1 P(c | a b) = 12 P(a | b) = 1 P(a | c) = 1 P(b | a) = 23 P(b | c) = 1 P(c | a) = 13 P(c | b) = 12

独立性について

番外編 ベイジアンネットワークの学習

0 0 00 0 00 0 00 0 01 0 01 0 01 1 01 1 01 1 11 1 1

a b c

P(a | b c) = P(a | b) P(a | b c) = P(a | c) P(b | a c) ne P(b | a) P(b | a c) = P(b | c) P(c | a b) ne P(c | a) P(c | a b) = P(c | b)

P(a b c) ne P(a) P(b) P(c) P(a b) ne P(a) P(b) P(b c) ne P(b) P(c) P(a c) ne P(a) P(c)

条件付き独立性について

データによって成り立ったり成り立たなかったりする

乗法定理times2(n=6)

乗法定理times2 + 条件付き独立 (n=9)

乗法定理times1 + 独立(n=3)

全て独立(n=1)

乗法定理times1 + 独立 + 条件付き独立(n=6)エッジ0個

エッジ1個

エッジ2個(head-to-tail tail-to-tail)

エッジ2個(head-to-head)

エッジ3個(全結合)

番外編 ベイジアンネットワークの学習

尤度を計算した

= 02= 02= 02= 02= 02= 02

= 0048

= 008= 012= 012

= 02= 02= 02= 02= 013

= 013= 02

= 02= 013

= 008= 008= 008= 012= 008= 012

乗法定理times2(n=6)エッジ3個(全結合)

番外編 ベイジアンネットワークの学習

= 02= 02= 02= 02= 02= 02

乗法定理で変形したものはグラフ構造は違うのにも関わらず尤度は等しい

b

a

cb

a

cb

a

cb

a

cb

a

cb

a

c

乗法定理times2 + 条件付き独立 (n=9)

乗法定理times1 + 独立(n=3)乗法定理times1 + 独立 + 条件付き独立(n=6)

エッジ0個

エッジ1個

エッジ2個(head-to-tail tail-to-tail)

エッジ2個(head-to-head)

番外編 ベイジアンネットワークの学習

= 008= 012= 012

= 02= 02= 02= 02= 013

= 013= 02

= 02= 013

= 008= 008= 008= 012= 008= 012

条件付き独立独立はデータによって成り立ったり成り立たなかったりする

「同じ尤度を持つDAGは複数存在する可能性がある」

21世紀の統計科学 第2巻 第6章 生命システムネットワークを明らかにするための統計的モデリング

Page 49: PRML8章

有向分離(D分離)

図822

A AC C

B B

ノードaとノードbは集合C(ノードe f)で遮断できるかcが観測された場合 fが観測された場合

-gt 遮断されない -gt 遮断される

∵ fがtail-to-tailで観測されていない

eはhead-to-headだが子孫fがCに含まれる

∵ fがtail-to-tailで観測されている

eはhead-to-headでそれ自身あるいはその子孫が条件付き集合に

含まれない

有向分離(D分離)図85のモデルの有向分離性

パラメーターは観測済みノードと同じ amp 親ノードが無い

-gt 他のノードとのつながりは必ずtail-to-tailになる -gt 有向分離性に影響しない

124節のiidデータの有向分離性

図823

パラメーターuはtail-to-tail -gt uに値を入力したらあらゆる子ノード間で独立

-gt iid

uを積分消去した場合観測値は独立ではない

(835)

有向分離(D分離)図87のモデルの有向分離性

(836)

有向分離(D分離)ナイーブベイズの有向分離性

図824

例 bag-of-words

例 受信BOX迷惑メール

zが観測されるとあらゆるxノード間は独立

有向分離定理

1 有向分解(乗法定理を繰り返し適用して得た条件付き確率分布)

2 有向分離 (条件付き独立を繰り返し適用して得た条件付き確率分布)

以下の二つは同じ分布を得る

マルコフブランケット

xiが起きる確率をxi以外の全てのノードで条件付けた分布で考える

分母をxiで周辺化する

条件付き確率の積にする

xiに依存しないノードの条件付き確率は分子と打ち消し合う(次頁)

あるノードの条件付き独立性を考える時の最小単位

マルコフブランケット

図826

つまりxiの条件付き独立を考える時 1) 親子 2) 共同親 だけを考えれば良い

共同親A B

C

D E

F G

結局Cの条件付き確率P(C|AB)と Cの子ノードの条件付き確率P(D|CF)やP(E|CG)だけ残る

Cを含まない項は全部消える

無向グラフ(マルコフ確率場)無向グラフは条件付き独立を考えるのが簡単

図827集合Cを取り除いてA-B間の経路が無くなるなら条件付き独立

図828

無向グラフはマルコフブランケットも簡単

隣接ノードだけ考えれば良い

無向グラフ(マルコフ確率場)無向グラフの分解特性(これまで乗法定理を繰り返し適用していたもの)は以下のように定式化される

(838)

xi xj以外の全てのノードを取り除いた時の同時確率

よりと書くことも

各々の確率に分割できるならxijにおいてxixjは条件付き独立

クリーク

図829

無向グラフの分解特性は極大クリーク変数集合の関数にする事

クリーク x1 x2 x2 x3 x3 x4 x4 x2 極大クリーク x1 x2 x3 x2 x3 x4 x1 x2 x3 x4はクリークではない(x1 - x4間にリンクがない)

クリーク 全てのノードの組にリンクが存在するグラフの部分集合 極大クリーク もう一つを加えるとクリークでなくなってしまうようなクリーク

ポテンシャル関数極大クリークを引数としたポテンシャル関数

の積に分解するどんな関数にするかは言及しない

基本的に総和は1にならない -gt 規格化定数(分配関数)を導入

-gt 計算は大変

画像のノイズ除去の例

元のピクセル

ランダムに反転したピクセル

元画像10のピクセルをランダムに反転

ICMによる復元グラフカットアルゴリズムによる復元

(841)(842)

(843)

図831

有向-gt無向の変換図832のような簡単な場合

有向グラフ(a)無向グラフ(b)

以下のような対応づけができる

有向-gt無向の変換図833のような場合

親同士をリンクで結ぶ(モラル化)

1 向きを無くす 2 モラル化する 3 規格化する -gt ジャンクションツリーアルゴリズム(84)

生物の細胞

遺伝子間が相互作用のネットワークを形成している

geneX geneY

Protein X

Protein Y

様々な実験での遺伝子発現データ

とりうる可能性高い遺伝子ネットワークを探索(MAP推定)

データからこれを推定したい

実験

遺伝子

more

番外編 ベイジアンネットワークの学習

rarr 近似的に求めるアルゴリズムが開発される

httpwwwsclsrikenjpscruisesoftwaresign-bnhtml

番外編 ベイジアンネットワークの学習

こういうネットワーク構造は未知でデータから推定するアプローチはベイジアンネットワークのrdquo学習rdquoとかrdquo推論rdquoというらしい

(848で紹介だけしている)

SiGN-BN スパコン「京」で計算するソフトウェア自分の修論の内容

Rのbnlearnパッケージ(CBRCのBlue Gene上で実行)httpsignhgcjpsignbnindex_jahtml

番外編 ベイジアンネットワークの学習

番外編 ベイジアンネットワークの学習

どのグラフが良いか決める基準 尤度情報量基準(AIC BIC 尤度ampパラメーター数)

MAP推定(尤度times事前分布)hellip

データを元に最も最適と思われるグラフ構造を探索する

データ

グラフ

1 0 01 1 01 0 10 1 01 0 10 0 01 1 00 0 01 1 10 0 1

a b cb

a

c

b

a

c

b

a

c

データからグラフ構造を推定したい場合単純な式変形をしただけだと数学的に等しいので結局最適なグラフ構造を決定できないのでは(勉強会での議論)

=gt 実際にやってみた

番外編 ベイジアンネットワークの学習

httpwwwsclsrikenjpscruisewp-contentuploadssites3201312SIGN_HGC_Seminar_Tamada201302pdf

httpenwikipediaorgwikiDirected_acyclic_graph

ノード数の増加に対する取りうるDAG数

番外編 ベイジアンネットワークの学習

3ノードなら手計算でいけそう

乗法定理times2(n=6)

乗法定理times2 + 条件付き独立 (n=9)

乗法定理times1 + 独立(n=3)

全て独立(n=1)

乗法定理を使う (このままではグラフとして表現できない)

乗法定理times1 + 独立 + 条件付き独立(n=6)エッジ0個

エッジ1個

エッジ2個(head-to-tail tail-to-tail)

エッジ2個(head-to-head)

エッジ3個(全結合)

ノード3つで式変形を片っ端から行った

番外編 ベイジアンネットワークの学習

試しに以下のような簡単な01データを用いる またここでは単純に尤度のみでグラフの善し悪しを判定する

番外編 ベイジアンネットワークの学習

0 0 00 0 00 0 00 0 01 0 01 0 01 1 01 1 01 1 11 1 1

a b c

P(a) = 35 P(b) = 25 P(c) = 15 P(a b) = 25 P(b c) = 15 P(a c) = 15 P(a b c) = 15

P(a | b c) = 1 P(b | a c) = 1 P(c | a b) = 12 P(a | b) = 1 P(a | c) = 1 P(b | a) = 23 P(b | c) = 1 P(c | a) = 13 P(c | b) = 12

独立性について

番外編 ベイジアンネットワークの学習

0 0 00 0 00 0 00 0 01 0 01 0 01 1 01 1 01 1 11 1 1

a b c

P(a | b c) = P(a | b) P(a | b c) = P(a | c) P(b | a c) ne P(b | a) P(b | a c) = P(b | c) P(c | a b) ne P(c | a) P(c | a b) = P(c | b)

P(a b c) ne P(a) P(b) P(c) P(a b) ne P(a) P(b) P(b c) ne P(b) P(c) P(a c) ne P(a) P(c)

条件付き独立性について

データによって成り立ったり成り立たなかったりする

乗法定理times2(n=6)

乗法定理times2 + 条件付き独立 (n=9)

乗法定理times1 + 独立(n=3)

全て独立(n=1)

乗法定理times1 + 独立 + 条件付き独立(n=6)エッジ0個

エッジ1個

エッジ2個(head-to-tail tail-to-tail)

エッジ2個(head-to-head)

エッジ3個(全結合)

番外編 ベイジアンネットワークの学習

尤度を計算した

= 02= 02= 02= 02= 02= 02

= 0048

= 008= 012= 012

= 02= 02= 02= 02= 013

= 013= 02

= 02= 013

= 008= 008= 008= 012= 008= 012

乗法定理times2(n=6)エッジ3個(全結合)

番外編 ベイジアンネットワークの学習

= 02= 02= 02= 02= 02= 02

乗法定理で変形したものはグラフ構造は違うのにも関わらず尤度は等しい

b

a

cb

a

cb

a

cb

a

cb

a

cb

a

c

乗法定理times2 + 条件付き独立 (n=9)

乗法定理times1 + 独立(n=3)乗法定理times1 + 独立 + 条件付き独立(n=6)

エッジ0個

エッジ1個

エッジ2個(head-to-tail tail-to-tail)

エッジ2個(head-to-head)

番外編 ベイジアンネットワークの学習

= 008= 012= 012

= 02= 02= 02= 02= 013

= 013= 02

= 02= 013

= 008= 008= 008= 012= 008= 012

条件付き独立独立はデータによって成り立ったり成り立たなかったりする

「同じ尤度を持つDAGは複数存在する可能性がある」

21世紀の統計科学 第2巻 第6章 生命システムネットワークを明らかにするための統計的モデリング

Page 50: PRML8章

有向分離(D分離)図85のモデルの有向分離性

パラメーターは観測済みノードと同じ amp 親ノードが無い

-gt 他のノードとのつながりは必ずtail-to-tailになる -gt 有向分離性に影響しない

124節のiidデータの有向分離性

図823

パラメーターuはtail-to-tail -gt uに値を入力したらあらゆる子ノード間で独立

-gt iid

uを積分消去した場合観測値は独立ではない

(835)

有向分離(D分離)図87のモデルの有向分離性

(836)

有向分離(D分離)ナイーブベイズの有向分離性

図824

例 bag-of-words

例 受信BOX迷惑メール

zが観測されるとあらゆるxノード間は独立

有向分離定理

1 有向分解(乗法定理を繰り返し適用して得た条件付き確率分布)

2 有向分離 (条件付き独立を繰り返し適用して得た条件付き確率分布)

以下の二つは同じ分布を得る

マルコフブランケット

xiが起きる確率をxi以外の全てのノードで条件付けた分布で考える

分母をxiで周辺化する

条件付き確率の積にする

xiに依存しないノードの条件付き確率は分子と打ち消し合う(次頁)

あるノードの条件付き独立性を考える時の最小単位

マルコフブランケット

図826

つまりxiの条件付き独立を考える時 1) 親子 2) 共同親 だけを考えれば良い

共同親A B

C

D E

F G

結局Cの条件付き確率P(C|AB)と Cの子ノードの条件付き確率P(D|CF)やP(E|CG)だけ残る

Cを含まない項は全部消える

無向グラフ(マルコフ確率場)無向グラフは条件付き独立を考えるのが簡単

図827集合Cを取り除いてA-B間の経路が無くなるなら条件付き独立

図828

無向グラフはマルコフブランケットも簡単

隣接ノードだけ考えれば良い

無向グラフ(マルコフ確率場)無向グラフの分解特性(これまで乗法定理を繰り返し適用していたもの)は以下のように定式化される

(838)

xi xj以外の全てのノードを取り除いた時の同時確率

よりと書くことも

各々の確率に分割できるならxijにおいてxixjは条件付き独立

クリーク

図829

無向グラフの分解特性は極大クリーク変数集合の関数にする事

クリーク x1 x2 x2 x3 x3 x4 x4 x2 極大クリーク x1 x2 x3 x2 x3 x4 x1 x2 x3 x4はクリークではない(x1 - x4間にリンクがない)

クリーク 全てのノードの組にリンクが存在するグラフの部分集合 極大クリーク もう一つを加えるとクリークでなくなってしまうようなクリーク

ポテンシャル関数極大クリークを引数としたポテンシャル関数

の積に分解するどんな関数にするかは言及しない

基本的に総和は1にならない -gt 規格化定数(分配関数)を導入

-gt 計算は大変

画像のノイズ除去の例

元のピクセル

ランダムに反転したピクセル

元画像10のピクセルをランダムに反転

ICMによる復元グラフカットアルゴリズムによる復元

(841)(842)

(843)

図831

有向-gt無向の変換図832のような簡単な場合

有向グラフ(a)無向グラフ(b)

以下のような対応づけができる

有向-gt無向の変換図833のような場合

親同士をリンクで結ぶ(モラル化)

1 向きを無くす 2 モラル化する 3 規格化する -gt ジャンクションツリーアルゴリズム(84)

生物の細胞

遺伝子間が相互作用のネットワークを形成している

geneX geneY

Protein X

Protein Y

様々な実験での遺伝子発現データ

とりうる可能性高い遺伝子ネットワークを探索(MAP推定)

データからこれを推定したい

実験

遺伝子

more

番外編 ベイジアンネットワークの学習

rarr 近似的に求めるアルゴリズムが開発される

httpwwwsclsrikenjpscruisesoftwaresign-bnhtml

番外編 ベイジアンネットワークの学習

こういうネットワーク構造は未知でデータから推定するアプローチはベイジアンネットワークのrdquo学習rdquoとかrdquo推論rdquoというらしい

(848で紹介だけしている)

SiGN-BN スパコン「京」で計算するソフトウェア自分の修論の内容

Rのbnlearnパッケージ(CBRCのBlue Gene上で実行)httpsignhgcjpsignbnindex_jahtml

番外編 ベイジアンネットワークの学習

番外編 ベイジアンネットワークの学習

どのグラフが良いか決める基準 尤度情報量基準(AIC BIC 尤度ampパラメーター数)

MAP推定(尤度times事前分布)hellip

データを元に最も最適と思われるグラフ構造を探索する

データ

グラフ

1 0 01 1 01 0 10 1 01 0 10 0 01 1 00 0 01 1 10 0 1

a b cb

a

c

b

a

c

b

a

c

データからグラフ構造を推定したい場合単純な式変形をしただけだと数学的に等しいので結局最適なグラフ構造を決定できないのでは(勉強会での議論)

=gt 実際にやってみた

番外編 ベイジアンネットワークの学習

httpwwwsclsrikenjpscruisewp-contentuploadssites3201312SIGN_HGC_Seminar_Tamada201302pdf

httpenwikipediaorgwikiDirected_acyclic_graph

ノード数の増加に対する取りうるDAG数

番外編 ベイジアンネットワークの学習

3ノードなら手計算でいけそう

乗法定理times2(n=6)

乗法定理times2 + 条件付き独立 (n=9)

乗法定理times1 + 独立(n=3)

全て独立(n=1)

乗法定理を使う (このままではグラフとして表現できない)

乗法定理times1 + 独立 + 条件付き独立(n=6)エッジ0個

エッジ1個

エッジ2個(head-to-tail tail-to-tail)

エッジ2個(head-to-head)

エッジ3個(全結合)

ノード3つで式変形を片っ端から行った

番外編 ベイジアンネットワークの学習

試しに以下のような簡単な01データを用いる またここでは単純に尤度のみでグラフの善し悪しを判定する

番外編 ベイジアンネットワークの学習

0 0 00 0 00 0 00 0 01 0 01 0 01 1 01 1 01 1 11 1 1

a b c

P(a) = 35 P(b) = 25 P(c) = 15 P(a b) = 25 P(b c) = 15 P(a c) = 15 P(a b c) = 15

P(a | b c) = 1 P(b | a c) = 1 P(c | a b) = 12 P(a | b) = 1 P(a | c) = 1 P(b | a) = 23 P(b | c) = 1 P(c | a) = 13 P(c | b) = 12

独立性について

番外編 ベイジアンネットワークの学習

0 0 00 0 00 0 00 0 01 0 01 0 01 1 01 1 01 1 11 1 1

a b c

P(a | b c) = P(a | b) P(a | b c) = P(a | c) P(b | a c) ne P(b | a) P(b | a c) = P(b | c) P(c | a b) ne P(c | a) P(c | a b) = P(c | b)

P(a b c) ne P(a) P(b) P(c) P(a b) ne P(a) P(b) P(b c) ne P(b) P(c) P(a c) ne P(a) P(c)

条件付き独立性について

データによって成り立ったり成り立たなかったりする

乗法定理times2(n=6)

乗法定理times2 + 条件付き独立 (n=9)

乗法定理times1 + 独立(n=3)

全て独立(n=1)

乗法定理times1 + 独立 + 条件付き独立(n=6)エッジ0個

エッジ1個

エッジ2個(head-to-tail tail-to-tail)

エッジ2個(head-to-head)

エッジ3個(全結合)

番外編 ベイジアンネットワークの学習

尤度を計算した

= 02= 02= 02= 02= 02= 02

= 0048

= 008= 012= 012

= 02= 02= 02= 02= 013

= 013= 02

= 02= 013

= 008= 008= 008= 012= 008= 012

乗法定理times2(n=6)エッジ3個(全結合)

番外編 ベイジアンネットワークの学習

= 02= 02= 02= 02= 02= 02

乗法定理で変形したものはグラフ構造は違うのにも関わらず尤度は等しい

b

a

cb

a

cb

a

cb

a

cb

a

cb

a

c

乗法定理times2 + 条件付き独立 (n=9)

乗法定理times1 + 独立(n=3)乗法定理times1 + 独立 + 条件付き独立(n=6)

エッジ0個

エッジ1個

エッジ2個(head-to-tail tail-to-tail)

エッジ2個(head-to-head)

番外編 ベイジアンネットワークの学習

= 008= 012= 012

= 02= 02= 02= 02= 013

= 013= 02

= 02= 013

= 008= 008= 008= 012= 008= 012

条件付き独立独立はデータによって成り立ったり成り立たなかったりする

「同じ尤度を持つDAGは複数存在する可能性がある」

21世紀の統計科学 第2巻 第6章 生命システムネットワークを明らかにするための統計的モデリング

Page 51: PRML8章

有向分離(D分離)図87のモデルの有向分離性

(836)

有向分離(D分離)ナイーブベイズの有向分離性

図824

例 bag-of-words

例 受信BOX迷惑メール

zが観測されるとあらゆるxノード間は独立

有向分離定理

1 有向分解(乗法定理を繰り返し適用して得た条件付き確率分布)

2 有向分離 (条件付き独立を繰り返し適用して得た条件付き確率分布)

以下の二つは同じ分布を得る

マルコフブランケット

xiが起きる確率をxi以外の全てのノードで条件付けた分布で考える

分母をxiで周辺化する

条件付き確率の積にする

xiに依存しないノードの条件付き確率は分子と打ち消し合う(次頁)

あるノードの条件付き独立性を考える時の最小単位

マルコフブランケット

図826

つまりxiの条件付き独立を考える時 1) 親子 2) 共同親 だけを考えれば良い

共同親A B

C

D E

F G

結局Cの条件付き確率P(C|AB)と Cの子ノードの条件付き確率P(D|CF)やP(E|CG)だけ残る

Cを含まない項は全部消える

無向グラフ(マルコフ確率場)無向グラフは条件付き独立を考えるのが簡単

図827集合Cを取り除いてA-B間の経路が無くなるなら条件付き独立

図828

無向グラフはマルコフブランケットも簡単

隣接ノードだけ考えれば良い

無向グラフ(マルコフ確率場)無向グラフの分解特性(これまで乗法定理を繰り返し適用していたもの)は以下のように定式化される

(838)

xi xj以外の全てのノードを取り除いた時の同時確率

よりと書くことも

各々の確率に分割できるならxijにおいてxixjは条件付き独立

クリーク

図829

無向グラフの分解特性は極大クリーク変数集合の関数にする事

クリーク x1 x2 x2 x3 x3 x4 x4 x2 極大クリーク x1 x2 x3 x2 x3 x4 x1 x2 x3 x4はクリークではない(x1 - x4間にリンクがない)

クリーク 全てのノードの組にリンクが存在するグラフの部分集合 極大クリーク もう一つを加えるとクリークでなくなってしまうようなクリーク

ポテンシャル関数極大クリークを引数としたポテンシャル関数

の積に分解するどんな関数にするかは言及しない

基本的に総和は1にならない -gt 規格化定数(分配関数)を導入

-gt 計算は大変

画像のノイズ除去の例

元のピクセル

ランダムに反転したピクセル

元画像10のピクセルをランダムに反転

ICMによる復元グラフカットアルゴリズムによる復元

(841)(842)

(843)

図831

有向-gt無向の変換図832のような簡単な場合

有向グラフ(a)無向グラフ(b)

以下のような対応づけができる

有向-gt無向の変換図833のような場合

親同士をリンクで結ぶ(モラル化)

1 向きを無くす 2 モラル化する 3 規格化する -gt ジャンクションツリーアルゴリズム(84)

生物の細胞

遺伝子間が相互作用のネットワークを形成している

geneX geneY

Protein X

Protein Y

様々な実験での遺伝子発現データ

とりうる可能性高い遺伝子ネットワークを探索(MAP推定)

データからこれを推定したい

実験

遺伝子

more

番外編 ベイジアンネットワークの学習

rarr 近似的に求めるアルゴリズムが開発される

httpwwwsclsrikenjpscruisesoftwaresign-bnhtml

番外編 ベイジアンネットワークの学習

こういうネットワーク構造は未知でデータから推定するアプローチはベイジアンネットワークのrdquo学習rdquoとかrdquo推論rdquoというらしい

(848で紹介だけしている)

SiGN-BN スパコン「京」で計算するソフトウェア自分の修論の内容

Rのbnlearnパッケージ(CBRCのBlue Gene上で実行)httpsignhgcjpsignbnindex_jahtml

番外編 ベイジアンネットワークの学習

番外編 ベイジアンネットワークの学習

どのグラフが良いか決める基準 尤度情報量基準(AIC BIC 尤度ampパラメーター数)

MAP推定(尤度times事前分布)hellip

データを元に最も最適と思われるグラフ構造を探索する

データ

グラフ

1 0 01 1 01 0 10 1 01 0 10 0 01 1 00 0 01 1 10 0 1

a b cb

a

c

b

a

c

b

a

c

データからグラフ構造を推定したい場合単純な式変形をしただけだと数学的に等しいので結局最適なグラフ構造を決定できないのでは(勉強会での議論)

=gt 実際にやってみた

番外編 ベイジアンネットワークの学習

httpwwwsclsrikenjpscruisewp-contentuploadssites3201312SIGN_HGC_Seminar_Tamada201302pdf

httpenwikipediaorgwikiDirected_acyclic_graph

ノード数の増加に対する取りうるDAG数

番外編 ベイジアンネットワークの学習

3ノードなら手計算でいけそう

乗法定理times2(n=6)

乗法定理times2 + 条件付き独立 (n=9)

乗法定理times1 + 独立(n=3)

全て独立(n=1)

乗法定理を使う (このままではグラフとして表現できない)

乗法定理times1 + 独立 + 条件付き独立(n=6)エッジ0個

エッジ1個

エッジ2個(head-to-tail tail-to-tail)

エッジ2個(head-to-head)

エッジ3個(全結合)

ノード3つで式変形を片っ端から行った

番外編 ベイジアンネットワークの学習

試しに以下のような簡単な01データを用いる またここでは単純に尤度のみでグラフの善し悪しを判定する

番外編 ベイジアンネットワークの学習

0 0 00 0 00 0 00 0 01 0 01 0 01 1 01 1 01 1 11 1 1

a b c

P(a) = 35 P(b) = 25 P(c) = 15 P(a b) = 25 P(b c) = 15 P(a c) = 15 P(a b c) = 15

P(a | b c) = 1 P(b | a c) = 1 P(c | a b) = 12 P(a | b) = 1 P(a | c) = 1 P(b | a) = 23 P(b | c) = 1 P(c | a) = 13 P(c | b) = 12

独立性について

番外編 ベイジアンネットワークの学習

0 0 00 0 00 0 00 0 01 0 01 0 01 1 01 1 01 1 11 1 1

a b c

P(a | b c) = P(a | b) P(a | b c) = P(a | c) P(b | a c) ne P(b | a) P(b | a c) = P(b | c) P(c | a b) ne P(c | a) P(c | a b) = P(c | b)

P(a b c) ne P(a) P(b) P(c) P(a b) ne P(a) P(b) P(b c) ne P(b) P(c) P(a c) ne P(a) P(c)

条件付き独立性について

データによって成り立ったり成り立たなかったりする

乗法定理times2(n=6)

乗法定理times2 + 条件付き独立 (n=9)

乗法定理times1 + 独立(n=3)

全て独立(n=1)

乗法定理times1 + 独立 + 条件付き独立(n=6)エッジ0個

エッジ1個

エッジ2個(head-to-tail tail-to-tail)

エッジ2個(head-to-head)

エッジ3個(全結合)

番外編 ベイジアンネットワークの学習

尤度を計算した

= 02= 02= 02= 02= 02= 02

= 0048

= 008= 012= 012

= 02= 02= 02= 02= 013

= 013= 02

= 02= 013

= 008= 008= 008= 012= 008= 012

乗法定理times2(n=6)エッジ3個(全結合)

番外編 ベイジアンネットワークの学習

= 02= 02= 02= 02= 02= 02

乗法定理で変形したものはグラフ構造は違うのにも関わらず尤度は等しい

b

a

cb

a

cb

a

cb

a

cb

a

cb

a

c

乗法定理times2 + 条件付き独立 (n=9)

乗法定理times1 + 独立(n=3)乗法定理times1 + 独立 + 条件付き独立(n=6)

エッジ0個

エッジ1個

エッジ2個(head-to-tail tail-to-tail)

エッジ2個(head-to-head)

番外編 ベイジアンネットワークの学習

= 008= 012= 012

= 02= 02= 02= 02= 013

= 013= 02

= 02= 013

= 008= 008= 008= 012= 008= 012

条件付き独立独立はデータによって成り立ったり成り立たなかったりする

「同じ尤度を持つDAGは複数存在する可能性がある」

21世紀の統計科学 第2巻 第6章 生命システムネットワークを明らかにするための統計的モデリング

Page 52: PRML8章

有向分離(D分離)ナイーブベイズの有向分離性

図824

例 bag-of-words

例 受信BOX迷惑メール

zが観測されるとあらゆるxノード間は独立

有向分離定理

1 有向分解(乗法定理を繰り返し適用して得た条件付き確率分布)

2 有向分離 (条件付き独立を繰り返し適用して得た条件付き確率分布)

以下の二つは同じ分布を得る

マルコフブランケット

xiが起きる確率をxi以外の全てのノードで条件付けた分布で考える

分母をxiで周辺化する

条件付き確率の積にする

xiに依存しないノードの条件付き確率は分子と打ち消し合う(次頁)

あるノードの条件付き独立性を考える時の最小単位

マルコフブランケット

図826

つまりxiの条件付き独立を考える時 1) 親子 2) 共同親 だけを考えれば良い

共同親A B

C

D E

F G

結局Cの条件付き確率P(C|AB)と Cの子ノードの条件付き確率P(D|CF)やP(E|CG)だけ残る

Cを含まない項は全部消える

無向グラフ(マルコフ確率場)無向グラフは条件付き独立を考えるのが簡単

図827集合Cを取り除いてA-B間の経路が無くなるなら条件付き独立

図828

無向グラフはマルコフブランケットも簡単

隣接ノードだけ考えれば良い

無向グラフ(マルコフ確率場)無向グラフの分解特性(これまで乗法定理を繰り返し適用していたもの)は以下のように定式化される

(838)

xi xj以外の全てのノードを取り除いた時の同時確率

よりと書くことも

各々の確率に分割できるならxijにおいてxixjは条件付き独立

クリーク

図829

無向グラフの分解特性は極大クリーク変数集合の関数にする事

クリーク x1 x2 x2 x3 x3 x4 x4 x2 極大クリーク x1 x2 x3 x2 x3 x4 x1 x2 x3 x4はクリークではない(x1 - x4間にリンクがない)

クリーク 全てのノードの組にリンクが存在するグラフの部分集合 極大クリーク もう一つを加えるとクリークでなくなってしまうようなクリーク

ポテンシャル関数極大クリークを引数としたポテンシャル関数

の積に分解するどんな関数にするかは言及しない

基本的に総和は1にならない -gt 規格化定数(分配関数)を導入

-gt 計算は大変

画像のノイズ除去の例

元のピクセル

ランダムに反転したピクセル

元画像10のピクセルをランダムに反転

ICMによる復元グラフカットアルゴリズムによる復元

(841)(842)

(843)

図831

有向-gt無向の変換図832のような簡単な場合

有向グラフ(a)無向グラフ(b)

以下のような対応づけができる

有向-gt無向の変換図833のような場合

親同士をリンクで結ぶ(モラル化)

1 向きを無くす 2 モラル化する 3 規格化する -gt ジャンクションツリーアルゴリズム(84)

生物の細胞

遺伝子間が相互作用のネットワークを形成している

geneX geneY

Protein X

Protein Y

様々な実験での遺伝子発現データ

とりうる可能性高い遺伝子ネットワークを探索(MAP推定)

データからこれを推定したい

実験

遺伝子

more

番外編 ベイジアンネットワークの学習

rarr 近似的に求めるアルゴリズムが開発される

httpwwwsclsrikenjpscruisesoftwaresign-bnhtml

番外編 ベイジアンネットワークの学習

こういうネットワーク構造は未知でデータから推定するアプローチはベイジアンネットワークのrdquo学習rdquoとかrdquo推論rdquoというらしい

(848で紹介だけしている)

SiGN-BN スパコン「京」で計算するソフトウェア自分の修論の内容

Rのbnlearnパッケージ(CBRCのBlue Gene上で実行)httpsignhgcjpsignbnindex_jahtml

番外編 ベイジアンネットワークの学習

番外編 ベイジアンネットワークの学習

どのグラフが良いか決める基準 尤度情報量基準(AIC BIC 尤度ampパラメーター数)

MAP推定(尤度times事前分布)hellip

データを元に最も最適と思われるグラフ構造を探索する

データ

グラフ

1 0 01 1 01 0 10 1 01 0 10 0 01 1 00 0 01 1 10 0 1

a b cb

a

c

b

a

c

b

a

c

データからグラフ構造を推定したい場合単純な式変形をしただけだと数学的に等しいので結局最適なグラフ構造を決定できないのでは(勉強会での議論)

=gt 実際にやってみた

番外編 ベイジアンネットワークの学習

httpwwwsclsrikenjpscruisewp-contentuploadssites3201312SIGN_HGC_Seminar_Tamada201302pdf

httpenwikipediaorgwikiDirected_acyclic_graph

ノード数の増加に対する取りうるDAG数

番外編 ベイジアンネットワークの学習

3ノードなら手計算でいけそう

乗法定理times2(n=6)

乗法定理times2 + 条件付き独立 (n=9)

乗法定理times1 + 独立(n=3)

全て独立(n=1)

乗法定理を使う (このままではグラフとして表現できない)

乗法定理times1 + 独立 + 条件付き独立(n=6)エッジ0個

エッジ1個

エッジ2個(head-to-tail tail-to-tail)

エッジ2個(head-to-head)

エッジ3個(全結合)

ノード3つで式変形を片っ端から行った

番外編 ベイジアンネットワークの学習

試しに以下のような簡単な01データを用いる またここでは単純に尤度のみでグラフの善し悪しを判定する

番外編 ベイジアンネットワークの学習

0 0 00 0 00 0 00 0 01 0 01 0 01 1 01 1 01 1 11 1 1

a b c

P(a) = 35 P(b) = 25 P(c) = 15 P(a b) = 25 P(b c) = 15 P(a c) = 15 P(a b c) = 15

P(a | b c) = 1 P(b | a c) = 1 P(c | a b) = 12 P(a | b) = 1 P(a | c) = 1 P(b | a) = 23 P(b | c) = 1 P(c | a) = 13 P(c | b) = 12

独立性について

番外編 ベイジアンネットワークの学習

0 0 00 0 00 0 00 0 01 0 01 0 01 1 01 1 01 1 11 1 1

a b c

P(a | b c) = P(a | b) P(a | b c) = P(a | c) P(b | a c) ne P(b | a) P(b | a c) = P(b | c) P(c | a b) ne P(c | a) P(c | a b) = P(c | b)

P(a b c) ne P(a) P(b) P(c) P(a b) ne P(a) P(b) P(b c) ne P(b) P(c) P(a c) ne P(a) P(c)

条件付き独立性について

データによって成り立ったり成り立たなかったりする

乗法定理times2(n=6)

乗法定理times2 + 条件付き独立 (n=9)

乗法定理times1 + 独立(n=3)

全て独立(n=1)

乗法定理times1 + 独立 + 条件付き独立(n=6)エッジ0個

エッジ1個

エッジ2個(head-to-tail tail-to-tail)

エッジ2個(head-to-head)

エッジ3個(全結合)

番外編 ベイジアンネットワークの学習

尤度を計算した

= 02= 02= 02= 02= 02= 02

= 0048

= 008= 012= 012

= 02= 02= 02= 02= 013

= 013= 02

= 02= 013

= 008= 008= 008= 012= 008= 012

乗法定理times2(n=6)エッジ3個(全結合)

番外編 ベイジアンネットワークの学習

= 02= 02= 02= 02= 02= 02

乗法定理で変形したものはグラフ構造は違うのにも関わらず尤度は等しい

b

a

cb

a

cb

a

cb

a

cb

a

cb

a

c

乗法定理times2 + 条件付き独立 (n=9)

乗法定理times1 + 独立(n=3)乗法定理times1 + 独立 + 条件付き独立(n=6)

エッジ0個

エッジ1個

エッジ2個(head-to-tail tail-to-tail)

エッジ2個(head-to-head)

番外編 ベイジアンネットワークの学習

= 008= 012= 012

= 02= 02= 02= 02= 013

= 013= 02

= 02= 013

= 008= 008= 008= 012= 008= 012

条件付き独立独立はデータによって成り立ったり成り立たなかったりする

「同じ尤度を持つDAGは複数存在する可能性がある」

21世紀の統計科学 第2巻 第6章 生命システムネットワークを明らかにするための統計的モデリング

Page 53: PRML8章

有向分離定理

1 有向分解(乗法定理を繰り返し適用して得た条件付き確率分布)

2 有向分離 (条件付き独立を繰り返し適用して得た条件付き確率分布)

以下の二つは同じ分布を得る

マルコフブランケット

xiが起きる確率をxi以外の全てのノードで条件付けた分布で考える

分母をxiで周辺化する

条件付き確率の積にする

xiに依存しないノードの条件付き確率は分子と打ち消し合う(次頁)

あるノードの条件付き独立性を考える時の最小単位

マルコフブランケット

図826

つまりxiの条件付き独立を考える時 1) 親子 2) 共同親 だけを考えれば良い

共同親A B

C

D E

F G

結局Cの条件付き確率P(C|AB)と Cの子ノードの条件付き確率P(D|CF)やP(E|CG)だけ残る

Cを含まない項は全部消える

無向グラフ(マルコフ確率場)無向グラフは条件付き独立を考えるのが簡単

図827集合Cを取り除いてA-B間の経路が無くなるなら条件付き独立

図828

無向グラフはマルコフブランケットも簡単

隣接ノードだけ考えれば良い

無向グラフ(マルコフ確率場)無向グラフの分解特性(これまで乗法定理を繰り返し適用していたもの)は以下のように定式化される

(838)

xi xj以外の全てのノードを取り除いた時の同時確率

よりと書くことも

各々の確率に分割できるならxijにおいてxixjは条件付き独立

クリーク

図829

無向グラフの分解特性は極大クリーク変数集合の関数にする事

クリーク x1 x2 x2 x3 x3 x4 x4 x2 極大クリーク x1 x2 x3 x2 x3 x4 x1 x2 x3 x4はクリークではない(x1 - x4間にリンクがない)

クリーク 全てのノードの組にリンクが存在するグラフの部分集合 極大クリーク もう一つを加えるとクリークでなくなってしまうようなクリーク

ポテンシャル関数極大クリークを引数としたポテンシャル関数

の積に分解するどんな関数にするかは言及しない

基本的に総和は1にならない -gt 規格化定数(分配関数)を導入

-gt 計算は大変

画像のノイズ除去の例

元のピクセル

ランダムに反転したピクセル

元画像10のピクセルをランダムに反転

ICMによる復元グラフカットアルゴリズムによる復元

(841)(842)

(843)

図831

有向-gt無向の変換図832のような簡単な場合

有向グラフ(a)無向グラフ(b)

以下のような対応づけができる

有向-gt無向の変換図833のような場合

親同士をリンクで結ぶ(モラル化)

1 向きを無くす 2 モラル化する 3 規格化する -gt ジャンクションツリーアルゴリズム(84)

生物の細胞

遺伝子間が相互作用のネットワークを形成している

geneX geneY

Protein X

Protein Y

様々な実験での遺伝子発現データ

とりうる可能性高い遺伝子ネットワークを探索(MAP推定)

データからこれを推定したい

実験

遺伝子

more

番外編 ベイジアンネットワークの学習

rarr 近似的に求めるアルゴリズムが開発される

httpwwwsclsrikenjpscruisesoftwaresign-bnhtml

番外編 ベイジアンネットワークの学習

こういうネットワーク構造は未知でデータから推定するアプローチはベイジアンネットワークのrdquo学習rdquoとかrdquo推論rdquoというらしい

(848で紹介だけしている)

SiGN-BN スパコン「京」で計算するソフトウェア自分の修論の内容

Rのbnlearnパッケージ(CBRCのBlue Gene上で実行)httpsignhgcjpsignbnindex_jahtml

番外編 ベイジアンネットワークの学習

番外編 ベイジアンネットワークの学習

どのグラフが良いか決める基準 尤度情報量基準(AIC BIC 尤度ampパラメーター数)

MAP推定(尤度times事前分布)hellip

データを元に最も最適と思われるグラフ構造を探索する

データ

グラフ

1 0 01 1 01 0 10 1 01 0 10 0 01 1 00 0 01 1 10 0 1

a b cb

a

c

b

a

c

b

a

c

データからグラフ構造を推定したい場合単純な式変形をしただけだと数学的に等しいので結局最適なグラフ構造を決定できないのでは(勉強会での議論)

=gt 実際にやってみた

番外編 ベイジアンネットワークの学習

httpwwwsclsrikenjpscruisewp-contentuploadssites3201312SIGN_HGC_Seminar_Tamada201302pdf

httpenwikipediaorgwikiDirected_acyclic_graph

ノード数の増加に対する取りうるDAG数

番外編 ベイジアンネットワークの学習

3ノードなら手計算でいけそう

乗法定理times2(n=6)

乗法定理times2 + 条件付き独立 (n=9)

乗法定理times1 + 独立(n=3)

全て独立(n=1)

乗法定理を使う (このままではグラフとして表現できない)

乗法定理times1 + 独立 + 条件付き独立(n=6)エッジ0個

エッジ1個

エッジ2個(head-to-tail tail-to-tail)

エッジ2個(head-to-head)

エッジ3個(全結合)

ノード3つで式変形を片っ端から行った

番外編 ベイジアンネットワークの学習

試しに以下のような簡単な01データを用いる またここでは単純に尤度のみでグラフの善し悪しを判定する

番外編 ベイジアンネットワークの学習

0 0 00 0 00 0 00 0 01 0 01 0 01 1 01 1 01 1 11 1 1

a b c

P(a) = 35 P(b) = 25 P(c) = 15 P(a b) = 25 P(b c) = 15 P(a c) = 15 P(a b c) = 15

P(a | b c) = 1 P(b | a c) = 1 P(c | a b) = 12 P(a | b) = 1 P(a | c) = 1 P(b | a) = 23 P(b | c) = 1 P(c | a) = 13 P(c | b) = 12

独立性について

番外編 ベイジアンネットワークの学習

0 0 00 0 00 0 00 0 01 0 01 0 01 1 01 1 01 1 11 1 1

a b c

P(a | b c) = P(a | b) P(a | b c) = P(a | c) P(b | a c) ne P(b | a) P(b | a c) = P(b | c) P(c | a b) ne P(c | a) P(c | a b) = P(c | b)

P(a b c) ne P(a) P(b) P(c) P(a b) ne P(a) P(b) P(b c) ne P(b) P(c) P(a c) ne P(a) P(c)

条件付き独立性について

データによって成り立ったり成り立たなかったりする

乗法定理times2(n=6)

乗法定理times2 + 条件付き独立 (n=9)

乗法定理times1 + 独立(n=3)

全て独立(n=1)

乗法定理times1 + 独立 + 条件付き独立(n=6)エッジ0個

エッジ1個

エッジ2個(head-to-tail tail-to-tail)

エッジ2個(head-to-head)

エッジ3個(全結合)

番外編 ベイジアンネットワークの学習

尤度を計算した

= 02= 02= 02= 02= 02= 02

= 0048

= 008= 012= 012

= 02= 02= 02= 02= 013

= 013= 02

= 02= 013

= 008= 008= 008= 012= 008= 012

乗法定理times2(n=6)エッジ3個(全結合)

番外編 ベイジアンネットワークの学習

= 02= 02= 02= 02= 02= 02

乗法定理で変形したものはグラフ構造は違うのにも関わらず尤度は等しい

b

a

cb

a

cb

a

cb

a

cb

a

cb

a

c

乗法定理times2 + 条件付き独立 (n=9)

乗法定理times1 + 独立(n=3)乗法定理times1 + 独立 + 条件付き独立(n=6)

エッジ0個

エッジ1個

エッジ2個(head-to-tail tail-to-tail)

エッジ2個(head-to-head)

番外編 ベイジアンネットワークの学習

= 008= 012= 012

= 02= 02= 02= 02= 013

= 013= 02

= 02= 013

= 008= 008= 008= 012= 008= 012

条件付き独立独立はデータによって成り立ったり成り立たなかったりする

「同じ尤度を持つDAGは複数存在する可能性がある」

21世紀の統計科学 第2巻 第6章 生命システムネットワークを明らかにするための統計的モデリング

Page 54: PRML8章

マルコフブランケット

xiが起きる確率をxi以外の全てのノードで条件付けた分布で考える

分母をxiで周辺化する

条件付き確率の積にする

xiに依存しないノードの条件付き確率は分子と打ち消し合う(次頁)

あるノードの条件付き独立性を考える時の最小単位

マルコフブランケット

図826

つまりxiの条件付き独立を考える時 1) 親子 2) 共同親 だけを考えれば良い

共同親A B

C

D E

F G

結局Cの条件付き確率P(C|AB)と Cの子ノードの条件付き確率P(D|CF)やP(E|CG)だけ残る

Cを含まない項は全部消える

無向グラフ(マルコフ確率場)無向グラフは条件付き独立を考えるのが簡単

図827集合Cを取り除いてA-B間の経路が無くなるなら条件付き独立

図828

無向グラフはマルコフブランケットも簡単

隣接ノードだけ考えれば良い

無向グラフ(マルコフ確率場)無向グラフの分解特性(これまで乗法定理を繰り返し適用していたもの)は以下のように定式化される

(838)

xi xj以外の全てのノードを取り除いた時の同時確率

よりと書くことも

各々の確率に分割できるならxijにおいてxixjは条件付き独立

クリーク

図829

無向グラフの分解特性は極大クリーク変数集合の関数にする事

クリーク x1 x2 x2 x3 x3 x4 x4 x2 極大クリーク x1 x2 x3 x2 x3 x4 x1 x2 x3 x4はクリークではない(x1 - x4間にリンクがない)

クリーク 全てのノードの組にリンクが存在するグラフの部分集合 極大クリーク もう一つを加えるとクリークでなくなってしまうようなクリーク

ポテンシャル関数極大クリークを引数としたポテンシャル関数

の積に分解するどんな関数にするかは言及しない

基本的に総和は1にならない -gt 規格化定数(分配関数)を導入

-gt 計算は大変

画像のノイズ除去の例

元のピクセル

ランダムに反転したピクセル

元画像10のピクセルをランダムに反転

ICMによる復元グラフカットアルゴリズムによる復元

(841)(842)

(843)

図831

有向-gt無向の変換図832のような簡単な場合

有向グラフ(a)無向グラフ(b)

以下のような対応づけができる

有向-gt無向の変換図833のような場合

親同士をリンクで結ぶ(モラル化)

1 向きを無くす 2 モラル化する 3 規格化する -gt ジャンクションツリーアルゴリズム(84)

生物の細胞

遺伝子間が相互作用のネットワークを形成している

geneX geneY

Protein X

Protein Y

様々な実験での遺伝子発現データ

とりうる可能性高い遺伝子ネットワークを探索(MAP推定)

データからこれを推定したい

実験

遺伝子

more

番外編 ベイジアンネットワークの学習

rarr 近似的に求めるアルゴリズムが開発される

httpwwwsclsrikenjpscruisesoftwaresign-bnhtml

番外編 ベイジアンネットワークの学習

こういうネットワーク構造は未知でデータから推定するアプローチはベイジアンネットワークのrdquo学習rdquoとかrdquo推論rdquoというらしい

(848で紹介だけしている)

SiGN-BN スパコン「京」で計算するソフトウェア自分の修論の内容

Rのbnlearnパッケージ(CBRCのBlue Gene上で実行)httpsignhgcjpsignbnindex_jahtml

番外編 ベイジアンネットワークの学習

番外編 ベイジアンネットワークの学習

どのグラフが良いか決める基準 尤度情報量基準(AIC BIC 尤度ampパラメーター数)

MAP推定(尤度times事前分布)hellip

データを元に最も最適と思われるグラフ構造を探索する

データ

グラフ

1 0 01 1 01 0 10 1 01 0 10 0 01 1 00 0 01 1 10 0 1

a b cb

a

c

b

a

c

b

a

c

データからグラフ構造を推定したい場合単純な式変形をしただけだと数学的に等しいので結局最適なグラフ構造を決定できないのでは(勉強会での議論)

=gt 実際にやってみた

番外編 ベイジアンネットワークの学習

httpwwwsclsrikenjpscruisewp-contentuploadssites3201312SIGN_HGC_Seminar_Tamada201302pdf

httpenwikipediaorgwikiDirected_acyclic_graph

ノード数の増加に対する取りうるDAG数

番外編 ベイジアンネットワークの学習

3ノードなら手計算でいけそう

乗法定理times2(n=6)

乗法定理times2 + 条件付き独立 (n=9)

乗法定理times1 + 独立(n=3)

全て独立(n=1)

乗法定理を使う (このままではグラフとして表現できない)

乗法定理times1 + 独立 + 条件付き独立(n=6)エッジ0個

エッジ1個

エッジ2個(head-to-tail tail-to-tail)

エッジ2個(head-to-head)

エッジ3個(全結合)

ノード3つで式変形を片っ端から行った

番外編 ベイジアンネットワークの学習

試しに以下のような簡単な01データを用いる またここでは単純に尤度のみでグラフの善し悪しを判定する

番外編 ベイジアンネットワークの学習

0 0 00 0 00 0 00 0 01 0 01 0 01 1 01 1 01 1 11 1 1

a b c

P(a) = 35 P(b) = 25 P(c) = 15 P(a b) = 25 P(b c) = 15 P(a c) = 15 P(a b c) = 15

P(a | b c) = 1 P(b | a c) = 1 P(c | a b) = 12 P(a | b) = 1 P(a | c) = 1 P(b | a) = 23 P(b | c) = 1 P(c | a) = 13 P(c | b) = 12

独立性について

番外編 ベイジアンネットワークの学習

0 0 00 0 00 0 00 0 01 0 01 0 01 1 01 1 01 1 11 1 1

a b c

P(a | b c) = P(a | b) P(a | b c) = P(a | c) P(b | a c) ne P(b | a) P(b | a c) = P(b | c) P(c | a b) ne P(c | a) P(c | a b) = P(c | b)

P(a b c) ne P(a) P(b) P(c) P(a b) ne P(a) P(b) P(b c) ne P(b) P(c) P(a c) ne P(a) P(c)

条件付き独立性について

データによって成り立ったり成り立たなかったりする

乗法定理times2(n=6)

乗法定理times2 + 条件付き独立 (n=9)

乗法定理times1 + 独立(n=3)

全て独立(n=1)

乗法定理times1 + 独立 + 条件付き独立(n=6)エッジ0個

エッジ1個

エッジ2個(head-to-tail tail-to-tail)

エッジ2個(head-to-head)

エッジ3個(全結合)

番外編 ベイジアンネットワークの学習

尤度を計算した

= 02= 02= 02= 02= 02= 02

= 0048

= 008= 012= 012

= 02= 02= 02= 02= 013

= 013= 02

= 02= 013

= 008= 008= 008= 012= 008= 012

乗法定理times2(n=6)エッジ3個(全結合)

番外編 ベイジアンネットワークの学習

= 02= 02= 02= 02= 02= 02

乗法定理で変形したものはグラフ構造は違うのにも関わらず尤度は等しい

b

a

cb

a

cb

a

cb

a

cb

a

cb

a

c

乗法定理times2 + 条件付き独立 (n=9)

乗法定理times1 + 独立(n=3)乗法定理times1 + 独立 + 条件付き独立(n=6)

エッジ0個

エッジ1個

エッジ2個(head-to-tail tail-to-tail)

エッジ2個(head-to-head)

番外編 ベイジアンネットワークの学習

= 008= 012= 012

= 02= 02= 02= 02= 013

= 013= 02

= 02= 013

= 008= 008= 008= 012= 008= 012

条件付き独立独立はデータによって成り立ったり成り立たなかったりする

「同じ尤度を持つDAGは複数存在する可能性がある」

21世紀の統計科学 第2巻 第6章 生命システムネットワークを明らかにするための統計的モデリング

Page 55: PRML8章

マルコフブランケット

図826

つまりxiの条件付き独立を考える時 1) 親子 2) 共同親 だけを考えれば良い

共同親A B

C

D E

F G

結局Cの条件付き確率P(C|AB)と Cの子ノードの条件付き確率P(D|CF)やP(E|CG)だけ残る

Cを含まない項は全部消える

無向グラフ(マルコフ確率場)無向グラフは条件付き独立を考えるのが簡単

図827集合Cを取り除いてA-B間の経路が無くなるなら条件付き独立

図828

無向グラフはマルコフブランケットも簡単

隣接ノードだけ考えれば良い

無向グラフ(マルコフ確率場)無向グラフの分解特性(これまで乗法定理を繰り返し適用していたもの)は以下のように定式化される

(838)

xi xj以外の全てのノードを取り除いた時の同時確率

よりと書くことも

各々の確率に分割できるならxijにおいてxixjは条件付き独立

クリーク

図829

無向グラフの分解特性は極大クリーク変数集合の関数にする事

クリーク x1 x2 x2 x3 x3 x4 x4 x2 極大クリーク x1 x2 x3 x2 x3 x4 x1 x2 x3 x4はクリークではない(x1 - x4間にリンクがない)

クリーク 全てのノードの組にリンクが存在するグラフの部分集合 極大クリーク もう一つを加えるとクリークでなくなってしまうようなクリーク

ポテンシャル関数極大クリークを引数としたポテンシャル関数

の積に分解するどんな関数にするかは言及しない

基本的に総和は1にならない -gt 規格化定数(分配関数)を導入

-gt 計算は大変

画像のノイズ除去の例

元のピクセル

ランダムに反転したピクセル

元画像10のピクセルをランダムに反転

ICMによる復元グラフカットアルゴリズムによる復元

(841)(842)

(843)

図831

有向-gt無向の変換図832のような簡単な場合

有向グラフ(a)無向グラフ(b)

以下のような対応づけができる

有向-gt無向の変換図833のような場合

親同士をリンクで結ぶ(モラル化)

1 向きを無くす 2 モラル化する 3 規格化する -gt ジャンクションツリーアルゴリズム(84)

生物の細胞

遺伝子間が相互作用のネットワークを形成している

geneX geneY

Protein X

Protein Y

様々な実験での遺伝子発現データ

とりうる可能性高い遺伝子ネットワークを探索(MAP推定)

データからこれを推定したい

実験

遺伝子

more

番外編 ベイジアンネットワークの学習

rarr 近似的に求めるアルゴリズムが開発される

httpwwwsclsrikenjpscruisesoftwaresign-bnhtml

番外編 ベイジアンネットワークの学習

こういうネットワーク構造は未知でデータから推定するアプローチはベイジアンネットワークのrdquo学習rdquoとかrdquo推論rdquoというらしい

(848で紹介だけしている)

SiGN-BN スパコン「京」で計算するソフトウェア自分の修論の内容

Rのbnlearnパッケージ(CBRCのBlue Gene上で実行)httpsignhgcjpsignbnindex_jahtml

番外編 ベイジアンネットワークの学習

番外編 ベイジアンネットワークの学習

どのグラフが良いか決める基準 尤度情報量基準(AIC BIC 尤度ampパラメーター数)

MAP推定(尤度times事前分布)hellip

データを元に最も最適と思われるグラフ構造を探索する

データ

グラフ

1 0 01 1 01 0 10 1 01 0 10 0 01 1 00 0 01 1 10 0 1

a b cb

a

c

b

a

c

b

a

c

データからグラフ構造を推定したい場合単純な式変形をしただけだと数学的に等しいので結局最適なグラフ構造を決定できないのでは(勉強会での議論)

=gt 実際にやってみた

番外編 ベイジアンネットワークの学習

httpwwwsclsrikenjpscruisewp-contentuploadssites3201312SIGN_HGC_Seminar_Tamada201302pdf

httpenwikipediaorgwikiDirected_acyclic_graph

ノード数の増加に対する取りうるDAG数

番外編 ベイジアンネットワークの学習

3ノードなら手計算でいけそう

乗法定理times2(n=6)

乗法定理times2 + 条件付き独立 (n=9)

乗法定理times1 + 独立(n=3)

全て独立(n=1)

乗法定理を使う (このままではグラフとして表現できない)

乗法定理times1 + 独立 + 条件付き独立(n=6)エッジ0個

エッジ1個

エッジ2個(head-to-tail tail-to-tail)

エッジ2個(head-to-head)

エッジ3個(全結合)

ノード3つで式変形を片っ端から行った

番外編 ベイジアンネットワークの学習

試しに以下のような簡単な01データを用いる またここでは単純に尤度のみでグラフの善し悪しを判定する

番外編 ベイジアンネットワークの学習

0 0 00 0 00 0 00 0 01 0 01 0 01 1 01 1 01 1 11 1 1

a b c

P(a) = 35 P(b) = 25 P(c) = 15 P(a b) = 25 P(b c) = 15 P(a c) = 15 P(a b c) = 15

P(a | b c) = 1 P(b | a c) = 1 P(c | a b) = 12 P(a | b) = 1 P(a | c) = 1 P(b | a) = 23 P(b | c) = 1 P(c | a) = 13 P(c | b) = 12

独立性について

番外編 ベイジアンネットワークの学習

0 0 00 0 00 0 00 0 01 0 01 0 01 1 01 1 01 1 11 1 1

a b c

P(a | b c) = P(a | b) P(a | b c) = P(a | c) P(b | a c) ne P(b | a) P(b | a c) = P(b | c) P(c | a b) ne P(c | a) P(c | a b) = P(c | b)

P(a b c) ne P(a) P(b) P(c) P(a b) ne P(a) P(b) P(b c) ne P(b) P(c) P(a c) ne P(a) P(c)

条件付き独立性について

データによって成り立ったり成り立たなかったりする

乗法定理times2(n=6)

乗法定理times2 + 条件付き独立 (n=9)

乗法定理times1 + 独立(n=3)

全て独立(n=1)

乗法定理times1 + 独立 + 条件付き独立(n=6)エッジ0個

エッジ1個

エッジ2個(head-to-tail tail-to-tail)

エッジ2個(head-to-head)

エッジ3個(全結合)

番外編 ベイジアンネットワークの学習

尤度を計算した

= 02= 02= 02= 02= 02= 02

= 0048

= 008= 012= 012

= 02= 02= 02= 02= 013

= 013= 02

= 02= 013

= 008= 008= 008= 012= 008= 012

乗法定理times2(n=6)エッジ3個(全結合)

番外編 ベイジアンネットワークの学習

= 02= 02= 02= 02= 02= 02

乗法定理で変形したものはグラフ構造は違うのにも関わらず尤度は等しい

b

a

cb

a

cb

a

cb

a

cb

a

cb

a

c

乗法定理times2 + 条件付き独立 (n=9)

乗法定理times1 + 独立(n=3)乗法定理times1 + 独立 + 条件付き独立(n=6)

エッジ0個

エッジ1個

エッジ2個(head-to-tail tail-to-tail)

エッジ2個(head-to-head)

番外編 ベイジアンネットワークの学習

= 008= 012= 012

= 02= 02= 02= 02= 013

= 013= 02

= 02= 013

= 008= 008= 008= 012= 008= 012

条件付き独立独立はデータによって成り立ったり成り立たなかったりする

「同じ尤度を持つDAGは複数存在する可能性がある」

21世紀の統計科学 第2巻 第6章 生命システムネットワークを明らかにするための統計的モデリング

Page 56: PRML8章

無向グラフ(マルコフ確率場)無向グラフは条件付き独立を考えるのが簡単

図827集合Cを取り除いてA-B間の経路が無くなるなら条件付き独立

図828

無向グラフはマルコフブランケットも簡単

隣接ノードだけ考えれば良い

無向グラフ(マルコフ確率場)無向グラフの分解特性(これまで乗法定理を繰り返し適用していたもの)は以下のように定式化される

(838)

xi xj以外の全てのノードを取り除いた時の同時確率

よりと書くことも

各々の確率に分割できるならxijにおいてxixjは条件付き独立

クリーク

図829

無向グラフの分解特性は極大クリーク変数集合の関数にする事

クリーク x1 x2 x2 x3 x3 x4 x4 x2 極大クリーク x1 x2 x3 x2 x3 x4 x1 x2 x3 x4はクリークではない(x1 - x4間にリンクがない)

クリーク 全てのノードの組にリンクが存在するグラフの部分集合 極大クリーク もう一つを加えるとクリークでなくなってしまうようなクリーク

ポテンシャル関数極大クリークを引数としたポテンシャル関数

の積に分解するどんな関数にするかは言及しない

基本的に総和は1にならない -gt 規格化定数(分配関数)を導入

-gt 計算は大変

画像のノイズ除去の例

元のピクセル

ランダムに反転したピクセル

元画像10のピクセルをランダムに反転

ICMによる復元グラフカットアルゴリズムによる復元

(841)(842)

(843)

図831

有向-gt無向の変換図832のような簡単な場合

有向グラフ(a)無向グラフ(b)

以下のような対応づけができる

有向-gt無向の変換図833のような場合

親同士をリンクで結ぶ(モラル化)

1 向きを無くす 2 モラル化する 3 規格化する -gt ジャンクションツリーアルゴリズム(84)

生物の細胞

遺伝子間が相互作用のネットワークを形成している

geneX geneY

Protein X

Protein Y

様々な実験での遺伝子発現データ

とりうる可能性高い遺伝子ネットワークを探索(MAP推定)

データからこれを推定したい

実験

遺伝子

more

番外編 ベイジアンネットワークの学習

rarr 近似的に求めるアルゴリズムが開発される

httpwwwsclsrikenjpscruisesoftwaresign-bnhtml

番外編 ベイジアンネットワークの学習

こういうネットワーク構造は未知でデータから推定するアプローチはベイジアンネットワークのrdquo学習rdquoとかrdquo推論rdquoというらしい

(848で紹介だけしている)

SiGN-BN スパコン「京」で計算するソフトウェア自分の修論の内容

Rのbnlearnパッケージ(CBRCのBlue Gene上で実行)httpsignhgcjpsignbnindex_jahtml

番外編 ベイジアンネットワークの学習

番外編 ベイジアンネットワークの学習

どのグラフが良いか決める基準 尤度情報量基準(AIC BIC 尤度ampパラメーター数)

MAP推定(尤度times事前分布)hellip

データを元に最も最適と思われるグラフ構造を探索する

データ

グラフ

1 0 01 1 01 0 10 1 01 0 10 0 01 1 00 0 01 1 10 0 1

a b cb

a

c

b

a

c

b

a

c

データからグラフ構造を推定したい場合単純な式変形をしただけだと数学的に等しいので結局最適なグラフ構造を決定できないのでは(勉強会での議論)

=gt 実際にやってみた

番外編 ベイジアンネットワークの学習

httpwwwsclsrikenjpscruisewp-contentuploadssites3201312SIGN_HGC_Seminar_Tamada201302pdf

httpenwikipediaorgwikiDirected_acyclic_graph

ノード数の増加に対する取りうるDAG数

番外編 ベイジアンネットワークの学習

3ノードなら手計算でいけそう

乗法定理times2(n=6)

乗法定理times2 + 条件付き独立 (n=9)

乗法定理times1 + 独立(n=3)

全て独立(n=1)

乗法定理を使う (このままではグラフとして表現できない)

乗法定理times1 + 独立 + 条件付き独立(n=6)エッジ0個

エッジ1個

エッジ2個(head-to-tail tail-to-tail)

エッジ2個(head-to-head)

エッジ3個(全結合)

ノード3つで式変形を片っ端から行った

番外編 ベイジアンネットワークの学習

試しに以下のような簡単な01データを用いる またここでは単純に尤度のみでグラフの善し悪しを判定する

番外編 ベイジアンネットワークの学習

0 0 00 0 00 0 00 0 01 0 01 0 01 1 01 1 01 1 11 1 1

a b c

P(a) = 35 P(b) = 25 P(c) = 15 P(a b) = 25 P(b c) = 15 P(a c) = 15 P(a b c) = 15

P(a | b c) = 1 P(b | a c) = 1 P(c | a b) = 12 P(a | b) = 1 P(a | c) = 1 P(b | a) = 23 P(b | c) = 1 P(c | a) = 13 P(c | b) = 12

独立性について

番外編 ベイジアンネットワークの学習

0 0 00 0 00 0 00 0 01 0 01 0 01 1 01 1 01 1 11 1 1

a b c

P(a | b c) = P(a | b) P(a | b c) = P(a | c) P(b | a c) ne P(b | a) P(b | a c) = P(b | c) P(c | a b) ne P(c | a) P(c | a b) = P(c | b)

P(a b c) ne P(a) P(b) P(c) P(a b) ne P(a) P(b) P(b c) ne P(b) P(c) P(a c) ne P(a) P(c)

条件付き独立性について

データによって成り立ったり成り立たなかったりする

乗法定理times2(n=6)

乗法定理times2 + 条件付き独立 (n=9)

乗法定理times1 + 独立(n=3)

全て独立(n=1)

乗法定理times1 + 独立 + 条件付き独立(n=6)エッジ0個

エッジ1個

エッジ2個(head-to-tail tail-to-tail)

エッジ2個(head-to-head)

エッジ3個(全結合)

番外編 ベイジアンネットワークの学習

尤度を計算した

= 02= 02= 02= 02= 02= 02

= 0048

= 008= 012= 012

= 02= 02= 02= 02= 013

= 013= 02

= 02= 013

= 008= 008= 008= 012= 008= 012

乗法定理times2(n=6)エッジ3個(全結合)

番外編 ベイジアンネットワークの学習

= 02= 02= 02= 02= 02= 02

乗法定理で変形したものはグラフ構造は違うのにも関わらず尤度は等しい

b

a

cb

a

cb

a

cb

a

cb

a

cb

a

c

乗法定理times2 + 条件付き独立 (n=9)

乗法定理times1 + 独立(n=3)乗法定理times1 + 独立 + 条件付き独立(n=6)

エッジ0個

エッジ1個

エッジ2個(head-to-tail tail-to-tail)

エッジ2個(head-to-head)

番外編 ベイジアンネットワークの学習

= 008= 012= 012

= 02= 02= 02= 02= 013

= 013= 02

= 02= 013

= 008= 008= 008= 012= 008= 012

条件付き独立独立はデータによって成り立ったり成り立たなかったりする

「同じ尤度を持つDAGは複数存在する可能性がある」

21世紀の統計科学 第2巻 第6章 生命システムネットワークを明らかにするための統計的モデリング

Page 57: PRML8章

無向グラフ(マルコフ確率場)無向グラフの分解特性(これまで乗法定理を繰り返し適用していたもの)は以下のように定式化される

(838)

xi xj以外の全てのノードを取り除いた時の同時確率

よりと書くことも

各々の確率に分割できるならxijにおいてxixjは条件付き独立

クリーク

図829

無向グラフの分解特性は極大クリーク変数集合の関数にする事

クリーク x1 x2 x2 x3 x3 x4 x4 x2 極大クリーク x1 x2 x3 x2 x3 x4 x1 x2 x3 x4はクリークではない(x1 - x4間にリンクがない)

クリーク 全てのノードの組にリンクが存在するグラフの部分集合 極大クリーク もう一つを加えるとクリークでなくなってしまうようなクリーク

ポテンシャル関数極大クリークを引数としたポテンシャル関数

の積に分解するどんな関数にするかは言及しない

基本的に総和は1にならない -gt 規格化定数(分配関数)を導入

-gt 計算は大変

画像のノイズ除去の例

元のピクセル

ランダムに反転したピクセル

元画像10のピクセルをランダムに反転

ICMによる復元グラフカットアルゴリズムによる復元

(841)(842)

(843)

図831

有向-gt無向の変換図832のような簡単な場合

有向グラフ(a)無向グラフ(b)

以下のような対応づけができる

有向-gt無向の変換図833のような場合

親同士をリンクで結ぶ(モラル化)

1 向きを無くす 2 モラル化する 3 規格化する -gt ジャンクションツリーアルゴリズム(84)

生物の細胞

遺伝子間が相互作用のネットワークを形成している

geneX geneY

Protein X

Protein Y

様々な実験での遺伝子発現データ

とりうる可能性高い遺伝子ネットワークを探索(MAP推定)

データからこれを推定したい

実験

遺伝子

more

番外編 ベイジアンネットワークの学習

rarr 近似的に求めるアルゴリズムが開発される

httpwwwsclsrikenjpscruisesoftwaresign-bnhtml

番外編 ベイジアンネットワークの学習

こういうネットワーク構造は未知でデータから推定するアプローチはベイジアンネットワークのrdquo学習rdquoとかrdquo推論rdquoというらしい

(848で紹介だけしている)

SiGN-BN スパコン「京」で計算するソフトウェア自分の修論の内容

Rのbnlearnパッケージ(CBRCのBlue Gene上で実行)httpsignhgcjpsignbnindex_jahtml

番外編 ベイジアンネットワークの学習

番外編 ベイジアンネットワークの学習

どのグラフが良いか決める基準 尤度情報量基準(AIC BIC 尤度ampパラメーター数)

MAP推定(尤度times事前分布)hellip

データを元に最も最適と思われるグラフ構造を探索する

データ

グラフ

1 0 01 1 01 0 10 1 01 0 10 0 01 1 00 0 01 1 10 0 1

a b cb

a

c

b

a

c

b

a

c

データからグラフ構造を推定したい場合単純な式変形をしただけだと数学的に等しいので結局最適なグラフ構造を決定できないのでは(勉強会での議論)

=gt 実際にやってみた

番外編 ベイジアンネットワークの学習

httpwwwsclsrikenjpscruisewp-contentuploadssites3201312SIGN_HGC_Seminar_Tamada201302pdf

httpenwikipediaorgwikiDirected_acyclic_graph

ノード数の増加に対する取りうるDAG数

番外編 ベイジアンネットワークの学習

3ノードなら手計算でいけそう

乗法定理times2(n=6)

乗法定理times2 + 条件付き独立 (n=9)

乗法定理times1 + 独立(n=3)

全て独立(n=1)

乗法定理を使う (このままではグラフとして表現できない)

乗法定理times1 + 独立 + 条件付き独立(n=6)エッジ0個

エッジ1個

エッジ2個(head-to-tail tail-to-tail)

エッジ2個(head-to-head)

エッジ3個(全結合)

ノード3つで式変形を片っ端から行った

番外編 ベイジアンネットワークの学習

試しに以下のような簡単な01データを用いる またここでは単純に尤度のみでグラフの善し悪しを判定する

番外編 ベイジアンネットワークの学習

0 0 00 0 00 0 00 0 01 0 01 0 01 1 01 1 01 1 11 1 1

a b c

P(a) = 35 P(b) = 25 P(c) = 15 P(a b) = 25 P(b c) = 15 P(a c) = 15 P(a b c) = 15

P(a | b c) = 1 P(b | a c) = 1 P(c | a b) = 12 P(a | b) = 1 P(a | c) = 1 P(b | a) = 23 P(b | c) = 1 P(c | a) = 13 P(c | b) = 12

独立性について

番外編 ベイジアンネットワークの学習

0 0 00 0 00 0 00 0 01 0 01 0 01 1 01 1 01 1 11 1 1

a b c

P(a | b c) = P(a | b) P(a | b c) = P(a | c) P(b | a c) ne P(b | a) P(b | a c) = P(b | c) P(c | a b) ne P(c | a) P(c | a b) = P(c | b)

P(a b c) ne P(a) P(b) P(c) P(a b) ne P(a) P(b) P(b c) ne P(b) P(c) P(a c) ne P(a) P(c)

条件付き独立性について

データによって成り立ったり成り立たなかったりする

乗法定理times2(n=6)

乗法定理times2 + 条件付き独立 (n=9)

乗法定理times1 + 独立(n=3)

全て独立(n=1)

乗法定理times1 + 独立 + 条件付き独立(n=6)エッジ0個

エッジ1個

エッジ2個(head-to-tail tail-to-tail)

エッジ2個(head-to-head)

エッジ3個(全結合)

番外編 ベイジアンネットワークの学習

尤度を計算した

= 02= 02= 02= 02= 02= 02

= 0048

= 008= 012= 012

= 02= 02= 02= 02= 013

= 013= 02

= 02= 013

= 008= 008= 008= 012= 008= 012

乗法定理times2(n=6)エッジ3個(全結合)

番外編 ベイジアンネットワークの学習

= 02= 02= 02= 02= 02= 02

乗法定理で変形したものはグラフ構造は違うのにも関わらず尤度は等しい

b

a

cb

a

cb

a

cb

a

cb

a

cb

a

c

乗法定理times2 + 条件付き独立 (n=9)

乗法定理times1 + 独立(n=3)乗法定理times1 + 独立 + 条件付き独立(n=6)

エッジ0個

エッジ1個

エッジ2個(head-to-tail tail-to-tail)

エッジ2個(head-to-head)

番外編 ベイジアンネットワークの学習

= 008= 012= 012

= 02= 02= 02= 02= 013

= 013= 02

= 02= 013

= 008= 008= 008= 012= 008= 012

条件付き独立独立はデータによって成り立ったり成り立たなかったりする

「同じ尤度を持つDAGは複数存在する可能性がある」

21世紀の統計科学 第2巻 第6章 生命システムネットワークを明らかにするための統計的モデリング

Page 58: PRML8章

クリーク

図829

無向グラフの分解特性は極大クリーク変数集合の関数にする事

クリーク x1 x2 x2 x3 x3 x4 x4 x2 極大クリーク x1 x2 x3 x2 x3 x4 x1 x2 x3 x4はクリークではない(x1 - x4間にリンクがない)

クリーク 全てのノードの組にリンクが存在するグラフの部分集合 極大クリーク もう一つを加えるとクリークでなくなってしまうようなクリーク

ポテンシャル関数極大クリークを引数としたポテンシャル関数

の積に分解するどんな関数にするかは言及しない

基本的に総和は1にならない -gt 規格化定数(分配関数)を導入

-gt 計算は大変

画像のノイズ除去の例

元のピクセル

ランダムに反転したピクセル

元画像10のピクセルをランダムに反転

ICMによる復元グラフカットアルゴリズムによる復元

(841)(842)

(843)

図831

有向-gt無向の変換図832のような簡単な場合

有向グラフ(a)無向グラフ(b)

以下のような対応づけができる

有向-gt無向の変換図833のような場合

親同士をリンクで結ぶ(モラル化)

1 向きを無くす 2 モラル化する 3 規格化する -gt ジャンクションツリーアルゴリズム(84)

生物の細胞

遺伝子間が相互作用のネットワークを形成している

geneX geneY

Protein X

Protein Y

様々な実験での遺伝子発現データ

とりうる可能性高い遺伝子ネットワークを探索(MAP推定)

データからこれを推定したい

実験

遺伝子

more

番外編 ベイジアンネットワークの学習

rarr 近似的に求めるアルゴリズムが開発される

httpwwwsclsrikenjpscruisesoftwaresign-bnhtml

番外編 ベイジアンネットワークの学習

こういうネットワーク構造は未知でデータから推定するアプローチはベイジアンネットワークのrdquo学習rdquoとかrdquo推論rdquoというらしい

(848で紹介だけしている)

SiGN-BN スパコン「京」で計算するソフトウェア自分の修論の内容

Rのbnlearnパッケージ(CBRCのBlue Gene上で実行)httpsignhgcjpsignbnindex_jahtml

番外編 ベイジアンネットワークの学習

番外編 ベイジアンネットワークの学習

どのグラフが良いか決める基準 尤度情報量基準(AIC BIC 尤度ampパラメーター数)

MAP推定(尤度times事前分布)hellip

データを元に最も最適と思われるグラフ構造を探索する

データ

グラフ

1 0 01 1 01 0 10 1 01 0 10 0 01 1 00 0 01 1 10 0 1

a b cb

a

c

b

a

c

b

a

c

データからグラフ構造を推定したい場合単純な式変形をしただけだと数学的に等しいので結局最適なグラフ構造を決定できないのでは(勉強会での議論)

=gt 実際にやってみた

番外編 ベイジアンネットワークの学習

httpwwwsclsrikenjpscruisewp-contentuploadssites3201312SIGN_HGC_Seminar_Tamada201302pdf

httpenwikipediaorgwikiDirected_acyclic_graph

ノード数の増加に対する取りうるDAG数

番外編 ベイジアンネットワークの学習

3ノードなら手計算でいけそう

乗法定理times2(n=6)

乗法定理times2 + 条件付き独立 (n=9)

乗法定理times1 + 独立(n=3)

全て独立(n=1)

乗法定理を使う (このままではグラフとして表現できない)

乗法定理times1 + 独立 + 条件付き独立(n=6)エッジ0個

エッジ1個

エッジ2個(head-to-tail tail-to-tail)

エッジ2個(head-to-head)

エッジ3個(全結合)

ノード3つで式変形を片っ端から行った

番外編 ベイジアンネットワークの学習

試しに以下のような簡単な01データを用いる またここでは単純に尤度のみでグラフの善し悪しを判定する

番外編 ベイジアンネットワークの学習

0 0 00 0 00 0 00 0 01 0 01 0 01 1 01 1 01 1 11 1 1

a b c

P(a) = 35 P(b) = 25 P(c) = 15 P(a b) = 25 P(b c) = 15 P(a c) = 15 P(a b c) = 15

P(a | b c) = 1 P(b | a c) = 1 P(c | a b) = 12 P(a | b) = 1 P(a | c) = 1 P(b | a) = 23 P(b | c) = 1 P(c | a) = 13 P(c | b) = 12

独立性について

番外編 ベイジアンネットワークの学習

0 0 00 0 00 0 00 0 01 0 01 0 01 1 01 1 01 1 11 1 1

a b c

P(a | b c) = P(a | b) P(a | b c) = P(a | c) P(b | a c) ne P(b | a) P(b | a c) = P(b | c) P(c | a b) ne P(c | a) P(c | a b) = P(c | b)

P(a b c) ne P(a) P(b) P(c) P(a b) ne P(a) P(b) P(b c) ne P(b) P(c) P(a c) ne P(a) P(c)

条件付き独立性について

データによって成り立ったり成り立たなかったりする

乗法定理times2(n=6)

乗法定理times2 + 条件付き独立 (n=9)

乗法定理times1 + 独立(n=3)

全て独立(n=1)

乗法定理times1 + 独立 + 条件付き独立(n=6)エッジ0個

エッジ1個

エッジ2個(head-to-tail tail-to-tail)

エッジ2個(head-to-head)

エッジ3個(全結合)

番外編 ベイジアンネットワークの学習

尤度を計算した

= 02= 02= 02= 02= 02= 02

= 0048

= 008= 012= 012

= 02= 02= 02= 02= 013

= 013= 02

= 02= 013

= 008= 008= 008= 012= 008= 012

乗法定理times2(n=6)エッジ3個(全結合)

番外編 ベイジアンネットワークの学習

= 02= 02= 02= 02= 02= 02

乗法定理で変形したものはグラフ構造は違うのにも関わらず尤度は等しい

b

a

cb

a

cb

a

cb

a

cb

a

cb

a

c

乗法定理times2 + 条件付き独立 (n=9)

乗法定理times1 + 独立(n=3)乗法定理times1 + 独立 + 条件付き独立(n=6)

エッジ0個

エッジ1個

エッジ2個(head-to-tail tail-to-tail)

エッジ2個(head-to-head)

番外編 ベイジアンネットワークの学習

= 008= 012= 012

= 02= 02= 02= 02= 013

= 013= 02

= 02= 013

= 008= 008= 008= 012= 008= 012

条件付き独立独立はデータによって成り立ったり成り立たなかったりする

「同じ尤度を持つDAGは複数存在する可能性がある」

21世紀の統計科学 第2巻 第6章 生命システムネットワークを明らかにするための統計的モデリング

Page 59: PRML8章

ポテンシャル関数極大クリークを引数としたポテンシャル関数

の積に分解するどんな関数にするかは言及しない

基本的に総和は1にならない -gt 規格化定数(分配関数)を導入

-gt 計算は大変

画像のノイズ除去の例

元のピクセル

ランダムに反転したピクセル

元画像10のピクセルをランダムに反転

ICMによる復元グラフカットアルゴリズムによる復元

(841)(842)

(843)

図831

有向-gt無向の変換図832のような簡単な場合

有向グラフ(a)無向グラフ(b)

以下のような対応づけができる

有向-gt無向の変換図833のような場合

親同士をリンクで結ぶ(モラル化)

1 向きを無くす 2 モラル化する 3 規格化する -gt ジャンクションツリーアルゴリズム(84)

生物の細胞

遺伝子間が相互作用のネットワークを形成している

geneX geneY

Protein X

Protein Y

様々な実験での遺伝子発現データ

とりうる可能性高い遺伝子ネットワークを探索(MAP推定)

データからこれを推定したい

実験

遺伝子

more

番外編 ベイジアンネットワークの学習

rarr 近似的に求めるアルゴリズムが開発される

httpwwwsclsrikenjpscruisesoftwaresign-bnhtml

番外編 ベイジアンネットワークの学習

こういうネットワーク構造は未知でデータから推定するアプローチはベイジアンネットワークのrdquo学習rdquoとかrdquo推論rdquoというらしい

(848で紹介だけしている)

SiGN-BN スパコン「京」で計算するソフトウェア自分の修論の内容

Rのbnlearnパッケージ(CBRCのBlue Gene上で実行)httpsignhgcjpsignbnindex_jahtml

番外編 ベイジアンネットワークの学習

番外編 ベイジアンネットワークの学習

どのグラフが良いか決める基準 尤度情報量基準(AIC BIC 尤度ampパラメーター数)

MAP推定(尤度times事前分布)hellip

データを元に最も最適と思われるグラフ構造を探索する

データ

グラフ

1 0 01 1 01 0 10 1 01 0 10 0 01 1 00 0 01 1 10 0 1

a b cb

a

c

b

a

c

b

a

c

データからグラフ構造を推定したい場合単純な式変形をしただけだと数学的に等しいので結局最適なグラフ構造を決定できないのでは(勉強会での議論)

=gt 実際にやってみた

番外編 ベイジアンネットワークの学習

httpwwwsclsrikenjpscruisewp-contentuploadssites3201312SIGN_HGC_Seminar_Tamada201302pdf

httpenwikipediaorgwikiDirected_acyclic_graph

ノード数の増加に対する取りうるDAG数

番外編 ベイジアンネットワークの学習

3ノードなら手計算でいけそう

乗法定理times2(n=6)

乗法定理times2 + 条件付き独立 (n=9)

乗法定理times1 + 独立(n=3)

全て独立(n=1)

乗法定理を使う (このままではグラフとして表現できない)

乗法定理times1 + 独立 + 条件付き独立(n=6)エッジ0個

エッジ1個

エッジ2個(head-to-tail tail-to-tail)

エッジ2個(head-to-head)

エッジ3個(全結合)

ノード3つで式変形を片っ端から行った

番外編 ベイジアンネットワークの学習

試しに以下のような簡単な01データを用いる またここでは単純に尤度のみでグラフの善し悪しを判定する

番外編 ベイジアンネットワークの学習

0 0 00 0 00 0 00 0 01 0 01 0 01 1 01 1 01 1 11 1 1

a b c

P(a) = 35 P(b) = 25 P(c) = 15 P(a b) = 25 P(b c) = 15 P(a c) = 15 P(a b c) = 15

P(a | b c) = 1 P(b | a c) = 1 P(c | a b) = 12 P(a | b) = 1 P(a | c) = 1 P(b | a) = 23 P(b | c) = 1 P(c | a) = 13 P(c | b) = 12

独立性について

番外編 ベイジアンネットワークの学習

0 0 00 0 00 0 00 0 01 0 01 0 01 1 01 1 01 1 11 1 1

a b c

P(a | b c) = P(a | b) P(a | b c) = P(a | c) P(b | a c) ne P(b | a) P(b | a c) = P(b | c) P(c | a b) ne P(c | a) P(c | a b) = P(c | b)

P(a b c) ne P(a) P(b) P(c) P(a b) ne P(a) P(b) P(b c) ne P(b) P(c) P(a c) ne P(a) P(c)

条件付き独立性について

データによって成り立ったり成り立たなかったりする

乗法定理times2(n=6)

乗法定理times2 + 条件付き独立 (n=9)

乗法定理times1 + 独立(n=3)

全て独立(n=1)

乗法定理times1 + 独立 + 条件付き独立(n=6)エッジ0個

エッジ1個

エッジ2個(head-to-tail tail-to-tail)

エッジ2個(head-to-head)

エッジ3個(全結合)

番外編 ベイジアンネットワークの学習

尤度を計算した

= 02= 02= 02= 02= 02= 02

= 0048

= 008= 012= 012

= 02= 02= 02= 02= 013

= 013= 02

= 02= 013

= 008= 008= 008= 012= 008= 012

乗法定理times2(n=6)エッジ3個(全結合)

番外編 ベイジアンネットワークの学習

= 02= 02= 02= 02= 02= 02

乗法定理で変形したものはグラフ構造は違うのにも関わらず尤度は等しい

b

a

cb

a

cb

a

cb

a

cb

a

cb

a

c

乗法定理times2 + 条件付き独立 (n=9)

乗法定理times1 + 独立(n=3)乗法定理times1 + 独立 + 条件付き独立(n=6)

エッジ0個

エッジ1個

エッジ2個(head-to-tail tail-to-tail)

エッジ2個(head-to-head)

番外編 ベイジアンネットワークの学習

= 008= 012= 012

= 02= 02= 02= 02= 013

= 013= 02

= 02= 013

= 008= 008= 008= 012= 008= 012

条件付き独立独立はデータによって成り立ったり成り立たなかったりする

「同じ尤度を持つDAGは複数存在する可能性がある」

21世紀の統計科学 第2巻 第6章 生命システムネットワークを明らかにするための統計的モデリング

Page 60: PRML8章

画像のノイズ除去の例

元のピクセル

ランダムに反転したピクセル

元画像10のピクセルをランダムに反転

ICMによる復元グラフカットアルゴリズムによる復元

(841)(842)

(843)

図831

有向-gt無向の変換図832のような簡単な場合

有向グラフ(a)無向グラフ(b)

以下のような対応づけができる

有向-gt無向の変換図833のような場合

親同士をリンクで結ぶ(モラル化)

1 向きを無くす 2 モラル化する 3 規格化する -gt ジャンクションツリーアルゴリズム(84)

生物の細胞

遺伝子間が相互作用のネットワークを形成している

geneX geneY

Protein X

Protein Y

様々な実験での遺伝子発現データ

とりうる可能性高い遺伝子ネットワークを探索(MAP推定)

データからこれを推定したい

実験

遺伝子

more

番外編 ベイジアンネットワークの学習

rarr 近似的に求めるアルゴリズムが開発される

httpwwwsclsrikenjpscruisesoftwaresign-bnhtml

番外編 ベイジアンネットワークの学習

こういうネットワーク構造は未知でデータから推定するアプローチはベイジアンネットワークのrdquo学習rdquoとかrdquo推論rdquoというらしい

(848で紹介だけしている)

SiGN-BN スパコン「京」で計算するソフトウェア自分の修論の内容

Rのbnlearnパッケージ(CBRCのBlue Gene上で実行)httpsignhgcjpsignbnindex_jahtml

番外編 ベイジアンネットワークの学習

番外編 ベイジアンネットワークの学習

どのグラフが良いか決める基準 尤度情報量基準(AIC BIC 尤度ampパラメーター数)

MAP推定(尤度times事前分布)hellip

データを元に最も最適と思われるグラフ構造を探索する

データ

グラフ

1 0 01 1 01 0 10 1 01 0 10 0 01 1 00 0 01 1 10 0 1

a b cb

a

c

b

a

c

b

a

c

データからグラフ構造を推定したい場合単純な式変形をしただけだと数学的に等しいので結局最適なグラフ構造を決定できないのでは(勉強会での議論)

=gt 実際にやってみた

番外編 ベイジアンネットワークの学習

httpwwwsclsrikenjpscruisewp-contentuploadssites3201312SIGN_HGC_Seminar_Tamada201302pdf

httpenwikipediaorgwikiDirected_acyclic_graph

ノード数の増加に対する取りうるDAG数

番外編 ベイジアンネットワークの学習

3ノードなら手計算でいけそう

乗法定理times2(n=6)

乗法定理times2 + 条件付き独立 (n=9)

乗法定理times1 + 独立(n=3)

全て独立(n=1)

乗法定理を使う (このままではグラフとして表現できない)

乗法定理times1 + 独立 + 条件付き独立(n=6)エッジ0個

エッジ1個

エッジ2個(head-to-tail tail-to-tail)

エッジ2個(head-to-head)

エッジ3個(全結合)

ノード3つで式変形を片っ端から行った

番外編 ベイジアンネットワークの学習

試しに以下のような簡単な01データを用いる またここでは単純に尤度のみでグラフの善し悪しを判定する

番外編 ベイジアンネットワークの学習

0 0 00 0 00 0 00 0 01 0 01 0 01 1 01 1 01 1 11 1 1

a b c

P(a) = 35 P(b) = 25 P(c) = 15 P(a b) = 25 P(b c) = 15 P(a c) = 15 P(a b c) = 15

P(a | b c) = 1 P(b | a c) = 1 P(c | a b) = 12 P(a | b) = 1 P(a | c) = 1 P(b | a) = 23 P(b | c) = 1 P(c | a) = 13 P(c | b) = 12

独立性について

番外編 ベイジアンネットワークの学習

0 0 00 0 00 0 00 0 01 0 01 0 01 1 01 1 01 1 11 1 1

a b c

P(a | b c) = P(a | b) P(a | b c) = P(a | c) P(b | a c) ne P(b | a) P(b | a c) = P(b | c) P(c | a b) ne P(c | a) P(c | a b) = P(c | b)

P(a b c) ne P(a) P(b) P(c) P(a b) ne P(a) P(b) P(b c) ne P(b) P(c) P(a c) ne P(a) P(c)

条件付き独立性について

データによって成り立ったり成り立たなかったりする

乗法定理times2(n=6)

乗法定理times2 + 条件付き独立 (n=9)

乗法定理times1 + 独立(n=3)

全て独立(n=1)

乗法定理times1 + 独立 + 条件付き独立(n=6)エッジ0個

エッジ1個

エッジ2個(head-to-tail tail-to-tail)

エッジ2個(head-to-head)

エッジ3個(全結合)

番外編 ベイジアンネットワークの学習

尤度を計算した

= 02= 02= 02= 02= 02= 02

= 0048

= 008= 012= 012

= 02= 02= 02= 02= 013

= 013= 02

= 02= 013

= 008= 008= 008= 012= 008= 012

乗法定理times2(n=6)エッジ3個(全結合)

番外編 ベイジアンネットワークの学習

= 02= 02= 02= 02= 02= 02

乗法定理で変形したものはグラフ構造は違うのにも関わらず尤度は等しい

b

a

cb

a

cb

a

cb

a

cb

a

cb

a

c

乗法定理times2 + 条件付き独立 (n=9)

乗法定理times1 + 独立(n=3)乗法定理times1 + 独立 + 条件付き独立(n=6)

エッジ0個

エッジ1個

エッジ2個(head-to-tail tail-to-tail)

エッジ2個(head-to-head)

番外編 ベイジアンネットワークの学習

= 008= 012= 012

= 02= 02= 02= 02= 013

= 013= 02

= 02= 013

= 008= 008= 008= 012= 008= 012

条件付き独立独立はデータによって成り立ったり成り立たなかったりする

「同じ尤度を持つDAGは複数存在する可能性がある」

21世紀の統計科学 第2巻 第6章 生命システムネットワークを明らかにするための統計的モデリング

Page 61: PRML8章

有向-gt無向の変換図832のような簡単な場合

有向グラフ(a)無向グラフ(b)

以下のような対応づけができる

有向-gt無向の変換図833のような場合

親同士をリンクで結ぶ(モラル化)

1 向きを無くす 2 モラル化する 3 規格化する -gt ジャンクションツリーアルゴリズム(84)

生物の細胞

遺伝子間が相互作用のネットワークを形成している

geneX geneY

Protein X

Protein Y

様々な実験での遺伝子発現データ

とりうる可能性高い遺伝子ネットワークを探索(MAP推定)

データからこれを推定したい

実験

遺伝子

more

番外編 ベイジアンネットワークの学習

rarr 近似的に求めるアルゴリズムが開発される

httpwwwsclsrikenjpscruisesoftwaresign-bnhtml

番外編 ベイジアンネットワークの学習

こういうネットワーク構造は未知でデータから推定するアプローチはベイジアンネットワークのrdquo学習rdquoとかrdquo推論rdquoというらしい

(848で紹介だけしている)

SiGN-BN スパコン「京」で計算するソフトウェア自分の修論の内容

Rのbnlearnパッケージ(CBRCのBlue Gene上で実行)httpsignhgcjpsignbnindex_jahtml

番外編 ベイジアンネットワークの学習

番外編 ベイジアンネットワークの学習

どのグラフが良いか決める基準 尤度情報量基準(AIC BIC 尤度ampパラメーター数)

MAP推定(尤度times事前分布)hellip

データを元に最も最適と思われるグラフ構造を探索する

データ

グラフ

1 0 01 1 01 0 10 1 01 0 10 0 01 1 00 0 01 1 10 0 1

a b cb

a

c

b

a

c

b

a

c

データからグラフ構造を推定したい場合単純な式変形をしただけだと数学的に等しいので結局最適なグラフ構造を決定できないのでは(勉強会での議論)

=gt 実際にやってみた

番外編 ベイジアンネットワークの学習

httpwwwsclsrikenjpscruisewp-contentuploadssites3201312SIGN_HGC_Seminar_Tamada201302pdf

httpenwikipediaorgwikiDirected_acyclic_graph

ノード数の増加に対する取りうるDAG数

番外編 ベイジアンネットワークの学習

3ノードなら手計算でいけそう

乗法定理times2(n=6)

乗法定理times2 + 条件付き独立 (n=9)

乗法定理times1 + 独立(n=3)

全て独立(n=1)

乗法定理を使う (このままではグラフとして表現できない)

乗法定理times1 + 独立 + 条件付き独立(n=6)エッジ0個

エッジ1個

エッジ2個(head-to-tail tail-to-tail)

エッジ2個(head-to-head)

エッジ3個(全結合)

ノード3つで式変形を片っ端から行った

番外編 ベイジアンネットワークの学習

試しに以下のような簡単な01データを用いる またここでは単純に尤度のみでグラフの善し悪しを判定する

番外編 ベイジアンネットワークの学習

0 0 00 0 00 0 00 0 01 0 01 0 01 1 01 1 01 1 11 1 1

a b c

P(a) = 35 P(b) = 25 P(c) = 15 P(a b) = 25 P(b c) = 15 P(a c) = 15 P(a b c) = 15

P(a | b c) = 1 P(b | a c) = 1 P(c | a b) = 12 P(a | b) = 1 P(a | c) = 1 P(b | a) = 23 P(b | c) = 1 P(c | a) = 13 P(c | b) = 12

独立性について

番外編 ベイジアンネットワークの学習

0 0 00 0 00 0 00 0 01 0 01 0 01 1 01 1 01 1 11 1 1

a b c

P(a | b c) = P(a | b) P(a | b c) = P(a | c) P(b | a c) ne P(b | a) P(b | a c) = P(b | c) P(c | a b) ne P(c | a) P(c | a b) = P(c | b)

P(a b c) ne P(a) P(b) P(c) P(a b) ne P(a) P(b) P(b c) ne P(b) P(c) P(a c) ne P(a) P(c)

条件付き独立性について

データによって成り立ったり成り立たなかったりする

乗法定理times2(n=6)

乗法定理times2 + 条件付き独立 (n=9)

乗法定理times1 + 独立(n=3)

全て独立(n=1)

乗法定理times1 + 独立 + 条件付き独立(n=6)エッジ0個

エッジ1個

エッジ2個(head-to-tail tail-to-tail)

エッジ2個(head-to-head)

エッジ3個(全結合)

番外編 ベイジアンネットワークの学習

尤度を計算した

= 02= 02= 02= 02= 02= 02

= 0048

= 008= 012= 012

= 02= 02= 02= 02= 013

= 013= 02

= 02= 013

= 008= 008= 008= 012= 008= 012

乗法定理times2(n=6)エッジ3個(全結合)

番外編 ベイジアンネットワークの学習

= 02= 02= 02= 02= 02= 02

乗法定理で変形したものはグラフ構造は違うのにも関わらず尤度は等しい

b

a

cb

a

cb

a

cb

a

cb

a

cb

a

c

乗法定理times2 + 条件付き独立 (n=9)

乗法定理times1 + 独立(n=3)乗法定理times1 + 独立 + 条件付き独立(n=6)

エッジ0個

エッジ1個

エッジ2個(head-to-tail tail-to-tail)

エッジ2個(head-to-head)

番外編 ベイジアンネットワークの学習

= 008= 012= 012

= 02= 02= 02= 02= 013

= 013= 02

= 02= 013

= 008= 008= 008= 012= 008= 012

条件付き独立独立はデータによって成り立ったり成り立たなかったりする

「同じ尤度を持つDAGは複数存在する可能性がある」

21世紀の統計科学 第2巻 第6章 生命システムネットワークを明らかにするための統計的モデリング

Page 62: PRML8章

有向-gt無向の変換図833のような場合

親同士をリンクで結ぶ(モラル化)

1 向きを無くす 2 モラル化する 3 規格化する -gt ジャンクションツリーアルゴリズム(84)

生物の細胞

遺伝子間が相互作用のネットワークを形成している

geneX geneY

Protein X

Protein Y

様々な実験での遺伝子発現データ

とりうる可能性高い遺伝子ネットワークを探索(MAP推定)

データからこれを推定したい

実験

遺伝子

more

番外編 ベイジアンネットワークの学習

rarr 近似的に求めるアルゴリズムが開発される

httpwwwsclsrikenjpscruisesoftwaresign-bnhtml

番外編 ベイジアンネットワークの学習

こういうネットワーク構造は未知でデータから推定するアプローチはベイジアンネットワークのrdquo学習rdquoとかrdquo推論rdquoというらしい

(848で紹介だけしている)

SiGN-BN スパコン「京」で計算するソフトウェア自分の修論の内容

Rのbnlearnパッケージ(CBRCのBlue Gene上で実行)httpsignhgcjpsignbnindex_jahtml

番外編 ベイジアンネットワークの学習

番外編 ベイジアンネットワークの学習

どのグラフが良いか決める基準 尤度情報量基準(AIC BIC 尤度ampパラメーター数)

MAP推定(尤度times事前分布)hellip

データを元に最も最適と思われるグラフ構造を探索する

データ

グラフ

1 0 01 1 01 0 10 1 01 0 10 0 01 1 00 0 01 1 10 0 1

a b cb

a

c

b

a

c

b

a

c

データからグラフ構造を推定したい場合単純な式変形をしただけだと数学的に等しいので結局最適なグラフ構造を決定できないのでは(勉強会での議論)

=gt 実際にやってみた

番外編 ベイジアンネットワークの学習

httpwwwsclsrikenjpscruisewp-contentuploadssites3201312SIGN_HGC_Seminar_Tamada201302pdf

httpenwikipediaorgwikiDirected_acyclic_graph

ノード数の増加に対する取りうるDAG数

番外編 ベイジアンネットワークの学習

3ノードなら手計算でいけそう

乗法定理times2(n=6)

乗法定理times2 + 条件付き独立 (n=9)

乗法定理times1 + 独立(n=3)

全て独立(n=1)

乗法定理を使う (このままではグラフとして表現できない)

乗法定理times1 + 独立 + 条件付き独立(n=6)エッジ0個

エッジ1個

エッジ2個(head-to-tail tail-to-tail)

エッジ2個(head-to-head)

エッジ3個(全結合)

ノード3つで式変形を片っ端から行った

番外編 ベイジアンネットワークの学習

試しに以下のような簡単な01データを用いる またここでは単純に尤度のみでグラフの善し悪しを判定する

番外編 ベイジアンネットワークの学習

0 0 00 0 00 0 00 0 01 0 01 0 01 1 01 1 01 1 11 1 1

a b c

P(a) = 35 P(b) = 25 P(c) = 15 P(a b) = 25 P(b c) = 15 P(a c) = 15 P(a b c) = 15

P(a | b c) = 1 P(b | a c) = 1 P(c | a b) = 12 P(a | b) = 1 P(a | c) = 1 P(b | a) = 23 P(b | c) = 1 P(c | a) = 13 P(c | b) = 12

独立性について

番外編 ベイジアンネットワークの学習

0 0 00 0 00 0 00 0 01 0 01 0 01 1 01 1 01 1 11 1 1

a b c

P(a | b c) = P(a | b) P(a | b c) = P(a | c) P(b | a c) ne P(b | a) P(b | a c) = P(b | c) P(c | a b) ne P(c | a) P(c | a b) = P(c | b)

P(a b c) ne P(a) P(b) P(c) P(a b) ne P(a) P(b) P(b c) ne P(b) P(c) P(a c) ne P(a) P(c)

条件付き独立性について

データによって成り立ったり成り立たなかったりする

乗法定理times2(n=6)

乗法定理times2 + 条件付き独立 (n=9)

乗法定理times1 + 独立(n=3)

全て独立(n=1)

乗法定理times1 + 独立 + 条件付き独立(n=6)エッジ0個

エッジ1個

エッジ2個(head-to-tail tail-to-tail)

エッジ2個(head-to-head)

エッジ3個(全結合)

番外編 ベイジアンネットワークの学習

尤度を計算した

= 02= 02= 02= 02= 02= 02

= 0048

= 008= 012= 012

= 02= 02= 02= 02= 013

= 013= 02

= 02= 013

= 008= 008= 008= 012= 008= 012

乗法定理times2(n=6)エッジ3個(全結合)

番外編 ベイジアンネットワークの学習

= 02= 02= 02= 02= 02= 02

乗法定理で変形したものはグラフ構造は違うのにも関わらず尤度は等しい

b

a

cb

a

cb

a

cb

a

cb

a

cb

a

c

乗法定理times2 + 条件付き独立 (n=9)

乗法定理times1 + 独立(n=3)乗法定理times1 + 独立 + 条件付き独立(n=6)

エッジ0個

エッジ1個

エッジ2個(head-to-tail tail-to-tail)

エッジ2個(head-to-head)

番外編 ベイジアンネットワークの学習

= 008= 012= 012

= 02= 02= 02= 02= 013

= 013= 02

= 02= 013

= 008= 008= 008= 012= 008= 012

条件付き独立独立はデータによって成り立ったり成り立たなかったりする

「同じ尤度を持つDAGは複数存在する可能性がある」

21世紀の統計科学 第2巻 第6章 生命システムネットワークを明らかにするための統計的モデリング

Page 63: PRML8章

生物の細胞

遺伝子間が相互作用のネットワークを形成している

geneX geneY

Protein X

Protein Y

様々な実験での遺伝子発現データ

とりうる可能性高い遺伝子ネットワークを探索(MAP推定)

データからこれを推定したい

実験

遺伝子

more

番外編 ベイジアンネットワークの学習

rarr 近似的に求めるアルゴリズムが開発される

httpwwwsclsrikenjpscruisesoftwaresign-bnhtml

番外編 ベイジアンネットワークの学習

こういうネットワーク構造は未知でデータから推定するアプローチはベイジアンネットワークのrdquo学習rdquoとかrdquo推論rdquoというらしい

(848で紹介だけしている)

SiGN-BN スパコン「京」で計算するソフトウェア自分の修論の内容

Rのbnlearnパッケージ(CBRCのBlue Gene上で実行)httpsignhgcjpsignbnindex_jahtml

番外編 ベイジアンネットワークの学習

番外編 ベイジアンネットワークの学習

どのグラフが良いか決める基準 尤度情報量基準(AIC BIC 尤度ampパラメーター数)

MAP推定(尤度times事前分布)hellip

データを元に最も最適と思われるグラフ構造を探索する

データ

グラフ

1 0 01 1 01 0 10 1 01 0 10 0 01 1 00 0 01 1 10 0 1

a b cb

a

c

b

a

c

b

a

c

データからグラフ構造を推定したい場合単純な式変形をしただけだと数学的に等しいので結局最適なグラフ構造を決定できないのでは(勉強会での議論)

=gt 実際にやってみた

番外編 ベイジアンネットワークの学習

httpwwwsclsrikenjpscruisewp-contentuploadssites3201312SIGN_HGC_Seminar_Tamada201302pdf

httpenwikipediaorgwikiDirected_acyclic_graph

ノード数の増加に対する取りうるDAG数

番外編 ベイジアンネットワークの学習

3ノードなら手計算でいけそう

乗法定理times2(n=6)

乗法定理times2 + 条件付き独立 (n=9)

乗法定理times1 + 独立(n=3)

全て独立(n=1)

乗法定理を使う (このままではグラフとして表現できない)

乗法定理times1 + 独立 + 条件付き独立(n=6)エッジ0個

エッジ1個

エッジ2個(head-to-tail tail-to-tail)

エッジ2個(head-to-head)

エッジ3個(全結合)

ノード3つで式変形を片っ端から行った

番外編 ベイジアンネットワークの学習

試しに以下のような簡単な01データを用いる またここでは単純に尤度のみでグラフの善し悪しを判定する

番外編 ベイジアンネットワークの学習

0 0 00 0 00 0 00 0 01 0 01 0 01 1 01 1 01 1 11 1 1

a b c

P(a) = 35 P(b) = 25 P(c) = 15 P(a b) = 25 P(b c) = 15 P(a c) = 15 P(a b c) = 15

P(a | b c) = 1 P(b | a c) = 1 P(c | a b) = 12 P(a | b) = 1 P(a | c) = 1 P(b | a) = 23 P(b | c) = 1 P(c | a) = 13 P(c | b) = 12

独立性について

番外編 ベイジアンネットワークの学習

0 0 00 0 00 0 00 0 01 0 01 0 01 1 01 1 01 1 11 1 1

a b c

P(a | b c) = P(a | b) P(a | b c) = P(a | c) P(b | a c) ne P(b | a) P(b | a c) = P(b | c) P(c | a b) ne P(c | a) P(c | a b) = P(c | b)

P(a b c) ne P(a) P(b) P(c) P(a b) ne P(a) P(b) P(b c) ne P(b) P(c) P(a c) ne P(a) P(c)

条件付き独立性について

データによって成り立ったり成り立たなかったりする

乗法定理times2(n=6)

乗法定理times2 + 条件付き独立 (n=9)

乗法定理times1 + 独立(n=3)

全て独立(n=1)

乗法定理times1 + 独立 + 条件付き独立(n=6)エッジ0個

エッジ1個

エッジ2個(head-to-tail tail-to-tail)

エッジ2個(head-to-head)

エッジ3個(全結合)

番外編 ベイジアンネットワークの学習

尤度を計算した

= 02= 02= 02= 02= 02= 02

= 0048

= 008= 012= 012

= 02= 02= 02= 02= 013

= 013= 02

= 02= 013

= 008= 008= 008= 012= 008= 012

乗法定理times2(n=6)エッジ3個(全結合)

番外編 ベイジアンネットワークの学習

= 02= 02= 02= 02= 02= 02

乗法定理で変形したものはグラフ構造は違うのにも関わらず尤度は等しい

b

a

cb

a

cb

a

cb

a

cb

a

cb

a

c

乗法定理times2 + 条件付き独立 (n=9)

乗法定理times1 + 独立(n=3)乗法定理times1 + 独立 + 条件付き独立(n=6)

エッジ0個

エッジ1個

エッジ2個(head-to-tail tail-to-tail)

エッジ2個(head-to-head)

番外編 ベイジアンネットワークの学習

= 008= 012= 012

= 02= 02= 02= 02= 013

= 013= 02

= 02= 013

= 008= 008= 008= 012= 008= 012

条件付き独立独立はデータによって成り立ったり成り立たなかったりする

「同じ尤度を持つDAGは複数存在する可能性がある」

21世紀の統計科学 第2巻 第6章 生命システムネットワークを明らかにするための統計的モデリング

Page 64: PRML8章

rarr 近似的に求めるアルゴリズムが開発される

httpwwwsclsrikenjpscruisesoftwaresign-bnhtml

番外編 ベイジアンネットワークの学習

こういうネットワーク構造は未知でデータから推定するアプローチはベイジアンネットワークのrdquo学習rdquoとかrdquo推論rdquoというらしい

(848で紹介だけしている)

SiGN-BN スパコン「京」で計算するソフトウェア自分の修論の内容

Rのbnlearnパッケージ(CBRCのBlue Gene上で実行)httpsignhgcjpsignbnindex_jahtml

番外編 ベイジアンネットワークの学習

番外編 ベイジアンネットワークの学習

どのグラフが良いか決める基準 尤度情報量基準(AIC BIC 尤度ampパラメーター数)

MAP推定(尤度times事前分布)hellip

データを元に最も最適と思われるグラフ構造を探索する

データ

グラフ

1 0 01 1 01 0 10 1 01 0 10 0 01 1 00 0 01 1 10 0 1

a b cb

a

c

b

a

c

b

a

c

データからグラフ構造を推定したい場合単純な式変形をしただけだと数学的に等しいので結局最適なグラフ構造を決定できないのでは(勉強会での議論)

=gt 実際にやってみた

番外編 ベイジアンネットワークの学習

httpwwwsclsrikenjpscruisewp-contentuploadssites3201312SIGN_HGC_Seminar_Tamada201302pdf

httpenwikipediaorgwikiDirected_acyclic_graph

ノード数の増加に対する取りうるDAG数

番外編 ベイジアンネットワークの学習

3ノードなら手計算でいけそう

乗法定理times2(n=6)

乗法定理times2 + 条件付き独立 (n=9)

乗法定理times1 + 独立(n=3)

全て独立(n=1)

乗法定理を使う (このままではグラフとして表現できない)

乗法定理times1 + 独立 + 条件付き独立(n=6)エッジ0個

エッジ1個

エッジ2個(head-to-tail tail-to-tail)

エッジ2個(head-to-head)

エッジ3個(全結合)

ノード3つで式変形を片っ端から行った

番外編 ベイジアンネットワークの学習

試しに以下のような簡単な01データを用いる またここでは単純に尤度のみでグラフの善し悪しを判定する

番外編 ベイジアンネットワークの学習

0 0 00 0 00 0 00 0 01 0 01 0 01 1 01 1 01 1 11 1 1

a b c

P(a) = 35 P(b) = 25 P(c) = 15 P(a b) = 25 P(b c) = 15 P(a c) = 15 P(a b c) = 15

P(a | b c) = 1 P(b | a c) = 1 P(c | a b) = 12 P(a | b) = 1 P(a | c) = 1 P(b | a) = 23 P(b | c) = 1 P(c | a) = 13 P(c | b) = 12

独立性について

番外編 ベイジアンネットワークの学習

0 0 00 0 00 0 00 0 01 0 01 0 01 1 01 1 01 1 11 1 1

a b c

P(a | b c) = P(a | b) P(a | b c) = P(a | c) P(b | a c) ne P(b | a) P(b | a c) = P(b | c) P(c | a b) ne P(c | a) P(c | a b) = P(c | b)

P(a b c) ne P(a) P(b) P(c) P(a b) ne P(a) P(b) P(b c) ne P(b) P(c) P(a c) ne P(a) P(c)

条件付き独立性について

データによって成り立ったり成り立たなかったりする

乗法定理times2(n=6)

乗法定理times2 + 条件付き独立 (n=9)

乗法定理times1 + 独立(n=3)

全て独立(n=1)

乗法定理times1 + 独立 + 条件付き独立(n=6)エッジ0個

エッジ1個

エッジ2個(head-to-tail tail-to-tail)

エッジ2個(head-to-head)

エッジ3個(全結合)

番外編 ベイジアンネットワークの学習

尤度を計算した

= 02= 02= 02= 02= 02= 02

= 0048

= 008= 012= 012

= 02= 02= 02= 02= 013

= 013= 02

= 02= 013

= 008= 008= 008= 012= 008= 012

乗法定理times2(n=6)エッジ3個(全結合)

番外編 ベイジアンネットワークの学習

= 02= 02= 02= 02= 02= 02

乗法定理で変形したものはグラフ構造は違うのにも関わらず尤度は等しい

b

a

cb

a

cb

a

cb

a

cb

a

cb

a

c

乗法定理times2 + 条件付き独立 (n=9)

乗法定理times1 + 独立(n=3)乗法定理times1 + 独立 + 条件付き独立(n=6)

エッジ0個

エッジ1個

エッジ2個(head-to-tail tail-to-tail)

エッジ2個(head-to-head)

番外編 ベイジアンネットワークの学習

= 008= 012= 012

= 02= 02= 02= 02= 013

= 013= 02

= 02= 013

= 008= 008= 008= 012= 008= 012

条件付き独立独立はデータによって成り立ったり成り立たなかったりする

「同じ尤度を持つDAGは複数存在する可能性がある」

21世紀の統計科学 第2巻 第6章 生命システムネットワークを明らかにするための統計的モデリング

Page 65: PRML8章

こういうネットワーク構造は未知でデータから推定するアプローチはベイジアンネットワークのrdquo学習rdquoとかrdquo推論rdquoというらしい

(848で紹介だけしている)

SiGN-BN スパコン「京」で計算するソフトウェア自分の修論の内容

Rのbnlearnパッケージ(CBRCのBlue Gene上で実行)httpsignhgcjpsignbnindex_jahtml

番外編 ベイジアンネットワークの学習

番外編 ベイジアンネットワークの学習

どのグラフが良いか決める基準 尤度情報量基準(AIC BIC 尤度ampパラメーター数)

MAP推定(尤度times事前分布)hellip

データを元に最も最適と思われるグラフ構造を探索する

データ

グラフ

1 0 01 1 01 0 10 1 01 0 10 0 01 1 00 0 01 1 10 0 1

a b cb

a

c

b

a

c

b

a

c

データからグラフ構造を推定したい場合単純な式変形をしただけだと数学的に等しいので結局最適なグラフ構造を決定できないのでは(勉強会での議論)

=gt 実際にやってみた

番外編 ベイジアンネットワークの学習

httpwwwsclsrikenjpscruisewp-contentuploadssites3201312SIGN_HGC_Seminar_Tamada201302pdf

httpenwikipediaorgwikiDirected_acyclic_graph

ノード数の増加に対する取りうるDAG数

番外編 ベイジアンネットワークの学習

3ノードなら手計算でいけそう

乗法定理times2(n=6)

乗法定理times2 + 条件付き独立 (n=9)

乗法定理times1 + 独立(n=3)

全て独立(n=1)

乗法定理を使う (このままではグラフとして表現できない)

乗法定理times1 + 独立 + 条件付き独立(n=6)エッジ0個

エッジ1個

エッジ2個(head-to-tail tail-to-tail)

エッジ2個(head-to-head)

エッジ3個(全結合)

ノード3つで式変形を片っ端から行った

番外編 ベイジアンネットワークの学習

試しに以下のような簡単な01データを用いる またここでは単純に尤度のみでグラフの善し悪しを判定する

番外編 ベイジアンネットワークの学習

0 0 00 0 00 0 00 0 01 0 01 0 01 1 01 1 01 1 11 1 1

a b c

P(a) = 35 P(b) = 25 P(c) = 15 P(a b) = 25 P(b c) = 15 P(a c) = 15 P(a b c) = 15

P(a | b c) = 1 P(b | a c) = 1 P(c | a b) = 12 P(a | b) = 1 P(a | c) = 1 P(b | a) = 23 P(b | c) = 1 P(c | a) = 13 P(c | b) = 12

独立性について

番外編 ベイジアンネットワークの学習

0 0 00 0 00 0 00 0 01 0 01 0 01 1 01 1 01 1 11 1 1

a b c

P(a | b c) = P(a | b) P(a | b c) = P(a | c) P(b | a c) ne P(b | a) P(b | a c) = P(b | c) P(c | a b) ne P(c | a) P(c | a b) = P(c | b)

P(a b c) ne P(a) P(b) P(c) P(a b) ne P(a) P(b) P(b c) ne P(b) P(c) P(a c) ne P(a) P(c)

条件付き独立性について

データによって成り立ったり成り立たなかったりする

乗法定理times2(n=6)

乗法定理times2 + 条件付き独立 (n=9)

乗法定理times1 + 独立(n=3)

全て独立(n=1)

乗法定理times1 + 独立 + 条件付き独立(n=6)エッジ0個

エッジ1個

エッジ2個(head-to-tail tail-to-tail)

エッジ2個(head-to-head)

エッジ3個(全結合)

番外編 ベイジアンネットワークの学習

尤度を計算した

= 02= 02= 02= 02= 02= 02

= 0048

= 008= 012= 012

= 02= 02= 02= 02= 013

= 013= 02

= 02= 013

= 008= 008= 008= 012= 008= 012

乗法定理times2(n=6)エッジ3個(全結合)

番外編 ベイジアンネットワークの学習

= 02= 02= 02= 02= 02= 02

乗法定理で変形したものはグラフ構造は違うのにも関わらず尤度は等しい

b

a

cb

a

cb

a

cb

a

cb

a

cb

a

c

乗法定理times2 + 条件付き独立 (n=9)

乗法定理times1 + 独立(n=3)乗法定理times1 + 独立 + 条件付き独立(n=6)

エッジ0個

エッジ1個

エッジ2個(head-to-tail tail-to-tail)

エッジ2個(head-to-head)

番外編 ベイジアンネットワークの学習

= 008= 012= 012

= 02= 02= 02= 02= 013

= 013= 02

= 02= 013

= 008= 008= 008= 012= 008= 012

条件付き独立独立はデータによって成り立ったり成り立たなかったりする

「同じ尤度を持つDAGは複数存在する可能性がある」

21世紀の統計科学 第2巻 第6章 生命システムネットワークを明らかにするための統計的モデリング

Page 66: PRML8章

番外編 ベイジアンネットワークの学習

どのグラフが良いか決める基準 尤度情報量基準(AIC BIC 尤度ampパラメーター数)

MAP推定(尤度times事前分布)hellip

データを元に最も最適と思われるグラフ構造を探索する

データ

グラフ

1 0 01 1 01 0 10 1 01 0 10 0 01 1 00 0 01 1 10 0 1

a b cb

a

c

b

a

c

b

a

c

データからグラフ構造を推定したい場合単純な式変形をしただけだと数学的に等しいので結局最適なグラフ構造を決定できないのでは(勉強会での議論)

=gt 実際にやってみた

番外編 ベイジアンネットワークの学習

httpwwwsclsrikenjpscruisewp-contentuploadssites3201312SIGN_HGC_Seminar_Tamada201302pdf

httpenwikipediaorgwikiDirected_acyclic_graph

ノード数の増加に対する取りうるDAG数

番外編 ベイジアンネットワークの学習

3ノードなら手計算でいけそう

乗法定理times2(n=6)

乗法定理times2 + 条件付き独立 (n=9)

乗法定理times1 + 独立(n=3)

全て独立(n=1)

乗法定理を使う (このままではグラフとして表現できない)

乗法定理times1 + 独立 + 条件付き独立(n=6)エッジ0個

エッジ1個

エッジ2個(head-to-tail tail-to-tail)

エッジ2個(head-to-head)

エッジ3個(全結合)

ノード3つで式変形を片っ端から行った

番外編 ベイジアンネットワークの学習

試しに以下のような簡単な01データを用いる またここでは単純に尤度のみでグラフの善し悪しを判定する

番外編 ベイジアンネットワークの学習

0 0 00 0 00 0 00 0 01 0 01 0 01 1 01 1 01 1 11 1 1

a b c

P(a) = 35 P(b) = 25 P(c) = 15 P(a b) = 25 P(b c) = 15 P(a c) = 15 P(a b c) = 15

P(a | b c) = 1 P(b | a c) = 1 P(c | a b) = 12 P(a | b) = 1 P(a | c) = 1 P(b | a) = 23 P(b | c) = 1 P(c | a) = 13 P(c | b) = 12

独立性について

番外編 ベイジアンネットワークの学習

0 0 00 0 00 0 00 0 01 0 01 0 01 1 01 1 01 1 11 1 1

a b c

P(a | b c) = P(a | b) P(a | b c) = P(a | c) P(b | a c) ne P(b | a) P(b | a c) = P(b | c) P(c | a b) ne P(c | a) P(c | a b) = P(c | b)

P(a b c) ne P(a) P(b) P(c) P(a b) ne P(a) P(b) P(b c) ne P(b) P(c) P(a c) ne P(a) P(c)

条件付き独立性について

データによって成り立ったり成り立たなかったりする

乗法定理times2(n=6)

乗法定理times2 + 条件付き独立 (n=9)

乗法定理times1 + 独立(n=3)

全て独立(n=1)

乗法定理times1 + 独立 + 条件付き独立(n=6)エッジ0個

エッジ1個

エッジ2個(head-to-tail tail-to-tail)

エッジ2個(head-to-head)

エッジ3個(全結合)

番外編 ベイジアンネットワークの学習

尤度を計算した

= 02= 02= 02= 02= 02= 02

= 0048

= 008= 012= 012

= 02= 02= 02= 02= 013

= 013= 02

= 02= 013

= 008= 008= 008= 012= 008= 012

乗法定理times2(n=6)エッジ3個(全結合)

番外編 ベイジアンネットワークの学習

= 02= 02= 02= 02= 02= 02

乗法定理で変形したものはグラフ構造は違うのにも関わらず尤度は等しい

b

a

cb

a

cb

a

cb

a

cb

a

cb

a

c

乗法定理times2 + 条件付き独立 (n=9)

乗法定理times1 + 独立(n=3)乗法定理times1 + 独立 + 条件付き独立(n=6)

エッジ0個

エッジ1個

エッジ2個(head-to-tail tail-to-tail)

エッジ2個(head-to-head)

番外編 ベイジアンネットワークの学習

= 008= 012= 012

= 02= 02= 02= 02= 013

= 013= 02

= 02= 013

= 008= 008= 008= 012= 008= 012

条件付き独立独立はデータによって成り立ったり成り立たなかったりする

「同じ尤度を持つDAGは複数存在する可能性がある」

21世紀の統計科学 第2巻 第6章 生命システムネットワークを明らかにするための統計的モデリング

Page 67: PRML8章

データからグラフ構造を推定したい場合単純な式変形をしただけだと数学的に等しいので結局最適なグラフ構造を決定できないのでは(勉強会での議論)

=gt 実際にやってみた

番外編 ベイジアンネットワークの学習

httpwwwsclsrikenjpscruisewp-contentuploadssites3201312SIGN_HGC_Seminar_Tamada201302pdf

httpenwikipediaorgwikiDirected_acyclic_graph

ノード数の増加に対する取りうるDAG数

番外編 ベイジアンネットワークの学習

3ノードなら手計算でいけそう

乗法定理times2(n=6)

乗法定理times2 + 条件付き独立 (n=9)

乗法定理times1 + 独立(n=3)

全て独立(n=1)

乗法定理を使う (このままではグラフとして表現できない)

乗法定理times1 + 独立 + 条件付き独立(n=6)エッジ0個

エッジ1個

エッジ2個(head-to-tail tail-to-tail)

エッジ2個(head-to-head)

エッジ3個(全結合)

ノード3つで式変形を片っ端から行った

番外編 ベイジアンネットワークの学習

試しに以下のような簡単な01データを用いる またここでは単純に尤度のみでグラフの善し悪しを判定する

番外編 ベイジアンネットワークの学習

0 0 00 0 00 0 00 0 01 0 01 0 01 1 01 1 01 1 11 1 1

a b c

P(a) = 35 P(b) = 25 P(c) = 15 P(a b) = 25 P(b c) = 15 P(a c) = 15 P(a b c) = 15

P(a | b c) = 1 P(b | a c) = 1 P(c | a b) = 12 P(a | b) = 1 P(a | c) = 1 P(b | a) = 23 P(b | c) = 1 P(c | a) = 13 P(c | b) = 12

独立性について

番外編 ベイジアンネットワークの学習

0 0 00 0 00 0 00 0 01 0 01 0 01 1 01 1 01 1 11 1 1

a b c

P(a | b c) = P(a | b) P(a | b c) = P(a | c) P(b | a c) ne P(b | a) P(b | a c) = P(b | c) P(c | a b) ne P(c | a) P(c | a b) = P(c | b)

P(a b c) ne P(a) P(b) P(c) P(a b) ne P(a) P(b) P(b c) ne P(b) P(c) P(a c) ne P(a) P(c)

条件付き独立性について

データによって成り立ったり成り立たなかったりする

乗法定理times2(n=6)

乗法定理times2 + 条件付き独立 (n=9)

乗法定理times1 + 独立(n=3)

全て独立(n=1)

乗法定理times1 + 独立 + 条件付き独立(n=6)エッジ0個

エッジ1個

エッジ2個(head-to-tail tail-to-tail)

エッジ2個(head-to-head)

エッジ3個(全結合)

番外編 ベイジアンネットワークの学習

尤度を計算した

= 02= 02= 02= 02= 02= 02

= 0048

= 008= 012= 012

= 02= 02= 02= 02= 013

= 013= 02

= 02= 013

= 008= 008= 008= 012= 008= 012

乗法定理times2(n=6)エッジ3個(全結合)

番外編 ベイジアンネットワークの学習

= 02= 02= 02= 02= 02= 02

乗法定理で変形したものはグラフ構造は違うのにも関わらず尤度は等しい

b

a

cb

a

cb

a

cb

a

cb

a

cb

a

c

乗法定理times2 + 条件付き独立 (n=9)

乗法定理times1 + 独立(n=3)乗法定理times1 + 独立 + 条件付き独立(n=6)

エッジ0個

エッジ1個

エッジ2個(head-to-tail tail-to-tail)

エッジ2個(head-to-head)

番外編 ベイジアンネットワークの学習

= 008= 012= 012

= 02= 02= 02= 02= 013

= 013= 02

= 02= 013

= 008= 008= 008= 012= 008= 012

条件付き独立独立はデータによって成り立ったり成り立たなかったりする

「同じ尤度を持つDAGは複数存在する可能性がある」

21世紀の統計科学 第2巻 第6章 生命システムネットワークを明らかにするための統計的モデリング

Page 68: PRML8章

httpwwwsclsrikenjpscruisewp-contentuploadssites3201312SIGN_HGC_Seminar_Tamada201302pdf

httpenwikipediaorgwikiDirected_acyclic_graph

ノード数の増加に対する取りうるDAG数

番外編 ベイジアンネットワークの学習

3ノードなら手計算でいけそう

乗法定理times2(n=6)

乗法定理times2 + 条件付き独立 (n=9)

乗法定理times1 + 独立(n=3)

全て独立(n=1)

乗法定理を使う (このままではグラフとして表現できない)

乗法定理times1 + 独立 + 条件付き独立(n=6)エッジ0個

エッジ1個

エッジ2個(head-to-tail tail-to-tail)

エッジ2個(head-to-head)

エッジ3個(全結合)

ノード3つで式変形を片っ端から行った

番外編 ベイジアンネットワークの学習

試しに以下のような簡単な01データを用いる またここでは単純に尤度のみでグラフの善し悪しを判定する

番外編 ベイジアンネットワークの学習

0 0 00 0 00 0 00 0 01 0 01 0 01 1 01 1 01 1 11 1 1

a b c

P(a) = 35 P(b) = 25 P(c) = 15 P(a b) = 25 P(b c) = 15 P(a c) = 15 P(a b c) = 15

P(a | b c) = 1 P(b | a c) = 1 P(c | a b) = 12 P(a | b) = 1 P(a | c) = 1 P(b | a) = 23 P(b | c) = 1 P(c | a) = 13 P(c | b) = 12

独立性について

番外編 ベイジアンネットワークの学習

0 0 00 0 00 0 00 0 01 0 01 0 01 1 01 1 01 1 11 1 1

a b c

P(a | b c) = P(a | b) P(a | b c) = P(a | c) P(b | a c) ne P(b | a) P(b | a c) = P(b | c) P(c | a b) ne P(c | a) P(c | a b) = P(c | b)

P(a b c) ne P(a) P(b) P(c) P(a b) ne P(a) P(b) P(b c) ne P(b) P(c) P(a c) ne P(a) P(c)

条件付き独立性について

データによって成り立ったり成り立たなかったりする

乗法定理times2(n=6)

乗法定理times2 + 条件付き独立 (n=9)

乗法定理times1 + 独立(n=3)

全て独立(n=1)

乗法定理times1 + 独立 + 条件付き独立(n=6)エッジ0個

エッジ1個

エッジ2個(head-to-tail tail-to-tail)

エッジ2個(head-to-head)

エッジ3個(全結合)

番外編 ベイジアンネットワークの学習

尤度を計算した

= 02= 02= 02= 02= 02= 02

= 0048

= 008= 012= 012

= 02= 02= 02= 02= 013

= 013= 02

= 02= 013

= 008= 008= 008= 012= 008= 012

乗法定理times2(n=6)エッジ3個(全結合)

番外編 ベイジアンネットワークの学習

= 02= 02= 02= 02= 02= 02

乗法定理で変形したものはグラフ構造は違うのにも関わらず尤度は等しい

b

a

cb

a

cb

a

cb

a

cb

a

cb

a

c

乗法定理times2 + 条件付き独立 (n=9)

乗法定理times1 + 独立(n=3)乗法定理times1 + 独立 + 条件付き独立(n=6)

エッジ0個

エッジ1個

エッジ2個(head-to-tail tail-to-tail)

エッジ2個(head-to-head)

番外編 ベイジアンネットワークの学習

= 008= 012= 012

= 02= 02= 02= 02= 013

= 013= 02

= 02= 013

= 008= 008= 008= 012= 008= 012

条件付き独立独立はデータによって成り立ったり成り立たなかったりする

「同じ尤度を持つDAGは複数存在する可能性がある」

21世紀の統計科学 第2巻 第6章 生命システムネットワークを明らかにするための統計的モデリング

Page 69: PRML8章

乗法定理times2(n=6)

乗法定理times2 + 条件付き独立 (n=9)

乗法定理times1 + 独立(n=3)

全て独立(n=1)

乗法定理を使う (このままではグラフとして表現できない)

乗法定理times1 + 独立 + 条件付き独立(n=6)エッジ0個

エッジ1個

エッジ2個(head-to-tail tail-to-tail)

エッジ2個(head-to-head)

エッジ3個(全結合)

ノード3つで式変形を片っ端から行った

番外編 ベイジアンネットワークの学習

試しに以下のような簡単な01データを用いる またここでは単純に尤度のみでグラフの善し悪しを判定する

番外編 ベイジアンネットワークの学習

0 0 00 0 00 0 00 0 01 0 01 0 01 1 01 1 01 1 11 1 1

a b c

P(a) = 35 P(b) = 25 P(c) = 15 P(a b) = 25 P(b c) = 15 P(a c) = 15 P(a b c) = 15

P(a | b c) = 1 P(b | a c) = 1 P(c | a b) = 12 P(a | b) = 1 P(a | c) = 1 P(b | a) = 23 P(b | c) = 1 P(c | a) = 13 P(c | b) = 12

独立性について

番外編 ベイジアンネットワークの学習

0 0 00 0 00 0 00 0 01 0 01 0 01 1 01 1 01 1 11 1 1

a b c

P(a | b c) = P(a | b) P(a | b c) = P(a | c) P(b | a c) ne P(b | a) P(b | a c) = P(b | c) P(c | a b) ne P(c | a) P(c | a b) = P(c | b)

P(a b c) ne P(a) P(b) P(c) P(a b) ne P(a) P(b) P(b c) ne P(b) P(c) P(a c) ne P(a) P(c)

条件付き独立性について

データによって成り立ったり成り立たなかったりする

乗法定理times2(n=6)

乗法定理times2 + 条件付き独立 (n=9)

乗法定理times1 + 独立(n=3)

全て独立(n=1)

乗法定理times1 + 独立 + 条件付き独立(n=6)エッジ0個

エッジ1個

エッジ2個(head-to-tail tail-to-tail)

エッジ2個(head-to-head)

エッジ3個(全結合)

番外編 ベイジアンネットワークの学習

尤度を計算した

= 02= 02= 02= 02= 02= 02

= 0048

= 008= 012= 012

= 02= 02= 02= 02= 013

= 013= 02

= 02= 013

= 008= 008= 008= 012= 008= 012

乗法定理times2(n=6)エッジ3個(全結合)

番外編 ベイジアンネットワークの学習

= 02= 02= 02= 02= 02= 02

乗法定理で変形したものはグラフ構造は違うのにも関わらず尤度は等しい

b

a

cb

a

cb

a

cb

a

cb

a

cb

a

c

乗法定理times2 + 条件付き独立 (n=9)

乗法定理times1 + 独立(n=3)乗法定理times1 + 独立 + 条件付き独立(n=6)

エッジ0個

エッジ1個

エッジ2個(head-to-tail tail-to-tail)

エッジ2個(head-to-head)

番外編 ベイジアンネットワークの学習

= 008= 012= 012

= 02= 02= 02= 02= 013

= 013= 02

= 02= 013

= 008= 008= 008= 012= 008= 012

条件付き独立独立はデータによって成り立ったり成り立たなかったりする

「同じ尤度を持つDAGは複数存在する可能性がある」

21世紀の統計科学 第2巻 第6章 生命システムネットワークを明らかにするための統計的モデリング

Page 70: PRML8章

試しに以下のような簡単な01データを用いる またここでは単純に尤度のみでグラフの善し悪しを判定する

番外編 ベイジアンネットワークの学習

0 0 00 0 00 0 00 0 01 0 01 0 01 1 01 1 01 1 11 1 1

a b c

P(a) = 35 P(b) = 25 P(c) = 15 P(a b) = 25 P(b c) = 15 P(a c) = 15 P(a b c) = 15

P(a | b c) = 1 P(b | a c) = 1 P(c | a b) = 12 P(a | b) = 1 P(a | c) = 1 P(b | a) = 23 P(b | c) = 1 P(c | a) = 13 P(c | b) = 12

独立性について

番外編 ベイジアンネットワークの学習

0 0 00 0 00 0 00 0 01 0 01 0 01 1 01 1 01 1 11 1 1

a b c

P(a | b c) = P(a | b) P(a | b c) = P(a | c) P(b | a c) ne P(b | a) P(b | a c) = P(b | c) P(c | a b) ne P(c | a) P(c | a b) = P(c | b)

P(a b c) ne P(a) P(b) P(c) P(a b) ne P(a) P(b) P(b c) ne P(b) P(c) P(a c) ne P(a) P(c)

条件付き独立性について

データによって成り立ったり成り立たなかったりする

乗法定理times2(n=6)

乗法定理times2 + 条件付き独立 (n=9)

乗法定理times1 + 独立(n=3)

全て独立(n=1)

乗法定理times1 + 独立 + 条件付き独立(n=6)エッジ0個

エッジ1個

エッジ2個(head-to-tail tail-to-tail)

エッジ2個(head-to-head)

エッジ3個(全結合)

番外編 ベイジアンネットワークの学習

尤度を計算した

= 02= 02= 02= 02= 02= 02

= 0048

= 008= 012= 012

= 02= 02= 02= 02= 013

= 013= 02

= 02= 013

= 008= 008= 008= 012= 008= 012

乗法定理times2(n=6)エッジ3個(全結合)

番外編 ベイジアンネットワークの学習

= 02= 02= 02= 02= 02= 02

乗法定理で変形したものはグラフ構造は違うのにも関わらず尤度は等しい

b

a

cb

a

cb

a

cb

a

cb

a

cb

a

c

乗法定理times2 + 条件付き独立 (n=9)

乗法定理times1 + 独立(n=3)乗法定理times1 + 独立 + 条件付き独立(n=6)

エッジ0個

エッジ1個

エッジ2個(head-to-tail tail-to-tail)

エッジ2個(head-to-head)

番外編 ベイジアンネットワークの学習

= 008= 012= 012

= 02= 02= 02= 02= 013

= 013= 02

= 02= 013

= 008= 008= 008= 012= 008= 012

条件付き独立独立はデータによって成り立ったり成り立たなかったりする

「同じ尤度を持つDAGは複数存在する可能性がある」

21世紀の統計科学 第2巻 第6章 生命システムネットワークを明らかにするための統計的モデリング

Page 71: PRML8章

独立性について

番外編 ベイジアンネットワークの学習

0 0 00 0 00 0 00 0 01 0 01 0 01 1 01 1 01 1 11 1 1

a b c

P(a | b c) = P(a | b) P(a | b c) = P(a | c) P(b | a c) ne P(b | a) P(b | a c) = P(b | c) P(c | a b) ne P(c | a) P(c | a b) = P(c | b)

P(a b c) ne P(a) P(b) P(c) P(a b) ne P(a) P(b) P(b c) ne P(b) P(c) P(a c) ne P(a) P(c)

条件付き独立性について

データによって成り立ったり成り立たなかったりする

乗法定理times2(n=6)

乗法定理times2 + 条件付き独立 (n=9)

乗法定理times1 + 独立(n=3)

全て独立(n=1)

乗法定理times1 + 独立 + 条件付き独立(n=6)エッジ0個

エッジ1個

エッジ2個(head-to-tail tail-to-tail)

エッジ2個(head-to-head)

エッジ3個(全結合)

番外編 ベイジアンネットワークの学習

尤度を計算した

= 02= 02= 02= 02= 02= 02

= 0048

= 008= 012= 012

= 02= 02= 02= 02= 013

= 013= 02

= 02= 013

= 008= 008= 008= 012= 008= 012

乗法定理times2(n=6)エッジ3個(全結合)

番外編 ベイジアンネットワークの学習

= 02= 02= 02= 02= 02= 02

乗法定理で変形したものはグラフ構造は違うのにも関わらず尤度は等しい

b

a

cb

a

cb

a

cb

a

cb

a

cb

a

c

乗法定理times2 + 条件付き独立 (n=9)

乗法定理times1 + 独立(n=3)乗法定理times1 + 独立 + 条件付き独立(n=6)

エッジ0個

エッジ1個

エッジ2個(head-to-tail tail-to-tail)

エッジ2個(head-to-head)

番外編 ベイジアンネットワークの学習

= 008= 012= 012

= 02= 02= 02= 02= 013

= 013= 02

= 02= 013

= 008= 008= 008= 012= 008= 012

条件付き独立独立はデータによって成り立ったり成り立たなかったりする

「同じ尤度を持つDAGは複数存在する可能性がある」

21世紀の統計科学 第2巻 第6章 生命システムネットワークを明らかにするための統計的モデリング

Page 72: PRML8章

乗法定理times2(n=6)

乗法定理times2 + 条件付き独立 (n=9)

乗法定理times1 + 独立(n=3)

全て独立(n=1)

乗法定理times1 + 独立 + 条件付き独立(n=6)エッジ0個

エッジ1個

エッジ2個(head-to-tail tail-to-tail)

エッジ2個(head-to-head)

エッジ3個(全結合)

番外編 ベイジアンネットワークの学習

尤度を計算した

= 02= 02= 02= 02= 02= 02

= 0048

= 008= 012= 012

= 02= 02= 02= 02= 013

= 013= 02

= 02= 013

= 008= 008= 008= 012= 008= 012

乗法定理times2(n=6)エッジ3個(全結合)

番外編 ベイジアンネットワークの学習

= 02= 02= 02= 02= 02= 02

乗法定理で変形したものはグラフ構造は違うのにも関わらず尤度は等しい

b

a

cb

a

cb

a

cb

a

cb

a

cb

a

c

乗法定理times2 + 条件付き独立 (n=9)

乗法定理times1 + 独立(n=3)乗法定理times1 + 独立 + 条件付き独立(n=6)

エッジ0個

エッジ1個

エッジ2個(head-to-tail tail-to-tail)

エッジ2個(head-to-head)

番外編 ベイジアンネットワークの学習

= 008= 012= 012

= 02= 02= 02= 02= 013

= 013= 02

= 02= 013

= 008= 008= 008= 012= 008= 012

条件付き独立独立はデータによって成り立ったり成り立たなかったりする

「同じ尤度を持つDAGは複数存在する可能性がある」

21世紀の統計科学 第2巻 第6章 生命システムネットワークを明らかにするための統計的モデリング

Page 73: PRML8章

乗法定理times2(n=6)エッジ3個(全結合)

番外編 ベイジアンネットワークの学習

= 02= 02= 02= 02= 02= 02

乗法定理で変形したものはグラフ構造は違うのにも関わらず尤度は等しい

b

a

cb

a

cb

a

cb

a

cb

a

cb

a

c

乗法定理times2 + 条件付き独立 (n=9)

乗法定理times1 + 独立(n=3)乗法定理times1 + 独立 + 条件付き独立(n=6)

エッジ0個

エッジ1個

エッジ2個(head-to-tail tail-to-tail)

エッジ2個(head-to-head)

番外編 ベイジアンネットワークの学習

= 008= 012= 012

= 02= 02= 02= 02= 013

= 013= 02

= 02= 013

= 008= 008= 008= 012= 008= 012

条件付き独立独立はデータによって成り立ったり成り立たなかったりする

「同じ尤度を持つDAGは複数存在する可能性がある」

21世紀の統計科学 第2巻 第6章 生命システムネットワークを明らかにするための統計的モデリング

Page 74: PRML8章

乗法定理times2 + 条件付き独立 (n=9)

乗法定理times1 + 独立(n=3)乗法定理times1 + 独立 + 条件付き独立(n=6)

エッジ0個

エッジ1個

エッジ2個(head-to-tail tail-to-tail)

エッジ2個(head-to-head)

番外編 ベイジアンネットワークの学習

= 008= 012= 012

= 02= 02= 02= 02= 013

= 013= 02

= 02= 013

= 008= 008= 008= 012= 008= 012

条件付き独立独立はデータによって成り立ったり成り立たなかったりする

「同じ尤度を持つDAGは複数存在する可能性がある」

21世紀の統計科学 第2巻 第6章 生命システムネットワークを明らかにするための統計的モデリング