狠狠撸

狠狠撸Share a Scribd company logo
第16回PRML読書会 発表資料
13.2.3 HMMの積和アルゴリズム
         2010/07/17
     Presented by takmin
この章で言いたいこと
? 積和アルゴリズムでもフォワード-バックワード
  アルゴリズムが导出できる
おさらい:積和アルゴリズム
? グラフィカルモデルにおける各ノード x n の周
  辺分布 p ( xn ) を求めるアルゴリズム
? 有向/無向グラフを因子グラフに変換し,各
  ノードからメッセージを計算しながら伝搬する
      p(z1 )   p(z 2 )   p ( z n ?1 )   p(z n )   p ( z n ?1 )
求まる
おさらい:積和アルゴリズム
? 因子グラフ
  – 確率モデルを因数分解の形で表したグラフ
   p( x1 , x2 , x3 , x4 , x5 ) ? f1 ( x1 , x2 ) f 2 ( x2 , x3 , x4 ) f 3 ( x4 , x5 )

          x5                            x3                          x1         変数
                                                                               ノード

                                                                               因子
f 3 ( x4 , x5 )         f 2 ( x2 , x3 , x4 )               f1 ( x1 , x2 )      ノード



                       x4                             x2
おさらい:積和アルゴリズム
 ? 因子グラフの作り方
                                f ( x1 , x2 , x3 )
       p( x1 )       p ( x2 )      ? p( x3 | x1 , x2 ) p( x1 ) p( x2 )




p( x3 | x1 , x2 )

                 有向グラフ                   因子グラフ
おさらい:積和アルゴリズム
 ? 因子グラフの作り方
                                f a ( x1 ) ? p( x1 )
                                f b ( x2 ) ? p ( x 2 )
       p( x1 )       p ( x2 )
                                f c ( x1 , x2 , x3 ) ? p( x3 | x1 , x2 )




p( x3 | x1 , x2 )

                 有向グラフ                  因子グラフ
おさらい:積和アルゴリズム
? メッセージの伝搬
 – 各変数ノード,因子ノードでの計算結果を伝搬し
   ていき,各変数ノードにおける分布 p ( xn ) を求め
   る
  x5                      x3                             x1
        ?x ? f
             5     3                   ?f                               ?x ? f
                                                                          1   1
                                            2 ? x3

   f3    ?f               f2                              f1
                 3 ? x4                     ?x ? f
                                                2    2


                                                               ? f ?x
        x4                ?x ? f
                               4   2
                                        x2
                                                                 1   1
おさらい:積和アルゴリズム
1. 始点(葉ノード)を決めて,メッセージの伝搬
   を開始する
 – 始点が変数ノードの場合                  ? x? f
   ? x ? f ( x) ? 1
                 (8.70)    x             f

 – 始点が因子ノードの場合
                               ? f ?x
  ? f ? x ( x) ? f ( x)
                  (8.71)   f             x
おさらい:積和アルゴリズム
2. 各ノードでメッセージを計算
 – 変数ノードの場合
  ?x   m ? fs
                ( xm ) ?        ??
                           l?ne( xm )  f s
                                               f l ? xm   ( xm )   (8.69)


       f1
                    ? f ?x m
                      1

            ?
            ?
                                ?x   m?   fs
       fl   ?


            ?
            ?
                           xm                  fs
       fL   ?
おさらい:積和アルゴリズム
2. 各ノードでメッセージを計算
 – 因子ノードの場合
 ? f ? x ( x) ? ??? f s ( x, x1 ,?, xM )
   s                                              ??         xm ? f s   ( xm )
                x1         xM                 m?ne( f s )  x
       x1                                                               (8.66)
                     ?x ? f s
                       1


            ?                    ? f ?x
            ?                      s
       xm   ?


            ?
            ?               fs            x
       xM   ?
おさらい:積和アルゴリズム
3. メッセージが根ノードに達したら,葉ノードに
   向けて逆向きにメッセージを伝搬していく




 (a)葉ノードから根ノードへ   (b)根ノードから葉ノードへ
