タグ付けされた質問 「boosting」

弱予測モデルを強予測モデルに組み合わせるアルゴリズムのファミリー。最も一般的なアプローチは勾配ブースティングと呼ばれ、最も一般的に使用される弱いモデルは分類/回帰ツリーです。


2
勾配ブースティングツリーとランダムフォレスト
Friedmanが提案する勾配ツリーブースティングでは、決定木をベース学習器として使用します。基本決定ツリーを可能な限り複雑にする(完全に成長させる)か、もっと単純にするべきか疑問に思っています。選択の説明はありますか? ランダムフォレストは、決定木を基本学習器として使用する別のアンサンブル手法です。私の理解に基づいて、通常、各反復でほぼ完全に成長した決定木を使用します。私は正しいですか?


5
ランダムフォレストはブースティングアルゴリズムですか?
ブースティングの簡単な定義: 一連の弱い学習者が単一の強い学習者を作成できますか?弱学習器は、真の分類とわずかにしか相関しない分類子であると定義されます(ランダムな推測よりも例をラベル付けできます)。 ランダムフォレストの短い定義: ランダムフォレストは、多くの分類ツリーを成長させます。入力ベクトルから新しいオブジェクトを分類するには、入力ベクトルをフォレスト内の各ツリーに配置します。各ツリーは分類を提供し、ツリーはそのクラスに「投票」します。フォレストは、(フォレスト内のすべてのツリーに対して)最も投票数の多い分類を選択します。 ランダムフォレストの別の短い定義: ランダムフォレストは、データセットのさまざまなサブサンプルに多数の決定木分類器を適合させ、予測精度を向上させて過剰適合を制御するために平均化を使用するメタ推定器です。 私が理解しているように、ランダムフォレストは弱い分類子としてツリーを使用するブースティングアルゴリズムです。また、他の手法を使用し、それらを改善することも知っています。誰かがランダムフォレストがブースティングアルゴリズムではないことを修正しましたか? 誰かがこれについて詳しく説明できますか、なぜランダムフォレストがブースティングアルゴリズムではないのですか?

2
Gradient Boosting Trees(GBM)とAdaboostの違いの直感的な説明
GBMとAdaboostの違いを理解しようとしています。 これらは私がこれまでに理解したことです: 前のモデルのエラーから学習し、最終的にモデルの加重和を作成するブースティングアルゴリズムがあります。 GBMとAdaboostは、損失関数を除いてかなり似ています。 しかし、それでも私はそれらの間の違いのアイデアをつかむことは困難です。誰かが直感的な説明をくれますか?
48 boosting  gbm  adaboost 

2
線形回帰の勾配ブースティング-なぜ機能しないのですか?
勾配ブースティングについて学習している間、このメソッドがモデルの構築とアンサンブルに使用する「弱い分類器」のプロパティに関する制約について聞いたことがありません。しかし、線形回帰を使用するGBのアプリケーションを想像することはできませんでした。実際、いくつかのテストを実行したとき、それは機能しません。私は、残差の平方和の勾配で最も標準的なアプローチをテストし、後続のモデルを一緒に追加していました。 明らかな問題は、最初のモデルからの残差が、もはや適合する回帰線が実際に存在しないような方法で取り込まれることです。私の別の観察では、後続の線形回帰モデルの合計も単一の回帰モデルとして表現できるため(すべての切片と対応する係数を追加)、モデルをどのように改善できるか想像できません。最後の観察結果は、線形回帰(最も一般的なアプローチ)は損失関数として二乗残差の合計を使用していることです-GBが使用しているものと同じです。 また、学習率を下げるか、各反復で予測子のサブセットのみを使用することも考えましたが、それでも最終的には単一のモデル表現にまとめることができるため、改善はないと思います。 ここで何が欠けていますか?Gradient Boostingで使用するのに線形回帰は何らかの形で不適切ですか?それは、線形回帰が損失関数として残差の二乗和を使用しているからでしょうか?グラディエントブースティングに適用できるように、弱い予測子には特定の制約がありますか?

