SlideShare a Scribd company logo
異常行動検出入門(改)
                    - 行動データ時系列のデータマイニング -




                           @yokkuns: 里 洋平
                         yohei0511@gmail.com
                2012.05.11 機械学習 プログラミング勉強会


2012年5月12日土曜日
本日の内容
                データマイニングによる異常検知
                   - 第5章 異常行動検出 -




2012年5月12日土曜日
AGENDA

      ◆ 自己紹介

      ◆ 異常検知とは

      ◆ 基本的な考え方

      ◆ 異常行動検出

      ◆ 異常行動検出の応用例

2012年5月12日土曜日
AGENDA

      ◆ 自己紹介

      ◆ 異常検知とは

      ◆ 基本的な考え方

      ◆ 異常行動検出

      ◆ 異常行動検出の応用例

2012年5月12日土曜日
自己紹介

             時系列解析や異常検知などの方法論を
          実ビジネスに適用するデータマイニングエンジニア



     ◆ 名前: 里 洋平
     ◆ ID : yokkuns
     ◆ 職業:
     データマイニングエンジニア
     ◆     統計解析 パターン認識 機械学
     習 データマイニング NLP 金融工学
     などを勉強中

2012年5月12日土曜日
活動例: 勉強会の主催・執筆


                   Tokyo.R主催




                パッケージ本執筆しました!




2012年5月12日土曜日
活動例: 動画レコメンド

                閲覧されている動画の情報を用いておすすめ動画を表示する




2012年5月12日土曜日
活動例: 市場予測

                Web上の情報から市場予測




2012年5月12日土曜日
活動例: 異常検知
                              Anomaly detection

                    複数時系列から異常な振る舞いを検知する

                                                                            C
                                                                            A
        時系列のモデリング               複数時系列の異常検知                                  B

      時系列A                             時系列A

                                                                        異常な振る舞い
      時系列B


      時系列C                      時系列B          時系列C

                                 異常な振る舞いの時系列を検出




                例1:トラフィック異常検知                   例2:CM効果のノイズ除去

                    トラフィックA                          ケースA
                                                              CM効果
                    トラフィックB                          ケースB

                    トラフィックC      調査                  ケースC

                     異常な振る舞いをしている                    異常な振る舞いをしているケースを
                     トラフィックの原因を調査する                  除外して、CMの効果を算出する
                                                                                  85
2012年5月12日土曜日
活動例: 時系列解析と異常検知
                      Anomaly detection

                新しいデータと過去時系列モデルの乖離から異常検出


                          8000.0000
                                             異常スコア推移   3.0000
  モデル構築
                                       異常値
  ◇例 : ARIMAモデル                                        2.2500




                          5970.7500                    1.5000




                                                       0.7500




                          3941.5000                         0



  異常スコアの算出
                                                       -0.7500

   ◇例 : 対数損失

                          1912.2500                    -1.5000




                                                       -2.2500




                           -117.0000                   -3.0000


                                                t
                                   4/ 週
                                   4/ 1週
                                   4/ 8週
                                    5/ 週
                                    5/ 週
                                   5/ 週
                                   5/ 週
                                   5/ 週
                                    6/ 週
                                   6/ 週
                                   6/ 週
                                   6/ 週
                                    7/ 週
                                   7/ 週
                                   7/ 週
                                   7/ 8週
                                         週
                                       4



                                     25
                                       2
                                       9
                                     16
                                     23
                                     30
                                       6
                                     13
                                     20
                                     27
                                       4
                                     11


                                     25
                                     1
                                     1




                                     1
                                    4/




                                                                 86
2012年5月12日土曜日
活動例: 時系列解析と影響分析
                        TV Commercial Effects

                時系列的な振る舞いの特徴から各KPIへのCMの影響度を算出
                                                   イベン
                CM時系列                               ト

                                          新規
                                          登録


                              CM                   ARPP
                                                    U




                                          ARPU

            各KPIの時系列
                                                          その他
                                                           外部
                                   継続率
                                                           要因




                                                 ケース




                                                            87

