Jubatus Casual Talks #2

異異常検知⼊入⾨門
株式会社Preferred Infrastructure
リサーチャー&Jubatusチームリーダー
⽐比⼾戸  将平
⾃自⼰己紹介
l 
l 
l 
l 

⽐比⼾戸将平(HIDO Shohei)
TwitterID: @sla
専⾨門:データマイニング、機械学習
経歴:
l 

l 

l 

2006-2012: IBM東京基礎研究所データ解析グループ
l  機械学習のアルゴリズム研究開発
l  お客様案件で数多くの異異常検知プロジェクトに従事
2012-: 株式会社プリファードインフラストラクチャー
l  ⼤大規模オンライン分散機械学習基盤Jubatusチームリーダー
2013-: Preferred Infrastructure America, Inc
l  取締役/Chief Research Officer

2
本講演の概要
l 

「データあるところに異異常あり」

l 

異異常検知はデータ活⽤用において普遍的に存在する問題である

l 

主に外れ値検知、変化点検知、異異常状態検知の3タイプがある

l 

アルゴリズム研究とソフトウェア開発が⽇日々進展している

l 

異異常検知技術はビジネスでの応⽤用が広がっている

l 

ビッグデータ解析の花形になりうる
3
Agenda
l 

異異常検知とは

l 

解決アプローチ

l 

既存ソフトウェア

l 

異異常検知の未来

l 

まとめ

}
}
}

⼊入⾨門編
実践編

応⽤用編
異異常検知のイメージ
5
4
3
2

Outlier
外れ値

1
0
-5

-3

-1

1

-1
-2
-3
-4
-5
5

3

5
データあるところに異異常あり(1/2)

データ種類
l 

l 

単なる数値ベクトルデータ  
l 

l 

応⽤用

外れ値検出  
l 

センサー系  

l 

⺟母集団からの外れ検知

l 

多次元ベクトル

ノイズ除去    

センサー系  

l 
l 

⾞車車制御センサー群  

l 

健康異異常検知  

l 

l 

ヒト装着センサー群  
⼯工場監視センサー群  

l 

異異常動作検知  

l 

故障検知  

l 

故障予兆検知  

イベント系列列  
l 

クレジットカード利利⽤用履履歴  

l 

ヘルスケアデータ  

l 

イベント系列列系  
l 
l 

6	

クレジット不不正利利⽤用検知  
診療療誤り検知  
データあるところに異異常あり(2/2)

データ種類
l 

応⽤用

l 

ネットワーク系  

ネットワーク系  

l 

l 

DDoS攻撃検知  

l 

アクセスログ  

l 

侵⼊入検知/マルウェア検出  

l 

パケット経路路ログ  

l 

障害検知/障害箇所検出

l 

l 

トラフィック流流量量  

パケット内容  

画像/動画  

l 

異異⾳音検知  

l 

⾳音声  

l 

パターン認識識系  
l 

パターン認識識系  
l 

l 

l 

異異常状態/侵⼊入者検知  

テキスト系  
l 

テキスト系  

ノイズ⽂文章除去  

l 

新聞記事/ブログ記事  

l 

新規トピック検出

l 

Twitterタイムライン  

l 

トレンドワード検出  

7
異異常検知問題の呼び名:○○検出・○○検知
Error
エラー
Rare
レアイベント
Novelty
新規
Defect
故障

Outlier
外れ値

Deviation
変動
Noise
ノイズ

異異常
Anomaly

Fault
不不適切切動作
8	

Fraud
不不正
Intrusion
侵⼊入
Noise
ノイズ

外れ値検出問題

Error
エラー

5
4

Rare
レアイベント

3
2

Outlier
外れ値

1
0
-5

-3

-1

1

-1

3

-2

5

Intrusion
侵⼊入

-3
-4

Defect
故障

-5

Novelty
新規

Deviation
変動

9	

Fault
不不適切切動作

Fraud
不不正
異異常・外れ値の定義:統⼀一的⾒見見解は無い
l  Grubbs,
l 

1969

“An outlying observation, or outlier, is one that appears to
deviate markedly from other members of the sample in
which it occurs.”

l  Hawkins,
l 

“An observation that deviates so much from other
observations as to arouse suspicion that is was generated by
a different mechanism.”

l  Barnett
l 

1980

& Lewis, 1994

“An observation (or subset of observations) which appears
to be inconsistent with the remainder of that set of data.”

10
異異常は何から引き起こされるのか?
l 

⾃自然系
l 
l 

l 

⾃自然変動の範疇:桜開花後の雪
観測ノイズ:不不可避な電磁ノイズ

⼈人間系
l 
l 