おさらい:積和アルゴリズム
4. 逆伝播メッセージが葉ノードまで達したら,
   各変数ノードの周辺分布 p ( xn ) を以下の式で
   求める
     p( xn ) ? ? ? f s ? xn ( xn ) (8.63)
                s?ne( xn )

                             fs
                      ? f ?x
                         s


           f1                         fS

                                  x
おさらい:積和アルゴリズム
5. 各因子ノードに接続された周辺の変数群 x s
   の同時分布は以下の式で求める
    p(x s ) ? f s (x s )        ??
                           i?ne( f s )
                                         xi ? f s   ( xi )   (8.72)




                     xi

                   ?x ? f
                     i      s




                                fS
HMMの積和アルゴリズム
? HMMを因子グラフへ変換

有向グラフ



        観測値は因子ノードに
          入れてしまう

因子グラフ
HMMの積和アルゴリズム
? HMMを因子グラフへ変換

 HMM




                                     ?N                ? N
p(x1 ,?, x N , z1 ,?, z N ) ? p(z1 ) ?? p(z n | z n?1 )?? p(x n | z n )
                                     ? n?2             ? n?1
                                                              (13.6)
HMMの積和アルゴリズム
? HMMを因子グラフへ変換


                                     ? N                ? N
p(x1 ,?, x N , z1 ,?, z N ) ? p(z1 ) ?? p(z n | z n ?1 )?? p(x n | z n )
                                     ? n?2              ? n ?1
                                          N
                               ? h(z1 )? f n (z n ?1 , z n )
                                         n?2

h(z1 ) ? p(z1 ) p(x1 | z1 )                                (13.45)


f n (z n ?1 , z n ) ? p(z n | z n ?1 ) p (x n | z n )      (13.46)
HMMの積和アルゴリズム
1. 始点(葉ノード)を決めて,メッセージの伝搬
   を開始する
      ? h ?z   1




  h                z1

  ?h?z (z1 ) ? h(z1 )
        1
HMMの積和アルゴリズム
1. 始点(葉ノード)を決めて,メッセージの伝搬
   を開始する
 – フォワード-バックワードアルゴリズムとの比較
積和アルゴリズム

     ?h?z (z1 ) ? h(z1 ) ? p(z1 ) p(x1 | z1 )
          1
                                                            (13.45)


                                       ? (z1 ) ? ? f   n ?z n
                                                                (z1 )

フォワード-バックワードアルゴリズム

              ? (z1 ) ? p(z1 ) p(x1 | z1 )                  (13.37)
HMMの積和アルゴリズム
2. 各ノードでメッセージを計算
 – 変数ノードの場合
  ?z   n ? f n?1
                   (z n ) ?             ??          f l ?z n
                                  l?ne( z n )  f n?1
                                                                 (z n )     (8.69)



                             ? ? f n ?z n ( z n )                         (13.47)


                        ?f   n ?z n
                                            ?z   n?   f n ?1



                   fn                  zn               f n ?1
HMMの積和アルゴリズム
2. 各ノードでメッセージを計算
 – 因子ノードの場合
  ?f   n ?z n
                (z n ) ? ? f s (z n , z m )                       ??      zm ? fn   (z m )   (8.66)
                          zm                              m?ne( f n )  z n

                     ? ? f n (z n ?1 , z n ) ? z n?1 ? f n (z n ?1 )                    (13.48)
                         z n?1


                          ?z     n?1 ? f   n
                                                    ?f   n ?z n




                      z n ?1                   fn                 zn
HMMの積和アルゴリズム
2. 各ノードでメッセージを計算
変数ノード:
 ?z   n ? fn
             (z n?1 ) ? ? f n?1 ?z n?1 (z n?1 )                       (13.47)


因子ノード:
?f   n ?z n
            (z n ) ? ? f n (z n?1 , z n ) ? z n?1 ? f n (z n?1 )      (13.48)

                        z n?1




?f   n ?z n
              (z n ) ? ? f n (z n?1 , z n ) ? f n?1 ?z n?1 (z n?1 )   (13.49)
                        z n?1
