入門 機械学習による異常検知を少しずつ読んでいます。
3章「非正規データからの異常検知」を読み終えたので、備忘録がてら書いていきます。
自分用のメモなので、かなり適当です。ご容赦ください。
本の目次はこちら。
3章では、タイトル通り、正規分布ではないデータや、正規分布かどうかわからないデータに対する異常検知の方法について書かれています。
#ガンマ分布当てはめ
標本データの分布が非対称な場合や、標本データが正の値しか取らない場合、正規分布を仮定するといろいろまずい。
そういう時には、標本データの分布を正規分布ではなく、ガンマ分布に当てはめる。分布の推定→異常度の定義→しきい値の設定という流れは、2章の正規分布の場合と同じ。
#混合正規分布と期待値最大化法
標本データの分布が、複数の正規分布の重ねあわせになっているような場合の分布の推定方法について解説。重ねあわせの分布から、各分布の重みπ、標本平均μ、標本分散σを推定するんだけど、まともにやると変数が多く、計算も複雑になる。なので、分布を推定するための方法として、期待値最大化法(EM法)を使う。
#近傍法
##k近傍法
データがまばらで分布がわからない場合などに用いられる。観測データと、近傍の標本データとの距離を元に異常かどうかを判別する。
・観測データの近傍のk個のデータが入る最小半径を元に異常かどうか判定する方法
・観測データの半径ε内に入るデータの個数を元に異常かどうかを判定する方法
標本データはすべて正常なデータのみというのが前提。kとεを決めてやる必要がある。すべてのデータ点数に対して距離を計算する必要があるので、データセットが大きいと計算量が膨大になる。
##局所外れ値法
観測データx'とk個の近傍のデータx''との距離と、近傍のデータx''とその周辺のk個の近傍のデータとの比を異常度(LOF: Local Outlier Factor)とし、異常かどうかを判別する。データの分布に濃淡があるような場合に用いる。
##カーネル密度推定
k近傍法における個々のデータ点を、確率的に拡張?したもの。難しい。データ間の距離を変数とした確率分布。パラメータhの算出方法がよくわからなかった。
#クラスタリング
##k平均法
k個のクラスターに分ける。データとクラスター重心の距離の総和を最小化するように、クラスターへの分け方を決める。kを決めてやる必要がある。
##混合正規モデル
クラスタリングする際に、統計的な考え方を取り入れたもの。一旦クラスタに分けられたデータセットに対して、各クラスタの分布を推定。ここで、前述の混合正規分布モデルと期待値最大化法が再度登場する。新たな標本xが、どのクラスタに属するかを確率的に決める。2つ以上のクラスタが近接していて、クラスタ間に位置するデータが、どちらのクラスタに属するかを判別する場合などに有効。
#サポートベクトルデータ記述法
いわゆるワンクラスサポートベクターマシン。カーネルトリックを使ってデータを非線形写像することで、問題を簡単に扱えるようにする。どんなカーネルを使うのか、訓練データにおける異常標本の割合を決めてやる必要がある。高次元になると解釈が難しいので注意。