Slide 1

Slide 1 text

異常検知と変化検知 Chapter 11 密度比推定による異常検知 2015.11.04 @ MLP勉強会 Twitter @oshokawa Facebook 滝 勇太

Slide 2

Slide 2 text

あうとらいん •  自己紹介 •  猫紹介 •  前振り 〜とりあえずどんな感じか〜 •  密度比推定による異常検知 –  11.1 密度比による外れ値検出問題の定式化 –  11.2 カルバック・ライブラー密度比推定法 –  11.3 最小2乗密度比推定法 •  前振り再び •  参考文献 2

Slide 3

Slide 3 text

自己紹介 名前:滝(石川) 勇太 専門:機械学習 職種:でーたさいえんてぃすと(笑) 趣味:ぬこ 3

Slide 4

Slide 4 text

猫を二匹飼ってます 4

Slide 5

Slide 5 text

かわいい 5

Slide 6

Slide 6 text

トロ様(左)とウニ様(右) 6

Slide 7

Slide 7 text

かわいい 7

Slide 8

Slide 8 text

ダブルあくび 8

Slide 9

Slide 9 text

かわいい 9

Slide 10

Slide 10 text

多分仲はいい 10

Slide 11

Slide 11 text

そろそろ本題に 入ったほうがいいですか? 11

Slide 12

Slide 12 text

前振り とりあえずどんな感じか 12

Slide 13

Slide 13 text

Chap. 1では・・・ 正常時の分布 テスト対象の分布 p 0( x ) x p ( x ) が所定の閾値を下回ったら異常と判定 ※ 今回の話題のために多少意訳 p ( x ) p 0( x ) Text p. 5 13

Slide 14

Slide 14 text

確率密度を 割り算してみよう! 14

Slide 15

Slide 15 text

こんなデータを想定してみる 確率密度 低 高 p ( x ) p 0( x ) 15 1 2 N ✓ 20 20 ,  10 0 0 10 ◆ 1 2 N ✓ 10 10 ,  10 0 0 10 ◆ 1 5 N ✓ 12.5 12.5 ,  5 0 0 5 ◆ 1 5 N ✓ 17.5 17.5 ,  5 0 0 5 ◆ 1 5 N ✓ 15 15 ,  0.1 0 0 0.1 ◆ 1 5 N ✓ 12.5 17.5 ,  5 0 0 5 ◆ 1 5 N ✓ 17.5 12.5 ,  5 0 0 5 ◆

Slide 16

Slide 16 text

こんなデータを想定してみる 確率密度 低 高 ●:データ点 p ( x ) p 0( x ) サンプリング サンプリング 16

Slide 17

Slide 17 text

こんな振動データ的なイメージ 17 ー:X-方向加速度 ---:Y-方向加速度

Slide 18

Slide 18 text

こんな振動データ的なイメージ ー:X-方向加速度 ---:Y-方向加速度 通常モード 18

Slide 19

Slide 19 text

こんな振動データ的なイメージ 19 高速モード ー:X-方向加速度 ---:Y-方向加速度

Slide 20

Slide 20 text

こんな振動データ的なイメージ 20 通常? ー:X-方向加速度 ---:Y-方向加速度

Slide 21

Slide 21 text

こんな振動データ的なイメージ 21 高速? ー:X-方向加速度 ---:Y-方向加速度

Slide 22

Slide 22 text

こんな振動データ的なイメージ 22 !? ー:X-方向加速度 ---:Y-方向加速度

Slide 23

Slide 23 text

こんな振動データ的なイメージ 23 アカーン ー:X-方向加速度 ---:Y-方向加速度

Slide 24

Slide 24 text

それぞれ推定してみよう 確率密度 低 高 カーネル密度推定を使用 24

Slide 25

Slide 25 text

いい感じに推定できたぞ じゃあ、(数値的に)割り算するよ 25

Slide 26

Slide 26 text

!!!!????? 密度比 低(異常) 高(正常) 26

Slide 27

Slide 27 text

ヤバス 全部異常でおk? 27

Slide 28

Slide 28 text

そんなはずはないので 密度比推定してみるよ 28

Slide 29

Slide 29 text