l 

ヒューマンエラー:⼊入⼒力力ミスなど
不不正⾏行行動:クレジットカード不不正利利⽤用

システム系
l 
l 

システム故障の予兆:HDD読み取りエラーの頻発

l 

l 

システム故障:HDDが物理理破損して読み取り不不能に
システムへの攻撃:ネットワークDDoS攻撃

質的変化
l 

対象の状態変化:マルウェア感染による攻撃⾏行行動開始

l 

新しい知識識:あるトピックにおける新しい単語
11
異異常検知問題の3つのタイプ
1. 

2. 

3. 

外れ値検出問題(Outlier detection)
l  静的
l  あるデータ点が分布から⼤大きく外れているか
変化点検出問題(Change point detection)
l  動的
l  対象に変化が起きたか否か、その時点はどこか
異異常状態問題(Anomaly detection, etc)
l  動的
l  対象の状態が正常か異異常か

12
外れ値検出問題
l 

静的
i.i.dサンプル

l 

検出単位
l 

データ点
5
4
3
2
1
0
-5

-3

-1

1

-1
-2
-3
-4
-5

13	

3

5
変化点検出問題
l 

動的
l 

l 

単⼀一の観測対象の時系列列データ

検出単位
l 

時刻付きデータ点
5
4
3
2
1
0
-1

0

5

10

15

-2
-3
-4
-5

14	

20

25

30
異異常状態検出
l 

動的
l 

l 

複数の観測対象の時系列列データ

検出単位
l 
l 

ある単⼀一の観測対象

5
4

あるいはある観測対象のある観測区間
3
5

2

4

1

3

0

2

-1

1

-2

0

-3

-1
-2

0

5

10

15
-4

0

5

20

-5

-3
-4
-5

15	

10

25

15

30

20

25

30
Agenda
l 

異異常検知とは

l 

解決アプローチ

l 

既存ソフトウェア

l 

異異常検知の未来

l 

まとめ

}
}
}

⼊入⾨門編
実践編

応⽤用編
3つの問題タイプの関係性
l 

外れ値検出
l 

l 

個々のデータ点の空間上の分布さえ考えれば良良い

変化点検出&異異常状態検出
l 

⽅方向性1:時系列列データを多次元ベクトルに変換してi.i.dと⾒見見なす
l 

l 

様々な⼿手法が適⽤用できるが情報のロスがある

⽅方向性2:時系列列データをそのままモデル化してあつかう
l 

分野依存の⼯工夫が必要

l 

例例:Unixコマンド系列列からの侵⼊入検知モデル

変化点検出
外れ値検出

単純化
&情報ロス
17	

異異常状態検出
異異常検知のアプローチ(1/3):統計ベース
l 

基本⽅方針
l 

データ⺟母集団の形状や確率率率分布に仮定を置く

l 

データをモデルにフィッティング(パラメータを合わせる)
l 

l 

メリット
l 

l 

例例:正規分布なら平均と標準偏差を合わせる

データが仮定したモデルに従っていれば⾮非常に⾼高精度度を達成

デメリット
l 
l 

l 

⼀一般にデータは綺麗麗な分布に従っていることは少ない
⾼高次元になると単純な分布であってもフィッティングが困難

代表的⼿手法
l 

Minimum Volume Ellipsoid estimation [Rousseeuw, 1985]

l 

Minimum Covariance Determinant [Rousseeuw, 1999]
l 

多次元正規分布を仮定してマハラノビス距離離を使う
18
異異常検知のアプローチ(2/3):ルールベース
l 

基本⽅方針
l 
l 

l 

既知の異異常サンプルを集める
それらを表す汎⽤用的なルールを決める(あるいは学習する)

メリット
l 
l 

l 

専⾨門家が持つドメイン知識識をそのまま組み込むことができる
既知の異異常に良良く合致するルール集合を得ることができる

デメリット
l 
l 

l 

背後のルールが複雑化しすぎると⼈人間では表現できない
未知の異異常に合致するルールを作ることは困難

代表的⼿手法
l 

RIPPER [Cohen, Fast effective rule induction, Machine
Learning, 1995]
19
機械学習を⽤用いた教師有り/教師無し異異常検知
教師有り異異常検知
l 
l 

l 

教師無し異異常検知

少数の既知異異常データが存在
正常サンプルから判別する
分類モデルを学習
既知異異常に⾮非常に有効

l 
l 

l 

20

異異常データは⽤用いない
与えられた正常データを
モデリング
未知の異異常にも有効
なぜ異異常検知が難しいのか?=次元の呪い
⾼高次元になると全てのデータが互いに遠くなる
Iris:3クラス、3次元

