定期的に増加する機能セットの処理


10

私は詐欺検出システムに取り組んでいます。この分野では、新しい詐欺が定期的に発生するため、新しい機能をモデルに継続的に追加する必要があります。

(開発プロセスの観点から)それを処理する最良の方法は何ですか?新しい特徴を特徴ベクトルに追加して分類器を再トレーニングするだけでは、古い特徴の再学習に時間がかかりすぎるため、単純なアプローチのように見えます。

私は、各機能(またはいくつかの関連機能)の分類子をトレーニングし、それらの分類子の結果を全体的な分類子と組み合わせる方法について考えています。このアプローチの欠点はありますか?分類子全体のアルゴリズムを選択するにはどうすればよいですか?

回答:


4

理想的な世界では、すべての履歴データを保持し、履歴データから遡及的に抽出された新しい機能を使用して新しいモデルを実際に実行します。これに費やされたコンピューティングリソースは実際には非常に便利だと私は主張します。本当に問題なのでしょうか?

はい、それは分類子のアンサンブルを構築し、それらの結果を組み合わせるために広く受け入れられている手法です。新しい機能だけで並行して新しいモデルを構築し、その予測を平均化できます。これにより価値が追加されますが、新機能と古い機能の間の相互作用は、分類子に一緒に表示されることはないため、この方法でキャプチャすることはありません。


2

ここに突然、思いついたアイデアがあります。ランダムなサブスペースサンプリング(実際にSean Owenが既に提案しているように)を使用して、新しい機能が表示されるたびに新しい分類子の束をトレーニングする場合(ランダムな機能サブセットを使用して、新しい機能セット)。これらのモデルをサンプルのサブセットでトレーニングして、トレーニング時間を節約することもできます。

このようにして、新しい分類子に新しい機能と古い機能の両方を使用させると同時に、古い分類子を保持させることができます。おそらく、相互検証手法を使用して各分類子のパフォーマンスを測定し、しばらくするとパフォーマンスが最も悪いものを削除して、肥大化したモデルを回避できるかもしれません。


弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.