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.

第5章混合分布モデルによる逐次更新型異常検知

2,130 views

Published on

機械学習プロフェッショナルシリーズ勉強会の説明資料です

Published in: Science
  • Be the first to comment

第5章混合分布モデルによる逐次更新型異常検知

  1. 1. 異常検知と変化検知 第5章 混合分布モデルによる 逐次更新型異常検知 多田哲馬
  2. 2. 前回まで • 1章 異常検知・変化検知の基本的な考え方 • 2章 ホテリングの  法による異常検知 • 3章 単純ベイズ法による異常検知 • 4章 近傍法による異常検知 T2
  3. 3. 背景 • 人の発汗量と消費カロリーの関係をプロット • 座っている時、歩いている時、走っている時という それぞれのモードで異なる傾向をもつ • 複数のモードを一緒に扱って異常検知したい
  4. 4. 本章の目標 • 混合正規分布モデルを導入する • パラメータの最尤解を求めるとき、微分が難しいとい う問題がある • EMアルゴリズムを用いて反復的に求める方法を紹介 • 同時に時々刻々と変化する場合でも異常検知する方法を 紹介 • 逐次更新型異常検知
  5. 5. 5.1 混合分布モデルとその 逐次更新:問題設定 ! ! ! • 実データにおいては系がいくつか異なる動作モード をもつ場合がある • 机に向かってる時、歩いてる時、走ってる時 消費カロリー 発 汗 量
  6. 6. 混合モデル • はxについて規格化された確率分布 • 条件からxで積分すると全体が1になる p(x|⇥) = KX k=1 ⇡kpk(x|✓k), ⇡1 + · · · + ⇡K = 1 pk(x|✓k) ⇥ = {⇡1, ..., ⇡K, ✓1, ..., ✓K} 混合重み パラメータ
  7. 7. 混合重みの最尤推定 • データDが のように与えられた とするとΘについての対数尤度は ! • 各パラメータの微分を0と置いても簡単に求められ ない。パラメータ推定には別の方法がいる →EMアルゴリズム {x(1) , x(2) , ..., x(N) } L(⇥|D) = NX n=1 ln KX k=1 ⇡kpk(x(n) |✓k)
  8. 8. 混合正規分布 ! ! • 上記の式で を正規分布 と選ん だものを混合正規分布という • このとき p(x|⇥) = KX k=1 ⇡kpk(x|✓k), ⇡1 + · · · + ⇡K = 1 pk(x|✓k) N(x|µk, ⌃k) ✓k = {µk, ⌃k}
  9. 9. データが時系列の場合 ! ! • 混合重みの最尤推定の式、Dを時系列データとし、 古いデータを徐々に忘れたいとすると(wは重み) L(⇥|D) = NX n=1 ln KX k=1 ⇡kpk(x(n) |✓k) L(⇥|D(t) ) = tX n=1 w (n) t ln KX k=1 ⇡kN(x(n) |µk, ⌃k)
  10. 10. 混合正規分布の逐次更新型学習 定義 時刻t­1においてモデルのパラメータ の推定値が(何かの数値として)得られていると仮 定する。時刻tにおいて観測した標本   だけ を使い(それ以前のデータを参照することなしに)    を最大化するようにパラメータΘを更新する ⇥ = {⇡1, ..., ⇡k, µ1, ..., µk, ⌃1, ..., ⌃k} L(⇥|D(t) )
  11. 11. バッチ学習とオンライン学習 • バッチ学習 • 手元にある訓練標本全部を使ってモデルを学習す る方法 • オンライン学習 • 標本を観測するたびにモデルを修正していく方法
  12. 12. 5.2 イェンセンの不等式によ る和と対数関数の順序交換 ! ! • 重み付き対数尤度を最大化することでパラメータを 推定する際の問題点として「和の中に対数がある」 L(⇥|D(t) ) = tX n=1 w (n) t ln KX k=1 ⇡kN(x(n) |µk, ⌃k)
  13. 13. イェンセンの不等式 • を満たす非負の計数   に対して 次式が成り立つ ! • 統合が成り立つのは  のときに限られ る。連続変数の場合、任意の確率分布  と可積分 な関数  に対して次式が成り立つ c1 + · · · + cK = 1 {ci} ln( KX k=1 ckXk) KX k=1 ck ln(Xk) ln Z dxq(x)g(x) Z dxq(x) ln g(x) q(x) g(x) X1 = · · · = XK
  14. 14. イェンセンの不等式の例証 • 一般に上に凸な関数fについて点Qは点Pより必ず 上側にある。たとえばX1とX2の中点ではf(中 点)は明らかに中点より大きい
  15. 15. EMアルゴリズムの方針 • イェンセンの不等式を用い、対数尤度の下限を求め、 徐々に持ち上げていく • 各nについて       となるようなq を作成 q (n) 1 + · · · + q (n) K = 1 L(⇥|D(t) ) = tX n=1 w (n) t ln KX k=1 q (n) k ⇡kN(x(n) |µk, ⌃k) q (n) k LLB(⇥|D(t) ) = tX n=1 w (n) t KX k=1 q (n) k ln ⇡kN(x(n) |µk, ⌃k) q (n) k
  16. 16. 5.3 EM法による重み付き 対数尤度の最大化 ! ! • 下限には     と  の2つのパラメータがあ るが、片方を既知としてそれぞれ求める • これをEM(expectation-maximization)法とい う LLB(⇥|D(t) ) = tX n=1 w (n) t KX k=1 q (n) k ln ⇡kN(x(n) |µk, ⌃k) q (n) k {⇡k, µk, ⌃k} {q (t) k }
  17. 17. 5.3.1 帰属度  についての 最適化 • は定義5.1のように与えられているもの として、  を求める • をラグランジュ定数λnを取り 込むことで最適解の条件は ! • 微分を実行すると q (n) k {⇡k, µk, ⌃k} {q (t) k } q (n) 1 + · · · + q (n) K = 1 0 = @ @q (n) k [LLB tX n0=1 n0 KX l=1 q (n0 ) l ] q (n) k = ⇡kN(x(n) |µk, ⌃k) exp( 1 n w (t) t )
  18. 18. • 両辺のkに関する和を取り、制約条件を使うことで λを含む指数関数の部分は定められる ! • はその標本  が属する確率を表す。帰属度、 負担率と呼ぶ 5.3.1 帰属度  についての 最適化 q (n) k = ⇡kN(x(n) |µk, ⌃k) PK l=1 ⇡lN(x(n)|µl, ⌃l) q (n) k q (n) k x(n)
  19. 19. 5.3.2 混合重みの最適化 • 混合重み  を求めることを考える •          という制約を考慮し ! • 微分し、推定値は {⇡k} ⇡1 + · · · + ⇡K = 1 0 = @ @⇡k [LLB KX l=1 ⇡l] ˆ⇡ (t) k = 1 Pt n0=1 w (n0) t tX n=1 w (n) t q (n) k
  20. 20. 5.3.3 平均と共分散の最適化 • 平均は ˆµ (t) k = 1 Pt n0=1 w (n0) t q (n0) k tX n=1 w (n) t q (n) k x(n) 0 = @LLB @µk = tX n=1 w (n) t q (n) k ⌃ 1 k (x(n) µk)
  21. 21. 5.3.3 平均と共分散の最適化 • 共分散は ˆ⌃ (t) k = 1 Pt n0=1 w (n0) t q (n0) k tX n=1 w (n) t q (n) k (x(n) ˆµ (t) k )(x(n) ˆµ (t) k )T ˆ⌃ (t) k = 1 Pt n0=1 w (n0) t q (n0) k tX n=1 w (n) t q (n) k x(n) x(n)T ˆµ(n) ˆµ(n)T 0 = @LLB @⌃ 1 k = 1 2 tX n=1 w (n) t q (n) k { (x(n) µk)(x(n) µk)T ⌃k}
  22. 22. 5.4 混合重みのスムージング • 5.3で求めた推定式だと、初期値の値によってたか だか1個しか出てこないクラスターが出てきてしま い、数値的に不安定になる • 混合重みの初期値でディリクレ事前分布を足すテク ニックがよく用いられる(以下の式に足す) 0 = @ @⇡k [LLB KX l=1 ⇡l]
  23. 23. 5.4 混合重みのスムージング 0 = @ @⇡k [LLB + ln Dir(⇡|↵) KX l=1 ⇡l] 0 = @ @⇡k [ tX n=1 w (n) t KX l=1 q (n) l ln ⇡l + KX l=1 (↵l 1) ln ⇡l KX l=1 ⇡l] ˜⇡ (t) k ⌘ tX n=1 w (n) t q (n) k ˆ⇡ (t) k = ˆ⇡ (t) k + K + PK l=1 ˜⇡ (t) l
  24. 24. 5.5 重みの選択と逐次更新型 異常検知モデル • これまでの最尤解の導出方法はすべての時刻につい ての値を記憶しておく必要があった • 定義5.1の目標に立ち返って逐次更新式を導く • 重み係数として • ここで忘却率     とする。 w (n) t = (1 )t n 0 < < 1 ˜⇡ (t) k ⌘ tX n=1 w (n) t q (n) k
  25. 25. 5.5 重みの選択と逐次更新型 異常検知モデル ˜⇡ (t 1) k = t 1X n=1 (1 )t 1 n q (n) k ˜⇡ (t) k = q (t) k + t 1X n=1 (1 )t n q (n) k ˜⇡ (t) k = (1 )˜⇡ (t 1) k + q (t) k
  26. 26. 5.5 重みの選択と逐次更新型 異常検知モデル • 以下のようにパラメータを定義する ! ! • 次の更新式が導ける ˜µ (t) k ⌘ tX n=1 w (n) t q (n) k x(n) ˜⌃ (t) k ⌘ tX n=1 w (n) t q (n) k x(n) x(n)T ˜⌃ (t) k = (1 )˜⌃ (t 1) k + q (t) k x(t) x(t)T ˜µ (t) k = (1 )˜µ (t 1) k + q (t) k x(t)
  27. 27. 混合正規分布の逐次更新型EM 法による異常検知 • 初期化 混合正規分布モデルのパラメータ • に適当な初期値を設定する。忘却率β、異常度の閾 値ath、スムージングの定数γを与える • パラメータ推定 各時刻tにおいて標本xを観測す るたびに次の計算をする ⇥ = {⇡1, ..., ⇡k, µ1, ..., µk, ⌃1, ..., ⌃k} q (n) k = ⇡kN(x(n) |µk, ⌃k) PK l=1 ⇡lN(x(n)|µl, ⌃l)
  28. 28. 混合正規分布の逐次更新型EM 法による異常検知 ! ! • 推定値を更新し、それを利用してパラメータを更新 する ˜⇡ (t) k = (1 )˜⇡ (t 1) k + q (t) k ˜µ (t) k = (1 )˜µ (t 1) k + q (t) k x(t) ˜⌃ (t) k = (1 )˜⌃ (t 1) k + q (t) k x(t) x(t)T ⇡k = ˜⇡k + K + PK l=1 ˜⇡k , µk = ˜µk ˜⇡k , ⌃k = ˜⌃k ˜⇡k µkµT k
  29. 29. 混合正規分布の逐次更新型EM 法による異常検知 • 異常度判定 ! • を計算する。a(x)>athなら警報をだす a(x) = ln kX k=1 ⇡kN(x|µk, ⌃k)
  30. 30. • 以上

×