回答:
質問の定式化から、異常(つまりラベル)の「例」はまったくないと仮定します。その仮定では、実行可能なアプローチはオートエンコーダーを使用することです。入力としてデータを受け取り、その同じデータを出力するように訓練されたニューラルネットワーク。これは、トレーニングにより、ネットが潜在変数の形で入力データ分布の表現を学習できるようになったということです。
呼ばれるオートエンコーダのタイプがあるノイズ除去オートエンコーダで訓練され、破損したバージョンの入力として、また、元のデータの破損していない出力として元のデータが。これにより、入力からノイズ(データ破損)を除去できるネットワークが実現します。
毎日のデータでノイズ除去オートエンコーダーをトレーニングできます。次に、新しい日次データで使用します。これにより、元の日次データと、まったく同じデータの破損していないバージョンが得られます。次に、両方を比較して、重要な違いを検出できます。
ここで重要なのは、選択する有意差の定義です。ユークリッド距離を計算し、それが特定の任意のしきい値を超えると異常があると想定できます。もう1つの重要な要素は、導入する破損の種類です。それらは、合理的な異常に可能な限り近いものでなければなりません。
別のオプションは、Generative Adversarial Networksを使用することです。トレーニングの副産物は、正常な毎日のデータと異常なデータを区別する識別ネットワークです。
データの性質(カテゴリ/連続)に大きく依存していると思います。最初に簡単な方法から始めます。それらは私の頭に浮かぶ:
これらのどれも適切でない場合、異常検出に特化した統計/ MLモデルのブランチ全体があります。SVM、t-SNE、分離フォレスト、ピアグループ分析、ブレークポイント分析、時系列(傾向以外の外れ値を探す場所)。
これらの方法には、一種のホワイトボックスであるという利点があるため、誰かが異常値である理由を知ることができます。これがあなたの望むものではない場合、他の人たちもANNのアプローチを提案しました。
同様の問題を解決しようとしています。データセットにテキストと数値の特徴が混在していますか?そうだとすれば、異常を検出する複雑さが増します(どの要因でわからないのか)。データセットが均一で、たとえば数値のみを含む場合、ラベル付きデータセットが必要なRNNを潜在的に使用できますが、パターンのような時系列を検出できます(前の日の値との比較に言及しているため)