これはいいものだ 密度比 低(異常) 高(正常) 29

Slide 30

Slide 30 text

これはいいものだ 密度比 低(異常) 高(正常) アカーンな辺り !?な辺り 30

Slide 31

Slide 31 text

なかなかイケてらっしゃる 今日は前ページの手法の 勉強をするよ 31

Slide 32

Slide 32 text

密度比推定による異常検知 11.1 密度比による外れ値検出問題の定式化[1] Text p. 145 32

Slide 33

Slide 33 text

密度比の振る舞い a ( x ) = ln r ( x ) ただし r( x ) ⌘ p( x ) p0( x ) 異常度 (11.1) Text p. 146 33

Slide 34

Slide 34 text

密度比の振る舞い a ( x ) = ln r ( x ) ただし r( x ) ⌘ p( x ) p0( x ) 異常度 (11.1) p0( x ) = (1 ↵)p( x ) + ↵˜ p( x ) 異常標本の割 合を として ↵ Text p. 146 34

Slide 35

Slide 35 text

密度比の振る舞い a ( x ) = ln r ( x ) ただし r( x ) ⌘ p( x ) p0( x ) 異常度 (11.1) p0( x ) = (1 ↵)p( x ) + ↵˜ p( x ) ln(1 ↵)  a( x 0)  1 異常標本の割 合を として ↵ なんやかんやして Text p. 146 35

Slide 36

Slide 36 text

密度比の振る舞い a ( x ) = ln r ( x ) ただし r( x ) ⌘ p( x ) p0( x ) 異常度 (11.1) p0( x ) = (1 ↵)p( x ) + ↵˜ p( x ) ln(1 ↵)  a( x 0)  1 異常標本の割 合を として ↵ なんやかんやして     :  で近似してその値との乖離を見る それ以外:何かしら他の基準を決める ↵ ⇡ 0 ↵ Text p. 146 36

Slide 37

Slide 37 text

なるほど 密度比がわかれば異常度を 評価できるのね 37

Slide 38

Slide 38 text

でも、 確率密度を推定して 割り算するのって 現実的なの? cf. さっきの例 38

Slide 39

Slide 39 text

難しい問題解かなくてもいいじゃない バプニックの原理 ある問題を解くときにそれよりも一般的な問題を 途中段階で解くべきではない Text p. 148 39

Slide 40

Slide 40 text

個別の密度がわかると・・・ バプニックの原理 ある問題を解くときにそれよりも一般的な問題を 途中段階で解くべきではない 個別の密度がわかる p ( x ) p 0( x ) Text p. 148 40

Slide 41

Slide 41 text

密度比がわかる バプニックの原理 ある問題を解くときにそれよりも一般的な問題を 途中段階で解くべきではない 個別の密度がわかる 密度比がわかる p ( x ) p 0( x ) r ( x ) = p ( x ) p 0( x ) Text p. 148 41

Slide 42

Slide 42 text

でも、密度比がわかっても・・・ バプニックの原理 ある問題を解くときにそれよりも一般的な問題を 途中段階で解くべきではない 密度比がわかる r ( x ) = p ( x ) p 0( x ) Text p. 148 42

Slide 43

Slide 43 text

個別の密度はわからない バプニックの原理 ある問題を解くときにそれよりも一般的な問題を 途中段階で解くべきではない 個別の密度がわかる 密度比がわかる p ( x ) p 0( x ) r ( x ) = p ( x ) p 0( x ) Text p. 148 43

Slide 44

Slide 44 text

でも とりあえず今回は 44

Slide 45

Slide 45 text

密度比だけわかればいいじゃない! バプニックの原理 ある問題を解くときにそれよりも一般的な問題を 途中段階で解くべきではない 個別の密度がわかる 密度比がわかる p ( x ) p 0( x ) r ( x ) = p ( x ) p 0( x ) こっちがわかれば おk! ※ 個別に密度推定して割り算すると 前振りみたいに大変なことになる ・誤差の増幅 ・数値的に不安定 ・密度推定自体が大変 etc. Text p. 148 45

Slide 46

Slide 46 text

そんなわけで 個別に密度を推定せず 密度比を直接推定する 方法を考えます 46