USPS:10クラス、256次元

クラス内距離離

クラス内距離離

クラス間距離離

クラス間距離離

21
異異常検知のアプローチ(3/3):機械学習ベース
l 

基本⽅方針
l 
l 

l 

教師有り:少数の異異常サンプルを正常と判別する分類モデルを学習
教師無し:正常データを表すモデルを作り、異異常スコアを計算

メリット
l 
l 

特に教師有りの場合は未知の異異常に対しても有効

l 

l 

⼀一般にはどのような分布のデータに対しても有効
⾼高次元の場合にもロバストな計算⼿手法がある

デメリット
l 
l 

l 

精度度は今得られているデータの品質が全てになる
ドメイン知識を導⼊入するためには変数の作り⽅方などに⼯工夫が必要

代表的⼿手法
l 

One-class SVM

l 

Local Outlier Factor (LOF)

22
One-class SVM [Schoelkopf et al., 1999]
l 
l 

l 

Support Vector Machineの改変版
オリジナルデータ空間のサンプルを
カーネル関数で特徵空間に射影
元のSVMの⽬目的
l 

l 

2クラスを分類する境界⾯面を探す

OC-SVMの⽬目的
l 

(1-ρ)割のサンプルを最⼩小の体積に
押し込める境界⾯面を探す

l 

メリット
l 

適切切なカーネル関数を設計する
ことで様々なデータに対応
Manevitz et al, One-Class SVMs for Document Classification, 2001
23
LOF: Identifying Density-Based Local Outliers
[Breunig, SIGMOD2000]
l 

LOF法は周辺のデータとの局所的な関係から異異常度度を計算
l 

l 

密度度ベースと書いてあるが実際には距離離計算のみから算出

⼀一般の距離離ベースの異異常値計算⼿手法とは違い、密集度度を考慮する
l  通常の異異常値≒周りのデータへの距離離
l  LOF値≒周りのデータへの距離離×周りのデータの密集度度

特徴ベクトル

X1 (LOF値特大)	

X1

 分散したデータ集合	

X2 (LOF値大)	

X2

密集したデータ集合	

X3

X3 (LOF値小)	
24
l 

既存⼿手法:外れ値検出へ帰着
l 

l 

normal

多次元センサーデータからの
異異常状態検出⼿手法
滑滑⾛走窓⽅方式による移動平均

最新⼿手法: 近傍保存原理理による相関異異常検知
[井⼿手, 2009]
l 

変数間の相関関係をグラフで表し
faulty

正常時と⽐比較

25
最新⼿手法:サンプリングによる超⾼高速異異常検知
[Sugiyama&Borgwardt, NIPS2013]
l 

K=4

前処理理
l 

元データから少数K (5〜~100個)
をあらかじめサンプリング(紫)

l 

異異常値計算
l 
l 

l 

各サンプリング点への距離離計算
最⼩小値を異異常度度とみなす(半径)

メリット
l 

サンプリングはたったの⼀一回

l 

K回の距離離計算のみで超⾼高速

l 

任意の距離離尺度度を利利⽤用可能

l 

だいたいK=20くらいで最⾼高性能

l 

l 

正常点

うまくいく理理論論的な説明付き

ご本⼈人によるコード(CとR)
l 

26

https://github.com/mahito-sugiyama/sampling-outlier-detection/

異異常点
Agenda
l 

異異常検知とは

l 

解決アプローチ

l 

既存ソフトウェア

l 

異異常検知の未来

l 

まとめ

}
}
}

⼊入⾨門編
実践編

応⽤用編
既存ソフトウェアの異異常検知機能(1/3):
Rの異異常検知系パッケージ
l 

統計⽤用S⾔言語の独⾃自拡張オープンソース実装

l 

ベクトル・⾏行行列列演算・統計処理理を標準装備

l 

多種多様な分野の様々な⼿手法が公開(CRAN)

l 

LOF
l 
l 

l 

dprepパッケージ:lofactor関数
Rlofパッケージ(マルチコア並列列版):lof関数

One-class SVM
l 

l 

Kernlabパッケージ(LIBSVMラッパー):one-svcオプション

変化点検出
l 
l 

ADM3パッケージ:ADM3アルゴリズム

l 

l 

cpmパッケージ(パラメトリック):detectChangePoint
OutlierDC:クォンタイル回帰ベースの時系列列異異常検知

⾼高次元異異常検知
l 

mvoutlierパッケージ

28
既存ソフトウェアの異異常検知機能(2/3):
その他の商⽤用・OSSソフトウェア
l 

代償的なOSSデータ解析ソフトウェア
l 

