6 異常検出

異常検出(教師なしファンクション)によって、データに含まれる希少ケースを検出する方法を学習します。

関連項目:

  • 『Creation and Deployment of Data Mining-Based Intrusion Detection Systems in Oracle Database 10g』(Campos, M.M.、Milenova, B.L.、Yarmus, J.S.共著)

  • K. C. Gross、V.Bhardwaj、R.Bickford共著『Proactive detection of software aging mechanisms in performance critical computers』(27th Annual NASA Goddard/IEEE Software Engineering Workshop, 2002議事録、開催地: Greenbelt, MD, USA、開催年: 2002年、ページ: 17-23、DOI: 10.1109/SEW.2002.1199445)

6.1 異常検出について

異常検出の目的は、一見標準的なデータ内の特異な項目、イベントまたは観測を識別することです。このデータは、従来のエンタープライズ・データまたはInternet of Things (IoT)センサー・データで構成されている場合があります。

異常検出は、重大な意味を持つ可能性があるが検出することが難しい、不正行為、ネットワークへの侵入、エンタープライズ・コンピューティング・サービスの中断、センサー時系列のプログノスティクスなど、希少なイベントを検出するための重要なツールです。異常検出は、次のような問題の解決に使用できます。

  • 司法当局は不正行為に関するデータは蓄積しますが、合法行為に関するデータは収集しません。疑わしい行為についてはどのようにして注意すればよいでしょうか。

    司法当局のデータはすべて1つのクラスに属します。反例はありません。

  • 保険代理店は何百万もの保険金請求を処理しますが、ごくわずかに不正が含まれていることを認識しています。不正請求はどのように識別できるでしょうか。

    請求データには、反例がごくわずかですが含まれています。これらは外れ値です。

  • IT部門で計算リソースのパフォーマンスの異常が発生しました。このような異常は、リソース競合の問題や複雑なメモリー・リークなどの原因とともにどのように検出できますか。

    データには、何千ものセンサーからのセンサー出力が含まれています。

  • 石油ガス企業または公益事業会社では、石油掘削装置やスマート・メーターなどのビジネスに不可欠な資産を積極的に保守して、運用コストと保守コストを削減し、収益創出資産の使用可能時間を改善し、ライフクリティカルなシステムの安全マージンを改善する必要があります。

6.1.1 1クラス分類としての異常検出

異常検出では、あるデータ・ポイントが特定の分布に対して典型的かどうかを予測します。非典型的なデータ・ポイントは外れ値または新しいクラスである可能性があります。典型的なデータには1つのクラスのみが含まれるため、異常検出は1クラス分類です。

通常、分類モデルは、各クラスのサンプルと反例の両方が含まれるデータに対してトレーニングする必要があり、これによって、その分類モデルは両者を区別できるようになります。たとえば、薬物の副作用を予測するモデルは、その薬物に対する広範な反応が含まれるデータに基づいてトレーニングする必要があります。

1クラス分類プログラムは、トレーニング・データの典型的なケースを大まかに説明するプロファイルを作成します。プロファイルからの偏差は、異常として識別されます。1クラス分類プログラムは、「正しい」動作を識別しようとする一方、それ以外の動作はすべて不正とみなすため、ポジティブ・セキュリティ・モデルと呼ばれる場合もあります。

1クラス・データでは、すべてのケースが同じ分類に属します。この場合、反例(別のクラスのケースの集合)の特定が困難であったり、反例の収集コストが高くなります。たとえば、テキスト・ドキュメントの分類の場合、特定のトピックに基づいてドキュメントを分類することは簡単です。しかし、そのトピックに属さないドキュメントが非常に大量にあり、種類も様々である場合があります。そうなると、他の種類のドキュメントを反例として指定することは難しくなります。異常検出を利用すれば、特定の種類のドキュメントについて特異なケースを見つけることが可能です。

ノート:

1クラス分類問題の解決は困難な場合があります。1クラス分類プログラムの精度は通常、有意の反例を使用して作成した標準的な分類プログラムの精度とは一致しません。

このタイプの異常検出の目的は、これまで何も情報が得られなかった箇所に、一定の有益な情報を提供することにあります。ただし、十分な数の希少なケースが存在し、層別サンプリングで十分な反例を含むトレーニング・セットを標準的な分類モデル用に生成可能な場合、分類は優れた解決策となります。

関連項目

6.1.2 時系列データの異常検出

IoTセンサーの数が増えると、潜在的に数千ものセンサーの中から異常なイベントを識別する機能が不可欠になります。たとえば、ビジネス・クリティカルなエンタープライズ・コンピューティング・サーバーとソフトウェア・システム、ストレージ・システムおよびネットワークでの異常を早期に検出する機能です。

企業では、高精度の異常検出を必要としています。これは、誤警報の確率が低く、警報を見逃す確率が低く、オーバーヘッド計算コストが低いことを意味します。実際の問題とセンサーの誤動作を区別する機能により、問題解決のコストを大幅に削減できます。

モデルの構築には、たとえば、監視対象の装置からのエラーのない動作履歴データの提供が含まれます。結果のモデルを使用して、監視フェーズとも呼ばれる新しいセンサー・データをスコアリングして、予期されるセンサー値を推定します。

6.2 異常検出アルゴリズム

異常検出について、Oracle Machine Learning for SQLには次のアルゴリズムがあります。

  • 多変量状態推定法 - 逐次確率比検定 (MSET-SPRT)
  • 1クラス・サポート・ベクター・マシン(SVM)
  • 期待値最大化(EM)異常

異常検出は、分類の一形式です。MSET-SPRTアルゴリズム、1クラスSVMアルゴリズムおよびEM異常アルゴリズムを使用してモデルを作成する際は、分類の機械学習手法を指定します。これらのアルゴリズムでは、ターゲットを使用しません。