Slide 47

Slide 47 text

密度比推定による異常検知 11.2 カルバック・ライブラー密度比推定法 [1, 2, 3] Text p. 148 47

Slide 48

Slide 48 text

表記の準備 訓練データ ほぼ全てが正常とみなせる テストデータ 異常が入ってるかもしれない Text p. 145 48 D = x1, . . . , xN ✓ ⇠ p( x ) ◆ D0 = x 0 1, . . . , x 0 N0 ✓ ⇠ p0( x ) ◆

Slide 49

Slide 49 text

まずは密度比のモデルを決めましょう とりあえず基底関数 を導入して、パラメータ の線形モデル r ✓ ( x ) = b X j=1 ✓j j( x ) = ✓ > ( x ) を考えます Text p. 148 49 (11.2) ( x ) = [ 1( x ), . . . , b( x )]> ✓ = [✓1, . . . , ✓b]>

Slide 50

Slide 50 text

なんかいきなり よくわかんないモデル が登場したぞ! 50

Slide 51

Slide 51 text

モデルの気持ちを考えよう 51 p ( x ) こんな確率密度関数から 正常データが出てくるとしましょう Text p. 148

Slide 52

Slide 52 text

基底ベクトルの様子 52 x1 x2 x3 2( x ) 3( x ) D = { x1, x2, x3 } = { 2 . 5 , 0 , 2 . 5} が得られたとすると 基底ベクトル ( x ) = [ 1( x ) , 2( x ) , 3( x )]> はこんな感じ ※ 基底関数はRBFカーネルを想定(cf. p.71) 1( x ) Text p. 148

Slide 53

Slide 53 text

モデルの気持ちを考えよう 53 p 0( x ) んでもって、こんな確率密度関数から テストデータが出てくるとしましょう p ( x )

Slide 54

Slide 54 text

“比”の役割を が担います 54 ✓ 簡単のため、テストデータが  だけに影響するとすると ✓2 x2(= 0) の近傍で、密度(のようなもの)は大体1/3くらい になるので、        とすると、モデルは↓ ✓ = [1, 1/3, 1]> r✓( x ) = ✓> ( x ) =  1 , 1 3, 1 2 4 1( x ) 2( x ) 3( x ) 3 5 Text p. 148

Slide 55

Slide 55 text

テストデータが密な場所は比が小さくなる 55 簡単のため、テストデータが  だけに影響するとすると ✓2 x2(= 0) の近傍で、密度(のようなもの)は大体1/3くらい になるので、        とすると、モデルは↓ ✓ = [1, 1/3, 1]> r✓( x ) = ✓> ( x ) =  1 , 1 3, 1 2 4 1( x ) 2( x ) 3( x ) 3 5 テストデータで密度 が高い領域の密度比 が低くなる! Text p. 148

Slide 56

Slide 56 text

56 では を学習する方法を 見ていきましょー ✓

Slide 57

Slide 57 text

学習時に考慮すべきことは何か r ✓ ( x ) = p( x ) p0( x ) r ✓ ( x )p0( x ) = p( x )      が •    にできるだけ近い •  確率分布の条件を満たす p( x ) r ✓ ( x )p0( x ) ように、パラメータ を決めなきゃいけない ✓ Text p. 149 57

Slide 58

Slide 58 text

KL div.を基準に学習しましょう Kullback-Leibler先生に登場していただきます Text p. 149 58 gKL( p||r ✓ p0 ) = Z dx p (x) ln p (x) r ✓(x) p0 (x) ⇢Z dx p (x) Z dx r ✓(x) p0 (x) = Z dx p (x) ln r ✓(x) + Z dx r ✓(x) p0 (x) + const と      を近づけたいので、 r ✓ ( x )p0( x ) p( x )

Slide 59

Slide 59 text

KL div.を基準に学習しましょう Kullback-Leibler先生に登場していただきます Text p. 149 59 gKL( p||r ✓ p0 ) = Z dx p (x) ln p (x) r ✓(x) p0 (x) ⇢Z dx p (x) Z dx r ✓(x) p0 (x) = Z dx p (x) ln r ✓(x) + Z dx r ✓(x) p0 (x) + const と      を近づけたいので、 r ✓ ( x )p0( x ) p( x )

