Infer net wk77_110613-1523

41
#TokyoWebmining Infer.NET でグラフィカルモデルを計算する by @wk77 p. 1 #TokyoWebmining #TokyoWebmining Infer.NET Infer.NET でグラフィカルモデルを計算する でグラフィカルモデルを計算する C. M. Bishop: “Pattern Recognition and Machine Learning”, Springer (2006) C. M. Bishop: “Pattern Recognition and Machine Learning”, Springer (2006) Infer.NET 2.4β User Guide and Code Documentation (Infer.chm)”, Microsoft Infer.NET 2.4β User Guide and Code Documentation (Infer.chm)”, Microsoft の内容紹介 の内容紹介 Twitter: @wk77 Twitter: @wk77

Transcript of Infer net wk77_110613-1523

Page 1: Infer net wk77_110613-1523

#TokyoWebmining Infer.NET でグラフィカルモデルを計算する by @wk77 p. 1

#TokyoWebmining#TokyoWebmining

Infer.NET Infer.NET でグラフィカルモデルを計算するでグラフィカルモデルを計算する

C. M. Bishop: “Pattern Recognition and Machine Learning”, Springer (2006)C. M. Bishop: “Pattern Recognition and Machine Learning”, Springer (2006)““Infer.NET 2.4β User Guide and Code Documentation (Infer.chm)”, MicrosoftInfer.NET 2.4β User Guide and Code Documentation (Infer.chm)”, Microsoft

の内容紹介の内容紹介

Twitter: @wk77Twitter: @wk77

Page 2: Infer net wk77_110613-1523

#TokyoWebmining Infer.NET でグラフィカルモデルを計算する by @wk77 p. 2

なぜグラフィカルモデルを計算するのか• 現代的な手法によって機械学習を実現するには、

現実の現象を確率を用いて表現することが有用である- 観測データから、それを生成する真の確率分布を推論する- 分類、予測、回帰といったどのような複雑なタスクでも、

確率モデルによって表現されている限り、確率の計算、すなわち和と積の適用の繰返しで計算できる

• 確率的グラフィカルモデルによる表現- 学習のタスクや観測データの確率モデルを、図で表現する- シンプルな記述なので、確率変数間の関係が理解しやすく

新しい確率モデルの設計も容易となる- 変分近似(後述)でも役立つ、条件つき独立性という性質を、

グラフの構造自体を精査するだけで得ることができる

Page 3: Infer net wk77_110613-1523

#TokyoWebmining Infer.NET でグラフィカルモデルを計算する by @wk77 p. 3

ある同時分布を様々なグラフにより表現する

有向グラフ 無向グラフ 因子グラフ ハイパグラフ- 有向グラフ:条件つき分布の積による表現を意識し、対応関係を矢印で表す

• p(A, B, C, D, E) = p(A) p(B) p(C|A, B) p(D|C) p(E|C)- 無向グラフ:独立でない確率変数同士をエッジで結合したもの

• p(A, B, C, D, E) = p(A, B, C) p(C, D) p(C, E)- 因子グラフ:因子(■で記述)への分解を表現する。様々な分解がありうる

• p(A, B, C, D, E) = f(A) f(B) f(A, B, C) f(C, D) f(C, E)- ハイパグラフ:結合分布部分をハイパエッジで表現する。確率伝搬法で有用

• p(A, B, C, D, E) = f(A, B, C) f(C, D) f(C, E)

C

D E

BA

C

D E

BA

C

D E

BA

C

D E

BA

Page 4: Infer net wk77_110613-1523

#TokyoWebmining Infer.NET でグラフィカルモデルを計算する by @wk77 p. 4

ベイズの定理と推論• 事前分布 p(A) と条件つき分布 p(B|A) が既知のとき

観測データ B=b' から事後分布 p(A|B=b') を推論する- p(A)を、教授が御機嫌(A=1)か不機嫌(A=0)かの事前分布とする- p(B|A) を、教授の機嫌が決定した(条件づけ)ときの、

