この章では、データ内の希少ケースを検出するための監視なしマイニング機能である異常検出について説明します。
参考: 『Creation and Deployment of Data Mining-Based Intrusion Detection Systems in Oracle Database 10g』(Campos, M.M.、Milenova, B.L.、Yarmus, J.S.共著) |
この章には、次の項が含まれます。
異常検出の目的は、一見同質なデータ内に存在する特異なケースを識別することです。異常検出は、重大な意味を持ちながら検出することが難しい、不正行為、ネットワークへの侵入などの発生頻度の低いイベントを検出するための重要なツールです。
異常検出は、次のような問題の解決に使用できます。
司法当局は不正行為に関するデータは蓄積しますが、合法行為に関するデータは収集しません。疑わしい行為についてはどのようにして注意すればよいでしょうか。
司法当局のデータはすべて1つのクラスに属します。反例はありません。
保険代理店は何百万もの保険金請求を処理しますが、ごくわずかに不正が含まれていることを認識しています。不正請求はどのように識別できるでしょうか。
請求データには、反例がごくわずかですが含まれています。これらは外れ値です。
異常検出は、分類の一形式です。分類マイニング機能の概要は、「分類とは」を参照してください。
異常検出は、トレーニング・データでは1つのクラスのみが表示されるため、1クラス分類として実装されています。異常検出モデルでは、データ・ポイントが指定した分布内で典型的かどうかが予測されます。非典型的なデータ・ポイントは、外れ値または今までにないクラスの例のいずれかです。
通常、違いが区別できるように、分類モデルを、各クラスの例と反例が存在するデータ上でトレーニングする必要があります。たとえば、薬剤の副作用を予測するモデルは、その薬剤に対する様々な反応が存在するデータ上でトレーニングする必要があります。
1クラス分類プログラムは、トレーニング・データの典型的なケースを大まかに説明するプロファイルを作成します。プロファイルからの偏差は、異常として識別されます。1クラス分類プログラムは、「正しい」動作を識別しようとする一方、それ以外の動作はすべて不正とみなすため、ポジティブ・セキュリティ・モデルと呼ばれる場合もあります。
1クラス・データでは、すべてのケースが同じ分類に属します。この場合、反例(別のクラスのケースの集合)の特定が困難であったり、反例の収集にコストがかかったりすることがあります。たとえば、テキスト・ドキュメントの分類の場合、特定のトピックに基づいてドキュメントを分類することは簡単です。しかし、そのトピックに属さないドキュメントが非常に大量にあり、種類も様々である場合があります。そうなると、他の種類のドキュメントを反例として指定することは難しくなります。
異常検出を利用すれば、特定の種類のドキュメントについて特異なケースを見つけることが可能です。
外れ値とは、データにとって典型的とみなされる分布から外れた位置に存在するために特異であるケースのことです。たとえば、人口調査のデータにおいて、家計収入の中央値が70,000ドルで平均値が80,000ドルとなっているとき、収入が200,000ドルの家庭が1、2軒存在する場合があります。この場合、これらのケースは外れ値とみなすことができます。
正規分布の中央からの距離によって、データの分布に対して特定のポイントがどの程度典型的であるかが示されます。各ケースは、そのケースが典型的または非典型的である確率に従ってランク付けできます。
外れ値が存在すると、様々な種類のデータ・マイニングに悪影響を及ぼすことがあります。異常検出は、データ・マイニングの実行前に外れ値を特定する目的で使用できます。