Slide 60

Slide 60 text

KL div.を基準に学習しましょう Kullback-Leibler先生に登場していただきます むし 1 N N X n=1 ln r ✓ ( xn) 1 N0 N0 X n=1 r ✓ ( x 0 n0 ) Text p. 149 60 gKL( p||r ✓ p0 ) = Z dx p (x) ln p (x) r ✓(x) p0 (x) ⇢Z dx p (x) Z dx r ✓(x) p0 (x) = Z dx p (x) ln r ✓(x) + Z dx r ✓(x) p0 (x) + const と      を近づけたいので、 r ✓ ( x )p0( x ) p( x )

Slide 61

Slide 61 text

KL div.を基準に学習しましょう と      を近づけたいので、 r ✓ ( x )p0( x ) p( x ) Kullback-Leibler先生に登場していただきます むし = 1 N N X n=1 ln r ✓ ( xn) + 1 N0 N0 X n0=1 r ✓ ( x 0 n0 ) 1 N N X n=1 ln r ✓ ( xn) 1 N0 N0 X n=1 r ✓ ( x 0 n0 ) Text p. 149 61 gKL( p||r ✓ p0 ) = Z dx p (x) ln p (x) r ✓(x) p0 (x) ⇢Z dx p (x) Z dx r ✓(x) p0 (x) = Z dx p (x) ln r ✓(x) + Z dx r ✓(x) p0 (x) + const

Slide 62

Slide 62 text

問題(11.5) 問題設定はこんな感じになります Text p. 150 62 min ✓ J( ✓ ), J( ✓ ) = 1 N N X n=1 ln r ✓ ( xn) + 1 N0 N0 X n0=1 r ✓ ( x 0 n0 )

Slide 63

Slide 63 text

問題(11.5) この問題ってどう解釈できるの? 期待値の表記を用いると・・・ Text p. 150 63 J(✓) = h ln r✓iD + hr✓iD0 min ✓ J( ✓ ), J( ✓ ) = 1 N N X n=1 ln r ✓ ( xn) + 1 N0 N0 X n0=1 r ✓ ( x 0 n0 ) (11.6)

Slide 64

Slide 64 text

問題(11.5) 正常データ異常度最小化と解釈できます 期待値の表記を用いると・・・ 第1項は 訓練データ( ≒ 正常データ)に対する異常度の最小化 としての働き Text p. 150 64 J(✓) = h ln r✓iD + hr✓iD0 min ✓ J( ✓ ), J( ✓ ) = 1 N N X n=1 ln r ✓ ( xn) + 1 N0 N0 X n0=1 r ✓ ( x 0 n0 ) (11.6)

Slide 65

Slide 65 text

問題(11.5) 正常データ異常度最小化と解釈できます 期待値の表記を用いると・・・ 第1項は 訓練データ( ≒ 正常データ)に対する異常度の最小化 としての働き 第2項は    という規格化制約 としての働き hr✓iD0 = 1 Text p. 150 65 J(✓) = h ln r✓iD + hr✓iD0 min ✓ J( ✓ ), J( ✓ ) = 1 N N X n=1 ln r ✓ ( xn) + 1 N0 N0 X n0=1 r ✓ ( x 0 n0 ) (11.6)

Slide 66

Slide 66 text

問題(11.5) 正常データ異常度最小化と解釈できます min ✓ J( ✓ ), J( ✓ ) = 1 N N X n=1 ln r ✓ ( xn) + 1 N0 N0 X n0=1 r ✓ ( x 0 n0 ) 期待値の表記を用いると・・・ 第1項は 訓練データ( ≒ 正常データ)に対する異常度の最小化 としての働き 第2項は    という規格化制約 としての働き hr✓iD0 = 1 これが本当か どうか謎です 「小さくする」働きはある かなと思いますが・・・ Text p. 150 66 J(✓) = h ln r✓iD + hr✓iD0 (11.6)

Slide 67

Slide 67 text

