白井ゼミ 豊田秀樹(2008)『データマイニング入門』 (東京図書)第7章 情報知能学科 白井 英俊
7章 ベイジアンネットワーク (Bayesian Network) ベイジアンネットワーク:観測されたデータから探索的に因果モデルを構築 事象間の影響関係を視覚的なモデルとして記述 不確実な事象を扱うための計算モデル 不確実な事象 ⇒ 統計学における確率変数 事象間の影響関係 ⇒ 確率変数同士の確率的な依存関係
多変量解析手法との比較 多変量解析:複数の変数によって構成された多変量データを統計的に処理し、何らかの有益な情報を取り出す分析手法の総称 単回帰分析、重回帰分析、因子分析、主成分分析など 共通点:仮定する母集団の特徴を把握する、という目的で使用され、変数間の線形な共変関係に基づいて分析 パス解析:強力だがモデル構成が恣意的になりすぎる 問題の解決:(1)他の要因を取り除き、(2)変数の影響関係を方向つきで、(3)想定する状況に関連するすべての変数に対し、(4)データから探索的にモデルを構築。(5)連続変数と離散変数の両方をモデルに組み込み可能
ベイズ統計学 用語: 同時確率、条件付き確率 基本公式: p(A,B) = p(A) * P(B|A) = p(B) * P(A|B) 用語: 同時確率、条件付き確率 基本公式: p(A,B) = p(A) * P(B|A) = p(B) * P(A|B) 周辺確率: 同時確率を一方の確率変数に対してすべて加算して求める
ベイズ統計学(続) 確率の加法定理(離散) 確率の乗法定理(離散) 確率の加法定理(連続) 確率の乗法定理(連続)
ベイズ統計学(続) ベイズの定理1 p(X)は周辺確率であるから ベイズの定理2
ベイズの定理の例 箱が角箱、丸箱、三角箱と3つあり、それぞれの箱の中には次の個数の赤と白の玉が入っているとする。 角箱: 赤 10個、白 10個 丸箱: 赤 10個、白 15個 三角箱:赤 5個、白 0個 p(赤), p(白): それぞれ赤球と白球を引く確率 p(角), p(丸), p(三) : それぞれ角箱、丸箱、三角箱を選ぶ確率。ここでは簡単のため1/3と仮定。 p(赤|角) : 角箱を選んだときに赤球を引く確率 p(角|赤) : 赤球を引いたときに、角箱を選んだ確率 簡単 分る?
ベイズの定理の例(続き) p(角|赤) : 赤球を引いたときに、角箱を選んだ確率 丸箱: 赤 10個、白 15個 三角箱:赤 5個、白 0個 角箱: 赤 10個、白 10個 丸箱: 赤 10個、白 15個 三角箱:赤 5個、白 0個 p(角|赤) : 赤球を引いたときに、角箱を選んだ確率
練習問題 ある人がタイプする時、文字qをタイプするのは qを入力しようとしてqをタイプする (条件付き確率、0.99) (条件付き確率、0.99) 2. aを入力しようとしてqをタイプする (条件付き確率0.01) 3. wを入力しようとしてqをタイプする (条件き確率0.02) の3通りの可能性があることが分かっているとする。 ここでその人がqを入力する確率は0.0001、aを入力する確率は0.02、wを入力する確率は0.001であるとする。 ここでその人がqをタイプした。この時、この人は何を入力しようとしたと考えられるだろうか?
多数の事象の同時確率 3つの事象の同時確率と条件付き確率の関係 p(X,Y,Z) = p(Z|X,Y)*p(X,Y) = p(Z|X,Y) * p(Y|X) * p(X) これを一般化すると p(X1,X2,…,Xn) = p(Xn|Xn-1,…,X1) * … * p(X1)
ベイジアンネットの基礎 条件付き独立(7.2.3節) 事象XとYが独立: p(X,Y) = p(X)*p(Y) ある事象Zに対し、p(X,Y|Z)=p(X|Z)*p(Y|Z) となる場合、X,YはZのもとで条件付き独立 p(X1,X2,…,Xn) = p(Xn|Xn-1,…,X1) * … * p(X1) を表すグラフにおいて、条件付き独立の関係にあるノード間の有向辺を切断⇒ pa(Y)はノードYの親集合 有向グラフにおける同時確率の因数分解性
ベイジアンネットの本質 事象間の影響関係をグラフ的なモデルとして記述する データから探索的にモデルを構築する 0. まず無関係な要因をすべて取り除く。そのうえで 変数間の影響関係を方向つきで 想定する状況に関連するすべての変数に関して 得られたデータから探索的に モデルを構築する
ベイジアンネットワークの構築法 貪欲アルゴリズム(Greedy algorithm) いろいろな手法:K2アルゴリズム、遺伝的アルゴリズム 探索の出発点となる初期モデルGを設定 次の三つの場合のモデルとGとの間のベイズファクターをすべて計算:有向辺を1つ付け加える、有向辺を1つ削除、1つの有向辺の向きを反転 これらにおいて最もベイズファクターが増加したモデルを選択 増加しなければ終了。そうでないなら選択したモデルをGとして2へ (7.21)式
本日の課題 実行すべき例題は今回は少ない もちろんやってみるのだが。。。 もちろんやってみるのだが。。。 そのため、ベイジアンネットについて、教科書やいろいろな資料に基づき、自分なりのまとめを作ってみよ
> 事後ネットワーク <- autosearch(事前ネットワーク, 出生, 事前分布) (2) -616.5 [体重][喫煙|人種][過敏|高血圧][高血圧][人種] (3) -613.5305 [体重|過敏][喫煙|人種][過敏|高血圧][高血圧][人種] (4) -610.4685 [体重|過敏:高血圧][喫煙|人種][過敏|高血圧][高血圧][人種] (5) -608.064 [体重|過敏:高血圧][喫煙|人種][過敏|高血圧][高血圧|人種][人種] (6) -606.9693 [体重|過敏:高血圧][喫煙|過敏:人種][過敏|高血圧][高血圧|人種][人種] (7) -606.0825 [体重|喫煙:過敏:高血圧][喫煙|過敏:人種][過敏|高血圧][高血圧|人種][人種] .Total 0.48 add 0.32 rem 0.02 turn 0.07 sort 0.01 choose 0 rest 0.06 ]
> localprob(ネットワーク) $体重 , , 過敏あり, 高血圧あり 喫煙あり 喫煙なし 正常 0.5 0.5 $喫煙 , , その他 過敏あり 過敏なし 喫煙あり 0.4285714 0.2253521 喫煙なし 0.5714286 0.7746479 , , 黒人 喫煙あり 0.4210526 0.4615385 喫煙なし 0.5789474 0.5384615 , , 白人 喫煙あり 0.5862069 0.5151515 喫煙なし 0.4137931 0.4848485 attr(,"class") [1] "table" $過敏 高血圧あり 高血圧なし 過敏あり 0.4 0.2311111 過敏なし 0.6 0.7688889 $高血圧 その他 黒人 白人 高血圧あり 0.2020202 0.3275862 0.1640625 高血圧なし 0.7979798 0.6724138 0.8359375 $人種 0.3473684 0.2035088 0.4491228 > localprob(ネットワーク) $体重 , , 過敏あり, 高血圧あり 喫煙あり 喫煙なし 正常 0.5 0.5 低体重 0.5 0.5 , , 過敏なし, 高血圧あり 喫煙あり 喫煙なし 正常 0.4705882 0.4736842 低体重 0.5294118 0.5263158 , , 過敏あり, 高血圧なし 正常 0.48 0.5185185 低体重 0.52 0.4814815 , , 過敏なし, 高血圧なし 正常 0.6176471 0.7714286 低体重 0.3823529 0.2285714 attr(,"class") [1] "table"