秘書が御機嫌(B=1)か不機嫌(B=0)かの条件つき分布とする• 同時分布 p(A,B) = p(B|A)p(A) や

周辺分布 p(B) = p(A=1,B) + p(A=0,B) も既知となる- 秘書の機嫌を観測することで (B=b')、

教授の機嫌の事後分布 p(A|B=b') を推論できる• 秘書が御機嫌と観測されたとき、教授が御機嫌な確率は

p(A=1|B=1) = p(B=1|A=1)p(A=1) / p(B=1)- B が特定の値 b' でなく分布 p(B) であれば p(A|B) が求まる

• p(A|B) = p(B|A)p(A) / p(B) (p(A)とp(A|B)は別物!)

Page 5: Infer net wk77_110613-1523

#TokyoWebmining Infer.NET でグラフィカルモデルを計算する by @wk77 p. 5

ベイズの定理とグラフィカルモデル p(A, B)=p(A)p(B|A) と分解可能である- A, B は確率変数で、p(A), p(B|A), p(A, B) の存在を表現する- p(A) と p(B|A) は任意の関数であり、未知でも良いが、

事前分布 p(A) と尤度関数 p(B|A) を与えれば p(A, B) も求まる- p(A, B) が周辺化できれば p(A) や p(B) も求まる

p(A)p(B|A) で A が観測される- A=a' と観測 → p(A=a', B)=p(A=a')p(B|A=a')- A による条件づけ p(A=a', B)/p(A=a')=p(B|A=a') を表現する

p(A)p(B|A) で B が観測される- B=b' と観測 → p(A), p(B|A) が既知なら、ベイズの定理で

事後分布 p(A|B=b') を推論でき、矢印反転して次のグラフになる p(A|B)p(B) で B が観測される- B=b' と観測 → p(A, B=b')/p(B=b')=p(A|B=b') で整合性がある

BA

BA

BA

BA

Page 6: Infer net wk77_110613-1523

#TokyoWebmining Infer.NET でグラフィカルモデルを計算する by @wk77 p. 6

ベイズ多項式回帰をグラフで表現する(1)• 目的変数 t を多項式 y(x, w) = ∑j wj xj で回帰する

- p(t, w) = p(w) Πn p(tn|y(xn, w)) w:パラメータ x:入力変数

- ハイパパラメータ α, β と入力変数 xn を追記する

tNt1

w

tn

N

w

プレートによる表現PRML本 fig 1.3

tn

N

w

xn α

β

- p(t, w|x, α, β) = p(w|α) Πn p(tn|w, xn, β)

- p(w|α) = N(w|0, α-1I)- p(tn|w, xn, β) =

N(tn|y(xn, w), β-1)

Page 7: Infer net wk77_110613-1523

#TokyoWebmining Infer.NET でグラフィカルモデルを計算する by @wk77 p. 7

ベイズ多項式回帰をグラフで表現する(2)• 事後分布 p(w|t) を推論し、最大確率となる w を決定する

- 最大事後確率推定(MAP 推定)と呼ぶ 事前分布 p(w) と尤度関数 Πn p(tn|w) は既知 p(t, w) = p(w) Πn p(tn|w)

tn で条件づけると事後分布 p(w|t) が求まる p(w|t) ∝ p(w) Πn p(tn|w)

- 入力 xn は固定。最も尤もらしく t を表す w を最適化計算- 対数尤度関数 ln Πn p(tn|w) = Σn ln N(tn|y(xn, w), β-1)

• w で微分すれば w が求まる• w を固定して β で微分すれば β の点推定となる

- 事前分布 p(w|α) の対数を加え最適化すれば正則化も可能α は固定。データ数 n が増えると ln p(w|α) は相対的に小さくなる

tn

N

w

tn

N

w

Page 8: Infer net wk77_110613-1523

#TokyoWebmining Infer.NET でグラフィカルモデルを計算する by @wk77 p. 8

予測分布を表現するグラフィカルモデル(1)• 学習が完了して w と β を推定したところで、

新たな入力 x が与えられたときに、その未知の目標値 t を分布 p(t) として予測したい- p(t|w, x, β) は p(t|w, x, β) と同じ分布なので、

予測分布のグラフィカルモデルは左下図となる- α, β 固定で単純化し、ベイズの定理を反映したのが右下図

tn

N

w

xn α

β tx

tn

N

w

xn

xt

Page 9: Infer net wk77_110613-1523

#TokyoWebmining Infer.NET でグラフィカルモデルを計算する by @wk77 p. 9

予測分布を表現するグラフィカルモデル(2)• 前ページの右下図と同じグラフ

- p(t|x, w)p(w|x, t) となっていることがわかる

• 求めたい予測分布は、上記で w を周辺化したものp(t|x, x, t) = ∫ p(t|x, w) p(w|x, t) dw

• 先に述べた結果から、ベイズの定理によってp(t, w|x) = p(w) Πn p(tn|w, xn)∴ p(w|x, t) ∝ p(w) Πn p(tn|w, xn)

• したがって予測分布は、次の式で与えられるp(t|x, x, t) ∝ ∫ p(t|x, w) p(w) Πn p(tn|w, xn) dw

tn

N

wxn x

t

Page 10: Infer net wk77_110613-1523

#TokyoWebmining Infer.NET でグラフィカルモデルを計算する by @wk77 p. 10

ナイーブベイズによる分類• ナイーブベイズは、クラス分類のための一手法である

- 観測変数は D 次元ベクトルで、観測値 x をK 個のクラスのうちの一つに対応させるとする

- クラスに関する複数の項目が、独立に得られると仮定するp(x1, x2|Ck) = p(x1|Ck)p(x2|Ck)

- x1 は離散変数、x2 は連続変数というように、p(x1|Ck) と p(x2|Ck) のモデルが異なる種類のものでも良い

- x1 と x2 の両方のデータが得られたときの事後確率は p(Ck|x1, x2) ∝ p(x1, x2|Ck)p(Ck) ∝ p(x1|Ck)p(x2|Ck)p(Ck) ∝ p(Ck|x1)p(Ck|x2) / p(Ck)

- 事前確率 p(Ck) は、各クラスに含まれるデータ点の個数から容易に推定可能

xi

D

z

Page 11: Infer net wk77_110613-1523

#TokyoWebmining Infer.NET でグラフィカルモデルを計算する by @wk77 p. 11

条件つき独立性• 3変数 a, b, c についての条件つき独立性

- c で条件づけられた a が、b と独立であると仮定するp(a|b,c) = p(a|c)

- このとき、c で条件づけられた a と b の同時分布は、p(a, b|c) = p(a|b, c)p(b|c) = p(a|c)p(b|c)

となり、a の周辺分布と b の周辺分布の積に分解できる- このことを a || b | c と表す- c がどのような値でも、a と b が独立となることが重要

• 「条件つき独立性の概念は重要である」(PRML 8.2)- パターン認識に用いる確率モデルを簡略化したり、

推論や学習に必要な計算を効率化する際に重要- 変分ベイズ法や期待値伝搬法における近似の根拠- 条件つき独立性がグラフの形から判定できることが利点

Page 12: Infer net wk77_110613-1523

#TokyoWebmining Infer.NET でグラフィカルモデルを計算する by @wk77 p. 12

3つのグラフについて条件つき独立性を考える• c が未観測: p(a,b)=Σc p(a,b,c)=p(a)p(b) なら独立• c が観測: p(a,b|c)=p(a|c)p(b|c) なら条件つき独立• tail-to-tail

- p(a,b)= Σc p(a|c)p(b|c)p(c)≠p(a)p(b) 独立でない- p(a,b|c)=p(a,b,c)/p(c)=p(a|c)p(b|c) 条件つき独立

• head-to-tail - p(a,b)=p(a) Σc p(c|a)p(b|c)=p(a)p(b|a) 独立でない- p(a,b|c)=p(a)p(c|a)p(b|c)/p(c)=p(a|c)p(b|c) 条件つき独立

• head-to-head - p(a,b)= Σc p(a)p(b)p(c|a,b)=p(a)p(b) 独立- p(a,b|c)=p(a)p(b)p(c|a,b)/p(c)≠p(a|c)p(b|c) 条件つき独立でない

ca b

ca b

ca bca b

ca b

ca b

Page 13: Infer net wk77_110613-1523

#TokyoWebmining Infer.NET でグラフィカルモデルを計算する by @wk77 p. 13

有向分離性(d-separation)• tail-to-tail や head-to-tail となるノード c について

未観測時は独立でなく、観測時は条件つき独立となる- c の観測により、a と b を結ぶ経路が遮断されると言う

• head-to-head であるノード c かc の子孫のノードが観測されると、a と b は独立ではなくなる- 左図の例では p(a,b|d) ≠ p(a|d)p(b|d) となる- 観測により、a と b の遮断が解かれると言う

• 重複しない、ノードの部分集合 A, B, C について、A と B を結ぶ全ての経路が C で遮断 → A || B | C- パラメータや訓練データ入力値など、小さな円のノードは

観測済みノードと同様の振る舞いをし、影響を与えない

ca b

d

Page 14: Infer net wk77_110613-1523

#TokyoWebmining Infer.NET でグラフィカルモデルを計算する by @wk77 p. 14

有向分離性の性質• 1変数ガウス分布で平均の事後分布を求める

• ベイズ線形回帰の予測分布について考える

- w の観測で t と t を結ぶ全経路は遮断 → t || t | w- すなわち学習によって w を決定(=観測)した後では

t と t が独立なので、 t の分布の計算に t は必要ない- 学習の過程と、予測分布を求める過程とを分離できる

tn

N

wxn x

t

xnN

μ • μ が与えられたとき、観測値は独立- p(D|μ) = Πn p(xn|μ)- xi→μ→xj(≠i) の経路は tail-to-tail

• μ を潜在変数とみなし周辺化→観測値は非独立- p(D) = ∫p(D|μ)p(μ)dμ ≠ Πn p(xn)

Page 15: Infer net wk77_110613-1523

#TokyoWebmining Infer.NET でグラフィカルモデルを計算する by @wk77 p. 15

(参考)無向グラフと周辺化(確率伝搬法…)• 確率変数同士に何らかの関係が存在する、

すなわち独立ではないとき、エッジで結んで表現する- A が a 個、B が b 個の状態をとり、表で表せる分布とする- A と B が独立ではない場合

p(A, B) ≠ p(A)p(B)• p(A, B) を表すのに必要なパラメータ数は a × b

- A と B が独立な場合 p(A, B) = p(A)p(B)

• p(A, B) を表すのに必要なパラメータ数は a + b• ある変数についての周辺化を、次のように表す

p(A) = ∑B p(A, B) p(B) = ∑A p(A, B)

BA

BA

BA

A B

Page 16: Infer net wk77_110613-1523

#TokyoWebmining Infer.NET でグラフィカルモデルを計算する by @wk77 p. 16

変分ベイズ法の更新則を求める(変分MP…)• 混合ガウス分布の変分ベイズ法の更新則を求める

- グラフィカルモデルの構成要素から、下限の式を得る- 下限の式を最適化すると、変分ベイズ法の更新則が求まる

• 混合ガウス分布の変分ベイズ法での、下限を求める

- 1 行目は変分ベイズ法での下限の定義

• 離散変数 Z は和をとり、連続変数 π, μ, Λ は積分する- 3 行目は混合ガウス分布のモデルと q の近似に基づく分解- 分布 q の上付き添字 * と、期待値 E の下付き添字は省略

Page 17: Infer net wk77_110613-1523

#TokyoWebmining Infer.NET でグラフィカルモデルを計算する by @wk77 p. 17

混合ガウス分布:変分下限の各項(1)• 変分下限の各項を展開する

- D は x の次元。C(α) は (B.23)、B(W, ν) は (B.79) で定義

Page 18: Infer net wk77_110613-1523

#TokyoWebmining Infer.NET でグラフィカルモデルを計算する by @wk77 p. 18

混合ガウス分布:変分下限の各項(2)• 変分下限の各項を展開する

- H[q(Λk)] はウィシャート分布のエントロピー- 分布 q の対数の期待値を含む項は、-∫q(Z) ln q(Z) dZ という形をしており単にそれらの分布の負のエントロピーを表す

- 理解を容易にするよう別々の項として記述されており、足し合わせてこれらの項を簡単にしたりまとめたりできる

Page 19: Infer net wk77_110613-1523

#TokyoWebmining Infer.NET でグラフィカルモデルを計算する by @wk77 p. 19

変分下限の各項を展開する準備(1)• 前述の混合ガウス分布の式から p を分解

- パラメータの事前分布に共役事前分布を用いることで、

事後分布の関数形が既知になり、計算が容易になる- 混合比 π の事前分布にはディリクレ分布を用いる

- 混合要素の事前分布にはガウス-ウィシャート分布を用いる

Page 20: Infer net wk77_110613-1523

#TokyoWebmining Infer.NET でグラフィカルモデルを計算する by @wk77 p. 20

変分下限の各項を展開する準備(2)• 変分近似の式 (10.42) と計算の結果から q を分解

- 混合ガウス分布の変分ベイズ法において、実際に計算可能な解を得る上で必要な唯一の仮定 (10.42)

- さらなる分解 (10.55)

は、(10.9) を用いて実際に式を展開して、式 (10.54)

を導くか、後述するグラフィカルなテストで確認できる

Page 21: Infer net wk77_110613-1523

#TokyoWebmining Infer.NET でグラフィカルモデルを計算する by @wk77 p. 21

§ 10.2.5 導出された分解• 混合ガウス分布の変分ベイズ法の更新式を導く過程で

変分事後分布を q(Z)q(π, μ, Λ) に分解できると仮定• しかし実際には、各因子の最適解はさらに分解される

- 各観測値 (の添字) n について znk の和が 1 になるので、

k についてこれ以上は分解できないことに注意する• 「導出された分解」(induced factorization)

- 変分事後分布を分解する仮定と、真の同時分布のもつ条件つき独立性の、相互作用から導出されるので、こう呼ぶ

- 図 10.5 の有向グラフが、真の分布の条件つき独立性を表す

Page 22: Infer net wk77_110613-1523

#TokyoWebmining Infer.NET でグラフィカルモデルを計算する by @wk77 p. 22

導出された分解を考慮する理由• 変分ベイズ法の数値解を求める実装を行う際には、

こうした導出された分解を考慮することが重要である• ガウス分布の精度行列(共分散の逆行列)を例に考える

- 求める最適な分布の精度行列が常に対角行列ならば、各確率変数は独立であり、各変数について分解できる

- この場合、精度行列を完全な形で保っておくことは、対角成分だけを保存しておくことに比べて、メモリの使用量も計算量も、極めて非効率的である

Page 23: Infer net wk77_110613-1523

#TokyoWebmining Infer.NET でグラフィカルモデルを計算する by @wk77 p. 23

導出された分解を有向分離により見つける (1)• 導出された分解は、有向分離 (§ 8.2.2, pp.90-91)

に基づくグラフィカルなテストで簡単に見つけられる- 潜在変数を 3 つの別々なグループ A, B ,C に分け、

C と残りの項が分解されると仮定する

- 一般的な結果

および確率の乗法定理を用いると、q(A, B)の最適解は

• EC[ln p(X,C)] は A, B に依存せず正規化定数に含まれる

Page 24: Infer net wk77_110613-1523

#TokyoWebmining Infer.NET でグラフィカルモデルを計算する by @wk77 p. 24

導出された分解を有向分離により見つける (2)• 前項の解が A と B に分解できるか、言い換えればq*(A, B) = q*(A)q*(B) となるかどうかを確かめる

• ln p(A,B|X,C) = ln p(A|X,C) + ln p(B|X,C)となる場合だけ、つまり条件つき独立の関係

が満たされる時だけ、上記の分解が成立する

• この関係が本当に成り立っているかを確認するには、A と B の全ての要素について、グラフィカルモデル上で有向分離基準を適用する

Page 25: Infer net wk77_110613-1523

#TokyoWebmining Infer.NET でグラフィカルモデルを計算する by @wk77 p. 25

ベイズ混合ガウス分布モデルについて確認する• パラメータの変分事後分布 q(π, μ, Λ) が、

さらに q(π) と q(μ, Λ) に分けられることを混合ガウス分布のグラフィカルモデルで確認する

• したがって、 が成立する

- C={zn}, A={π}, B={μ, Λ} として、A と B をつなぎうる全ての経路が遮断されているかどうかを確認する

- 経路の各構成要素(3ノード)を見ていく- π→zn→xn の経路(全ての n)を見れば

C について head-to-tail であるというp.91 の条件 (a) を zn が満たすので、経路が遮断されていることがわかる

Page 26: Infer net wk77_110613-1523

#TokyoWebmining Infer.NET でグラフィカルモデルを計算する by @wk77 p. 26

演習 10.16 (10.71)(10.72) を確かめる (1)• 実際に下限の項を求める

- (10.38) 式

の対数をとって、期待値を計算する

Page 27: Infer net wk77_110613-1523

#TokyoWebmining Infer.NET でグラフィカルモデルを計算する by @wk77 p. 27

演習 10.16 (10.71)(10.72) を確かめる (2)• 期待値

の各項の計算は (10.64)(10.65) (演習10.14)

• 結果として次の式が得られる

Page 28: Infer net wk77_110613-1523

#TokyoWebmining Infer.NET でグラフィカルモデルを計算する by @wk77 p. 28

演習 10.16 (10.71)(10.72) を確かめる (3)• 混合要素の変分事後分布と、

そのパラメータの定義を求める 演習 10.13 の結果に、観測データの負担率から計算できる統計量を代入する

Page 29: Infer net wk77_110613-1523

#TokyoWebmining Infer.NET でグラフィカルモデルを計算する by @wk77 p. 29

演習 10.16 (10.71)(10.72) を確かめる (4)• p(Z|π) に対応する変分下限の項について

- 式 (10.37) の対数の期待値をとる- ディリクレ分布の標準的な性質(付録B)から式 (10.66) から得られるので、ここでもそれを使えばよい

Page 30: Infer net wk77_110613-1523

#TokyoWebmining Infer.NET でグラフィカルモデルを計算する by @wk77 p. 30

混合ガウス分布の変分ベイズの再推定式• 変分下限を用いることで、10.2.1 節で得られた

変分ベイズ法の再推定式を、別の方法で求められる- モデルが共役事前分布を持っているため、

変分事後分布の関数形は既知である- Z は離散分布、π はディリクレ分布、

(μk, Λk) はガウス-ウィシャート分布であることを利用する

• 変分下限をパラメータの関数として求め、式を微分し最大化することで、変分ベイズの更新則を求める

• 手計算でもよいが、Infer.NET を使えばこの面倒な過程を意識せず、自動で計算してくれる!

Page 31: Infer net wk77_110613-1523

#TokyoWebmining Infer.NET でグラフィカルモデルを計算する by @wk77 p. 31

Infer.NET の概要(Infer.chm より)(1)• Infer.NET は、グラフィカルモデルにおいて

ベイズ推論を行うためのフレームワークである- 最新のメッセージパッシングアルゴリズムと、

様々なアプリ内での推論に必要な統計ルーチンを提供する• 強力なグラフィカルモデリング言語

- 連続と離散両方の、単変量変数と多変量変数をサポート- 算術演算子、線形代数、範囲変数と許容解の制約表現、ブール演算、ディリクレ離散、ガウス過程、他多数の因子

• 複数のベイズ推論アルゴリズム- 期待値伝搬法(Expectation Propagation。以下 EP と略)- 確率伝搬法(Belief Propagation。BP と略)- 変分メッセージパッシング(VMP。EM 法や変分ベイズ法)- ギブスサンプリング(MCMC の一手法)

Page 32: Infer net wk77_110613-1523

#TokyoWebmining Infer.NET でグラフィカルモデルを計算する by @wk77 p. 32

Infer.NET の概要(Infer.chm より)(2)• 大規模な推論のために設計されている

- Infer.NET は高速な推論を実現するために、モデル記述をコンパイルして、推論を行うC#のソースコードを生成する

- 必要に応じて変更を加え、素直にビルド&デバッグできる- アプリ実行中に、モデルからの動的コード生成も可能- 全ての条件つき分布が共役事前分布の構造を持つ指数型分布族の形で書けるモデルで書ける場合(中略)、変分ベイズ法の更新式は局所的なメッセージパッシングとして表せる(PRML本下巻 p.207)

• ユーザーによる拡張可能性- 確率分布、因子、メッセージ操作、推論アルゴリズムを、必要に応じてユーザーが追加しやすく設計されている

- C#, VB, F#, IronPython, Mono などから利用可能

Page 33: Infer net wk77_110613-1523

#TokyoWebmining Infer.NET でグラフィカルモデルを計算する by @wk77 p. 33

Infer.NET 2.4β のダウンロードとインストール• Infer.NET の公式サイトから、msi パッケージの

ファイルをダウンロード&実行し、インストールする- My Documents\Infer.NET 2.4以下に、一部のバイナリとサンプルプログラムが格納

- Program Files\Microsoft Research\Infer.NET 2.4 Beta以下に、全てのバイナリ、ヘルプ文書、一部のソース

• バイナリは Infer.Compiler.dll, Infer.Runtime.dll, 他• スタートメニューからヘルプ文書を参照できる

- “User Guide and Code Documentation” (Infer.chm)User Guide and Code Documentation” (Infer.chm)• サンプルプログラムのソリューションファイルをVisual Studio で開いて実行する- 無料で使える Visual C# 2010 Express Edition で実行可

Page 34: Infer net wk77_110613-1523

#TokyoWebmining Infer.NET でグラフィカルモデルを計算する by @wk77 p. 34

Infer.NET 2.4β サンプルプログラム一覧• Tutorials

- 2枚のコイン、切断されたガウシアン、ガウシアン分布を学習する、ベイズポイントマシン、クリニカルトライアル(医薬品の効果)、混合ガウス分布

• Examples- 潜在的ディリクレ配分法 (LDA)。標準LDA。共通変数LDA- 多クラス分類。(疎な)ベイズポイントマシン- ガウス過程による分類- クリックスルーモデル(実際的なモデルの利用)- クリックモデル- BUGS(MCMC 計算アプリ)の Rats example- 画像分類タスク- モンティ・ホール問題

Page 35: Infer net wk77_110613-1523

#TokyoWebmining Infer.NET でグラフィカルモデルを計算する by @wk77 p. 35

Infer.NET のコンポーネントとアーキテクチャ

““Infer.NET 2.4β User Guide and Code Documentation (Infer.chm)” Infer.NET 2.4β User Guide and Code Documentation (Infer.chm)” から転載から転載

Page 36: Infer net wk77_110613-1523

#TokyoWebmining Infer.NET でグラフィカルモデルを計算する by @wk77 p. 36

Infer.NET の動作

- ユーザがモデルと推論クエリを与える• モデルやクエリを得る API を利用する• C# などによる、内部 DSL 相当の記述となる

- モデルコンパイラが、推論の計算を行う C# ソースを生成- C# コンパイラが、その C# ソースをコンパイルする- 推論エンジンのパラメータや、観測データを与える- 推論クエリにもとづき、値や分布が返される

““Infer.NET 2.4β User Guide and Code Documentation (Infer.chm)” Infer.NET 2.4β User Guide and Code Documentation (Infer.chm)” から転載から転載

Page 37: Infer net wk77_110613-1523

#TokyoWebmining Infer.NET でグラフィカルモデルを計算する by @wk77 p. 37

Infer.NET で扱える分布の因子(1)• 離散変数に関する分布

““Infer.NET 2.4β User Guide and Code Documentation (Infer.chm)” Infer.NET 2.4β User Guide and Code Documentation (Infer.chm)” から転載から転載

Page 38: Infer net wk77_110613-1523

#TokyoWebmining Infer.NET でグラフィカルモデルを計算する by @wk77 p. 38

Infer.NET で扱える分布の因子(2)• 連続変数に関する分布

• 多変量分布

““Infer.NET 2.4β User Guide and Code Documentation (Infer.chm)” Infer.NET 2.4β User Guide and Code Documentation (Infer.chm)” から転載から転載

Page 39: Infer net wk77_110613-1523

#TokyoWebmining Infer.NET でグラフィカルモデルを計算する by @wk77 p. 39

Infer.NET のファーストサンプルプログラム

• 実際の問題にどう適用できるかはこのあとで!@tsubosaka 先生お願いします!><

Page 40: Infer net wk77_110613-1523

#TokyoWebmining Infer.NET でグラフィカルモデルを計算する by @wk77 p. 40

参考文献• C. M. Bishop: "Pattern Recognition and Machine Learning", Springer C. M. Bishop: "Pattern Recognition and Machine Learning", Springer

(2006)(2006)• C. M. C. M. ビショップビショップ, , 元田浩元田浩, , 栗田多喜夫栗田多喜夫, , 樋口知之樋口知之, , 松本裕治松本裕治, , 村田昇村田昇: ": "パターパター

ン認識と機械学習 上 ン認識と機械学習 上 / / 下 下 - - ベイズ理論による統計的予測ベイズ理論による統計的予測", ", シュプリンガー・ジャシュプリンガー・ジャ

パン パン (2007-2008)(2007-2008)• "Infer.NET 2.4β User Guide and Code Documentation (Infer.chm)", "Infer.NET 2.4β User Guide and Code Documentation (Infer.chm)",

MicrosoftMicrosoft• S. S. J. Wang and M. P. Wand: "Using Infer.NET for Statistical S. S. J. Wang and M. P. Wand: "Using Infer.NET for Statistical

Analyses", Working Paper at Centre for Statistical and Survey Analyses", Working Paper at Centre for Statistical and Survey Methodology, 06-10 (2010)Methodology, 06-10 (2010)

• 田中和之田中和之: ": "ベイジアンネットワークの統計的推論の数理ベイジアンネットワークの統計的推論の数理", ", コロナ社 コロナ社 (2009)(2009)• 伊庭幸人伊庭幸人: ": "ベイズ統計と統計物理ベイズ統計と統計物理", ", 岩波書店 岩波書店 (2003)(2003)• 汪金芳汪金芳, , 手塚集手塚集, , 上田修功上田修功, , 田栗正章田栗正章, , 樺島祥介樺島祥介: ": "計算統計Ⅰ計算統計Ⅰ", ", 岩波書店 岩波書店

(2003)(2003)• 竹村彰通竹村彰通, , 谷口正信谷口正信: ": "統計学の基礎Ⅰ統計学の基礎Ⅰ", ", 岩波書店 岩波書店 (2003)(2003)

Page 41: Infer net wk77_110613-1523

#TokyoWebmining Infer.NET でグラフィカルモデルを計算する by @wk77 p. 41

TODO:• 結局自分がグラフについてもっと理解したいだけ…

- 確率伝搬法(BP)による周辺分布の計算- 周辺分布と事後分布の使い分け- 回帰・予測・分類などのタスクの分類とグラフ構造の差異- EM, GEM, VB を統一的に説明(計算統計Ⅰ)- 局所的変分メッセージパッシングのイメージ- EP 法の丁寧な解説。BP との対応- MCMC(計算統計Ⅱ)と、VB などの最適化手法の比較- 実際のアプリでどんな推論クエリが必要になるか

• もっと Infer.NET についてコードを増やして説明- LDA、クリックスルー、多クラス画像分類のサンプル解説