勾配法で解きましょう rJ( ✓ ) = r  1 N N X n=1 ln r ✓ ( xn) + 1 N0 N0 X n0=1 r ✓ ( x 0 n0 ) = r  1 N N X n=1 ln ✓ > ( xn) + 1 N0 N0 X n0=1 ✓ > ( x 0 n0 ) = 1 N N X n=1 ( xn) ✓ > ( xn) + 1 N0 N0 X n0=1 ( x 0 n0 ) 問題(11.5)は凸最適化問題なので、 勾配法とかで最適解が求まります 適当な初期値から収束するまで以下よろしくー ✓new ✓old ⌘rJ(✓old) Text p. 150 67

Slide 68

Slide 68 text

ひとこと 本には書いてありませんが、 パラメータに関する非負制約 は必要っぽい 規格化に関する制約についてはよくわからんです 教えてエロい人 ✓new ✓old ⌘rJ ( ✓old ) ✓new max( ✓new, 0b) Text p. 151 68 ✓i 0, i = 1, . . . , b

Slide 69

Slide 69 text

よし これで準備は整って 69

Slide 70

Slide 70 text

よし これで準備は整って なーーーーい 70

Slide 71

Slide 71 text

   ってなんなんだー? 71 ( x ) よく用いられるのは RBFカーネル とのこと(SVMとかと同じですね) ( x ) = [ 1( x ), . . . , N ( x )]> ただし n(x) = exp ✓ || x xn ||2 2 h2 ◆ Text p. 151

Slide 72

Slide 72 text

RBFカーネル基底関数のイメージ (cf. p.52, 54) 72 Text p. 148 D = { x1, x2, x3 } = { 2 . 5 , 0 , 2 . 5} のとき ( x ) は↑の3点をカーネルの中心とした 3次元のベクトルになります x1 x2 x3 2( x ) 3( x ) 1( x ) (x) = 2 4 1(x) 2(x) 3(x) 3 5 = 2 6 6 6 6 6 6 4 exp ✓ (x x1) 2 2h 2 ◆ exp ✓ (x x2) 2 2h 2 ◆ exp ✓ (x x3) 2 2h 2 ◆ 3 7 7 7 7 7 7 5

Slide 73

Slide 73 text

   がわかれば具体的な計算ができます 73 ( x ) K = ⇥ ( x1), . . . , ( xN ) ⇤> , K0 = ⇥ ( x 0 1), . . . , ( x 0 N0 ) ⇤> 勾配 密度比 r ✓ ( x ) = ✓ > ( x ) ただし 1N , 1N0 : それぞれ , 次元の1を並べたベクトル N N0 “./”演算子: 要素ごとの割り算(like matlab) Text p. 151 rJ(✓) = 1 N K(1N ./(K✓)) + 1 N0 K01N0

Slide 74

Slide 74 text

よし 今度こそ準備が整って 74

Slide 75

Slide 75 text

よし 今度こそ準備が整って なーーーーい 75

Slide 76

Slide 76 text

はどうやって決めるのさ? 76 h カルバック・ライブラー密度比推定では 交差検証法 が使えます! 近傍法やサポートベクトルデータ記述法では・・・ (教師ありデータがないと)CVにおける評価基準がない! カルバック・ライブラー密度比推定では・・・ カルバック・ライブラーダイバージェンスを CVの評価基準にできる! 詳しくは「アルゴリズム11.1」を見てね! Text p. 152

Slide 77

Slide 77 text

試してみよー 77

Slide 78

Slide 78 text

こんな分布から200サンプルずつ生成 p ( x ) = N(1 , 12) ー: ー: p 0( x ) = N(0 , 22) 78

Slide 79

Slide 79 text

ワーオ r ⇤( x ) ˆ r ( x ) ー: ---: p ( x ) = N(1 , 12) ー: ー: p 0( x ) = N(0 , 22) 79

Slide 80

Slide 80 text

11.2 まとめ KLダイバージェンスの最小化で 密度比が直接推定できるよ! 80

Slide 81

Slide 81 text

11.2 補足: Bregmanダイバージェンス[5, 6] '( x ) 81 D'( x || y ) ⌘ '( x ) '( y ) h x y , r'( y )i '(y) x y r'( y )>( x y ) D'( x || y ) '(z)