2
これは最先端の回帰方法論ですか?
私は長い間Kaggleのコンペティションをフォローしてきましたが、多くの勝利戦略には、「ビッグスリー」の少なくとも1つ、つまりバギング、ブースティング、スタックの使用が含まれることに気付きました。 回帰については、可能な限り最良の回帰モデルの構築に焦点を当てるのではなく、(一般化)線形回帰、ランダムフォレスト、KNN、NN、SVM回帰モデルなどの複数の回帰モデルを構築し、合理的な方法で結果を1つにブレンドします-個々のメソッドを何回も実行します。 もちろん、各方法をしっかり理解することが重要であり、線形回帰モデルに基づいて直感的なストーリーを伝えることができますが、これが最良の結果を達成するための最先端の方法論になっているのではないかと思っています。

1
GBM、XGBoost、LightGBM、CatBoostの数学的な違いは?
以下のようなモデルのGBDTファミリの実装がいくつか存在します。 GBM XGBoost LightGBM キャットブースト。 これらの異なる実装の数学的違いは何ですか? Catboostは、このベンチマークに従ってデフォルトパラメータのみを使用しても、他の実装よりも優れているようですが、それでも非常に遅いです。 私の推測では、catboostはダミー変数を使用しないため、各(カテゴリ)変数に与えられた重みは他の実装と比較してよりバランスが取れているため、高カーディナリティー変数は他の変数よりも重みがありません。弱いカテゴリカル(低カーディナリティ)が一部のツリーに入ることができるため、パフォーマンスが向上します。それ以外は、これ以上の説明はありません。
33 boosting  xgboost 

1
ブースティングの相対的な変数の重要性
Gradient Boosted Treesで相対的な変数の重要度がどのように計算されるかについての説明を探しています。 メジャーは、変数が分割用に選択された回数に基づいており、各分割の結果としてモデルに対する2乗改善によって重み付けされ、すべてのツリーで平均されます。[ Elith et al。2008年、回帰ツリーをブーストするためのワーキングガイド ] そして、それは以下よりも抽象的ではありません: I2j^(T)=∑t=1J−1i2t^1(vt=j)Ij2^(T)=∑t=1J−1it2^1(vt=j)\hat{I_{j}^2}(T)=\sum\limits_{t=1}^{J-1} \hat{i_{t}^2} 1(v_{t}=j) 合計がJ末端ノードツリーTの非末端ノードに対するものであり、v tはノードtに関連付けられた分割変数であり、^ i 2 tは、定義された分割の結果としての二乗誤差の対応する経験的改善ですas i 2(R l、R r)= w l w rtttJJJTTTvtvtv_{t}ttti2t^it2^\hat{i_{t}^2}、 ¯ のY L、 ¯ Y Rはそれぞれ左右娘応答手段であり、WL、WR重みの対応する和です。i2(Rl,Rr)=wlwrwl+wr(yl¯−yr¯)2i2(Rl,Rr)=wlwrwl+wr(yl¯−yr¯)2i^2(R_{l},R_{r})=\frac{w_{l}w_{r}}{w_{l}+w_{r}}(\bar{y_{l}}-\bar{y_{r}})^2yl¯,yr¯yl¯,yr¯\bar{y_{l}}, \bar{y_{r}}wl,wrwl,wrw_{l}, w_{r}[フリードマン2001、グリーディ関数近似:勾配ブースティングマシン] 最後に、関連するセクション(10.13.1ページ367)が上記の2番目のリファレンス(説明される可能性がある)と非常に似ているため、統計学習の要素(Hastie et al。2008)がここで非常に役立つとは思いませんでした。フリードマンが本の共著者であるという事実によって)。 PS:相対変数の重要度の測定値は、gbm Rパッケージのsummary.gbmによって提供されることを知っています。ソースコードを調べようとしましたが、実際の計算がどこで行われているのか見つけることができないようです。 ブラウニーポイント:これらのプロットをRで取得する方法を知りたい

1
GBMパラメータの有用なガイドラインは何ですか?
GBMを使用してパラメータ(相互作用の深さ、ミンチャイルド、サンプルレートなど)をテストするための有用なガイドラインは何ですか? 人口が200,000の70-100の機能があり、相互作用の深さ3と4をテストするつもりだとしましょう。明らかに、パラメーターのどの組み合わせが最適なサンプル外であるかを確認するためにテストを行う必要があります。このテスト設計にアプローチする方法に関する提案はありますか?

