異常検知

異常を検知すること

異常検知(いじょうけんち、: anomaly detection)や外れ値検知(はずれちけんち、: outlier detection)とは、データマイニングにおいて、期待されるパターンまたはデータセット中の他のアイテムと一致しないアイテムやイベントや観測結果を識別すること[1]。何が異常であるかを定義するのは、タスク次第ではあるものの、Varun Chandolaら[1]は異常というのは通常の動作として明確に定義された概念に準拠しないデータパターンである定義している。各タスクに適用すると通常、異常とは銀行詐欺英語版、クレジットカード不正利用、構造欠陥、医学的な問題、文書中の誤り検出、不審な行動検出、機械の故障検知などの問題に翻訳する。なお、異常(anomaly)は、外れ値(outlier)、珍しい物(novelty)、雑音(noise)、変動(deviation)、例外(exception)などとも呼ばれる[2]

特に悪用やネットワーク侵入検知の状況では、興味深いオブジェクトは多くの場合レアなオブジェクトではなく、活動中の予期されないバーストである。このパターンはレアオブジェクトとして外れ値の一般的な統計的定義に従わず、適切に集計されない限り、多くの外れ値検知法(特に教師なし手法)はそのようなデータで失敗する。代わりに、クラスタ分析アルゴリズムはそのようなパターンで形成されたマイクロクラスタを見つけることが可能である[3]

異常検知技術には大きく分けて3通りの分類がある。教師なし異常検知(unsupervised anomaly detection)手法は、データセット内のインスタンスの大多数は正常であるという仮定の下でデータセットの残りにほとんどフィットしないと思われるインスタンスを探すことによって、ラベル付されていないテストデータセットにある異常を見つける。教師あり異常検知(supervised anomaly detection)手法は「正常」と「異常」にラベル付されたデータセットを必要とし、分類器を訓練することを含む(他の多くの統計分類問題との決定的な違いは固有の外れ値検出の不均衡な性質である)。半教師あり異常検知(semi-supervised anomaly detection)手法は与えられた正常な訓練データセットから正常な振る舞いを表すモデルを構成し、そして学習したモデルによって生成されるテストインスタンスの尤度をテストする[要出典]

適用例

編集

異常検知は、侵入検知システム詐欺検知、文書中の誤り検出、不審な行動検出、機械の故障検知、システムヘルスモニタリング、センサネットワークのイベント検知、生態系の乱れの検知など、様々な分野に応用できる。データセットから異常なデータを除去するための前処理でしばしば使われる。教師あり学習では、データセットから異常なデータを除去することはしばしば精度の統計的に有意な増加をもたらす[4][5]

よく使われる手法

編集

いくつかの異常検知手法が文献によって提案されている。いくつかのよく使われる手法を示す:

  • 正規分布に従うデータの異常検知
    • ホテリング理論
    • マハラノビス・タグチ法
    • 密度比推定
  • 非正規データの異常検知
    • ガンマ分布の当てはめ
    • カイ二乗分布への当てはめ
    • k近傍法
    • k平均法
    • 混合ガウス分布モデル
    • One Class SVM
    • 密度比推定
  • 不要次元のある次元データの異常検知
    • 主成分分析
    • 確率的主成分分析
    • カーネル主成分分析
  • 入出力関係のあるデータの異常検知
    • 線形回帰モデル
    • リッジ回帰
    • ガウス過程回帰
  • 時系列データの異常検知
    • 近傍法
    • 特異スペクトル変換法
    • 自己回帰モデル
    • 状態空間モデル
  • 変数間に関係があるデータの異常検知
    • 疎構造学習

データセキュリティへの応用

編集

異常検知は1986年ドロシー・デニング英語版によって侵入検知システム(IDS)のために提案された[6]。IDSのための異常検知は通常しきい値と統計を用いて達成されるが、ソフトコンピューティング、および帰納的学習を用いても行うことができる[7]。1999年までに提案された統計のタイプはユーザ、ワークステーション、ネットワーク、リモートホスト、ユーザのグループ、そして頻度、平均、分散、共分散、標準偏差に基づいたプログラムのプロファイルを含んだ[8]侵入検知における異常検知のカウンターパートは悪用検出英語版である。

関連項目

編集

参考文献

編集
  1. ^ a b Chandola, Varun; Banerjee, A.; Kumar, V. (2009). “Anomaly detection: A survey”. ACM Computing Surveys 41 (3): 1. doi:10.1145/1541880.1541882. http://www.cs.umn.edu/sites/cs.umn.edu/files/tech_reports/07-017.pdf. 
  2. ^ Hodge, V. J.; Austin, J. (2004). “A Survey of Outlier Detection Methodologies”. Artificial Intelligence Review 22 (2): 85. doi:10.1007/s10462-004-4304-y. http://eprints.whiterose.ac.uk/767/1/hodgevj4.pdf. 
  3. ^ Dokas, Paul; Levent Ertoz, Vipin Kumar, Aleksandar Lazarevic, Jaideep Srivastava, Pang-Ning Tan (2002). “Data mining for network intrusion detection”. Proceedings NSF Workshop on Next Generation Data Mining. http://www.csee.umbc.edu/~kolari1/Mining/ngdm/dokas.pdf. 
  4. ^ Ivan Tomek (1976). "An Experiment with the Edited Nearest-Neighbor Rule". IEEE Transactions on Systems, Man and Cybernetics. Vol. 6. pp. 448–452.
  5. ^ Michael R Smith and Tony Martinez (2011). "Improving Classification Accuracy by Identifying and Removing Instances that Should Be Misclassified" (PDF). Proceedings of International Joint Conference on Neural Networks (IJCNN 2011). pp. 2690–2697.
  6. ^ Denning, Dorothy, "An Intrusion Detection Model," Proceedings of the Seventh IEEE Symposium on Security and Privacy, May 1986, pages 119-131.
  7. ^ Teng, Henry S., Chen, Kaihu, and Lu, Stephen C-Y, "Adaptive Real-time Anomaly Detection Using Inductively Generated Sequential Patterns," 1990 IEEE Symposium on Security and Privacy
  8. ^ Jones, Anita K., and Sielken, Robert S., "Computer System Intrusion Detection: A Survey," Technical Report, Department of Computer Science, University of Virginia, Charlottesville, VA, 1999