2012年5月12日土曜日
活動例: データマイニングCROSS




2012年5月12日土曜日
AGENDA

      ◆ 自己紹介

      ◆ 異常検知とは

      ◆ 基本的な考え方

      ◆ 異常行動検出

      ◆ 異常行動検出の応用例

2012年5月12日土曜日
異常検知とは
         大概のデータが従う規則的なパターンからずれた
            異常や変化を見つけ出し活用する技術
      セキュリティや障害検知、マーケティングなど応用範囲が広い




2012年5月12日土曜日
セキュリティでの応用
                トラフィック量の過去の時系列的な振る舞いを用いて
                 異常な振る舞いが始まったタイミングで検知する




2012年5月12日土曜日
システム障害への応用
                システムのログの中から異常なログを検出し
                  障害の原因調査及び対策に活用する




2012年5月12日土曜日
AGENDA

      ◆ 自己紹介

      ◆ 異常検知とは

      ◆ 基本的な考え方

      ◆ 異常行動検出

      ◆ 異常行動検出の応用例

2012年5月12日土曜日
基本的な考え方
                       !"#$%&'
        予測モデル と 異常スコアの算出 の2段階で考える
     !"#$%&'
          訓練データ

                               モデルからの乖離
                                           モデルの
                         実績値              変化の度合い




                  !"


                                予測モデル




2012年5月12日土曜日
時系列モデルの構築

          訓練データを用いて、対象データの予測モデルを構築する




2012年5月12日土曜日
異常スコアの算出
                 予測モデルで予測した値と実際の乖離の度合いや
                 1ステップ前の予測モデルと今回の予測モデルの
                確率分布の変化の度合いを異常スコアとして算出する




                        モデルによる予測



                                     乖離の度合いを
                                    異常スコアにする



                               実績
2012年5月12日土曜日
Rによる変化点検出の簡単な実行例
                訓練データからARモデルを構築
           どの程度モデルから乖離しているかを異常スコアとする


                            ARモデルの構築と予測




                                過去の残差




2012年5月12日土曜日
Rによる変化点検出の簡単な実行例

                時系列データyを用意してシミュレーションする



                         51∼100個目のデータで異常検知を実行



                          学習データ

                          新しいデータ




                                   結果をデータフレムに整形




2012年5月12日土曜日
Rによる変化点検出の簡単な実行例
          過去に比べて急激に下がった時点を検知
    単純なしきい値設定では検知出来ない異常を検出する事が出来る



                   異常発生!
                             観測値
                             予測値

           異常発生!
                            異常発生!




                             異常スコア




2012年5月12日土曜日
AGENDA

      ◆ 自己紹介

      ◆ 異常検知とは

      ◆ 基本的な考え方

      ◆ 異常行動検出

      ◆ 異常行動検出の応用例

2012年5月12日土曜日
異常行動検出
                  大量のログから行動パターンを学習し
                不正行為や不審行為を自動的に検出する技術




  図: http://bit.ly/J4PrAf
2012年5月12日土曜日
静的な異常行動検出モデル
          特定のユーザに関するセッションの発生確率が
      他のユーザに比べて有為に小さくなったときにアラートを出す




2012年5月12日土曜日
動的な異常行動検出モデル
   出現頻度では異常がなくても、時間的順序に異常がある場合もある
      動きを確率モデルで表現し、動的な異常行動も検出する



                  cp              cp




         cd            vi    cd

                                         zip



       sendmail              vi
                       zip             sendmail



2012年5月12日土曜日
異常行動検出の基本的な流れ
             行動を複数の行動モデルの線形結合で表現
          混合数は行動パターン数を意味しており、動的に決定する




2012年5月12日土曜日
混合隠れマルコフモデル
           行動を複数の隠れマルコフモデルの線形結合で表現する




2012年5月12日土曜日
オンライン忘却型学習: E-Step
                       メンバーシップ確率の更新を行う




                   j番目のセッションが
                k番目の成分で出力される確率
2012年5月12日土曜日
オンライン忘却型学習: M-Step

                各パラメータの更新を行う