5
相互作用の深さはGBMで何を意味しますか?
Rのgbmの相互作用の深さパラメーターについて質問がありました。これはnoobの質問かもしれませんが、謝罪しますが、ツリーの末端ノードの数を示すと思われるパラメーターは、基本的にX-wayを示します予測子間の相互作用?仕組みを理解しようとしています。さらに、2つの異なる変数が単一の因子に結合されている場合を除き、同じデータセットに対して2つの異なる因子変数を含むデータセットがある場合、かなり異なるモデルが得られます(たとえば、因子1のXレベル、因子2のYレベルX * Y係数)。後者は前者よりもかなり予測可能です。相互作用の深さが増すとこの関係が生まれると考えていました。

1
XGBoost損失関数テイラー展開による近似
例として、番目の反復でXGBoostモデルの目的関数を使用します。ttt L(t)=∑i=1nℓ(yi,y^(t−1)i+ft(xi))+Ω(ft)L(t)=∑i=1nℓ(yi,y^i(t−1)+ft(xi))+Ω(ft)\mathcal{L}^{(t)}=\sum_{i=1}^n\ell(y_i,\hat{y}_i^{(t-1)}+f_t(\mathbf{x}_i))+\Omega(f_t) ここで、は損失関数、は番目のツリー出力、は正則化です。高速計算のための(多くの)重要なステップの1つは近似です:ℓℓ\ellftftf_ttttΩΩ\Omega L(t)≈∑i=1nℓ(yi,y^(t−1)i)+gtft(xi)+12hif2t(xi)+Ω(ft),L(t)≈∑i=1nℓ(yi,y^i(t−1))+gtft(xi)+12hift2(xi)+Ω(ft),\mathcal{L}^{(t)}\approx \sum_{i=1}^n\ell(y_i,\hat{y}_i^{(t-1)})+g_tf_t(\mathbf{x}_i)+\frac{1}{2}h_if_t^2(\mathbf{x}_i)+\Omega(f_t), ここで、およびは損失関数の1次および2次導関数です。gigig_ihihih_i 私が求めているのは、上記の近似がなぜ機能するのかを説明する説得力のある説得です: 1)上記の近似のXGBoostは、完全な目的関数のXGBoostと比較してどうですか?どのような潜在的に興味深い、高次の動作が近似で失われますか? 2)視覚化するのは少し難しい(損失関数に依存する)が、損失関数に大きな3次成分がある場合、近似は失敗する可能性が高い。これがXGBoostに問題を引き起こさないのはどうしてですか?

3
ブースティングでは、なぜ学習者は「弱い」のですか?
stats.SEに関する同様の質問も参照してください。 高めるようなアルゴリズムのAdaBoostとLPBoostを「弱い」学習者が唯一のウィキペディアから、有用であることがより良いチャンスよりも実行する必要が合成されることが知られています: 使用する分類器は弱い(つまり、かなりのエラー率を表示する)場合がありますが、パフォーマンスがランダムでない限り(バイナリ分類のエラー率が0.5になる場合)、最終モデルが改善されます。ランダムな分類器から予想されるエラー率よりも高いエラー率の分類器でさえ、分類器の最終線形結合に負の係数を持ち、したがってその逆のように動作するため、有用です。 強い学習者ではなく、弱い学習者を使用する利点は何ですか?(たとえば、「強力な」学習方法でブーストしない理由-過剰適合しやすいのでしょうか?) 弱い学習者にとってある種の「最適な」強さはありますか?そして、これはアンサンブルの学習者の数に関連していますか? これらの質問に対する答えを裏付ける理論はありますか?


2
弱い学習者の「強さ」について
アンサンブル学習(ブースティングなど)の弱学習者に関するいくつかの密接に関連した質問があります。 これは愚かに聞こえるかもしれませんが、強力な学習者とは対照的に、弱者を使用する利点は何ですか?(たとえば、「強力な」学習方法で強化しないのはなぜですか?) 弱い学習者に何らかの「最適な」強度がありますか(たとえば、他のすべてのアンサンブルパラメーターを固定したまま)。彼らの強さになると「スイートスポット」はありますか? 結果のアンサンブル法の強度に関して、弱学習器の強度をどのように測定できますか。アンサンブルを使用することの限界利益をどのように定量的に測定しますか? いくつかの弱学習アルゴリズムを比較して、特定のアンサンブルメソッドに使用するアルゴリズムを決定するにはどうすればよいですか? 特定のアンサンブルメソッドが強力な分類器よりも弱い分類器を支援する場合、特定の分類器が既に「強すぎる」と判断して、ブースト時に重要なゲインを得るにはどうすればよいでしょうか。

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