Upgrade to Pro — share decks privately, control downloads, hide ads and more …

センシングデータの異常検知

 センシングデータの異常検知

機械学習勉強会発表資料
2014.07.19@ブレインパッドさん

oshokawa

July 19, 2014
Tweet

More Decks by oshokawa

Other Decks in Technology

Transcript

  1. 本題の前に自己紹介 • 名前 滝 勇太(旧姓:石川) • 専門 情報工学/機械学習 博士(工学) •

    所属 (株)構造計画研究所 入社4年目 • 業務 データ分析コンサル(異常検知中心) (データ分析用)ソフトウェア開発 • その他 最近ネコを飼い始めました
  2. 機械学習 DE 異常検知 センサー (温度, 湿度, 加速度 etc.) 「過去の」データ 蓄積

    ??? 学習!! 何かしらの「モデル」 ※1 http://product.rorze.com/debugscope/xyz_wire.html ※2 http://peekaboo-vision.blogspot.jp/2013/01/machine-learning-cheat-sheet-for-scikit.html ※1 ※2
  3. 機械学習 DE 異常検知 センサー (温度, 湿度, 加速度 etc.) 「過去の」データ 蓄積

    ??? 学習!! 何かしらの「モデル」 新しいデータ ※1 http://product.rorze.com/debugscope/xyz_wire.html ※2 http://peekaboo-vision.blogspot.jp/2013/01/machine-learning-cheat-sheet-for-scikit.html ※1 ※2
  4. 機械学習 DE 異常検知 センサー (温度, 湿度, 加速度 etc.) 「過去の」データ 蓄積

    ??? 学習!! 何かしらの「モデル」 新しいデータ 評価結果 正常 or 異常, 異常「度合い」 etc. ※1 http://product.rorze.com/debugscope/xyz_wire.html ※2 http://peekaboo-vision.blogspot.jp/2013/01/machine-learning-cheat-sheet-for-scikit.html ※1 ※2
  5. 機械学習 DE 異常検知 センサー (温度, 湿度, 加速度 etc.) 「過去の」データ 蓄積

    ??? 学習!! 何かしらの「モデル」 新しいデータ 評価結果 正常 or 異常, 異常「度合い」 etc. ※1 http://product.rorze.com/debugscope/xyz_wire.html ※2 http://peekaboo-vision.blogspot.jp/2013/01/machine-learning-cheat-sheet-for-scikit.html ※1 ※2 Point!
  6. 各種手法 v.s. 異常検知 ここからは • Classification • Regression • Dimensionality

    Reduction ※ ClusteringはClassificationと似てるので割愛 を使ってどのように異常検知を行うか 簡単に紹介します
  7. の、前に そもそも「異常」ってなに?? 例:病院にて・・・ あなたは肺炎です あなたは風邪です etc. 考え方① あなたは 健康ではありません 考え方②

    病名がはっきりしてありがたい が 各病気に関する知識が必要 ↓ そんなに異常データはありません ありがたみが少ない が 健康(正常)が定義できればいい ↓ 正常データはいっぱいあるお(^ω^)
  8. の、前に そもそも「異常」ってなに?? 例:病院にて・・・ あなたは肺炎です あなたは風邪です etc. 考え方① あなたは 健康ではありません 考え方②

    病名がはっきりしてありがたい が 各病気に関する知識が必要 ↓ そんなに異常データはありません ありがたみが少ない が 健康(正常)が定義できればいい ↓ 正常データはいっぱいあるお(^ω^) 正常ではない ↓ 異常 という立場
  9. 各種手法 v.s. 異常検知 ここからは • Classification • Regression • Dimensionality

    Reduction ※ ClusteringはClassificationと似てるので割愛 を使ってどのように異常検知を行うか 簡単に紹介します
  10. Classification(判別)による異常検知 時間 計測項目 1. 「正常データ(•)」を集めてくる 2. 「正常領域(▪)」を学習する (e. g. 1-class

    SVM) 1つのデータ点の「定義」は 事前に「決める」 1行2列分で1点(2次元) 1行3列分で1点(3次元) 2行3列分で1点(6次元) など
  11. Classification(判別)による異常検知 時間 計測項目 1. 「正常データ(•)」を集めてくる 2. 「正常領域(▪)」を学習する (e. g. 1-class

    SVM) 3. 新規データ(×)を評価する × × 1つのデータ点の「定義」は 事前に「決める」 1行2列分で1点(2次元) 1行3列分で1点(3次元) 2行3列分で1点(6次元) など 「正常領域内」だから「正常」 「正常領域外」だから「異常」
  12. Classification(判別)による異常検知 時間 計測項目 1. 「正常データ(•)」を集めてくる 2. 「正常領域(▪)」を学習する (e. g. 1-class

    SVM) 3. 新規データ(×)を評価する 4. ホントにその評価でいいか最終決定する(←by 人間) × × 「正常領域内」だから「正常」 「正常領域外」だから「異常」 1つのデータ点の「定義」は 事前に「決める」 1行2列分で1点(2次元) 1行3列分で1点(3次元) 2行3列分で1点(6次元) など
  13. 各種手法 v.s. 異常検知 ここからは • Classification • Regression • Dimensionality

    Reduction ※ ClusteringはClassificationと似てるので割愛 を使ってどのように異常検知を行うか 簡単に紹介します
  14. Regression(回帰)による異常検知 時間 計測項目 時間 加速度 1. 「正常データ(―)」を集めてくる 2. 「回帰関数(―)」を学習する (e.

    g. SVR) 3. 新規データ(―, ×)を評価する(※) a. 入力が特定範囲(1月~12月, [0, 1]など)のケース  当該データ予測値と実測値とのギャップにより評価 × a
  15. Regression(回帰)による異常検知 時間 計測項目 時間 加速度 1. 「正常データ(―)」を集めてくる 2. 「回帰関数(―)」を学習する (e.

    g. SVR) 3. 新規データ(―, ×)を評価する(※) a. 入力が特定範囲(1月~12月, [0, 1]など)のケース  当該データ予測値と実測値とのギャップにより評価 b. 実時間における将来予測のケース  データ系列に対する予測値と実測値とのギャップに より評価 ※ 回帰による異常検知は様々なパターンがありうる b × a
  16. 各種手法 v.s. 異常検知 ここからは • Classification • Regression • Dimensionality

    Reduction ※ ClusteringはClassificationと似てるので割愛 を使ってどのように異常検知を行うか 簡単に紹介します
  17. Dim. Red.(次元削減)による異常検知 時間 計測項目 1. 「正常データ(•)」を集めてくる 2. 正常データの低次元表現を求める(e. g. 主成分分析)

    1つのデータ点の「定義」は 事前に「決める」 1行2列分で1点(2次元) 1行3列分で1点(3次元) 2行3列分で1点(6次元) など 高次元 低次元
  18. Dim. Red.(次元削減)による異常検知 時間 計測項目 1. 「正常データ(•)」を集めてくる 2. 正常データの低次元表現を求める(e. g. 主成分分析)

    3. 新規データ(×)を2と同じ方法で低次元化する 1つのデータ点の「定義」は 事前に「決める」 1行2列分で1点(2次元) 1行3列分で1点(3次元) 2行3列分で1点(6次元) など × × 高次元 低次元
  19. Dim. Red.(次元削減)による異常検知 時間 計測項目 × 1. 「正常データ(•)」を集めてくる 2. 正常データの低次元表現を求める(e. g.

    主成分分析) 3. 新規データ(×)を2と同じ方法で低次元化する 4. 何らかの方法で評価する  目視 ← 意外と有効  再構成誤差などによる定量評価 × 1つのデータ点の「定義」は 事前に「決める」 1行2列分で1点(2次元) 1行3列分で1点(3次元) 2行3列分で1点(6次元) など 高次元 低次元
  20. その他 • 色々小賢しい分析方法を紹介しましたが、 実はデータ分析は前処理命です! – 欠損値の扱い – ゴミデータの扱い – 特徴量の取捨選択(特徴選択・特徴抽出)

    • センシングデータはノイズだらけ! – それってノイズなの? – 異常値なの? • Case – by – Caseな手法選択も大事 – データはどんな感じ? – どんな結果が欲しい? – 何に活用したい? NAなにそれ おいしいの? ノイズなの? バカなの? 死ぬの?
  21. 参考になる本(理論を勉強したい人向け) 1. C. C. Aggarwal. Outlier Analysis. Springer. 2013. 2.

    C. M. Bishop. Pattern Recognition And Machine Learning. Springer. 2006. (日本語版有) 3. K. P. Murphy. Machine Learning. The MIT Press. 2012. 4. T. Hastie, R. Tibshirani, and J. Friedman. The Elements of Statistical Learning. Springer. 2009. (日本語版有) 5. 赤穂昭太郎. カーネル多変量解析. 岩波書店. 2008. 6. 杉山 将. イラストで学ぶ機械学習. 講談社. 2013. 7. 平井有三. はじめてのパターン認識. 森北出版. 2012. 8. 山西健司. データマイニングによる異常検知. 共立出版. 2009.