2012年5月12日土曜日
混合数の決定
       学習されたモデルの中で最適な混合数を持つものを選択
    最適な混合数の時間的変化は行動パターンの構造的な変化を意味する




  図: http://chishiki.t.u-tokyo.ac.jp/event/20060706/yamanishi.pdf
2012年5月12日土曜日
異常スコアの算出
                   1ステップまでのモデルでの発生確率を
                セッション長で割った値を異常スコアとして用いる




2012年5月12日土曜日
しきい値の動的最適化
         異常スコアのヒストグラムをオンライン忘却型学習
      裾確率がρを超えない最大のスコアをしきい値として設定する




2012年5月12日土曜日
AGENDA

      ◆ 自己紹介

      ◆ 異常検知とは

      ◆ 基本的な考え方

      ◆ 異常行動検出

      ◆ 異常行動検出の応用例

2012年5月12日土曜日
なりすまし検出
    UNIXコマンド列からなりすましユーザとそのタイミングを検出




  図: http://bit.ly/J4PrAf
2012年5月12日土曜日
なりすまし検出
                なりすましのタイミングで行動パターン数が増える




  図: http://chishiki.t.u-tokyo.ac.jp/event/20060706/yamanishi.pdf
2012年5月12日土曜日
syslogからの障害検知
         syslogからログの出力パターンを学習して異常検知を実施
               システムロックアップの予兆を2日前に発見




  図: http://bit.ly/J4PrAf
2012年5月12日土曜日
syslogからの障害検知

     システムロックアップの発生前にはログの出力パターンが増える




  図: http://chishiki.t.u-tokyo.ac.jp/event/20060706/yamanishi.pdf
2012年5月12日土曜日
AGENDA

      ◆ 自己紹介

      ◆ 異常検知とは

      ◆ 基本的な考え方

      ◆ 異常行動検出

      ◆ 異常行動検出の応用例

2012年5月12日土曜日
TokyoRの

     発表者・LTを募集しています!



2012年5月12日土曜日
ご清聴ありがとうございました!




2012年5月12日土曜日
以下参考資料



2012年5月12日土曜日
Web上の参考資料



 ◆ 統計的異常検出3手法

     http://chishiki.t.u-tokyo.ac.jp/event/20060706/yamanishi.pdf




◆ ダイナミックマイニングと異常検出・CGMテキスト分析への応用

     http://bit.ly/J4PrAf




2012年5月12日土曜日

More Related Content