Slide 82

Slide 82 text

11.2 補足: 一般化KLダイバージェンス 82 とおくと '( p ) = Z d x p( x ) ln p( x ) Bregmanダイバージェンスで

Slide 83

Slide 83 text

11.2 補足: 一般化KLダイバージェンス D'( p || q ) = Z d x p( x ) ln p( x ) Z d x q( x ) ln q( x ) h p q , r'( q )i = Z d x p( x ) ln p( x ) Z d x q( x ) ln q( x ) Z d x p( x ) q( x ) ln q( x ) + 1 = Z d x p( x ) ln p( x ) q( x ) Z d x p( x ) + Z d x q( x ) gKL( p || q ) ⌘ D'( p || q ) = Z d x p( x ) ln p( x ) q( x ) Z d x p( x ) + Z d x q( x ) 一般化KLダイバージェンス 83 とおくと '( p ) = Z d x p( x ) ln p( x ) Bregmanダイバージェンスで

Slide 84

Slide 84 text

11.2 補足: 一般化KLダイバージェンス D'( p || q ) = Z d x p( x ) ln p( x ) Z d x q( x ) ln q( x ) h p q , r'( q )i = Z d x p( x ) ln p( x ) Z d x q( x ) ln q( x ) Z d x p( x ) q( x ) ln q( x ) + 1 = Z d x p( x ) ln p( x ) q( x ) Z d x p( x ) + Z d x q( x ) gKL( p || q ) ⌘ D'( p || q ) = Z d x p( x ) ln p( x ) q( x ) Z d x p( x ) + Z d x q( x ) 一般化KLダイバージェンス Z d x p( x ) = 1, Z d x q( x ) = 1 を満たすなら KLダイバージェンス KL( p || q ) ⌘ Dnorm ' ( p || q ) = Z d x p( x ) ln p( x ) q( x ) 84 とおくと '( p ) = Z d x p( x ) ln p( x ) Bregmanダイバージェンスで

Slide 85

Slide 85 text

11.2 補足: オリジナルのKLIEP(※) 文献[2]では一般化KLダイバージェンスの最小化で はなく、通常のKLダイバージェンスの制約付き最適 化問題をProjected Gradient Descent[7]で解い てるようです ※ 問題11.5の第二項を落とし、和が1になる制約条件を課す min ✓ N X n=1 ln r ✓ ( xn) s.t. 1 N0 N0 X n0=1 ✓ > ( x 0 n0 ) = 1 ✓ 0b 85 ※ Kullback-Leibler Importance Estimation Procedure:KL密度比推定のこと

Slide 86

Slide 86 text

11.2 補足: オリジナルのKLIEP 多分どっちでもいいんだと思います (最適解は変わる気がしますが) ちなみに本資料11.2の例題は本に書いてある方法に 非負制約をつけたもので実装しました 86

Slide 87

Slide 87 text

密度比推定による異常検知 11.3 最小2乗密度比推定法[1, 2, 4] Text p. 153 87

Slide 88

Slide 88 text

モデルは一緒です r( x ) = p( x ) p0( x ) 密度比 を ってなモデルで表現するとこは一緒 88 Text p. 148 r ✓ ( x ) = ✓ > ( x )

Slide 89

Slide 89 text

KL div.の代わりに2乗誤差を最小化します min ✓ Z d x p( x ) ln p( x ) r ✓ ( x )p0( x ) 1 + Z d x r ✓ ( x )p0( x ) min ✓ 1 2 Z d x nr ✓ ( x ) r( x )o2 p0( x ) カルバック・ライブラー密度比推定法 一般化カルバック・ライブラーダイバージェンス 最小2乗密度比推定法 2乗誤差 Text p. 154 89

Slide 90

Slide 90 text

そんなわけで 2乗誤差を なんやかんやしていきます 90

Slide 91

Slide 91 text