Weka: Javaベースの著名なデータマイニング統合環境
l 

l 

SHOGUN: SVM中⼼心の機械学習ツールボックス
l 

l 

One-class SVM, EllipticEnvelop

ELKI: 著名な異異常検知研究グループが教育⽬目的で公開、AGPL
l 

l 

One-class SVM

Scikits-learn: Pythonの機械学習ライブラリ
l 

l 

Distance Based & Spatial outlier detection

LOF DB-outlier, LOCI, LDOF OPTICS-OF EM-Outlier
,
,
,

商⽤用ソフトウェア
l 

RapidMiner: 旧YALE, WekaをベースにRでも機能拡張可能な環境
l 

l 

LOF DB-outlier, Class Outlier Factor,
,

SAS: 業界別ソリューションに⾦金金融不不正検知等
29
既存ソフトウェアの異異常検知機能(3/3):
分野を限定した場合の異異常検知ソフトウェア
l 

ネットワークの侵⼊入・攻撃検出
l 

NECのデータマイニング製品
l 

Smart Sifterによる侵⼊入検出(外れ値検知)

l 

オンライン忘却アルゴリズムChange Detector
によるネットワーク攻撃検出(変化点検出)

l 

l 

Malheur
l 

l 

Naïve Bayesによるなりすまし検出(異異常状態検出)

機械学習(クラスタリング&分類ベース)

⾦金金融業における不不正検知
l 

FICO社Falcon Fraud Manager
l 
l 

l 

クレジットカードの不不正利利⽤用検知
Nerural networkベース(Multi-layered self-calibrating analytics)

IBM, SAS, Oracle, NEC各社ソリューション
30
Agenda
l 

異異常検知とは

l 

解決アプローチ

l 

既存ソフトウェア

l 

異異常検知の未来

l 

まとめ

}
}
}

⼊入⾨門編
実践編

応⽤用編
“Machine learning that matters”
Kiri L. Wagstaff, ICML, 2012.
l 

l 
l 

機械学習研究におけるベンチマーク性能向上への偏向、
評価関数の有⽤用性、実応⽤用との乖離離を批判し実⽤用指向を推奨
もっと応⽤用を指向した機械学習研究と開発が今後加速する
異異常検知は特にドメイン知識識が重要で専⾨門家の強⼒力力が不不可⽋欠

32
Edge-heavy data:
データ価値の多くはエッジ(縁)に存在する
l センサデータの増加により、データの総価値は増加する
l その⼀一⽅方、データの価値の密度度⾃自体は下がりつつある
l 

現在のビッグデータの殆どは排気データ(exhaust  data)
※排気データ:他の事業活動の副産物として⽣生成されたデータ

l 多くのデータが収集されるが利利⽤用されない。利利⽤用を⾒見見込んで投機的

に収集したり、解析することは割に合わない場合が多い
l 

コスト:ネットワーク,  ストレージ,  個⼈人情報管理理

推測:多くのデータは収集された地点で管理理、処理理され  
      濃縮された重要な情報のみがやりとりされる
丸山宏, 岡野原大輔 Edge-Heavy Data: CPS・ビッグデータ・クラウド・スマホがもたらす次世代アーキテクチャ
GICTF総会 特別講演 2012, http://www.gictf.jp/doc/20120709GICTF.pdf
33
Jubatusが異異常検知をサポートした理理由:
異異常検知はビッグデータ解析の花形になる
l 
l 
l 

理理由(1)
l  ビジネス的に重要な応⽤用がたくさんある
理理由(2)
l  ⾼高次元データにおけるが学術研究が進んでいる
理理由(3)
l  データを削減することが原理理的にできない
l  分類や回帰問題の場合
l 

l 

‒  モデルが⼗十分シンプルならば少数データで学習可能
異異常検知の場合
‒  全サンプルを平等に処理理しなければならない

理理由(4)
l 

近傍探索索ベースの⼿手法は計算効率率率化に限界がある
34
Agenda
l 

異異常検知とは

l 

解決アプローチ

l 

既存ソフトウェア

l 

異異常検知の未来

l 

まとめ

}
}
}

⼊入⾨門編
実践編

応⽤用編
まとめ
l 

「データあるところに異異常あり」

l 

異異常検知はデータ活⽤用において普遍的に存在する問題である

l 

主に外れ値検知、変化点検知、異異常状態検知の3タイプがある

l 

アルゴリズム研究とソフトウェア開発が⽇日々進展している

l 

異異常検知技術はビジネスでの応⽤用が広がっている

l 

ビッグデータ解析の花形になりうる
36

Jubatus Casual Talks #2 異常検知入門