ベイズ推定,ベイジアンネットワーク ベイズの定理 ベイジアンネットワークの構造 ベイジアンネットワークによる確率推論 Computational Informatics 3, School of Informatics and Sciences, Nagoya University ベイズの定理 基礎空間Ω: 確率現象で起こりうる結果を網羅した集合 Ωの部分空間としての事象 確率,結合(同時)確率 P(A): 確率変数Aが与える事象が起こる確率 P(A,B): A かつ B である確率 条件付確率 P(A | Γ) Γ: 確率変数の並び Γの条件が成立したもとで,Aが成り立つ確率.事後確率 P(A) 事前確率 定義: P(A | B)= P(A, B) / P(B) 確率の乗法公式: P (A, B)= P (A | B)P(B) = P(B | A)P(A) P(A, Γ)= P(A | Γ)P(Γ)= P(Γ|A)P(A) Computational Informatics 3, School of Informatics and Sciences, Nagoya University AとBが独立な場合: P(A | B) = P(A), P(A, B)= P(A)P(B) P(A | A)=1 事象 Bi (i=1,…,n) が 排反的(互いに素) (i ≠ j において P(Bi, Bj)= 0) , 網羅的(Ω= B1 ∪ … ∪ Bn) な場合, P(A) = P(A, B1)+ … + P(A, Bn) = P(A | B1)P(B1)+ … + P(A | Bn)P(Bn) = Σ_k P(A | Bk)P(Bk) P(Bi | A)= P(A | Bi)P(Bi)/ P(A) ベイズの定理 P ( A | Bi ) P ( Bi ) P( A | Bi ) P( Bi ) P ( Bi | A) P ( A) k P ( A | Bk ) P ( Bk ) Computational Informatics 3, School of Informatics and Sciences, Nagoya University 条件付確率表 (CPT: Conditional Probability P(X | U1, U2, …, Ue) 変数: X,U1,…, Uj, …,Ue 変数の値: X に対して, x1,, xm Table) u1_1,,u1_m1 U1 Ue ue_1,,ue_me X の値の数は m 個,U1 の値の数は m1 個,…,Ue の値の数は me 個. Uj の値の全組合せ X = x1 となる確率 ・・・ X = xm となる確率 u1_1,・・・,ue_1 P(x1 | u1_1,・・・,ue_1) ・・・ P(xm | u1_1,・・・,ue_1) : u1_p,・・・,ue_q : u1_m1, ・・・, ue_me : P(x1 | u1_p,・・・,ue_q) : P(x1 | u1_m1,・・・,ue_me) ・・・ ・・・ ・・・ ・・・ : P(xm | u1p,・・・,ue_q) : P(xm | u1_m1,・・・,ue_me) Computational Informatics 3, School of Informatics and Sciences, Nagoya University ベイズ推定,ベイジアンネットワーク ベイズの定理 ベイジアンネットワークの構造 ベイジアンネットワークによる確率推論 Computational Informatics 3, School of Informatics and Sciences, Nagoya University ベイジアンネットワークの構造 (信念 | 確率 | 因果)ネットワーク グラフの部品: ノード(節点), アーク(弧) グラフ: (ノード集合,アーク集合) ベイジアンネットワークを構成するグラフ: 有向非循環グラフ: ループ,閉路がない,有向グラフ. 単一結合(singly connected グラフ): グラフを無向としても,ループ,閉路を含まないグラフ. 1つのノードに,1つの確率変数を割り当てる. ネットワーク上での条件付確率 Γ(A) P(A | Γ(A)): Γ(A): Aの親の確率変数の並び. 親は0人以上,任意. B1 ・・・ Br A 根ノード(トップ),葉ノード(ボトム) Computational Informatics 3, School of Informatics and Sciences, Nagoya University 1つの袋から,赤,白,黄,・・・,黒のn種類の玉を取り出す. Σ_玉の色 P(玉の色) = 1.0 n種類の色(事象:「玉の色」という変数に対する値の数)に対して, 確率はn-1の自由度. 2つの袋から,玉を取り出す. 布の袋: 赤玉が20個,白玉が10個 紙の袋: 赤玉が5個, 白玉が25個 袋 確率変数は,袋の種類と,玉の色の,2個. 条件付確率表: P(玉の色 | 袋の区別) 赤玉 白玉 布の袋 2/3 1/3 紙の袋 1/6 5/6 玉 布の袋が選ばれた: 赤玉の確率は,2/3. 袋を布とした場合:Σ_玉の色 P(玉の色 | 袋=布) = 1.0 袋を紙とした場合:Σ_玉の色 P(玉の色 | 袋=紙) = 1.0 Computational Informatics 3, School of Informatics and Sciences, Nagoya University 赤玉が選ばれたとしよう. この,赤玉は,布の袋か,紙の袋か,どちらから取り出されたのか? ネットワーク上位の確率変数「袋の種類」の確率を知りたい. P(布|赤)=P(布,赤)/ P(赤) = P(赤|布)P(布)/ (P(布,赤)+P(紙,赤)) = P(赤|布)P(布) / (P(赤|布)P(布)+P(赤|紙)P(紙)) # 布の袋,紙の袋,どちらかを選択する確率は1/2 (理由不十分の原則). =(2/3)(1/2) / ((2/3)(1/2)+(1/6)(1/2)) =(1/3)/ (1/3+1/12) = 4/5 Computational Informatics 3, School of Informatics and Sciences, Nagoya University 風邪,食過ぎにより,腹痛となるネットワーク. 風: 2値 風邪でない,ある: 風=0,風=1 食過ぎでない,ある: 食=0,食=1 腹痛でない,ある: 腹=0,腹=1 風邪 0 0.90 1 0.10 食: 2値 食過ぎ 0 0.95 1 0.05 腹: 2値 風 食 0 0 0 1 1 0 1 1 腹 0 0.99 0.20 0.30 0.10 1 0.01 0.80 0.70 0.90 確率データを集めた時点での, 風邪でなかった人,風邪の人の割合: 0.10, 0.90 食過ぎでなかった人,食過ぎの人の割合: 0.05, 0.95 条件付確率表: (腹=0,1 の一方の値が分かればよい.自由度4) 風邪 食過ぎ 腹痛でない 腹痛である 0 0 0.99 0.01 0 1 0.20 0.80 1 0 0.30 0.70 1 1 0.10 0.90 Computational Informatics 3, School of Informatics and Sciences, Nagoya University 腹痛になる確率 風: 2値 食: 2値 P(腹=1) 食過ぎ =P(腹=1,風=0,食=0) 風邪 0 0.95 0 0.90 +P(腹=1,風=0,食=1) 1 0.10 1 0.05 +P(腹=1,風=1,食=0) 腹: 2値 +P(腹=1,風=1,食=1) 風 食 腹 0 1 =P(腹=1 | 風=0,食=0) 0 0 0.99 0.01 ×P(風=0)×P(食=0) 0 1 0.20 0.80 +P(腹=1 | 風=0,食=1) 1 0 0.30 0.70 ×P(風=0)×P(食=1) 1 1 0.10 0.90 +P(腹=1 | 風=1,食=0) ×P(風=1)×P(食=0) +P(腹=1 | 風=1,食=1)×P(風=1)×P(食=1) = 0.01 × 0.90 × 0.95 + 0.80 × 0.90 × 0.05 + 0.70 × 0.10 × 0.95 + 0.90 × 0.10 × 0.05 = 0.11555 Computational Informatics 3, School of Informatics and Sciences, Nagoya University 腹痛にならない確率 風 食 腹 0 1 P(腹=0) 0 0 0.99 0.01 =P(腹=0 | 風=0,食=0) 0 1 0.20 0.80 1 0 0.30 0.70 ×P(風=0)×P(食=0) 1 1 0.10 0.90 +P(腹=0 | 風=0,食=1) ×P(風=0)×P(食=1) +P(腹=0 | 風=1,食=0) ×P(風=1)×P(食=0) +P(腹=0 | 風=1,食=1)×P(風=1)×P(食=1) = 0.99 × 0.90 × 0.95 + 0.20 × 0.90 × 0.05 + 0.30 × 0.10 × 0.95 + 0.10 × 0.10 × 0.05 = 0.88445 風邪か風邪でないかの確率と,食過ぎか食過ぎでないかの確率から, 腹痛の確率が分かる(上から下への推論). 腹痛のノードにおいては, P(腹=1)+P(腹=0)= 0.11555 + 0.88445 = 1.0 Computational Informatics 3, School of Informatics and Sciences, Nagoya University 腹痛があるときに,風邪か,食過ぎかを知る. 風: 2値 腹痛とした時に,風邪である確率: P(風=1 | 腹=1) =P( 風=1,腹=1) 風邪 0 0.90 1 0.10 /P(腹=1) P(風=1,腹=1) =P(風=1,腹=1,食=0) 食: 2値 食過ぎ 0 0.95 1 0.05 腹: 2値 風 食 0 0 0 1 1 0 1 1 腹 0 1 0.99 0.01 0.20 0.80 0.30 0.70 0.10 0.90 +P(風=1,腹=1,食=1) =P(腹=1 | 風=1,食=0)P(風=1)P(食=0) +P(腹=1 |風=1,食=1)P(風=1)P(食=1) = 0.70 × 0.10 × 0.95 + 0.90 × 0.10 × 0.05 = 0.071 Computational Informatics 3, School of Informatics and Sciences, Nagoya University P(腹=1) =P(腹=1,風=0,食=0) +P(腹=1,風=0,食=1) +P(腹=1,風=1,食=0) +P(腹=1,風=1,食=1) =P(腹=1 | 風=0,食=0)P(風=0)P(食=0) +P(腹=1 | 風=0,食=1)P(風=0)P(食=1) +P(腹=1 | 風=1,食=0)P(風=1)P(食=0) +P(腹=1 | 風=1,食=1)P(風=1)P(食=1) = 0.01 × 0.90 × 0.95 + 0.80 × 0.90 × 0.05 + 0.7 × 0.10 × 0.95 + 0.90 × 0.10 × 0.05 = 0.11555 以上より, P(風=1 | 腹=1) =P( 風=1,腹=1)/P(腹=1) = 0.071 / 0.11555 = 0.61445 腹痛と分かったことで風邪である確率が変化(下から上への推論). Computational Informatics 3, School of Informatics and Sciences, Nagoya University 腹痛とした時に,風邪でない確率: P(風=0 | 腹=1) =P( 風=0,腹=1)/P(腹=1) P(風=0,腹=1) =P(風=0,腹=1,食=0) +P(風=0,腹=1,食=1) =P(腹=1 | 風=0,食=0)P(風=0)P(食=0) +P(腹=1 |風=0,食=1)P(風=0)P(食=1) = 0.01 × 0.90 × 0.95 + 0.80 × 0.90 × 0.05 = 0.04455 P(腹=1)は,先に求めた. 以上より, P(風=0 | 腹=1) =P( 風=1,腹=1)/P(腹=1) =0.04455 / 0.11555 =0.38555 ここで,P(風=1 | 腹=1)+P(風=0 | 腹=1) = 0.61445 +0.38555 = 1.0 Computational Informatics 3, School of Informatics and Sciences, Nagoya University 腹痛とした時に,食過ぎである確率: P(食=1 | 腹=1) =P( 食=1,腹=1)/P(腹=1) P(食=1,腹=1) =P(食=1,腹=1,風=0) +P(食=1,腹=1,風=1) =P(腹=1 | 風=0,食=1)P(風=0)P(食=1) +P(腹=1 |風=1,食=1)P(風=1)P(食=1) = 0.80 × 0.90 × 0.05 + 0.90 × 0.10 × 0.05 = 0.0405 P(食=1 | 腹=1) =P( 食=1,腹=1)/P(腹=1) = 0.0405 / 0.11555 = 0.3505 腹痛とした時に,食過ぎでない確率: P(食=0 | 腹=1)= 1.0 - P(食=1 | 腹=1)= 0.6495 P(風=1|腹=1)= 0.61445,P(食=1|腹=1)= 0.3505 腹痛は,風邪が原因である可能性が高い. Computational Informatics 3, School of Informatics and Sciences, Nagoya University 別のネットワークの例 確率変数: A1: 2値 A2: 3値 A3: 2値 A1,A2,A3, B1,B2,C1,C2 条件付確率 P(A1 | Γ(A1)) =P(A1 | φ ) =P(A1) P(A2 | Γ(A2))= P(A3 | Γ(A3))= P(B1 | Γ(B1))= P(B2 | Γ(B2))= P(C1 | Γ(C1))= P(C2 | Γ(C2))= B1: 3値 B2: 2値 C1: 2値 C2: 2値 φ:空集合 P(A2) P(A3) P(B1 | P(B2 | P(C1 | P(C2 | A1,A2) A1,A2,A3) B1,B2) B2) B1とA3は独立,C2とB1は独立: P(B1 | A1,A2)= P(B1 | A1,A2,A3) P(C2 | B2)= P(C2| B1,B2) Computational Informatics 3, School of Informatics and Sciences, Nagoya University 全条件付確率の積を考える. A1: 2値 A2: 3値 A3: 2値 Aiは独立,Bjは独立,Ckは独立 として, B1: 3値 P(A1)P(A2)P(A3) ×P(B1|A1,A2) ×P(B2|A1,A2,A3) ×P(C1|B1,B2)P(C2|B2) C1: 2値 =P(A1,A2,A3) ×P(B1|A1,A2) ×P(B2|A1,A2,A3) ×P(C1|B1,B2)P(C2|B2) =P(A1,A2,A3,B1,B2) ×P(C1|B1,B2)P(C2|B2) =P(A1,A2,A3,B1,B2,C1,C2) B2: 2値 C2: 2値 全条件付確率の積が,全確率変数の結合(同時)確率となった. Computational Informatics 3, School of Informatics and Sciences, Nagoya University 結合確率を表示するための確率の値の数 (1)確率変数の値の個数(自由度). A2: 3値 A1: 2値 A3: 2値 2×3×2×3×2×2×2-1 =287 種類 (2)条件付確率表の値の個数(自由度). B1: 3値 B2: 2値 A1,A3: 0入力2値ノード: 2-1=1個の値 A2: 0入力3値ノード: 3-1=2個の値 C1: 2値 C2: 2値 B1: 2値1本,3値1本入力の3値ノード: 2×3×(3-1)=12個の値 B2: 2値2本,3値1本入力の2値ノード: 2×2×3×(2-1)=12個の値 C1: 2値1本,3値1本入力の2値ノード: 自由度の合計 2×3×(2-1)=6個の値 1+1+2+12 C2: 2値1本入力の2値ノード: +12+6+2 2×(2-1)=2個の値 =36 種類 Computational Informatics 3, School of Informatics and Sciences, Nagoya University ベイズ推定,ベイジアンネットワーク ベイズの定理 ベイジアンネットワークの構造 ベイジアンネットワークによる確率推論 Computational Informatics 3, School of Informatics and Sciences, Nagoya University ベイジアンネットワークにおける確率推論 ネットワークに,外部から観測結果が与えられる. イベントのもとで,推定したい確率変数の,事後確率を求める. X: 注目ノード U1,…,Ur: Xの親ノード V1,…,Vs: Xの子ノード Xの上流側 U1 Ur πメッセ ージ 外部からの観測結果により,ノードXの確率の値が 影響を受ける. 外部観測結果のノードXへの影響 eX を,上流側分 eX+ と,下流側分 eX- に分ける. eX = eX+,eX- (列の連結) e X e X , e X ・・・ i ・・・ X λメッセ ージ V1 ・・・ j ・・・ Vs Xの下流側 Computational Informatics 3, School of Informatics and Sciences, Nagoya University 求めたいものは,外部観測結果が得られたときに,Xの値がxとなる確率: P(x|eX) = P(x|eX+,eX-) = P(x,eX+,eX-)/ P(eX+,eX-) = P(x,eX+)P(eX-|x,eX+)/ P(eX+,eX-) # P(x,eX+)を分ける. = P(eX+)P(x|eX+)P(eX-|x,eX+)/P(eX+,eX-) # # eX+ の影響は,Xを通して,eX- に伝播するため,eX+ の eXー への 直接的影響は,無い. = P(eX+)P(x|eX+)P(eX-|x)/ P(eX+,eX-) = (P(eX+) / P(eX+,eX-)) P(x|eX+)P(eX-|x) 続く Computational Informatics 3, School of Informatics and Sciences, Nagoya University 続き = (P(eX+) / P(eX+,eX-)) P(x|eX+)P(eX-|x) # P(eX+)/P(eX+,eX-)は,決定困難: κとおく. = κP(x|eX+)P(eX-|x) = κ π(x|eX+) λ(eX-|x) π(x|eX+)= P(x|eX+) λ(x|eX-)= P(eX-|x) Computational Informatics 3, School of Informatics and Sciences, Nagoya University P( x | e X ) ( x | e X ) ( x | e X ) P(e X ) , ( x | e ) P ( x | e ), ( x | e ) P ( e X X X X | x) P (e X , e X ) κの値の決定: xでの P(x|eX)総和が 1.0 となるように調整. (Xを固定したときに,eX+,eX-は,条件付独立) ノードXの値のエビデンス π(x|eX+)= P(x|eX+): ノードXにおける値xのπエビデンス. 上流側分の観測結果が及ぼす影響. λ(x|eX-)= P(eX-|x): ノードXにおける値xのλエビデンス. 下流側分の観測結果に及ぼす影響. Xの上流側 U1 ・・・ i ・・・ Ur X Computational Informatics 3, School of Informatics and Sciences, Nagoya University π(x|eX+)を求める. π(x|eX+)=P(x|eX+) = Σ_u1,…,ur P(x,u1,・・・,ur | eX+) = Σ_u1,…,ur P(x | u1,・・・,ur,eX+) × P(u1,・・・,ur | eX+) # eX+は,u1,・・・,urを通してXに影響 # u1,・・・,urは,独立 = Σ_u1,…,ur P(x | u1,・・・,ur) × P(u1 | eX+)・・・ P(ur | eX+) = Σ_u1,…,ur P(x | u1,・・・, ur) × Π_i P(ui | eX+) # P(ui | eX+)=πUiX(ui)とおく.--- (*) = Σ_u1,…,ur P(x | u1,・・・,ur) × Π_i πUiX(ui) ( x | e X ) u , ..., u P( x | u1 ,, u r ) 1 r U i X (ui ) P(ui | e X ) i U i X (ui ) 値 ui のノード Ui から, ノード X への, π メッセージ. (*)より Computational Informatics 3, School of Informatics and Sciences, Nagoya University λ(x|eX-)を求める. λ(x|eX-)=P(eX-|x) # eX-を,eX-=eV1-,・・・,eVs-と分解. = P(eV1-,・・・,eVs- | x) = P(eV1- | x) ・・・P(eVs- | x) = Π_j P(eVj- | x) #P(eVj- | x)を λVjX(x)とおく. = Π_j λVjX(x) ( x | e X ) j V j X ( x) V j X ( x) P (eVj | x) V1 X ・・・ j ・・・ Vs Xの下流側 ノード Vj から,値 x のノード Xへの,λメッセージ. 以上の計算に必要な πUiX(ui), λVjX(x)を定式化する. Computational Informatics 3, School of Informatics and Sciences, Nagoya University ベイズ推定,ベイジアンネットワーク ベイズの定理 ベイジアンネットワークの構造 ベイジアンネットワークによる確率推論 πメッセージ,λメッセージ 初期値,まとめと学習 例 Computational Informatics 3, School of Informatics and Sciences, Nagoya University
© Copyright 2024 ExpyDoc