異常行動検出入門(改)

  • 1. 異常行動検出入門(改) - 行動データ時系列のデータマイニング - @yokkuns: 里 洋平 [email protected] 2012.05.11 機械学習 プログラミング勉強会 2012年5月12日土曜日
  • 2. 本日の内容 データマイニングによる異常検知 - 第5章 異常行動検出 - 2012年5月12日土曜日
  • 3. AGENDA ◆ 自己紹介 ◆ 異常検知とは ◆ 基本的な考え方 ◆ 異常行動検出 ◆ 異常行動検出の応用例 2012年5月12日土曜日
  • 4. AGENDA ◆ 自己紹介 ◆ 異常検知とは ◆ 基本的な考え方 ◆ 異常行動検出 ◆ 異常行動検出の応用例 2012年5月12日土曜日
  • 5. 自己紹介 時系列解析や異常検知などの方法論を 実ビジネスに適用するデータマイニングエンジニア ◆ 名前: 里 洋平 ◆ ID : yokkuns ◆ 職業: データマイニングエンジニア ◆ 統計解析 パターン認識 機械学 習 データマイニング NLP 金融工学 などを勉強中 2012年5月12日土曜日
  • 6. 活動例: 勉強会の主催・執筆 Tokyo.R主催 パッケージ本執筆しました! 2012年5月12日土曜日
  • 7. 活動例: 動画レコメンド 閲覧されている動画の情報を用いておすすめ動画を表示する 2012年5月12日土曜日
  • 8. 活動例: 市場予測 Web上の情報から市場予測 2012年5月12日土曜日
  • 9. 活動例: 異常検知 Anomaly detection 複数時系列から異常な振る舞いを検知する C A 時系列のモデリング 複数時系列の異常検知 B 時系列A 時系列A 異常な振る舞い 時系列B 時系列C 時系列B 時系列C 異常な振る舞いの時系列を検出 例1:トラフィック異常検知 例2:CM効果のノイズ除去 トラフィックA ケースA CM効果 トラフィックB ケースB トラフィックC 調査 ケースC 異常な振る舞いをしている 異常な振る舞いをしているケースを トラフィックの原因を調査する 除外して、CMの効果を算出する 85 2012年5月12日土曜日
  • 10. 活動例: 時系列解析と異常検知 Anomaly detection 新しいデータと過去時系列モデルの乖離から異常検出 8000.0000 異常スコア推移 3.0000 モデル構築 異常値 ◇例 : ARIMAモデル 2.2500 5970.7500 1.5000 0.7500 3941.5000 0 異常スコアの算出 -0.7500 ◇例 : 対数損失 1912.2500 -1.5000 -2.2500 -117.0000 -3.0000 t 4/ 週 4/ 1週 4/ 8週 5/ 週 5/ 週 5/ 週 5/ 週 5/ 週 6/ 週 6/ 週 6/ 週 6/ 週 7/ 週 7/ 週 7/ 週 7/ 8週 週 4 25 2 9 16 23 30 6 13 20 27 4 11 25 1 1 1 4/ 86 2012年5月12日土曜日
  • 11. 活動例: 時系列解析と影響分析 TV Commercial Effects 時系列的な振る舞いの特徴から各KPIへのCMの影響度を算出 イベン CM時系列 ト 新規 登録 CM ARPP U ARPU 各KPIの時系列 その他 外部 継続率 要因 ケース 87 2012年5月12日土曜日
  • 13. AGENDA ◆ 自己紹介 ◆ 異常検知とは ◆ 基本的な考え方 ◆ 異常行動検出 ◆ 異常行動検出の応用例 2012年5月12日土曜日
  • 14. 異常検知とは 大概のデータが従う規則的なパターンからずれた 異常や変化を見つけ出し活用する技術 セキュリティや障害検知、マーケティングなど応用範囲が広い 2012年5月12日土曜日
  • 15. セキュリティでの応用 トラフィック量の過去の時系列的な振る舞いを用いて 異常な振る舞いが始まったタイミングで検知する 2012年5月12日土曜日
  • 16. システム障害への応用 システムのログの中から異常なログを検出し 障害の原因調査及び対策に活用する 2012年5月12日土曜日
  • 17. AGENDA ◆ 自己紹介 ◆ 異常検知とは ◆ 基本的な考え方 ◆ 異常行動検出 ◆ 異常行動検出の応用例 2012年5月12日土曜日
  • 18. 基本的な考え方 !"#$%&' 予測モデル と 異常スコアの算出 の2段階で考える !"#$%&' 訓練データ モデルからの乖離 モデルの 実績値 変化の度合い !" 予測モデル 2012年5月12日土曜日
  • 19. 時系列モデルの構築 訓練データを用いて、対象データの予測モデルを構築する 2012年5月12日土曜日
  • 20. 異常スコアの算出 予測モデルで予測した値と実際の乖離の度合いや 1ステップ前の予測モデルと今回の予測モデルの 確率分布の変化の度合いを異常スコアとして算出する モデルによる予測 乖離の度合いを 異常スコアにする 実績 2012年5月12日土曜日
  • 21. Rによる変化点検出の簡単な実行例 訓練データからARモデルを構築 どの程度モデルから乖離しているかを異常スコアとする ARモデルの構築と予測 過去の残差 2012年5月12日土曜日
  • 22. Rによる変化点検出の簡単な実行例 時系列データyを用意してシミュレーションする 51∼100個目のデータで異常検知を実行 学習データ 新しいデータ 結果をデータフレムに整形 2012年5月12日土曜日
  • 23. Rによる変化点検出の簡単な実行例 過去に比べて急激に下がった時点を検知 単純なしきい値設定では検知出来ない異常を検出する事が出来る 異常発生! 観測値 予測値 異常発生! 異常発生! 異常スコア 2012年5月12日土曜日
  • 24. AGENDA ◆ 自己紹介 ◆ 異常検知とは ◆ 基本的な考え方 ◆ 異常行動検出 ◆ 異常行動検出の応用例 2012年5月12日土曜日
  • 25. 異常行動検出 大量のログから行動パターンを学習し 不正行為や不審行為を自動的に検出する技術 図: http://bit.ly/J4PrAf 2012年5月12日土曜日
  • 26. 静的な異常行動検出モデル 特定のユーザに関するセッションの発生確率が 他のユーザに比べて有為に小さくなったときにアラートを出す 2012年5月12日土曜日
  • 27. 動的な異常行動検出モデル 出現頻度では異常がなくても、時間的順序に異常がある場合もある 動きを確率モデルで表現し、動的な異常行動も検出する cp cp cd vi cd zip sendmail vi zip sendmail 2012年5月12日土曜日
  • 28. 異常行動検出の基本的な流れ 行動を複数の行動モデルの線形結合で表現 混合数は行動パターン数を意味しており、動的に決定する 2012年5月12日土曜日
  • 29. 混合隠れマルコフモデル 行動を複数の隠れマルコフモデルの線形結合で表現する 2012年5月12日土曜日
  • 30. オンライン忘却型学習: E-Step メンバーシップ確率の更新を行う j番目のセッションが k番目の成分で出力される確率 2012年5月12日土曜日
  • 31. オンライン忘却型学習: M-Step 各パラメータの更新を行う 2012年5月12日土曜日
  • 32. 混合数の決定 学習されたモデルの中で最適な混合数を持つものを選択 最適な混合数の時間的変化は行動パターンの構造的な変化を意味する 図: http://chishiki.t.u-tokyo.ac.jp/event/20060706/yamanishi.pdf 2012年5月12日土曜日
  • 33. 異常スコアの算出 1ステップまでのモデルでの発生確率を セッション長で割った値を異常スコアとして用いる 2012年5月12日土曜日
  • 34. しきい値の動的最適化 異常スコアのヒストグラムをオンライン忘却型学習 裾確率がρを超えない最大のスコアをしきい値として設定する 2012年5月12日土曜日
  • 35. AGENDA ◆ 自己紹介 ◆ 異常検知とは ◆ 基本的な考え方 ◆ 異常行動検出 ◆ 異常行動検出の応用例 2012年5月12日土曜日
  • 36. なりすまし検出 UNIXコマンド列からなりすましユーザとそのタイミングを検出 図: http://bit.ly/J4PrAf 2012年5月12日土曜日
  • 37. なりすまし検出 なりすましのタイミングで行動パターン数が増える 図: http://chishiki.t.u-tokyo.ac.jp/event/20060706/yamanishi.pdf 2012年5月12日土曜日
  • 38. syslogからの障害検知 syslogからログの出力パターンを学習して異常検知を実施 システムロックアップの予兆を2日前に発見 図: http://bit.ly/J4PrAf 2012年5月12日土曜日
  • 39. syslogからの障害検知 システムロックアップの発生前にはログの出力パターンが増える 図: http://chishiki.t.u-tokyo.ac.jp/event/20060706/yamanishi.pdf 2012年5月12日土曜日
  • 40. AGENDA ◆ 自己紹介 ◆ 異常検知とは ◆ 基本的な考え方 ◆ 異常行動検出 ◆ 異常行動検出の応用例 2012年5月12日土曜日
  • 41. TokyoRの 発表者・LTを募集しています! 2012年5月12日土曜日
  • 44. Web上の参考資料 ◆ 統計的異常検出3手法 http://chishiki.t.u-tokyo.ac.jp/event/20060706/yamanishi.pdf ◆ ダイナミックマイニングと異常検出・CGMテキスト分析への応用 http://bit.ly/J4PrAf 2012年5月12日土曜日