2乗誤差の式をなんやかんやして・・・ J (✓) = 1 2 Z dx nr ✓(x) r (x) o2 p0 (x) = 1 2 Z dx nr ✓(x) 2p0 (x) 2 r ✓(x) r (x) p0 (x) + r (x) 2p0 (x) o = 1 2 Z dx nr ✓(x) 2p0 (x) 2 r ✓(x) p (x) + const o = 1 2 Z dx✓ > (x) (x) > ✓ p0 (x) Z dx✓ > (x) p (x) + const = 1 2 ✓ > Z dx (x) (x) >p0 (x) ✓ ✓ > Z dx (x) p (x) + const Text p. 154 91

Slide 92

Slide 92 text

2乗誤差の式をなんやかんやして・・・ J (✓) = 1 2 Z dx nr ✓(x) r (x) o2 p0 (x) = 1 2 Z dx nr ✓(x) 2p0 (x) 2 r ✓(x) r (x) p0 (x) + r (x) 2p0 (x) o = 1 2 Z dx nr ✓(x) 2p0 (x) 2 r ✓(x) p (x) + const o = 1 2 Z dx✓ > (x) (x) > ✓ p0 (x) Z dx✓ > (x) p (x) + const = 1 2 ✓ > Z dx (x) (x) >p0 (x) ✓ ✓ > Z dx (x) p (x) + const Text p. 154 92

Slide 93

Slide 93 text

2乗誤差の式をなんやかんやして・・・ J (✓) = 1 2 Z dx nr ✓(x) r (x) o2 p0 (x) = 1 2 Z dx nr ✓(x) 2p0 (x) 2 r ✓(x) r (x) p0 (x) + r (x) 2p0 (x) o = 1 2 Z dx nr ✓(x) 2p0 (x) 2 r ✓(x) p (x) + const o = 1 2 Z dx✓ > (x) (x) > ✓ p0 (x) Z dx✓ > (x) p (x) + const = 1 2 ✓ > Z dx (x) (x) >p0 (x) ✓ ✓ > Z dx (x) p (x) + const Text p. 154 93

Slide 94

Slide 94 text

2乗誤差の式をなんやかんやして・・・ J (✓) = 1 2 Z dx nr ✓(x) r (x) o2 p0 (x) = 1 2 Z dx nr ✓(x) 2p0 (x) 2 r ✓(x) r (x) p0 (x) + r (x) 2p0 (x) o = 1 2 Z dx nr ✓(x) 2p0 (x) 2 r ✓(x) p (x) + const o = 1 2 Z dx✓ > (x) (x) > ✓ p0 (x) Z dx✓ > (x) p (x) + const = 1 2 ✓ > Z dx (x) (x) >p0 (x) ✓ ✓ > Z dx (x) p (x) + const Text p. 154 94

Slide 95

Slide 95 text

2乗誤差の式をなんやかんやして・・・ J (✓) = 1 2 Z dx nr ✓(x) r (x) o2 p0 (x) = 1 2 Z dx nr ✓(x) 2p0 (x) 2 r ✓(x) r (x) p0 (x) + r (x) 2p0 (x) o = 1 2 Z dx nr ✓(x) 2p0 (x) 2 r ✓(x) p (x) + const o = 1 2 Z dx✓ > (x) (x) > ✓ p0 (x) Z dx✓ > (x) p (x) + const = 1 2 ✓ > Z dx (x) (x) >p0 (x) ✓ ✓ > Z dx (x) p (x) + const Text p. 154 95

Slide 96

Slide 96 text

2乗誤差の式をなんやかんやして・・・ ⇡ 1 N0 N0 X n0=1 ( x 0 n0 ) ( x 0 n0 )> = ˆ G ⇡ 1 N N X n=1 ( xn) = ˆ h 標本平均で近似 同じく J (✓) = 1 2 Z dx nr ✓(x) r (x) o2 p0 (x) = 1 2 Z dx nr ✓(x) 2p0 (x) 2 r ✓(x) r (x) p0 (x) + r (x) 2p0 (x) o = 1 2 Z dx nr ✓(x) 2p0 (x) 2 r ✓(x) p (x) + const o = 1 2 Z dx✓ > (x) (x) > ✓ p0 (x) Z dx✓ > (x) p (x) + const = 1 2 ✓ > Z dx (x) (x) >p0 (x) ✓ ✓ > Z dx (x) p (x) + const Text p. 154 96

