LoginSignup
26
28

More than 5 years have passed since last update.

QCon2014:異常検知 機械学習

Last updated at Posted at 2014-05-01

QCon Tokyo 2014
QCon2014 My Report Top

Detail Report#3/8

異常検知 機械学習の有望なアプリケーション

寺田英雄:オープンストリーム

講師 BackGround

  • 機械学習(独学)
  • 動画エンコーダー、同期再生エンジン
  • 画像処理、パターン認識
  • オブジェクト指向(driver FW)
  • 言語は assembra, c, c++, python, R,,

Anomaly Detection ?

異常検知の目的

正常とされるパターンに一致しないパターンを見つけること
(なんかあるぞと警報を出す)

技術的に

  • あらゆるアルゴリズムを動員(定番がない)
  • 活発な研究
  • 機械学習の書学者に生きた教材
  • 結果がシンプル=>正常 or 異常

社会的に

  • あちこちにニーズ
  • 異常の意味の広がり(通常とそうでないと意味で使うと応用例が増える)

異常検知は現場導入しやすい

  • 結果がシンプル(なんかビッグデータがあるけどというときに)
  • 学習データを用意しやすい
  • 評価しやすい
  • デバッグしやすい 

機械学習とは?

普通のプログラム

入力 Xi -> アルゴリズムYi = f(Xi) -> 出力データ Yi

普通に作れない場合

入力データ(不定形) -> ???? -> 出力データ
(この???の部分を半自動でコンピュータにやらせる)

モデルベース学習(オフライン学習)

学習と実行が分かれている

学習

生データ -> 学習アルゴリズム -> モデルデータ

実行

生データ -> モデル実行エンジン(モデルデータ) -> 出力

モデルベース(オンライン学習)

学習と実行

生データ -> 学習アルゴリズム -> モデルデータ
     ->(モデルデータ:上記の計算結果で常時上書きながら) -> 出力

学習アルゴリズム検討事項

  • 入力データの性質
  • 異常のタイプ
  • データらベル(教師)の有無
  • 検知結果の出力
  • 特徴

入力データの性質

  • インスタンスは属性値の集合
  • 単変量型と多変量型

DSC_9706.jpg

属性値の型と手法

  • 2値 binary
  • カテゴリ categorical
  • 連続値 numerical

統計的手法 -> 連続値、カテゴリ
最近傍型手法-> 距離定義が必要

インスタンス間の関係性

  • シーケンスデータ(順序に意味がある)
  • 空間データ(位置により意味合いが変わる 近傍インスタンスと関係)
  • グラフデータ (graphdata) (facebook, 友人関係など) エッジで結合されたデータノード

異常のタイプ

点異常

DSC_9709.jpg

文脈依存型異常

晴れ続きでは雨が、雨続きでは晴れが異常になる

DSC_9707.jpg

  • 集団型異常

いつもとちがう動きをしているところ
DSC_9708.jpg

データラベル(教師)の有無

教師あり異常検知

  • 正常なパターンも異常のパターンもある
  • 異常検知というよりも、ただの区別

教師無し異常検知

(仮定を用いて判定)
* 正常なデータは異常なデータよりも頻繁に発生する
DSC_9711.jpg

半教師有異常検知

  • 正常データだけにラベル有
  • 正常でないものを異常とする

検知結果の出力

Score で表示するか、2値で表示するか。

  • Score
    異常度合を出す

  • ラベル
    正常、異常

よい特徴量とは?

  • 一言では答えられない
  • 生データVS アルゴリズム
  • アルゴリズムに引っかかりやすい形式
  • ノイズに負けにくい形式
  • 経験則、ノウハウ-> 批判 -> Deep Learning by Google

異常検知のアルゴリズム

  • 分類による異常検知 ### 分類モデル
  • ニューラルネットワーク
  • ベイジアンネットワーク
  • サポートベクターマシン
  • ルールベース

分類器を見つけさせる

最近傍

LOF(Local outlier factor)の概念図

事例

SQL インジェクション攻撃の検知

  • 正常時SQLパターンの多重統計モデルを学習
    DSC_9712.jpg

  • システム構成
    DSC_9713.jpg

Provider

SQLを取り出す

Parser

  • SQLを解析、Token列を抽出
  • Skelton Queryを作成

Feature Selector

  • Feature vector 作成
  • Profileを選択

自動車用歩行者検知

  • 教師有学習
  • 車両前方カメラ
  • ランダム背景
  • 学習データ
  • 何千人分

スキャン

各点の郊外の向きと強さで人とグラム
Histogram of oriented Gradient
Histogram binを特徴ベクトルに変換する

その他事例

  • ネットワーク侵入
  • クレジットカード不正利用
  • 携帯電話不正利用
  • 保険請求
  • インサイダー取引
  • 画像診断:病巣検知

まとめ

  • 実用性が高い
  • 機械学習の勉強に最適
  • みんなでやってみよう
26
28
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
26
28