6 異常検出

異常検出(教師なし機能)によってデータ内の希少ケースを検出する方法を学習します。

関連項目:

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

6.1 異常検出とは

異常検出の目的は、一見同質なデータ内に存在する特異なケースを識別することです。異常検出は、重大な意味を持つ場合がありながら検出することが難しい、不正行為、ネットワークへの侵入などの発生頻度の低いイベントを検出するための重要なツールです。

異常検出は、次のような問題の解決に使用できます。

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

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

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

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

6.1.1 1クラス分類

トレーニング・データにおける1クラス分類としての異常検出について学習します。

異常検出は、分類の一形式です。異常検出は、1クラス分類として実装されますが、これは、トレーニング・データに示されるクラスが1つのみであるためです。異常検出モデルでは、あるデータ・ポイントが特定の分布に対して典型的かどうかを予測します。非典型的なデータ・ポイントは、外れ値か、これまでに観測されていないクラスのサンプルである可能性があります。

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

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

ノート:

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

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

関連項目

6.1.2 1クラス・データの異常検出

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

異常検出を利用すれば、特定の種類のドキュメントについて特異なケースを見つけることが可能です。

6.1.3 外れ値検出用の異常検出

外れ値とは、データにとって典型的とみなされる分布から外れた位置に存在するために特異であるケースのことです。たとえば、人口調査のデータにおいて、家計収入の中央値が$70,000で平均値が$80,000となっているとき、収入が$200,000の家庭が1、2軒存在します。この場合、これらのケースは外れ値とみなすことができます。

正規分布の中央からの距離によって、データの分布に対して特定のポイントがどの程度典型的であるかが示されます。各ケースは、そのケースが典型的または非典型的である確率に従ってランク付けできます。

外れ値が存在すると、様々な種類の機械学習に悪影響を及ぼすことがあります。異常検出を使用して、データを分析する前に外れ値を特定できます。

6.2 異常検出アルゴリズム

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

  • 多変量状態推定技術 - 逐次確率比検定(MSET-SPRT)
  • 1クラス・サポート・ベクター・マシン(SVM)

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