1

分類問題にランダム フォレストを使用することを検討しています。データは順番に来ます。最初の N(500) を使用して分類器をトレーニングする予定です。その後、分類子を使用してデータを分類します。間違いを犯し、間違いが記録されることがあります。

私の質問は、これらの誤って分類されたデータを使用して、元の分類器を再トレーニングできますか?また、その方法は? 誤分類されたものをサイズ N の元のトレーニング セットに単純に追加すると、誤分類されたものの重要性が誇張され、修正された分類済みのものは無視されます。すべてのデータを使用して分類器を再トレーニングする必要がありますか? この種の学習を行うことができる他の分類器は何ですか?

4

3 に答える 3

1

これがあなたの問題に対する私の理解です。

データセットがあり、トレーニング データセットと評価データセットなどの 2 つのサブデータ セットを作成します。評価データセットを使用して、分類のパフォーマンスを向上させるにはどうすればよいですか?

この問題のポイントは、より良い分類子を見つけることではなく、評価のための適切な方法を見つけて、本番環境に適切な分類子を用意することです。


評価目的

評価データセットは評価用にタグ付けされているため、これを行う方法があります。トレーニングと評価には別の方法を使用する必要があります。

一般的な方法はクロス検証です。

データセット内のサンプルをランダム化します。初期データセットから 10 個のパーティションを作成します。次に、次の 10 回の反復を実行します。トレーニング用に n 番目を除くすべてのパーティションを取得し、n 番目で評価を行います。

この後、10 回の実行のエラーの中央値を取得します。これにより、分類子のエラー率がわかります。最小の実行では、最悪のケースが得られます。


生産目的

(これ以上の評価はありません)

もう評価は気にしません。したがって、すべてのデータセットのすべてのサンプルを取得し、分類器にトレーニング用に提供します (完全な単純なトレーニングを再実行します)。結果は本番環境で使用できますが、あなたのデータでこれ以上評価することはできません。結果は、前のパーティション セットの最悪のケースと同じくらい最高です。

フローサンプル処理

(生産または学習)

時間の経過とともに新しいサンプルが生成されるフローにいる場合。いくつかのサンプルが正しいエラーのケースに直面する場合があります。システム自体を改善したいので、これは望ましい動作です。リーフのエラーをその場で修正しただけでは、しばらくすると、分類器は元のランダム フォレストと共通点がなくなります。メタ タブー検索のような貪欲な学習を行うことになります。明らかに、これは望んでいません

新しいサンプルが利用可能になるたびに、すべてのデータセットと新しいサンプルを再処理しようとすると、非常に低いレイテンシーが実験されます。ソリューションは人間のようなもので、バックグラウンド プロセスが実行される場合があり (サービスの使用率が低い場合)、すべてのデータが完全に再学習されます。最後に、古い分類子と新しい分類子を交換します。

完全に再学習するには、睡眠時間が短すぎる場合があります。したがって、そのようなノード コンピューティング クラスタリングを使用する必要があります。おそらくアルゴリズムを書き直す必要があるため、多くの開発コストがかかります。しかし、その時点で、あなたは見つけた最大のコンピューターをすでに持っています。

注:スワッププロセスはマスターすることが非常に重要です。すでに生産計画に含まれている必要があります。アルゴリズムを変更したい場合はどうしますか? バックアップ?基準?停電?等...

于 2013-07-08T19:05:46.400 に答える
0

コストが高すぎなければ、新しいデータを追加して定期的に分類器を再トレーニングするだけです。

バランスを保つ簡単な方法は、ウェイトを追加することです。

すべてのポジティブ サンプルを 1/n_positive で重み付けし、すべてのネガティブ サンプルを 1/n_negative (取得しているすべての新しいネガティブ サンプルを含む) で重み付けする場合、分類子のバランスが崩れることを心配する必要はありません。

于 2015-05-19T19:33:14.300 に答える