私は異常検出のためのシステムを設計しています。
このようなシステムを構築するには、複数のアプローチがあります。私は、大多数のサンプルが共有する特徴を検出することによって、そのようなシステムの 1 つの側面を実装することを選択します。このような方法が不十分である可能性があることは認めますが、私の特定のユースケースでは: (1) 新しいサンプルに過去のデータの大部分が共有する特徴が含まれている (または欠けている) ことを知っていれば、迅速な決定を下すことができます。(2) 私はそのような方法がデータに提供する洞察に興味があります。
だから、ここに問題があります:
各データ ポイントに任意の数の {key:value} 特徴を含めることができる、M個のデータ ポイントを持つ大規模なデータ セットを考えてみましょう。データで観察されたすべての機能 (すべての一意のキーのセット) をグループ化し、それをモデルの機能空間として設定することで、トレーニング データセットをモデル化することにしました。既存のキーには値を設定し、含まれていない機能の値にはNoneを設定して、各サンプルを定義します。
このトレーニング データ セットを使用して、データ内でどの特徴が再発するかを判断したいと思います。そして、そのような繰り返し機能については、それらはほとんど単一の値を共有していますか.
私の質問:
簡単な解決策は、すべてをカウントすることです。N 個の特徴のそれぞれについて、値の分布を計算します。ただし、MとNは潜在的に大きいため、データを表現するためのよりコンパクトな方法や、特徴の頻度について主張するためのより洗練された方法があるのではないかと思います。
既存の車輪を再発明していますか? このようなタスクを達成するためのオンライン アプローチがあれば、さらに優れたものになります。