Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
#TokyoWebmining      Infer.NET でグラフィカルモデルを計算する   C. M. Bishop: “Pattern Recognition and Machine Learning”, Springer (2006)...
なぜグラフィカルモデルを計算するのか • 現代的な手法によって機械学習を実現するには、   現実の現象を確率を用いて表現することが有用である    -   観測データから、それを生成する真の確率分布を推論する    -   分類、予測、回帰とい...
ある同時分布を様々なグラフにより表現する  A             B     A           B     A            B   A             B          C                 C ...
ベイズの定理と推論 • 事前分布 p(A) と条件つき分布 p(B|A) が既知のとき   観測データ B=b から事後分布 p(A|B=b) を推論する     -   p(A)を、教授が御機嫌(A=1)か不機嫌(A=0)かの事前分布とする ...
ベイズの定理とグラフィカルモデル   A            B    p(A, B)=p(A)p(B|A) と分解可能である       -   A, B は確率変数で、p(A), p(B|A), p(A, B) の存在を表現する     ...
ベイズ多項式回帰をグラフで表現する(1) • 目的変数 t を多項式 y(x, w) = ∑j wj xj で回帰する       -   p(t, w) = p(w) Πn p(tn|y(xn, w)) w:パラメータ x:入力変数     ...
ベイズ多項式回帰をグラフで表現する(2) • 事後分布 p(w|t) を推論し、最大確率となる w を決定する       -   最大事後確率推定(MAP 推定)と呼ぶ  tn             w                   ...
予測分布を表現するグラフィカルモデル(1) • 学習が完了して w と β を推定したところで、   新たな入力 x が与えられたときに、   その未知の目標値 t を分布 p(t) として予測したい    -   p(t|w, x, β) は...
予測分布を表現するグラフィカルモデル(2) • 前ページの右下図と同じグラフ                  tn               w          t          xn                         ...
ナイーブベイズによる分類 • ナイーブベイズは、クラス分類のための一手法である    -   観測変数は D 次元ベクトルで、観測値 x を        K 個のクラスのうちの一つに対応させるとする    -   クラスに関する複数の項目が、...
条件つき独立性 • 3変数 a, b, c についての条件つき独立性    -   c で条件づけられた a が、b と独立であると仮定する           p(a|b,c) = p(a|c)    -   このとき、c で条件づけられた ...
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   ...
有向分離性(d-separation) • tail-to-tail や head-to-tail となるノード c について   未観測時は独立でなく、観測時は条件つき独立となる    -   c の観測により、a と b を結ぶ経路が遮断さ...
有向分離性の性質 • 1変数ガウス分布で平均の事後分布を求める     μ              • μ が与えられたとき、観測値は独立                     -   p(D|μ) = Πn p(xn|μ)        ...
(参考)無向グラフと周辺化(確率伝搬法…) • 確率変数同士に何らかの関係が存在する、   すなわち独立ではないとき、エッジで結んで表現する    -   A が a 個、B が b 個の状態をとり、表で表せる分布とする    -   A と ...
変分ベイズ法の更新則を求める(変分MP…) • 混合ガウス分布の変分ベイズ法の更新則を求める    -   グラフィカルモデルの構成要素から、下限の式を得る    -   下限の式を最適化すると、変分ベイズ法の更新則が求まる • 混合ガウス分布...
混合ガウス分布:変分下限の各項(1) • 変分下限の各項を展開する    -   D は x の次元。C(α) は (B.23)、B(W, ν) は (B.79) で定義#TokyoWebmining Infer.NET でグラフィカルモデルを...
混合ガウス分布:変分下限の各項(2) • 変分下限の各項を展開する    -   H[q(Λk)] はウィシャート分布のエントロピー    -   分布 q の対数の期待値を含む項は、        -∫q(Z) ln q(Z) dZ という形...
変分下限の各項を展開する準備(1) • 前述の混合ガウス分布の式から p を分解    -   パラメータの事前分布に共役事前分布を用いることで、        事後分布の関数形が既知になり、計算が容易になる    -   混合比 π の事前分...
変分下限の各項を展開する準備(2) • 変分近似の式 (10.42) と計算の結果から q を分解    -   混合ガウス分布の変分ベイズ法において、        実際に計算可能な解を得る上で必要な唯一の仮定 (10.42)    -   ...
§ 10.2.5 導出された分解 • 混合ガウス分布の変分ベイズ法の更新式を導く過程で   変分事後分布を q(Z)q(π, μ, Λ) に分解できると仮定 • しかし実際には、各因子の最適解はさらに分解される    -   各観測値 (の添字...
導出された分解を考慮する理由 • 変分ベイズ法の数値解を求める実装を行う際には、   こうした導出された分解を考慮することが重要である • ガウス分布の精度行列(共分散の逆行列)を例に考える    -   求める最適な分布の精度行列が常に対角行...
導出された分解を有向分離により見つける (1) • 導出された分解は、有向分離 (§ 8.2.2, pp.90-91)   に基づくグラフィカルなテストで簡単に見つけられる    -   潜在変数を 3 つの別々なグループ A, B ,C に分...
導出された分解を有向分離により見つける (2) • 前項の解が A と B に分解できるか、言い換えれば   q*(A, B) = q*(A)q*(B) となるかどうかを確かめる • ln p(A,B|X,C) = ln p(A|X,C) + ...
ベイズ混合ガウス分布モデルについて確認する • パラメータの変分事後分布 q(π, μ, Λ) が、   さらに q(π) と q(μ, Λ) に分けられることを   混合ガウス分布のグラフィカルモデルで確認する                ...
演習 10.16 (10.71)(10.72) を確かめる (1) • 実際に下限の項を求める    -   (10.38) 式        の対数をとって、期待値を計算する#TokyoWebmining Infer.NET でグラフィカルモ...
演習 10.16 (10.71)(10.72) を確かめる (2) • 期待値   の各項の計算は (10.64)(10.65) (演習10.14) • 結果として次の式が得られる#TokyoWebmining Infer.NET でグラフィカ...
演習 10.16 (10.71)(10.72) を確かめる (3) • 混合要素の変分事後分布と、   そのパラメータの定義を求める 演習 10.13 の結果に、   観測データの負担率から計算できる統計量を代入する#TokyoWebminin...
演習 10.16 (10.71)(10.72) を確かめる (4) • p(Z|π) に対応する変分下限の項について    -   式 (10.37) の対数の期待値をとる    -   ディリクレ分布の標準的な性質(付録B)から       ...
混合ガウス分布の変分ベイズの再推定式 • 変分下限を用いることで、10.2.1 節で得られた   変分ベイズ法の再推定式を、別の方法で求められる    -   モデルが共役事前分布を持っているため、        変分事後分布の関数形は既知であ...
Infer.NET の概要(Infer.chm より)(1) • Infer.NET は、グラフィカルモデルにおいて   ベイズ推論を行うためのフレームワークである    -   最新のメッセージパッシングアルゴリズムと、        様々な...
Infer.NET の概要(Infer.chm より)(2) • 大規模な推論のために設計されている    -   Infer.NET は高速な推論を実現するために、モデル記述を        コンパイルして、推論を行うC#のソースコードを生成...
Infer.NET 2.4β のダウンロードとインストール • Infer.NET の公式サイトから、msi パッケージの   ファイルをダウンロード&実行し、インストールする    -   My DocumentsInfer.NET 2.4 ...
Infer.NET 2.4β サンプルプログラム一覧 • Tutorials    -   2枚のコイン、切断されたガウシアン、        ガウシアン分布を学習する、ベイズポイントマシン、        クリニカルトライアル(医薬品の効果)...
Infer.NET のコンポーネントとアーキテクチャ   “Infer.NET 2.4β User Guide and Code Documentation (Infer.chm)” から転載#TokyoWebmining Infer.NET ...
Infer.NET の動作   “Infer.NET 2.4β User Guide and Code Documentation (Infer.chm)” から転載     -   ユーザがモデルと推論クエリを与える          • モ...
Infer.NET で扱える分布の因子(1) • 離散変数に関する分布   “Infer.NET 2.4β User Guide and Code Documentation (Infer.chm)” から転載#TokyoWebmining I...
Infer.NET で扱える分布の因子(2) • 連続変数に関する分布 • 多変量分布   “Infer.NET 2.4β User Guide and Code Documentation (Infer.chm)” から転載#TokyoWeb...
Infer.NET のファーストサンプルプログラム • 実際の問題にどう適用できるかはこのあとで!   @tsubosaka 先生お願いします!><#TokyoWebmining Infer.NET でグラフィカルモデルを計算する by @wk...
参考文献 • C. M. Bishop: "Pattern Recognition and Machine Learning", Springer   (2006) • C. M. ビショップ, 元田浩, 栗田多喜夫, 樋口知之, 松本裕治, ...
TODO: • 結局自分がグラフについてもっと理解したいだけ…    -   確率伝搬法(BP)による周辺分布の計算    -   周辺分布と事後分布の使い分け    -   回帰・予測・分類などのタスクの分類とグラフ構造の差異    -   ...
Upcoming SlideShare
Loading in …5
×

Infer net wk77_110613-1523

13,355 views

Published on

Published in: Technology, Education
  • Be the first to comment

Infer net wk77_110613-1523

  1. 1. #TokyoWebmining Infer.NET でグラフィカルモデルを計算する C. M. Bishop: “Pattern Recognition and Machine Learning”, Springer (2006) “Infer.NET 2.4β User Guide and Code Documentation (Infer.chm)”, Microsoft の内容紹介 Twitter: @wk77#TokyoWebmining Infer.NET でグラフィカルモデルを計算する by @wk77 p. 1
  2. 2. なぜグラフィカルモデルを計算するのか • 現代的な手法によって機械学習を実現するには、 現実の現象を確率を用いて表現することが有用である - 観測データから、それを生成する真の確率分布を推論する - 分類、予測、回帰といったどのような複雑なタスクでも、 確率モデルによって表現されている限り、確率の計算、 すなわち和と積の適用の繰返しで計算できる • 確率的グラフィカルモデルによる表現 - 学習のタスクや観測データの確率モデルを、図で表現する - シンプルな記述なので、確率変数間の関係が理解しやすく 新しい確率モデルの設計も容易となる - 変分近似(後述)でも役立つ、条件つき独立性という性質を、 グラフの構造自体を精査するだけで得ることができる#TokyoWebmining Infer.NET でグラフィカルモデルを計算する by @wk77 p. 2
  3. 3. ある同時分布を様々なグラフにより表現する A B A B A B A B C C C C D E D E D E D E 有向グラフ 無向グラフ 因子グラフ ハイパグラフ - 有向グラフ:条件つき分布の積による表現を意識し、対応関係を矢印で表す • 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)#TokyoWebmining Infer.NET でグラフィカルモデルを計算する by @wk77 p. 3
  4. 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)は別物!)#TokyoWebmining Infer.NET でグラフィカルモデルを計算する by @wk77 p. 4
  5. 5. ベイズの定理とグラフィカルモデル A B 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) も求まる A 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) を表現する A B p(A)p(B|A) で B が観測される - B=b と観測 → p(A), p(B|A) が既知なら、ベイズの定理で 事後分布 p(A|B=b) を推論でき、矢印反転して次のグラフになる A B p(A|B)p(B) で B が観測される - B=b と観測 → p(A, B=b)/p(B=b)=p(A|B=b) で整合性がある#TokyoWebmining Infer.NET でグラフィカルモデルを計算する by @wk77 p. 5
  6. 6. ベイズ多項式回帰をグラフで表現する(1) • 目的変数 t を多項式 y(x, w) = ∑j wj xj で回帰する - p(t, w) = p(w) Πn p(tn|y(xn, w)) w:パラメータ x:入力変数 w tn w t1 tN N PRML本 fig 1.3 プレートによる表現 - ハイパパラメータ α, β と入力変数 xn を追記する xn α - p(t, w|x, α, β) = p(w|α) Πn p(tn|w, xn, β) - p(w|α) = N(w|0, α-1I) tn w β - p(tn|w, xn, β) = N N(tn|y(xn, w), β-1)#TokyoWebmining Infer.NET でグラフィカルモデルを計算する by @wk77 p. 6
  7. 7. ベイズ多項式回帰をグラフで表現する(2) • 事後分布 p(w|t) を推論し、最大確率となる w を決定する - 最大事後確率推定(MAP 推定)と呼ぶ tn w 事前分布 p(w) と尤度関数 Πn p(tn|w) は既知 p(t, w) = p(w) Πn p(tn|w) N tn w tn で条件づけると事後分布 p(w|t) が求まる p(w|t) ∝ p(w) Πn p(tn|w) N - 入力 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|α) は相対的に小さくなる#TokyoWebmining Infer.NET でグラフィカルモデルを計算する by @wk77 p. 7
  8. 8. 予測分布を表現するグラフィカルモデル(1) • 学習が完了して w と β を推定したところで、 新たな入力 x が与えられたときに、 その未知の目標値 t を分布 p(t) として予測したい - p(t|w, x, β) は p(t|w, x, β) と同じ分布なので、 予測分布のグラフィカルモデルは左下図となる - α, β 固定で単純化し、ベイズの定理を反映したのが右下図 xn α xn tn w tn w N N x x β t t#TokyoWebmining Infer.NET でグラフィカルモデルを計算する by @wk77 p. 8
  9. 9. 予測分布を表現するグラフィカルモデル(2) • 前ページの右下図と同じグラフ tn w t xn x N - 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#TokyoWebmining Infer.NET でグラフィカルモデルを計算する by @wk77 p. 9
  10. 10. ナイーブベイズによる分類 • ナイーブベイズは、クラス分類のための一手法である - 観測変数は D 次元ベクトルで、観測値 x を K 個のクラスのうちの一つに対応させるとする - クラスに関する複数の項目が、独立に得られると仮定する p(x1, x2|Ck) = p(x1|Ck)p(x2|Ck) - x1 は離散変数、x2 は連続変数というように、 p(x1|Ck) と p(x2|Ck) のモデルが異なる種類のものでも良い - x1 と x2 の両方のデータが得られたときの事後確率は xi p(Ck|x1, x2) ∝ p(x1, x2|Ck)p(Ck) z ∝ p(x1|Ck)p(x2|Ck)p(Ck) D ∝ p(Ck|x1)p(Ck|x2) / p(Ck) - 事前確率 p(Ck) は、各クラスに含まれる データ点の個数から容易に推定可能#TokyoWebmining Infer.NET でグラフィカルモデルを計算する by @wk77 p. 10
  11. 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) - パターン認識に用いる確率モデルを簡略化したり、 推論や学習に必要な計算を効率化する際に重要 - 変分ベイズ法や期待値伝搬法における近似の根拠 - 条件つき独立性がグラフの形から判定できることが利点#TokyoWebmining Infer.NET でグラフィカルモデルを計算する by @wk77 p. 11
  12. 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 a c b a c b - 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 a c b a c b - 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 a c b a c b - 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) 条件つき独立でない#TokyoWebmining Infer.NET でグラフィカルモデルを計算する by @wk77 p. 12
  13. 13. 有向分離性(d-separation) • tail-to-tail や head-to-tail となるノード c について 未観測時は独立でなく、観測時は条件つき独立となる - c の観測により、a と b を結ぶ経路が遮断されると言う • head-to-head であるノード c か a b c c の子孫のノードが観測されると、 a と b は独立ではなくなる d - 左図の例では p(a,b|d) ≠ p(a|d)p(b|d) となる - 観測により、a と b の遮断が解かれると言う • 重複しない、ノードの部分集合 A, B, C について、 A と B を結ぶ全ての経路が C で遮断 → A || B | C - パラメータや訓練データ入力値など、小さな円のノードは 観測済みノードと同様の振る舞いをし、影響を与えない#TokyoWebmining Infer.NET でグラフィカルモデルを計算する by @wk77 p. 13
  14. 14. 有向分離性の性質 • 1変数ガウス分布で平均の事後分布を求める μ • μ が与えられたとき、観測値は独立 - p(D|μ) = Πn p(xn|μ) - xi→μ→xj(≠i) の経路は tail-to-tail xn • μ を潜在変数とみなし周辺化→観測値は非独立 N - p(D) = ∫p(D|μ)p(μ)dμ ≠ Πn p(xn) • ベイズ線形回帰の予測分布について考える tn w t xn x N - w の観測で t と t を結ぶ全経路は遮断 → t || t | w - すなわち学習によって w を決定(=観測)した後では t と t が独立なので、 t の分布の計算に t は必要ない - 学習の過程と、予測分布を求める過程とを分離できる#TokyoWebmining Infer.NET でグラフィカルモデルを計算する by @wk77 p. 14
  15. 15. (参考)無向グラフと周辺化(確率伝搬法…) • 確率変数同士に何らかの関係が存在する、 すなわち独立ではないとき、エッジで結んで表現する - A が a 個、B が b 個の状態をとり、表で表せる分布とする - A と B が独立ではない場合 A B p(A, B) ≠ p(A)p(B) • p(A, B) を表すのに必要なパラメータ数は a × b - A と B が独立な場合 A B p(A, B) = p(A)p(B) • p(A, B) を表すのに必要なパラメータ数は a + b • ある変数についての周辺化を、次のように表す A B p(A) = ∑B p(A, B) A B p(B) = ∑A p(A, B)#TokyoWebmining Infer.NET でグラフィカルモデルを計算する by @wk77 p. 15
  16. 16. 変分ベイズ法の更新則を求める(変分MP…) • 混合ガウス分布の変分ベイズ法の更新則を求める - グラフィカルモデルの構成要素から、下限の式を得る - 下限の式を最適化すると、変分ベイズ法の更新則が求まる • 混合ガウス分布の変分ベイズ法での、下限を求める - 1 行目は変分ベイズ法での下限の定義 • 離散変数 Z は和をとり、連続変数 π, μ, Λ は積分する - 3 行目は混合ガウス分布のモデルと q の近似に基づく分解 - 分布 q の上付き添字 * と、期待値 E の下付き添字は省略#TokyoWebmining Infer.NET でグラフィカルモデルを計算する by @wk77 p. 16
  17. 17. 混合ガウス分布:変分下限の各項(1) • 変分下限の各項を展開する - D は x の次元。C(α) は (B.23)、B(W, ν) は (B.79) で定義#TokyoWebmining Infer.NET でグラフィカルモデルを計算する by @wk77 p. 17
  18. 18. 混合ガウス分布:変分下限の各項(2) • 変分下限の各項を展開する - H[q(Λk)] はウィシャート分布のエントロピー - 分布 q の対数の期待値を含む項は、 -∫q(Z) ln q(Z) dZ という形をしており 単にそれらの分布の負のエントロピーを表す - 理解を容易にするよう別々の項として記述されており、 足し合わせてこれらの項を簡単にしたりまとめたりできる#TokyoWebmining Infer.NET でグラフィカルモデルを計算する by @wk77 p. 18
  19. 19. 変分下限の各項を展開する準備(1) • 前述の混合ガウス分布の式から p を分解 - パラメータの事前分布に共役事前分布を用いることで、 事後分布の関数形が既知になり、計算が容易になる - 混合比 π の事前分布にはディリクレ分布を用いる - 混合要素の事前分布にはガウス-ウィシャート分布を用いる#TokyoWebmining Infer.NET でグラフィカルモデルを計算する by @wk77 p. 19
  20. 20. 変分下限の各項を展開する準備(2) • 変分近似の式 (10.42) と計算の結果から q を分解 - 混合ガウス分布の変分ベイズ法において、 実際に計算可能な解を得る上で必要な唯一の仮定 (10.42) - さらなる分解 (10.55) は、(10.9) を用いて実際に式を展開して、式 (10.54) を導くか、後述するグラフィカルなテストで確認できる#TokyoWebmining Infer.NET でグラフィカルモデルを計算する by @wk77 p. 20
  21. 21. § 10.2.5 導出された分解 • 混合ガウス分布の変分ベイズ法の更新式を導く過程で 変分事後分布を q(Z)q(π, μ, Λ) に分解できると仮定 • しかし実際には、各因子の最適解はさらに分解される - 各観測値 (の添字) n について znk の和が 1 になるので、 k についてこれ以上は分解できないことに注意する • 「導出された分解」(induced factorization) - 変分事後分布を分解する仮定と、 真の同時分布のもつ条件つき独立性の、 相互作用から導出されるので、こう呼ぶ - 図 10.5 の有向グラフが、真の分布の条件つき独立性を表す#TokyoWebmining Infer.NET でグラフィカルモデルを計算する by @wk77 p. 21
  22. 22. 導出された分解を考慮する理由 • 変分ベイズ法の数値解を求める実装を行う際には、 こうした導出された分解を考慮することが重要である • ガウス分布の精度行列(共分散の逆行列)を例に考える - 求める最適な分布の精度行列が常に対角行列ならば、 各確率変数は独立であり、各変数について分解できる - この場合、精度行列を完全な形で保っておくことは、 対角成分だけを保存しておくことに比べて、 メモリの使用量も計算量も、極めて非効率的である#TokyoWebmining Infer.NET でグラフィカルモデルを計算する by @wk77 p. 22
  23. 23. 導出された分解を有向分離により見つける (1) • 導出された分解は、有向分離 (§ 8.2.2, pp.90-91) に基づくグラフィカルなテストで簡単に見つけられる - 潜在変数を 3 つの別々なグループ A, B ,C に分け、 C と残りの項が分解されると仮定する - 一般的な結果 および確率の乗法定理を用いると、q(A, B)の最適解は • EC[ln p(X,C)] は A, B に依存せず正規化定数に含まれる#TokyoWebmining Infer.NET でグラフィカルモデルを計算する by @wk77 p. 23
  24. 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 の全ての要素について、 グラフィカルモデル上で有向分離基準を適用する#TokyoWebmining Infer.NET でグラフィカルモデルを計算する by @wk77 p. 24
  25. 25. ベイズ混合ガウス分布モデルについて確認する • パラメータの変分事後分布 q(π, μ, Λ) が、 さらに q(π) と q(μ, Λ) に分けられることを 混合ガウス分布のグラフィカルモデルで確認する - C={zn}, A={π}, B={μ, Λ} として、 A と B をつなぎうる全ての経路が 遮断されているかどうかを確認する - 経路の各構成要素(3ノード)を見ていく - π→zn→xn の経路(全ての n)を見れば C について head-to-tail であるという p.91 の条件 (a) を zn が満たすので、 経路が遮断されていることがわかる • したがって、 が成立する#TokyoWebmining Infer.NET でグラフィカルモデルを計算する by @wk77 p. 25
  26. 26. 演習 10.16 (10.71)(10.72) を確かめる (1) • 実際に下限の項を求める - (10.38) 式 の対数をとって、期待値を計算する#TokyoWebmining Infer.NET でグラフィカルモデルを計算する by @wk77 p. 26
  27. 27. 演習 10.16 (10.71)(10.72) を確かめる (2) • 期待値 の各項の計算は (10.64)(10.65) (演習10.14) • 結果として次の式が得られる#TokyoWebmining Infer.NET でグラフィカルモデルを計算する by @wk77 p. 27
  28. 28. 演習 10.16 (10.71)(10.72) を確かめる (3) • 混合要素の変分事後分布と、 そのパラメータの定義を求める 演習 10.13 の結果に、 観測データの負担率から計算できる統計量を代入する#TokyoWebmining Infer.NET でグラフィカルモデルを計算する by @wk77 p. 28
  29. 29. 演習 10.16 (10.71)(10.72) を確かめる (4) • p(Z|π) に対応する変分下限の項について - 式 (10.37) の対数の期待値をとる - ディリクレ分布の標準的な性質(付録B)から 式 (10.66) から得られるので、ここでもそれを使えばよい#TokyoWebmining Infer.NET でグラフィカルモデルを計算する by @wk77 p. 29
  30. 30. 混合ガウス分布の変分ベイズの再推定式 • 変分下限を用いることで、10.2.1 節で得られた 変分ベイズ法の再推定式を、別の方法で求められる - モデルが共役事前分布を持っているため、 変分事後分布の関数形は既知である - Z は離散分布、π はディリクレ分布、 (μk, Λk) はガウス-ウィシャート分布 であることを利用する • 変分下限をパラメータの関数として求め、式を微分し 最大化することで、変分ベイズの更新則を求める • 手計算でもよいが、Infer.NET を使えば この面倒な過程を意識せず、自動で計算してくれる!#TokyoWebmining Infer.NET でグラフィカルモデルを計算する by @wk77 p. 30
  31. 31. Infer.NET の概要(Infer.chm より)(1) • Infer.NET は、グラフィカルモデルにおいて ベイズ推論を行うためのフレームワークである - 最新のメッセージパッシングアルゴリズムと、 様々なアプリ内での推論に必要な統計ルーチンを提供する • 強力なグラフィカルモデリング言語 - 連続と離散両方の、単変量変数と多変量変数をサポート - 算術演算子、線形代数、範囲変数と許容解の制約表現、 ブール演算、ディリクレ離散、ガウス過程、他多数の因子 • 複数のベイズ推論アルゴリズム - 期待値伝搬法(Expectation Propagation。以下 EP と略) - 確率伝搬法(Belief Propagation。BP と略) - 変分メッセージパッシング(VMP。EM 法や変分ベイズ法) - ギブスサンプリング(MCMC の一手法)#TokyoWebmining Infer.NET でグラフィカルモデルを計算する by @wk77 p. 31
  32. 32. Infer.NET の概要(Infer.chm より)(2) • 大規模な推論のために設計されている - Infer.NET は高速な推論を実現するために、モデル記述を コンパイルして、推論を行うC#のソースコードを生成する - 必要に応じて変更を加え、素直にビルド&デバッグできる - アプリ実行中に、モデルからの動的コード生成も可能 - 全ての条件つき分布が共役事前分布の構造を持つ 指数型分布族の形で書けるモデルで書ける場合(中略)、 変分ベイズ法の更新式は局所的な メッセージパッシングとして表せる(PRML本下巻 p.207) • ユーザーによる拡張可能性 - 確率分布、因子、メッセージ操作、推論アルゴリズムを、 必要に応じてユーザーが追加しやすく設計されている - C#, VB, F#, IronPython, Mono などから利用可能#TokyoWebmining Infer.NET でグラフィカルモデルを計算する by @wk77 p. 32
  33. 33. Infer.NET 2.4β のダウンロードとインストール • Infer.NET の公式サイトから、msi パッケージの ファイルをダウンロード&実行し、インストールする - My DocumentsInfer.NET 2.4 以下に、一部のバイナリとサンプルプログラムが格納 - Program FilesMicrosoft ResearchInfer.NET 2.4 Beta 以下に、全てのバイナリ、ヘルプ文書、一部のソース • バイナリは Infer.Compiler.dll, Infer.Runtime.dll, 他 • スタートメニューからヘルプ文書を参照できる - “User Guide and Code Documentation” (Infer.chm) • サンプルプログラムのソリューションファイルを Visual Studio で開いて実行する - 無料で使える Visual C# 2010 Express Edition で実行可#TokyoWebmining Infer.NET でグラフィカルモデルを計算する by @wk77 p. 33
  34. 34. Infer.NET 2.4β サンプルプログラム一覧 • Tutorials - 2枚のコイン、切断されたガウシアン、 ガウシアン分布を学習する、ベイズポイントマシン、 クリニカルトライアル(医薬品の効果)、混合ガウス分布 • Examples - 潜在的ディリクレ配分法 (LDA)。標準LDA。共通変数LDA - 多クラス分類。(疎な)ベイズポイントマシン - ガウス過程による分類 - クリックスルーモデル(実際的なモデルの利用) - クリックモデル - BUGS(MCMC 計算アプリ)の Rats example - 画像分類タスク - モンティ・ホール問題#TokyoWebmining Infer.NET でグラフィカルモデルを計算する by @wk77 p. 34
  35. 35. Infer.NET のコンポーネントとアーキテクチャ “Infer.NET 2.4β User Guide and Code Documentation (Infer.chm)” から転載#TokyoWebmining Infer.NET でグラフィカルモデルを計算する by @wk77 p. 35
  36. 36. Infer.NET の動作 “Infer.NET 2.4β User Guide and Code Documentation (Infer.chm)” から転載 - ユーザがモデルと推論クエリを与える • モデルやクエリを得る API を利用する • C# などによる、内部 DSL 相当の記述となる - モデルコンパイラが、推論の計算を行う C# ソースを生成 - C# コンパイラが、その C# ソースをコンパイルする - 推論エンジンのパラメータや、観測データを与える - 推論クエリにもとづき、値や分布が返される#TokyoWebmining Infer.NET でグラフィカルモデルを計算する by @wk77 p. 36
  37. 37. Infer.NET で扱える分布の因子(1) • 離散変数に関する分布 “Infer.NET 2.4β User Guide and Code Documentation (Infer.chm)” から転載#TokyoWebmining Infer.NET でグラフィカルモデルを計算する by @wk77 p. 37
  38. 38. Infer.NET で扱える分布の因子(2) • 連続変数に関する分布 • 多変量分布 “Infer.NET 2.4β User Guide and Code Documentation (Infer.chm)” から転載#TokyoWebmining Infer.NET でグラフィカルモデルを計算する by @wk77 p. 38
  39. 39. Infer.NET のファーストサンプルプログラム • 実際の問題にどう適用できるかはこのあとで! @tsubosaka 先生お願いします!><#TokyoWebmining Infer.NET でグラフィカルモデルを計算する by @wk77 p. 39
  40. 40. 参考文献 • C. M. Bishop: "Pattern Recognition and Machine Learning", Springer (2006) • C. M. ビショップ, 元田浩, 栗田多喜夫, 樋口知之, 松本裕治, 村田昇: "パター ン認識と機械学習 上 / 下 - ベイズ理論による統計的予測", シュプリンガー・ジャ パン (2007-2008) • "Infer.NET 2.4β User Guide and Code Documentation (Infer.chm)", Microsoft • S. S. J. Wang and M. P. Wand: "Using Infer.NET for Statistical Analyses", Working Paper at Centre for Statistical and Survey Methodology, 06-10 (2010) • 田中和之: "ベイジアンネットワークの統計的推論の数理", コロナ社 (2009) • 伊庭幸人: "ベイズ統計と統計物理", 岩波書店 (2003) • 汪金芳, 手塚集, 上田修功, 田栗正章, 樺島祥介: "計算統計Ⅰ", 岩波書店 (2003) • 竹村彰通, 谷口正信: "統計学の基礎Ⅰ", 岩波書店 (2003)#TokyoWebmining Infer.NET でグラフィカルモデルを計算する by @wk77 p. 40
  41. 41. TODO: • 結局自分がグラフについてもっと理解したいだけ… - 確率伝搬法(BP)による周辺分布の計算 - 周辺分布と事後分布の使い分け - 回帰・予測・分類などのタスクの分類とグラフ構造の差異 - EM, GEM, VB を統一的に説明(計算統計Ⅰ) - 局所的変分メッセージパッシングのイメージ - EP 法の丁寧な解説。BP との対応 - MCMC(計算統計Ⅱ)と、VB などの最適化手法の比較 - 実際のアプリでどんな推論クエリが必要になるか • もっと Infer.NET についてコードを増やして説明 - LDA、クリックスルー、多クラス画像分類のサンプル解説#TokyoWebmining Infer.NET でグラフィカルモデルを計算する by @wk77 p. 41

×