Slide 97

Slide 97 text

問題(11.11) 問題設定はこんな感じになります min ✓  1 2 ✓> ˆ G✓ ✓> ˆ h + 2 ||✓||2 Text p. 154 97 正則化項をつけます

Slide 98

Slide 98 text

問題(11.11) 微分して0とおくと・・・ min ✓  1 2 ✓> ˆ G✓ ✓> ˆ h + 2 ||✓||2 @J0(✓) @✓ = ✓> ˆ G ˆ h > + ✓> = 0 ˆ G✓ + ✓ = ˆ h (ˆ G + IN )✓ = ˆ h 微分して0と置いて パラメータについて解くと・・・ Text p. 154 98

Slide 99

Slide 99 text

問題(11.11) 微分して0とおくと解析解が得られます! min ✓  1 2 ✓> ˆ G✓ ✓> ˆ h + 2 ||✓||2 @J0(✓) @✓ = ✓> ˆ G ˆ h > + ✓> = 0 ˆ G✓ + ✓ = ˆ h (ˆ G + IN )✓ = ˆ h ˆ ✓ = (ˆ G + IN ) 1 ˆ h 解析解 微分して0と置いて パラメータについて解くと・・・ Text p. 154 99 (11.12)

Slide 100

Slide 100 text

試してみよー 100

Slide 101

Slide 101 text

さっきと同じデータで p ( x ) = N(1 , 12) ー: ー: p 0( x ) = N(0 , 22) 101

Slide 102

Slide 102 text

ワーオ p ( x ) = N(1 , 12) ー: ー: r ⇤( x ) ˆ r ( x ) ー: ---: p 0( x ) = N(0 , 22) 102

Slide 103

Slide 103 text

11.3 まとめ 2乗誤差の最小化でも 密度比が直接推定できるよ! 103

Slide 104

Slide 104 text

Chap. 11 まとめ -- Point1 -- 「密度比」を直接推定 することで異常検知のための モデルが作れます -- Point2 -- 密度比推定には 幾つかのアプローチ があります 104

Slide 105

Slide 105 text

前振り再び 密度比の様子と正常/異常判定について考える 105

Slide 106

Slide 106 text

2次元人工データ再訪 106 確率密度 低 高 ●:データ点 p ( x ) p 0( x ) サンプリング サンプリング

Slide 107

Slide 107 text

密度比の様子 p ( x ) p 0( x ) 107

Slide 108

Slide 108 text

p ( x ) p 0( x ) 閾値を適当に決めてみたよ 訓練データ(正常データ)の密度比の下側10%を 閾値にしてみた イメージ的には「危険率10%」 108

Slide 109

Slide 109 text

どう見ても正常・異常なものは拾えてそう p ( x ) p 0( x ) ザ・正常 ザ・異常 109

Slide 110

Slide 110 text

でも若干怪しいものちらほら p ( x ) p 0( x ) 誤警報 or 外れ値 見逃し ビミョー 110

Slide 111

Slide 111 text

実際に現場で使う場合は いろいろ調整が必要です 111

Slide 112

Slide 112 text

参考文献 1.  井手 剛, 杉山 将. 異常検知と変化検知. 講談社. 2015 2.  M. Sugiyama, T. Suzuki, and T. Kanamori. Density Ratio Estimation In Machine Learning. CAMBRIDGE UNIVERSITY PRESS. 2012. 3.  M. Sugiyama, et al. Direct Importance Estimation with Model Selection and Its Application to Covariate Shift Adaptation. NIPS. 2008. 4.  T. Kanamori, et al. A Least-squares Approach to Direct Importance Estimation. JMLR, 10, 1391-1445. 2009. 5.  A. Banerjee, et al. Clustering with Bregman Divergences. JMLR 6, 1705-1749. 2005. 6.  J. Ghosh. Bregman Divergence for Data Mining Meta-Algorithms. slide. 7.  S. Boyd, and L. Vandenberghe. Convex Optimization. CAMBRIDGE UNIVERSITY PRESS. 2004. 112

Slide 113

Slide 113 text

ご清聴あじゅじゅしたー 113