HMMの積和アルゴリズム
2. 各ノードでメッセージを計算
 – フォワード-バックワードアルゴリズムとの比較
積和アルゴリズム
 ?f   n ?z n
               (z n ) ? ? f n (z n ?1 , z n ) ? f n?1 ?z n?1 (z n ?1 )   (13.49)
                         z n?1          (13.46)

                      ? ? p(z n | z n ?1 ) p(x n | z n ) ? f n?1 ?z n?1 (z n ?1 )
                         z n?1

                                                         ? (z n ) ? ? f   n ?z n
                                                                                   (z n )
フォワード-バックワードアルゴリズム

      ? (z n ) ? p(x n | z n )? ? (z n?1 ) p(z n | z n ?1 )                    (13.36)
                                       z n?1
HMMの積和アルゴリズム
2. 各ノードでメッセージを計算
 – フォワード-バックワードアルゴリズムとの比較



 ? (z n ) ? ? f   n ?z n
                         (z n )   (13.50)
HMMの積和アルゴリズム
3. メッセージが根ノードに達したら,葉ノードに
   向けて逆向きにメッセージを伝搬していく
 – 根ノードの始点が変数ノード

      ?z   N ? fN
                    (z N ) ? 1                (8.70)




                             ?z   N   ? fN




                        fN                   zN
HMMの積和アルゴリズム
3. メッセージが根ノードに達したら,葉ノードに
   向けて逆向きにメッセージを伝搬していく
 – フォワード-バックワードアルゴリズムとの比較
積和アルゴリズム
           ?z   N ? fN
                         (z N ) ? 1                         (8.70)


                                      ? (z N ) ? ? z   N ? fN
                                                                (z N )

フォワード-バックワードアルゴリズム

                 ? (z N ) ? 1                               (13.37)
HMMの積和アルゴリズム
3. メッセージが根ノードに達したら,葉ノードに
   向けて逆向きにメッセージを伝搬していく

 ?z   n ? fn
               (z n ) ? ? f n?1 ?z n (z n )
                      ? ? f n?1 (z n , z n?1 ) ? z n?1 ? f n?1 (z n?1 )                   (13.51)’
                           z n?1

                      ?z   n ? fn
                                         ?f   n?1 ? z n
                                                             ?z    n?1 ? f n?1




                 fn                 zn                    f n ?1                 z n ?1
HMMの積和アルゴリズム
 3. メッセージが根ノードに達したら,葉ノードに
    向けて逆向きにメッセージを伝搬していく
      – フォワード-バックワードアルゴリズムとの比較
 積和アルゴリズム
 ?z   n ? fn
               (z n ) ? ? f n ?1 (z n , z n ?1 ) ? z n?1 ? f n?1 (z n ?1 )            (13.51)’
                         z n?1
                                           (13.46)
                     ? ? p(z n ?1 | z n ) p(x n ?1 | z n ?1 ) ? z n?1 ? f n?1 (z n ?1 )
                         z n?1
                                                            ? (z n ) ? ? z   n ? fn
                                                                                      (z n )
フォワード-バックワードアルゴリズム
        ? (z n ) ? ? ? (z n?1 ) p(x n?1 | z n?1 ) p(z n?1 | z n )                      (13.38)
                        z n?1
HMMの積和アルゴリズム
3. メッセージが根ノードに達したら,葉ノードに
   向けて逆向きにメッセージを伝搬していく
 – フォワード-バックワードアルゴリズムとの比較


  ? (z n ) ? ? z   n ? fn
                          (z n )   (13.52)’
HMMの積和アルゴリズム
4. 逆伝播メッセージが葉ノードまで達したら,
   各変数ノードの周辺分布 p ( z n ) を以下の式で
   求める
     p ( z n ) ? ? ? f s ?z n ( z n ) (8.63)’
               s?ne( z n )

            ? ? f n ?z n (z n ) ? f n?1 ?z n (z n )
                   ?f   n ?z n
                                      ?f   n?1 ? z n




              fn                 zn                f n ?1
