web-dev-qa-db-ja.com

弱い学習者とは何ですか?

さまざまな分類器のさまざまなエラー率を、弱い学習者からのエラー率と比較したいと思います(ランダムな推測よりも優れています)。だから、私の質問は、単純で処理しやすい弱い学習者のためのいくつかの選択肢は何ですか?または、私は概念を誤って理解していて、弱い学習者は単に私が選択したベンチマーク(たとえば、線形回帰)ですか?

24
Stu

ランダムな推測よりも優れています

それは基本的に弱い学習者のための唯一の要件です。 一貫してランダムな推測を打ち負かすことができる限り、真のブースティングアルゴリズムは、最終的なアンサンブルの精度を高めることができます。選択すべき弱い学習者は、次の3つの要素の間のトレードオフです。

  1. モデルのバイアス。ほとんどの場合、バイアスは低い方が良いですが、オーバーフィットするものを選びたくはありません(はい、ブーストはオーバーフィットできます)
  2. 弱い学習者のためのトレーニング時間。一般に、数百(または数千)の学習者を構築するため、弱い学習者をすばやく学習できるようにしたいと考えています。
  3. 弱い学習者の予測時間。予測速度が遅いモデルを使用すると、それらのアンサンブルは数百倍遅くなります。

古典的な弱い学習者は決定木です。ツリーの最大深度を変更することで、3つの要素すべてを制御できます。これにより、ブーストで非常に人気があります。何を使用すべきかは個々の問題によって異なりますが、決定木は良い出発点です。

注:アルゴリズムが加重データインスタンスをサポートしている限り、任意のアルゴリズムを使用してブースティングできます。私の大学のゲストスピーカーは、計算生物学の研究のために5層のディープニューラルネットワークを後押ししていました。

36
Raff.Edward

弱い学習者は、基本的に各機能のしきい値です。簡単な例の1つは、バギングまたはブースティングに適用される decision stump と呼ばれる1レベルの決定木です。 1つの特徴のしきい値を選択し、そのしきい値でデータを分割するだけです(たとえば、 花びらの幅 に基づいて、アイリスの花がIrisversicolorであるかIrisvirginicaであるかを判別します)。次に、バギングまたはAdaBoostによってこの特定の機能についてトレーニングされます。

8
lennon310