Más contenido relacionado
La actualidad más candente (20)
R実践 機械学習による異常検知 01
- 2. 1
題材
• 井手 剛(2015),
『入門 機械学習による異常検知- Rによる実
践ガイド -』, コロナ社
– 著者は下記書籍の訳者の一人でもあります
• 『パターン認識と機械学習』 第12章(下巻)
• 『統計的学習の基礎 ―データマイニング・推論・予測―』
第6章
- 3. 2
目次
• 1 異常検知の基本的な考え方
• 2 正規分布に従うデータからの異常検知
• 3 非正規データからの異常検知
• 4 性能評価の方法
• 5 不要な次元を含むデータからの異常検知
• 6 入力と出力があるデータからの異常検知
• 7 時系列データの異常検知
• 8 よくある悩みとその対処法
- 4. 3
著者からのひとこと
• 本書の最大の目的は、異常検知の基本技術を完全に理解することです。
「完全に」というのは、データの表し方から始まって、 異常度の計算の仕方ま
で曖昧さなく理解できるということです。 一般に、異常検知を行う対象はモノ
ごとにかなり違うので、 前処理から機械学習的タスクまでツールを使って流
れ作業的に行えるテキスト解析や画像解析とは状況が違うと思います。 そ
のような場合、異常検知の基礎理論それ自体への理解は避けては通れない
と思います。 したがって、まずはそれを伝えることが第1の目的です。
• 一方、現場の問題を解決するためには、それを実装する必要があります。
実は本書で主に想定している読者は、 機械・電気・材料・制御などの非計算
機系の学科を卒業して実務に携わっているエンジニアです。 そういう人たち
は、機械学習のツール群に通じていないと思われるので、 まずは「最初の一
歩」の壁を取り除くことに注力しました。それが第2の目的です。
• この二つの目的の最適なバランスをとるため、Rの実行例は、 数行で書ける
もの(したがってすでにパッケージとして実装されているもの)が主です。 しか
しそれだけでも、同種の本がほとんどない現状では、 十分日本のエンジニア
の「実践ガイド」にはなると思っています。
• http://ide-research.net/book/support.html
- 5. 4
1. 異常検知の基本的な考え方(1/8)
• 1章の内容
– 1.1 例題:健康診断
– 1.2 計算機に判定規則をつくらせたい
– 1.3 「確率分布」で正常パターンをつかむ
– 1.4 機械学習で確率分布を求める
– 1.5 やりたいことを具体的に整理する
– 1.6 異常の度合いを数値で表す
– 1.7 いろいろな手法を試してみる
- 6. 5
1. 異常検知の基本的な考え方(2/8)
• 1.1 例題:健康診断
– 「普通と変わった振舞い」を見つけ出す規則をつくる
ことを考える
• 肥満とBMI
• 閾値
– 異常検知の基本は
• 正常となるモデルをデータからつくり、
• そのモデルから外れるものを異常とすること
- 7. 6
1. 異常検知の基本的な考え方(3/8)
• 1.2 計算機に判定規則をつくらせたい
– 一般的に異常検知を行うにはなにが必要か
• 異常検知には「知識」が必要
– 正常と異常を区別するための何らかの「知識」
– 「機械学習で異常検知を行う」とは、、、
• この「知識」を
• (人間が事前に用意するのではなく)機械学習の手法を用いて
• 過去のデータから計算機に見つけ出させる
– エキスパートシステムと機械学習
• 人間による知識
– IF-THENルール → エキスパートシステム
– 人間を主たる判定ルール生成源として監視システムを構築するアプローチはほ
ぼ必ず失敗する
• 実用的な監視システムの構築には、データからパターンを自動学習する機能
が必要
- 8. 7
1. 異常検知の基本的な考え方(4/8)
• 1.3 「確率分布」で正常パターンをつかむ
– 異常検知モデル構築の3ステップ
• ステップ1(分布推定):
– 正常のモデル(確率分布)をつくる
• ステップ2(異常度の定義):
– 正常からのずれの度合い、すなわち異常度を定義する
• ステップ3(閾値の設定):
– 正常 or 異常を判定する閾値をデータから求める
– 「分布」、「異常度」、「閾値」が異常検知の三大要素
- 9. 8
1. 異常検知の基本的な考え方(5/8)
• 1.3 「確率分布」で正常パターンをつかむ
– 機械学習を用いて異常検知を行うということは、これらの要素(分布、異
常度、閾値)を、機械学習を使ってデータから最適に決めること
– 「確率分布」を求めるとは?
• 正常のモデルをつくるための二つの作業
– (1)未知のパラメターを含む確率モデルを仮定する
– (2)未知のパラメターをデータに合わせこむ
• 上記は「データからのモデルの学習」、すなわち機械学習そのもの
– N=200人のデータから平均と分散を計算することも「データからのモデルの学習」
であり、機械学習で目標にすることそのもの
– 「本書を手にとった読者の中には、機械学習という分野についてまったく
予備知識がない人もいるかもしれません
– でも大丈夫
– 機械学習ですることは、基本的に単純、正規分布の平均分散を計算して
いるのと同じようなものです」
- 10. 9
1. 異常検知の基本的な考え方(6/8)
• 1.4 機械学習で確率分布を求める
– データから正常モデルを構築するには、対象となる系の性質に応じて、次のよう
な問題を解く必要あり
• (1)密度推定問題 ⇒ 2、3章
– 入出力に区別なし、観測順序が重要でない場合
• (2)次元削減問題 ⇒ 5章
• (3)回帰問題 ⇒ 6章
– 入力に対する出力、観測順序が重要でない場合
• (4)分類問題 ⇒ (3.3節と8.7節で少々)
– 入力に対する出力(※離散値)、観測順序が重要でない場合
• (5)時系列解析問題 ⇒ 7章
– 入力に対する出力、観測順序に意味がある場合
– 時系列データが典型的
– 機械学習を使って異常検知をするとは、
• これらの問題を機械学習の分野で発展してきた手法を駆使して解き、
• 異常度と閾値を問題に応じた適切な形で決めること
- 11. 10
1. 異常検知の基本的な考え方(7/8)
• 1.5 やりたいことを具体的に整理する
– 上述の内容は“機械学習側”から述べたもの
– これを“実問題側”から見ると、、、
• (1)データクレンジング(データ洗浄)の問題
• (2)外れ値検出の問題
• (3)クラスタリング
• (4)回帰問題(正準相関分析含む)
• (5)異常部位検出問題
• (6)変化点検知問題
• (7)主成分分析
• (8)変化解析問題
- 12. 11
1. 異常検知の基本的な考え方(8/8)
• 1.6 異常の度合いを数値で表す
– 本書では、データの確率分布が異常判定の基本
– “異常度”としての対数尤度
• 異常度「a(x’) = - lnp(x’)」 ⇒ 負の対数尤度
• 尤度とは
– 確率分布の引数に観測値を代入したもの
– 観測値を所与としたときに、モデルを規定するパラメターの尤もらしさを
表す
• 本書では、少数の例外を除いて、
負の対数尤度を基礎として異常度を定義
– 望ましい性質1:ホテリング理論の自然な一般化
– 望ましい性質2:マハラノビス距離との対応(←正規分布)
– 望ましい性質3:(平均)情報量との対応