データマイニングにおけるAnomalyDetection(異常検知)は何故難しいのか?

おはようございます、ロードローラーです。本日はAnomalyDetectionについて整理します。


AnomalyDetectionとは?

異常検知、または、外れ値検知とも表現されます。データをじ~っと眺めていて「いつもと違う、おかしい!」という事象を検出することです。


AnomalyDetectionの難しさ

これはシンプルに下記2点に付きます

① 「What is 異常?」 の定義
② 「What is 正常?」 の定義

簡単に言えば「何を正常として、何を異常とするか」という定義が一番難しいんですね。

その原因の1つ目はデータ収集の困難さ。例えば製造現場で異常検知したいといった場合に、異常の発生率が製品10万個に1つだったとすると、正条例のデータは溢れるほど手に入りますが、異常例のデータがなかなか手に入らず、定義および学習が困難です。(※特に流行りの深層学習を用いた認識器では学習データが大量に必要です。)

対策として、正条例を熟知した教師無しの認識器を用いるのがポピュラーです。ここでは異常検知と言っても「何かおかしい!」というレベルの検出で、具体的に「XXが原因で、YYという異常が発生しています。」というレベルの検出ではありません。

「いつもと違う」ことの検出には「いつも」さへ知ってればいいというわけですね。しかし、まだまだ精度が十分に出ていないとの報告があります。

原因の2つ目は統制環境か非統制環境かという点。工場のように「いつも同じことをしようとしている」統制された環境ならば正常の定義は簡単です。

一方で、生活空間における事故を検出しようとした場合、そもそもの行動がバラエティに富んだ非統制環境なので正常の定義が困難です。「夜は寝て、朝に起きて、日中はテレビを見て過ごす」といった正常の定義だと、来客があった瞬間に「なんだこのパターンは!?異常だ!!」となるわけですね。

 

今日はここまで

 

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください