HELLO CYBERNETICS

深層学習、機械学習、強化学習、信号処理、制御工学、量子計算などをテーマに扱っていきます

統計・機械学習による異常検知の本紹介

 

 

follow us in feedly

はじめに

今回は統計・機械学習の実用的な応用として異常検知をテーマにした本を3冊紹介します。3冊紹介しますと言いつつ異常検知の本を読み漁ったわけではなく、この3冊しか私自身所持しておりませんのでその点はご留意を。

今回の3冊はそれぞれ数学の難易度がいい感じに並べられるので、それぞれの具合に合わせて手にとってみると良いと思います。 ちなみに難易度の数字は、PRMLが4でベイズ推論による機械学習入門(須山ベイズ)が3.5くらいの感覚で書いています。

異常検知と変化検知 / 井手 剛・杉山 将 難易度 3

全12章あり、(目次の題目とは異なりますが)概ね下記のような手法ないしモデルを中心として話が展開される内容となっています。

  1. 異常検知の基本的考え方
  2. 多変量正規分布 ホテリング法
  3. 単純ベイズ法
  4. 近傍法
  5. 混合モデル EM法
  6. one-class SVM
  7. フォンミーゼス分布(方向データ)
  8. ガウス過程
  9. 部分空間法・特異スペクトル分析
  10. グラフィカルラッソ
  11. 密度比推定 異常検知
  12. 密度比推定 変化検知

基本的にモデルの解説を簡潔に、しかし誤魔化さず行う部分に注力されている感じです。異常検知は題材として紹介しつつも取りコードなどの具体例はありませんので、実務に速攻で転じる事ができるというタイプの本ではありません。基本的には各章が単体で完結しており、興味のあるところから読むことができます。後の紹介する2冊と比較すると最も高度です。

各々のモデルについて勉強がしたく、ついでに応用方法も知りたいくらいの感覚で手に取るのもありかなと思います。

既に機械学習をある程度学んでいる人が異常検知や変化検知への適用方法を学ぶというのが一番マッチングすると思います。

入門機械学習による異常検知 / 井手 剛 難易度 2

引き続いて井手さんの著書です。こちらは副題として "Rによる実践ガイド" と書かれている通り、Rのコードが各所で挿入されています。ただし本を読みながら異常検知を実行していきましょう、というスタイルではなく、それぞれの手法の解説を行い、それをRで実行しようとするとこういう感じだよ、という軽いコードになっている点は注意が必要です。

  1. 異常検知の基本的な考え方
  2. 正規分布に従うデータ (ホテリング理論)
  3. 非正規データ
  4. 性能評価
  5. 不要な次元を含むデータ
  6. 入力と出力があるデータ
  7. 時系列データ
  8. よくある悩みと対処法

こちらの本はモデルないし手法よりも、どういうデータを扱うかという、より応用的な切り口で解説が進みます。紹介される手法たちは先に紹介した異常検知と変化検知の内容と(杉山さんが担当した密度比推定以外の部分に関して)かなり被りもあるのですが、同じことを説明するにも比較的紙面を割いて説明しているため、より丁寧な印象を受けます。

異常検知というタスクそのものに興味がある場合においては先の赤い本よりもこちらをオススメします。

pythonによる異常検知 / 曽我部 東馬 難易度 1

Pythonによる異常検知

Pythonによる異常検知

今回紹介する中で最もコードが多いです。手を動かしつつ理解を促していくという使い方が好みの場合は本書が適していると思われます。ただし、上記2冊とテイストがかなり異なっており、学べるカバー範囲が異なります。

  1. 機械学習と異常検知
  2. 機械学習と統計解析の基本
  3. 非時系列データ
  4. 時系列データ
  5. 深層学習による異常検知

数式とコードは同等かあるいはコードが多めという印象です。なんとなく時系列データの方が力が入っているように見えます。深層学習まで題材にしていることから見ても分かるように、広く浅く、この本をイントロダクションに各手法を更に自分で掘り下げるという使い方になると思われます。

異常検知の雰囲気をコードを動かしながら体感したい、入門したい、という方の用途に合う本だと思われます

まとめ

入門するという形ならPython本、読み込みながら勉強するならR本、機械学習を知っている人が各種法をつまみながら参照するなら赤い本、という具合だと思いました。