異常検知と変化検知
で
復習するPRML
2018/06/10
Katsuya ITO
@UT
目次
1. 異常検知の基本
2. ホテリングのT2法
3. ナイーブベイズ法
4. 近傍法
5. 混合分布モデル
6. SVM
7. ガウス過程
Chapter 1
異常検知・変化検知の基本
異常検知の定義・異常検知をする方法・異常検知機の評価方法について
異常値とは
• X:あるモデルに従うデータセットとする。
𝑥 ∈ 𝑋がXの異常値であるとは、
Xのモデルから何らかの意味で大きく外れていること。
異常検出は3つある
• 外れ値検出(今日のメイン)
• 静的データが、あるデータから大きく外れているかどうか
• 変化点検出
• 動的データに、変化が起きたがどうか
• 異常状態検出
• 動的データの、状態が正常か異常か
参考
https://www.slideshare.net/yokkuns/ss-8425312
異常値検出の流れ
• ①データセットXを得る
• ②データセットXが従うモデルpを確定する
• 分布の決定・分布のパラメータ推定
• ③データ点xがpにおいてどれだけ外れているかを計算
• =異常度
異常度はどうやって計算すればいいのか
• ①データセットXを得る
• ②データセットXが従うモデルpを確定する
• 分布の決定・分布のパラメータ推定
• ③データ点xがpにおいてどれだけ外れているかを計算
異常度の計算法(教師あり)
• データセット 𝐷 = 𝑥1, 𝑦1 , 𝑥2, 𝑦2 , … , 𝑥 𝑛, 𝑦𝑛
• 𝑥𝑖が異常であるとき𝑦𝑖 = 1
• 𝑥𝑖が異常でないとき𝑦𝑖 = 0
• が与えられたときに、点xの異常値かどうか
ln
𝑝 𝑥 𝑦 = 1, 𝐷
𝑝 𝑥 𝑦 = 0, 𝐷
が閾値を超えたらy=1と判断する
異常度の計算法(教師なし)
• データセット 𝐷 = 𝑥1, 𝑥2, … , 𝑥 𝑛
が与えられたときに、点xの異常値かどうか
−ln 𝑝(𝑥|𝐷) が閾値を超えたら異常値と判断する
異常検出器の評価方法
異常を検出できるか・できないかが図りたい。
• ① 正常標本精度
=誤報しなかった確率=#{正常かつ正常と判断}/#{正常}
• ② 異常標本精度
=正確に異常検出できた確率=#{異常かつ異常と判断}/#{異常}
• ③ ROC曲線
閾値を動かし(誤報確率,正常検出確率)をプロットしたときの曲線
(の下の面積=AUCが大きいほど良い)
わかりにくいので例
※PyTorchではない
例:Tinder
• 異常な事象=Tinderでかわいい女の子が登場
• 検出器=自分。異常度(可愛い度)がある閾値を超えたらLike
• 閾値が低い→みんなLikeする
→かわいい女の子と沢山マッチ・ブスとも沢山マッチする
• 閾値が低い→あまりLikeしない
→ブスとマッチ率は下がる・かわいい女の子も逃す
グラフにすると
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
ブスにマッチしない
美人にもマッチしない
←ハードル低い 閾値 →ハードル高い
美人にマッチする
ブスにもマッチする
ネイマン-ピアソンの補題
[補題]
ln
𝑝 𝑥 𝑦 = 1, 𝐷
𝑝 𝑥 𝑦 = 0, 𝐷
で与えられた異常度は、
ある一定の正常標本精度のもとで、異常標本精度を最大化する。
[証明]
ラグランジュの未定乗数法
Chapter 2
HotellingのT2法
データが多次元正規分布に従うとした場合の異常検知法
PRML復習問題(1)
M次元正規分布の確立密度関数を書きなさい。
平均はμ、分散共分散行列はΣとする。
PRML復習問題(1) 答
M次元正規分布の確立密度関数を書きなさい。
平均はμ、分散共分散行列はΣとする。
𝑁 𝑥 𝜇, Σ =
Σ −
1
2
(2𝜋) 𝑀/2
exp{−
1
2
𝑥 − 𝜇 𝑇
Σ−1
𝑥 − 𝜇 }
PRML復習問題(2)
• 𝑋1, 𝑋2, ・・・𝑋 𝑛~𝑁 0,1 ,iidの確率変数を用いて
(1)χ2乗分布 自由度k
(2)F分布 自由度(l,m)
に従うような確率変数を定義せよ。
PRML復習問題(2)答
• 𝑋1, 𝑋2, ・・・𝑋 𝑛~𝑁 0,1 ,iidの確率変数を用いて
(1)χ2乗分布 自由度k
(2)F分布 自由度(l,m)
に従うような確率変数を定義せよ。
(1)𝜒 k = 𝑋1
2
+ ⋯ + 𝑋 𝑘
2
(2)𝐹 𝑙, 𝑚 =
𝜒 𝑙
𝑙
/
𝜒m
𝑚
:分散の比
HotellingのT2法
[定理]
𝑇2
=
N − M
𝑁 + 1 𝑀
a x = −
N − M
𝑁 + 1 𝑀
ln(p x D )
は自由度(M,N-M)のF分布に従う。
N>>Mのとき、自由度M、スケール因子1のχ2乗分布に従う
マハラノビス距離(PRML復習)
• 𝑁 𝑥 𝜇, Σ =
Σ
−
1
2
(2𝜋) 𝑀/2 exp{−
1
2
𝑥 − 𝜇 𝑇
Σ−1
𝑥 − 𝜇 }
𝑎 𝑥 = − ln 𝑝 𝑥 𝐷 の定数項を無視して考えると、
𝑥 − 𝜇 𝑇Σ−1 𝑥 − 𝜇
• これはマハラノビス距離
→つまりT2法はマハラノビス距離が大きいものを異常とする。
https://www.slideshare.net/SeiichiUchida/21-77833992
Chapter 3
Naïve Bayes法
データセットが各成分が独立としたときのT2法
PRML復習問題(3)
• 迷惑メールの分類問題を考える。
• まずM単語収録されている辞書を用意する。
• 𝑥𝑖=(単語iの出現回数)としてM次元のベクトルを作る。
• このとき、xは単語iの出現確率𝜃𝑖に従う多項分布と考えれる。
• [問題] xが従っている多項分布の確率密度関数を書け。
http://machine-learning.hatenablog.com/entry/2016/03/26/211106
PRML復習問題(3)答
• 迷惑メールの分類問題を考える。
• まずM単語収録されている辞書を用意する。
• 𝑥𝑖=(単語iの出現回数)としてM次元のベクトルを作る。
• このとき、xは単語iの出現確率𝜃𝑖に従う多項分布と考えれる。
• [問題] xが従っている多項分布の確率密度関数を書け。
• [答]𝑀𝑢𝑙𝑡 𝑥 𝜃 =
𝑥1+⋯+𝑥 𝑀 !
𝑥1!𝑥2!⋯𝑥 𝑀!
𝜃1
x1
𝜃2
x2
⋯ 𝜃M
xM
迷惑メールを単純ベイズ分類器で判別
• 今回は教師あり学習
• メールの単語出現回数は多項分布に従うとする。
• 辞書をM単語与える
• 普通のメールの単語出現回数はMult(x|θ)
• 迷惑なメールの単語出現回数はMult(x|φ)
に従っているとすると、
[問]𝑥 ∈ 𝑅 𝑀を与えたときの異常度は?
迷惑メールを単純ベイズ分類器で判別
[問]𝑥 ∈ 𝑅 𝑀
を与えたときの異常度は?
ln
Mult(x|φ)
Mult(x|θ)
𝑀𝑢𝑙𝑡 𝑥 𝜃 =
𝑥1+⋯+𝑥 𝑀 !
𝑥1!𝑥2!⋯𝑥 𝑀!
𝜃1
x1
𝜃2
x2
⋯ 𝜃M
xM
の第1項は消える。
よって、
ln
Mult(x|φ)
Mult(x|θ)
= ln{ෑ
i
𝜙𝑖
𝜃𝑖
xi
} = ෍
i
𝑥𝑖 ln
𝜙𝑖
𝜃𝑖
PRML復習問題(4)
[問] 最尤推定とMAP推定について説明せよ。
PRML復習問題(4)答
[問] 最尤推定とMAP推定について説明せよ。
[答] データ𝐷= 𝑥𝑖 𝑖 、Dは𝑝 𝑥 𝜃 という確率分布に従うとする。
パラメータθを求める方法として、最尤推定とMAP推定がある。
どちらも、尤度𝑝 𝜃 𝐷 を最大化するθを求めるが、
最尤推定はDのみからθを最大化し、
MAP推定はθに事前分布を仮定し𝑝 𝜃 𝐷 ~𝑝 𝐷 𝜃 𝑝 𝜃 を最大化。
ベイズ決定則
[定理(ベイズ決定則)]
ln
𝑝 y = 1 x
𝑝 y = 0 x
>0 ならば異常 y=1とみなすとき、
これは誤り確率(=異常を正常とみなす+正常を異常とみなす)
を最小化する。
[参考] 頻度主義 vs ベイジアン
• ネイマンピアソンはp(x|y=1)とp(x|y=0)の比が閾値を超えると異常
• ベイズ決定則はp(x|y=1)/p(x|y=0)>p(y=0)/p(y=1)となると異常
Chapter 4
近傍法とマージン最大化
k近傍法でやってみよう
マージン最大化法
kNNで異常値を予測できそうな事はわかる。
• 距離をどうすればいいのかという問題になる。
1.マハラノビス距離
2.マージン最大化法
マージン最大化法
kNNで異常値を予測できそうな事はわかる。
• 距離をどうすればいいのかという問題になる。
1.マハラノビス距離
2.マージン最大化法
=同一ラベルの距離は短くする
異常ラベルからの距離は大きくする
マージン最大化
• A:半正定値行列(復習!)とする。
𝑑 𝐴
2
(x, y) = 𝑥 − 𝑦 𝑇 𝐴 𝑥 − 𝑦
で距離を定める。Aが満たす条件は、
𝑥 𝑛が与えられ、𝑥 𝑛の同一ラベルk最近傍標本を𝑁 𝑛とする
𝜙n 𝐴 = σi∈Nn
𝑑 𝐴
2
𝑥 𝑛, 𝑥𝑖
𝜓n 𝐴 = ෍
𝑗∈Nn
෍
𝑙
yl≠yn
1 + 𝑑 𝐴
2
𝑥 𝑛, 𝑥𝑗 − 𝑑 𝐴
2
𝑥 𝑛, 𝑥𝑙
+
をそれぞれ最小化する。(やり方は勾配で)
Chapter 5
混合分布による異常検知
データセットが混合正規分布としたときのT2法
混合正規分布(PRML復習)
• xがk次の混合正規分布に従うとは、
重み𝜋𝑖とi要素の平均𝜇𝑖,分散共分散行列Σ𝑖が存在して、
𝑃 x = ෍
𝑖=1,⋯,k
𝜋𝑖 𝑁 𝑥 𝜇𝑖, Σ𝑖
となること。ただし、σ𝑖 𝜋𝑖 = 1
PRML復習問題(5)
• 混合正規分布のパラメータ推定をEMアルゴリズムでせよ
PRML復習問題(5)答
• 混合正規分布のパラメータ推定をEMアルゴリズムでせよ
• [E-step] パラメータを使って、負担率の計算
• [M-step] 負担率を使って、尤度を最大化するパラメータ計算
PRML復習問題(5)答
• 混合正規分布のパラメータ推定をEMアルゴリズムでせよ
• [E-step]
• [M-step]
←データnがクラスkに
属しているっぽさ
←kっぽいやつは重くする
→あとは異常度を計算するだけ!
Chapter 6
SVMによる異常検知
SVM(PRML復習)
https://www.slideshare.net/shotarosano5/in-54205735
SVM(復習)
方針
①R,b,uについて最適解を求める
②αについて最適解を求める
SVM(復習)
方針
①R,b,uについて最適解を求める
②αについて最適解を求める
SVM(復習)
方針
①R,b,uについて最適解を求める
→消去する
②αについて最適解を求める
SMO法・双対座標降下法など
https://www.slideshare.net/JungkyuLee1/svm-4rd-edition
37枚目からがSMO・双対座標降下に詳しい
Chapter7
方向データの異常検知
単位ベクトルデータはフォンミーゼスフィッシャー分布に従うので、
それでやればいいよね(飛ばす)
Chapter8
Gauss過程による異常検知
PRML復習 Gauss過程
• 次のような線形回帰モデルを考える。
• 係数の分布は正規とする。
• Yを1つのベクトルにまとめて、 とおくと、
PRML復習問題(6)
• 前頁のように、
と仮定するとき、yの従う分布を求めよ。
PRML復習問題(6)答
• 前頁のように、
と仮定するとき、yの従う分布を求めよ。答:正規分布N(0,K)
PRML復習問題(7)
• 次のようなノイズがあるモデルを考える。
• ただし、yは前頁までで求めたもの。このとき、
• と仮定するとき、tの分布を求めよ。
PRML復習問題(7)答
• 親の顔よりみたアレを覚えていますか?という問題
PRML復習問題(7)答
• 親の顔よりみたアレを覚えていますか?という問題
Gauss過程による異常度
• ガウス過程による予測の結果を思い出すと、
• よって
赤い本のその後
• Chapter10 疎構造学習
http://latent-dynamics.net/01/2010_LD_Ide.pdf
• 杉山先生と共著なこともあって、最後2章は密度比推定。
密度比推定で異常検知
https://speakerdeck.com/oshokawa/mi-du-bi-tui-ding-niyoruyi-chang-jian-zhi?slide=67

異常検知と変化検知で復習するPRML