テストセットとトレーニングセットの分布の違いを処理する方法


23

機械学習またはパラメーター推定の基本的な前提の1つは、目に見えないデータがトレーニングセットと同じ分布に由来するということです。ただし、実際のケースによっては、テストセットの分布はトレーニングセットとほとんど異なります。

製品の説明を約17,000クラスに分類しようとする大規模な複数分類問題について考えてみましょう。トレーニングセットには、非常に歪んだクラス事前分布があります。そのため、一部のクラスには多くのトレーニング例があり、一部のクラスにはほんのわずかしかありません。クライアントから未知のクラスラベルを持つテストセットが与えられたとします。トレーニングセットでトレーニングされた分類器を使用して、テストセットの各製品を17,000クラスのいずれかに分類しようとします。テストセットのクラス分布は歪んでいる可能性がありますが、異なるビジネス分野に関連している可能性があるため、トレーニングセットのそれとはおそらく非常に異なっています。2つのクラス分布が大きく異なる場合、トレーニングされた分類器はテストセットでうまく機能しない可能性があります。これは、Naive Bayes分類器で特に明らかです。

確率的分類器のトレーニングセットと特定のテストセットの違いを処理する原則的な方法はありますか?「トランスダクティブSVM」はSVMでも同様のことを行うと聞きました。特定のテストセットで最高のパフォーマンスを発揮する分類器を学習するための同様の手法はありますか?次に、この実用的なシナリオで許可されているように、異なるテストセットに対して分類器を再トレーニングできます。

回答:


17

トレーニングセットとテストセットの相対的なクラス頻度のみに違いがある場合は、このペーパーで紹介したEM手順をお勧めします。

Marco Saerens、Patrice Latinne、Christine Decaestecker:分類器の出力を調整してアプリオリ確率を新しくする:簡単な手順。ニューラル計算14(1):21-41(2002)(www

私はそれを自分で使用し、非常にうまく機能していることがわかりました(ただし、クラスメンバーシップの確率を出力する分類器が必要です)。

各クラス内のパターンの分布が変化すると、問題は「共変量シフト」として知られ、杉山と川鍋による優れた本があります。このグループの論文の多くはオンラインで入手できますが、コピーを手に入れることができるなら、本も読むことを強くお勧めします。基本的な考え方は、トレーニングセットとテストセット(ラベルは不要)の密度の違いに応じてトレーニングデータに重みを付けることです。重みを取得する簡単な方法は、ロジスティック回帰を使用して、パターンがトレーニングセットまたはテストセットのどちらから描画されるかを予測することです。難しいのは、適用する重みの選択です。

こちらの Alex Smolaによる素敵なブログ投稿もご覧ください。


非常に多くの有用なポインタを提供してくれてありがとう!
ファシャンジュ

問題ありません。これらの「非標準」状況は本当に興味深いものであり、共変量シフトは特に有用な研究分野です。
ディクランMarsupial

1
知って良かった。「非標準」ですが、実際には現実的です。
ファシャンジュ

1

私はこれをより詳細に説明するのに役立つドメイン適応に関する優れたチュートリアルを見つけました:http : //sifaka.cs.uiuc.edu/jiang4/domain_adaptation/survey/da_survey.html ここで言及されていない解決策はADABOOSTで。元の記事へのリンクは次のとおりです。http//ftp.cse.ust.hk/~qyang/Docs/2007/tradaboost.pdf 基本的な考え方は、新しいテストデータの一部を使用して、列車データから学習を更新することです。この記事は、転移学習に関するアイスバーグのヒントです。ここでは、あるタスクから得た知識を別のタスクに適用します。


1
特にリンクが機能しなくなった場合や場所が変わった場合に備えて、最初のチュートリアルの重要な要約ポイントをいくつか教えていただけますか?私たちは、答えは自己完結可能な限りすることができた場合、当社の古い回答の一部の値がそれの素敵なので、作業停止リンクに劣化した原因があり、ここで、「リンク切れ」に問題が持っている
紙魚

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