HMMの積和アルゴリズム
周辺分布 p ( z n ) は既に観測変数 X ? ?x1 , ? , x N ?
により条件付けられているので,
p(z n , X) ? ? f n ?z n (z n )?z n ? f n (z n ) ? ? (z n )? (z n )
                                                             (13.53)


                p(z n , X) ? (z n )? (z n )
     ? (z n ) ?           ?                                  (13.54)
                 p(X)          p( X)

    (13.33)と同じγ (zn)が導けた!
HMMの積和アルゴリズム
5. 各因子ノードに接続された周辺の変数群 x s
   の同時分布は以下の式で求める
             p(x s ) ? f s (x s )             ??
                                            i?ne( f s )
                                                          xi ? f s   ( xi )   (8.72)




p(z n?1 , z n ) ? f n (z n?1 , z n )?z n ? f n (z n )?z n?1 ? f n (z n?1 )
                          ?z    n?1 ? f n
                                                ?z   n ? fn




                       z n ?1                fn               zn
HMMの積和アルゴリズム
演習13.11
ξ (zn-1, zn)を導く
p(z n?1 , z n , X) ? f n (z n?1 , z n ) ?z n ? f n (z n ) ?z n?1 ? f n (z n?1 )
                ? p(z n | z n?1 ) p(x n | z n ) ? (z n )? (z n?1 )
                                             p(z n ?1 , z n , X)
? (z n ?1 , z n ) ? p(z n ?1 , z n | X) ?
                                                  p ( X)
                   ? (z n ?1 ) p(x n | z n ) p(z n | z n ?1 ) ? (z n )
                 ?
                                        p ( X)
         (13.43)と同じξ (zn-1, zn)が導けた!
まとめ
? 積和アルゴリズムでもフォワード-バックワード
  アルゴリズムと同じことができた。
ご静聴ありがとうございました。

More Related Content

What's hot (20)

PDF
独立成分分析と笔别谤蹿耻尘别
Yurie Oka
?
PDF
統計的因果推論への招待 -因果構造探索を中心に-
Shiga University, RIKEN
?
PDF
摆顿尝轮読会闭滨颁尝搁2020の分布外検知速报
Deep Learning JP
?
PDF
笔搁惭尝轮読#5
matsuolab
?
PDF
整数计画法に基つ?く説明可能性な机械学习へのアフ?ローチ
Kentaro Kanamori
?
PDF
変分推論と Normalizing Flow
Akihiro Nitta
?
PDF
クラシックな機械学習の入門  9. モデル推定
Hiroshi Nakagawa
?
PDF
最急降下法
Akira Miyazawa
?
PPTX
組込向けDeep Learning最新技術の紹介 量子化テクニックとDorefaNetについて
Natsutani Minoru
?
PDF
CVPR2016 reading - 特徴量学習とクロスモーダル転移について
Akisato Kimura
?
PPTX
変分ベイズ法の説明
Haruka Ozaki
?
PDF
レプリカ交换モンテカルロ法で乱数の生成
Nagi Teramo
?
PPTX
独立性基準を用いた非負値行列因子分解の効果的な初期値決定法(Statistical-independence-based efficient initia...
Daichi Kitamura
?
PDF
パターン認識と機械学習 §6.2 カーネル関数の構成
Prunus 1350
?
PDF
制限ボルツマンマシン入门
佑馬 斎藤
?
PDF
笔搁惭尝轮読#8
matsuolab
?
PDF
混合モデルと贰惭アルゴリズム(笔搁惭尝第9章)
Takao Yamanaka
?
PPTX
笔搁惭尝第6章「カーネル法」
Keisuke Sugawara
?
PDF
确率的主成分分析
Mika Yoshimura
?
PDF
ベイズ统计入门
Miyoshi Yuya
?
独立成分分析と笔别谤蹿耻尘别
Yurie Oka
?
統計的因果推論への招待 -因果構造探索を中心に-
Shiga University, RIKEN
?
摆顿尝轮読会闭滨颁尝搁2020の分布外検知速报
Deep Learning JP
?
笔搁惭尝轮読#5
matsuolab
?
整数计画法に基つ?く説明可能性な机械学习へのアフ?ローチ
Kentaro Kanamori
?
変分推論と Normalizing Flow
Akihiro Nitta
?
クラシックな機械学習の入門  9. モデル推定
Hiroshi Nakagawa
?
最急降下法
Akira Miyazawa
?
組込向けDeep Learning最新技術の紹介 量子化テクニックとDorefaNetについて
Natsutani Minoru
?
CVPR2016 reading - 特徴量学習とクロスモーダル転移について
Akisato Kimura
?
変分ベイズ法の説明
Haruka Ozaki
?
レプリカ交换モンテカルロ法で乱数の生成
Nagi Teramo
?
独立性基準を用いた非負値行列因子分解の効果的な初期値決定法(Statistical-independence-based efficient initia...
Daichi Kitamura
?
パターン認識と機械学習 §6.2 カーネル関数の構成
Prunus 1350
?
制限ボルツマンマシン入门
佑馬 斎藤
?
笔搁惭尝轮読#8
matsuolab
?
混合モデルと贰惭アルゴリズム(笔搁惭尝第9章)
Takao Yamanaka
?
笔搁惭尝第6章「カーネル法」
Keisuke Sugawara
?
确率的主成分分析
Mika Yoshimura
?
ベイズ统计入门
Miyoshi Yuya
?

Similar to Chapter13.2.3 (20)

PDF
PRML 8.4-8.4.3
KunihiroTakeoka
?
PDF
動的計画法入門(An introduction to Dynamic Programming)
kakira9618
?
PDF
PRML復々習レーン#7 前回までのあらすじ
sleepy_yoshi
?
PDF
PRML復々習レーン#9 前回までのあらすじ
sleepy_yoshi
?
PDF
公開鍵暗号2: NP困難性
Joe Suzuki
?
PDF
パターン認識と機械学習 13章 系列データ
emonosuke
?
PDF
13.2 隠れマルコフモデル
show you
?
PDF
Infer net wk77_110613-1523
Wataru Kishimoto
?
PDF
生物統計特論3資料 2006 ギブス MCMC isseing333
Issei Kurahashi
?
PDF
Shunsuke Horii
Suurist
?
PDF
統計的因果推論 勉強用 isseing333
Issei Kurahashi
?
PDF
NLPforml5
Hidekazu Oiwa
?
PDF
kibayos beaker-070829
Mikio Yoshida
?
PDF
17th cvsaisentan takmin
Takuya Minagawa
?
PDF
分布 isseing333
Issei Kurahashi
?
PDF
プログラミングコンテストでの乱択アルゴリズム
Takuya Akiba
?
PDF
事前分布との出会い
Shigeru Kishikawa
?
PDF
PRML 8.2 条件付き独立性
sleepy_yoshi
?
PDF
Nn bp formula
Shuichi Jinushi
?
PDF
PRML復々習レーン#9 6.3-6.3.1
sleepy_yoshi
?
PRML 8.4-8.4.3
KunihiroTakeoka
?
動的計画法入門(An introduction to Dynamic Programming)
kakira9618
?
PRML復々習レーン#7 前回までのあらすじ
sleepy_yoshi
?
PRML復々習レーン#9 前回までのあらすじ
sleepy_yoshi
?
公開鍵暗号2: NP困難性
Joe Suzuki
?
パターン認識と機械学習 13章 系列データ
emonosuke
?
13.2 隠れマルコフモデル
show you
?
Infer net wk77_110613-1523
Wataru Kishimoto
?
生物統計特論3資料 2006 ギブス MCMC isseing333
Issei Kurahashi
?
Shunsuke Horii
Suurist
?
統計的因果推論 勉強用 isseing333
Issei Kurahashi
?
NLPforml5
Hidekazu Oiwa
?
kibayos beaker-070829
Mikio Yoshida
?
17th cvsaisentan takmin
Takuya Minagawa
?
分布 isseing333
Issei Kurahashi
?
プログラミングコンテストでの乱択アルゴリズム
Takuya Akiba
?
事前分布との出会い
Shigeru Kishikawa
?
PRML 8.2 条件付き独立性
sleepy_yoshi
?
Nn bp formula
Shuichi Jinushi
?
PRML復々習レーン#9 6.3-6.3.1
sleepy_yoshi
?
Ad

More from Takuya Minagawa (20)

PDF
「第63回コンピュータビジョン勉强会@関东」発表资料 颁痴の社会実装について考えていたらゲームを作っていた话
Takuya Minagawa
?
PDF
第61回CV勉強会「CVPR2024読み会」(前編)発表資料:State Space Models for Event Cameras
Takuya Minagawa
?
PDF
ろくに電子工作もしたことない人間がIoT用ミドルウェアを作った話(IoTLT vol112 発表資料)
Takuya Minagawa
?
PDF
Machine Learning Operations (MLOps): Overview, Definition, and Architecture
Takuya Minagawa
?
PDF
MobileNeRF
Takuya Minagawa
?
PDF
点群厂别驳尘别苍迟补迟颈辞苍のための罢谤补苍蝉蹿辞谤尘别谤サーベイ
Takuya Minagawa
?
PDF
Learning to Solve Hard Minimal Problems
Takuya Minagawa
?
PDF
ConditionalPointDiffusion.pdf
Takuya Minagawa
?
PDF
楽しいコンピュータビジョンの受託仕事
Takuya Minagawa
?
PDF
20210711 deepI2P
Takuya Minagawa
?
PDF
20201010 personreid
Takuya Minagawa
?
PDF
20200910コンピュータビジョン今昔物语(闯笔罢础讲演资料)
Takuya Minagawa
?
PDF
2020/07/04 BSP-Net (CVPR2020)
Takuya Minagawa
?
PDF
20200704 bsp net
Takuya Minagawa
?
PDF
20190825 vins mono
Takuya Minagawa
?
PDF
20190706cvpr2019_3d_shape_representation
Takuya Minagawa
?
PDF
20190307 visualslam summary
Takuya Minagawa
?
PDF
Visual slam
Takuya Minagawa
?
PDF
20190131 lidar-camera fusion semantic segmentation survey
Takuya Minagawa
?
PDF
2018/12/28 LiDARで取得した道路上点群に対するsemantic segmentation
Takuya Minagawa
?
「第63回コンピュータビジョン勉强会@関东」発表资料 颁痴の社会実装について考えていたらゲームを作っていた话
Takuya Minagawa
?
第61回CV勉強会「CVPR2024読み会」(前編)発表資料:State Space Models for Event Cameras
Takuya Minagawa
?
ろくに電子工作もしたことない人間がIoT用ミドルウェアを作った話(IoTLT vol112 発表資料)
Takuya Minagawa
?
Machine Learning Operations (MLOps): Overview, Definition, and Architecture
Takuya Minagawa
?
MobileNeRF
Takuya Minagawa
?
点群厂别驳尘别苍迟补迟颈辞苍のための罢谤补苍蝉蹿辞谤尘别谤サーベイ
Takuya Minagawa
?
Learning to Solve Hard Minimal Problems
Takuya Minagawa
?
ConditionalPointDiffusion.pdf
Takuya Minagawa
?
楽しいコンピュータビジョンの受託仕事
Takuya Minagawa
?
20210711 deepI2P
Takuya Minagawa
?
20201010 personreid
Takuya Minagawa
?
20200910コンピュータビジョン今昔物语(闯笔罢础讲演资料)
Takuya Minagawa
?
2020/07/04 BSP-Net (CVPR2020)
Takuya Minagawa
?
20200704 bsp net
Takuya Minagawa
?
20190825 vins mono
Takuya Minagawa
?
20190706cvpr2019_3d_shape_representation
Takuya Minagawa
?
20190307 visualslam summary
Takuya Minagawa
?
Visual slam
Takuya Minagawa
?
20190131 lidar-camera fusion semantic segmentation survey
Takuya Minagawa
?
2018/12/28 LiDARで取得した道路上点群に対するsemantic segmentation
Takuya Minagawa
?
Ad

Chapter13.2.3