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

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

1
Rの各予測の回帰の信頼スコア(ランダムフォレスト/ XGBoostを使用)を計算する方法は?
ランダムフォレストやExtreme Gradient Boosting(XGBoost)などのアルゴリズムを使用する場合、予測値ごとに信頼スコア(信頼値または尤度とも呼ばれます)を取得する方法はありますか?この信頼スコアが0から1の範囲であり、特定の予測について私がどれほど自信があるかを示しているとします。 自信についてインターネットで見つけたものから、通常は間隔で測定されます。ライブラリconfpredからの関数を使用して計算された信頼区間の例を次に示しlavaます。 library(lava) set.seed(123) n <- 200 x <- seq(0,6,length.out=n) delta <- 3 ss <- exp(-1+1.5*cos((x-delta))) ee <- rnorm(n,sd=ss) y <- (x-delta)+3*cos(x+4.5-delta)+ee d <- data.frame(y=y,x=x) newd <- data.frame(x=seq(0,6,length.out=50)) cc <- confpred(lm(y~poly(x,3),d),data=d,newdata=newd) if (interactive()) { ##' plot(y~x,pch=16,col=lava::Col("black"), ylim=c(-10,15),xlab="X",ylab="Y") with(cc, lava::confband(newd$x, lwr, upr, fit, lwd=3, polygon=T, col=Col("blue"), border=F)) } コード出力は信頼区間のみを提供します。 …

1
Adaboostで意思決定の切り株を弱学習器として使用する方法
Decision Stumpを使用してAdaboostを実装したい。Adaboostの各反復で、データセットの機能と同じ数の決定の切り株を作ることは正しいですか? たとえば、24の特徴を持つデータセットがある場合、各反復で24の決定株の分類子を使用する必要がありますか?または、いくつかの機能をランダムに選択して、すべての機能ではなくそれらに分類子を作成する必要がありますか?

1
勾配ブースティングは確率推定をどのように計算しますか?
私は、さまざまなブログ、ウェブサイトを読んで勾配ブーストを理解し、たとえばXGBoostソースコードを調べて私の答えを見つけようとしています。ただし、勾配ブースティングアルゴリズムが確率推定値を生成する方法についての理解できる説明は見当たらないようです。それで、彼らはどのように確率を計算しますか?

1
ランダムフォレストvs Adaboost
紙のセクション7でランダムフォレスト(Breiman、1999)、著者は以下の推測を述べている:「アダブーストはランダムフォレストです」。 誰かがこれを証明または反証しましたか?この1999年のポストを証明または反証するために何が行われましたか?

2
ディシジョンツリーでAdaboostを使用する理由
私は分類タスク、特にAdaboostのブースティングアルゴリズムについて少し読んでいます。Adaboostの目的はいくつかの「弱い学習者」を取ることであり、トレーニングデータの一連の反復を通じて、分類子をプッシュして、モデルが繰り返し間違いを犯すクラスを予測することを学習することを理解しています。しかし、私がこれまでに行った非常に多くのリーディングで、決定木を弱い分類子として使用しているのはなぜかと思いました。これには特別な理由がありますか?Adaboostの特に良い候補または悪い候補になる特定の分類子はありますか?

1
勾配木ブースティングにおける木サイズ
フリードマンによって提案された勾配木ブースティングはJ、基本学習器として末端ノード(=葉)を持つ決定木を使用します。正確にJノードを持つツリーを成長させる方法はいくつかあります。たとえば、深さ優先の方法または幅優先の方法でツリーを成長させることができます... J勾配木ブースティングのために正確に終端ノードを持つ木を成長させる方法は確立されていますか? 私はRのgbmパッケージのツリー成長手順を調べましたが、それは深さ優先の方法でツリーを拡張し、エラーの改善に基づくヒューリスティックを使用して、左または右の子ノードを拡張するかどうかを選択します-それは正しいですか?
10 r  cart  boosting 

3
母集団のr二乗変化の信頼区間を取得する方法
簡単な例のために、2つの線形回帰モデルがあると仮定します モデル1は、3つの予測因子を持っているx1a、x2bと、x2c モデル2には、モデル1からの3つの予測子と2つの追加の予測子がx2aあり、x2b 母集団の分散が説明人口回帰式がある モデル1及びρ 2 (2 )増分分散がある集団におけるモデル2によって説明するモデル2についてΔは、ρ 2 = ρ 2 (2 ) - ρ 2 (1 )ρ2(1)ρ(1)2\rho^2_{(1)}ρ2(2)ρ(2)2\rho^2_{(2)}Δρ2=ρ2(2)−ρ2(1)Δρ2=ρ(2)2−ρ(1)2\Delta\rho^2 = \rho^2_{(2)} - \rho^2_{(1)} 私は、の推定のための標準誤差と信頼区間を得ることに興味を持ってい。例にはそれぞれ3および2の予測子が含まれていますが、私の研究対象は、さまざまな数の予測子(たとえば、5および30)に関係しています。私が最初に考えたのは使用していた Δ R 2 、A D J = R 2 のD J (2 ) - R 2 次元J (1 )推定量として、それをブートストラップが、私は確かに、これは適切であるかどうかではなかったです。Δρ2Δρ2\Delta\rho^2Δr2adj=r2adj(2)−r2adj(1)Δradj2=radj(2)2−radj(1)2\Delta r^2_{adj} = r^2_{adj(2)} - r^2_{adj(1)} ご質問 されたの合理的な推定量Δは、ρ …

1
線形基本学習器はブースティングでどのように機能しますか?そして、それはxgboostライブラリでどのように機能しますか?
XGBoostで線形目的関数と線形ブーストを実装する方法を知っています。私の具体的な質問は、アルゴリズムが残差(または負の勾配)に適合する場合、各ステップで1つの特徴(つまり、単変量モデル)またはすべての特徴(多変量モデル)を使用することですか? XGBoostのリニアブーストに関するドキュメントへの参照はすべて高く評価されます。 編集: 'booster'パラメーターを 'gblinear'に設定することにより、XGBoostで線形ブーストを実装できます。リニアブースティングに関する有用な情報については、http://www.ncbi.nlm.nih.gov/pmc/articles/PMC3885826/を参照してください。私は目的関数(線形であることもあります)についてではなく、それら自体のブーストについて話していることに注意してください。 ありがとう!

1
ブースト回帰ツリー(BRT)、一般化ブーストモデル(GBM)、および勾配ブースティングマシン(GBM)の調整
質問: ブースト回帰ツリー(BRT)と一般化ブーストモデル(GBM)の違いは何ですか?それらは交換可能に使用できますか?一方は他方の特定の形式ですか? RidgewayがFriedmanが以前に "Gradient Boosting Machine"(GBM)として提案していたものを説明するために "Generalized Boosted Regression Models"(GBM)というフレーズを使用したのはなぜですか?これらの2つの頭字語は同一であり、同じことを説明していますが、異なるフレーズに由来しています。 バックグラウンド: BRTとGBMの用語の違いを判断するのに苦労しています。私が理解していることから、両方とも、ある種のブースティング(たとえば、バギング、ブートストラップ、クロス検証)を通じて確率論が組み込まれた分類および回帰ツリーを説明する用語です。また、私が収集したものから、GBMという用語は、フリードマン(2001)の論文「グリーディ関数近似:勾配ブースティングマシン」で最初に作られたものです。Ridgewayは、2006年にパッケージ「Generalized Boosted Regression Models(GBM)」でFriedmanが説明した手順を実装しました。私の分野では(生態学)Elith et al。(2008)は、gbm種分布モデリングのためのリッジウェイのパッケージを最初に実証したものです。しかし、エリスらの著者。「ブースト回帰ツリー」(BRT)という用語を使用して、フリードマンとリッジウェイを説明します。 これらの用語を同じ意味で使用できるかどうか混乱していますか?ある著者が、前の著者が提案したのと同じ理論を説明するのに同じ頭字語を(別のフレーズから)使用することはやや混乱します。この理論を生態学的な用語で説明するときに、3人目の著者がまったく異なる用語を使用したことも混乱しています。 私が思いつくことができる最高のものは、BRTが分布が二項分布であるGBMの特定の形式であるということですが、私はこれについて確信が持てません。 エリス他 このようにブーストされた回帰ツリーを定義します... "ブーストされた回帰ツリーは、2つのアルゴリズムの強みを組み合わせたものです:回帰ツリー(再帰的なバイナリ分割によって予測子への応答を関連付けるモデル)とブースティング(多くの単純なモデルを組み合わせて予測パフォーマンスを向上させる適応手法) )最終的なBRTモデルは、個々の項が単純なツリーであり、順方向の段階的な方法で当てはめられた加法回帰モデルとして理解できます」(Elith et al。2008)。

2
ブースティングのout-of-bagエラー推定?
ランダムフォレストでは、各ツリーはデータの一意のブーストラップサンプルで並行して成長します。各ブーストラップサンプルには一意の観測値の約63%が含まれていると予想されるため、観測値の約37%が除外され、ツリーのテストに使用できます。 現在、確率的勾配ブースティングでは、RFと同様の推定値もあるようです。OOBerrorOOBerrorOOB_{error} bag.fractionが0(0.5を推奨)より大きい値に設定されている場合、gbmは予測パフォーマンスの改善のout-of-bag推定を計算します。次の回帰ツリーの選択に使用されていない観測値の逸脱の減少を評価します。 出典:Ridgeway(2007)、セクション3.3(8ページ)。 それがどのように機能するか/有効であるかを理解するのに問題があります。シーケンスにツリーを追加するとします。元のデータセットのランダムなサブサンプルでこのツリーを成長させています。私はそれを育てるために使用されなかった観察でこの単一の木をテストすることができました。同意した。しかし、ブースティングはシーケンシャルなので、これらの省略された観測の予測を提供するために、これまでに構築されたツリーのシーケンス全体を使用しています。そして、先行する木々の多くがこれらの観察をすでに見ている可能性が高いです。したがって、モデルは実際にはRFのような目に見えない観測について各ラウンドでテストされていませんね? では、なぜこれが「out-of-bag」エラー推定と呼ばれるのでしょうか。私には、観察がすでに見られているので、それはどのバッグからも「出ていない」ように見えますか?

2
ブースティングツリーの調整パラメーターの最適値を見つける方法
ブースティングツリーモデルには3つの調整パラメーターがあることを理解しています。 ツリーの数(反復数) 収縮パラメータ 分割数(各構成ツリーのサイズ) 私の質問は、各調整パラメーターについて、その最適値をどのように見つければよいですか?そして、どのような方法ですか? 注意:収縮パラメータとツリー数パラメータは一緒に動作します。つまり、収縮パラメータの値が小さいほど、ツリー数の値が大きくなります。これも考慮に入れる必要があります。 分割数の最適値を見つける方法に特に興味があります。背後のモデルに関する相互検証またはドメイン知識に基づく必要がありますか? そして、これらgbmはR のパッケージでどのように実行されますか?

1
観測されたイベントと期待されたイベントを比較する方法は?
4つの可能なイベントの頻度の1つのサンプルがあるとします。 Event1 - 5 E2 - 1 E3 - 0 E4 - 12 そして、私は自分のイベントの発生が予想される確率を持っています: p1 - 0.2 p2 - 0.1 p3 - 0.1 p4 - 0.6 4つのイベントの観測頻度の合計(18)を使用して、イベントの予想頻度を計算できますか? expectedE1 - 18 * 0.2 = 3.6 expectedE2 - 18 * 0.1 = 1.8 expectedE1 - 18 * 0.1 = 1.8 expectedE1 - …
9 r  statistical-significance  chi-squared  multivariate-analysis  exponential  joint-distribution  statistical-significance  self-study  standard-deviation  probability  normal-distribution  spss  interpretation  assumptions  cox-model  reporting  cox-model  statistical-significance  reliability  method-comparison  classification  boosting  ensemble  adaboost  confidence-interval  cross-validation  prediction  prediction-interval  regression  machine-learning  svm  regularization  regression  sampling  survey  probit  matlab  feature-selection  information-theory  mutual-information  time-series  forecasting  simulation  classification  boosting  ensemble  adaboost  normal-distribution  multivariate-analysis  covariance  gini  clustering  text-mining  distance-functions  information-retrieval  similarities  regression  logistic  stata  group-differences  r  anova  confidence-interval  repeated-measures  r  logistic  lme4-nlme  inference  fiducial  kalman-filter  classification  discriminant-analysis  linear-algebra  computing  statistical-significance  time-series  panel-data  missing-data  uncertainty  probability  multivariate-analysis  r  classification  spss  k-means  discriminant-analysis  poisson-distribution  average  r  random-forest  importance  probability  conditional-probability  distributions  standard-deviation  time-series  machine-learning  online  forecasting  r  pca  dataset  data-visualization  bayes  distributions  mathematical-statistics  degrees-of-freedom 

1
xgboostでのツリーの複雑さの定義
xgboostアルゴリズムについて調査し、ドキュメントを調べました。 このアプローチでは、ツリーは複雑さの定義を使用して正則化されます。 ここで、とはパラメーターで、は末端の葉とは各葉のスコアです。Ω(f)=γT+12λ∑j=1Tw2jΩ(f)=γT+12λ∑j=1Twj2 \Omega(f) = \gamma T + \frac12 \lambda \sum_{j=1}^T w_j^2 γγ\gammaλλ\lambdaTTTwjwjw_j これは複雑さをどのように定義するのでしょうか?ターミナルノードの数であるは、私には自然に思えます。しかし、最終スコアの合計は2乗されますか?TTT 多分オーバーフィッティングを意味します。非常に大きなスコアがあまりにも多くの信頼を与えることを意味しますか?弱い学習者を取得するために選択されていますか?この複雑度関数の選択についての自然な説明は何ですか?

3
ランダムフォレストまたはグラデーションブースティングを行うときに、機能エンジニアリングは重要ですか?
線形モデル(線形回帰、ロジスティック回帰など)の場合、モデルのパフォーマンスを向上させるために、特徴エンジニアリングは重要なステップです。私の質問は、ランダムフォレストまたは勾配ブースティングを使用しているときに機能エンジニアリングを行うかどうかに関係ありますか? これらのモデルがディープラーニングモデルではないことは間違いありません。しかし、機能エンジニアリング手法のいくつかは実際にはモデルを改善しないようです。たとえば、私は約200の特徴を含むバイナリ分類問題をやっていて、そのうちの20はカテゴリ特徴です。私は次のことをしました: ベンチマーク:ランダムフォレスト分類器を元のデータに直接実行しました。AUCは約0.93、精度、再現率、Fスコアは約0.95です(statifiedKfold検証が適用されており、結果に非常に小さなばらつきがあるため、私は言った) モデルを実行して、カイ2乗検定とANOVA f1検定を実行することにより、特徴の次元を削減しました。結果はほぼ同じです。AUCは約0.93、精度、再現率、Fスコアは約0.95です。 次に、すべてのカテゴリ機能をワンホットキーで入力し、モデルを再実行しましたが、結果はほぼ同じです。AUCは約0.93、精度、再現率、Fスコアは約0.95です。 次に、切り捨てられたSVDが適用されて機能がさらに削減され、モデルが再トレーニングされますが、結果は変わりません... ついに私は多項式項、残りの特徴のクロス項を追加しました。結果はまだ変わっていません... 何か提案してください?ありがとうございました。

1
xgboostの加法性バイアス(およびその修正?)
私は今コンテストに参加しています。私はそれをうまくやるのが私の仕事だと知っていますが、私の問題とその解決策について、他の人にとっても助けになるかもしれないので、誰かがここで私の問題とその解決策について話したいと思うかもしれません。 私はxgboostモデル(ツリーベースのモデルと線形モデルとその2つのアンサンブル)をトレーニングしました。既にここで説明したように、トレーニングセット(交差検証を行った場合)の平均絶対誤差(MAE)は小さく(約0.3)、保持されたテストセットでは誤差は約2.4でした。その後、競争が始まり、エラーは約8(!)でした。驚くべきことに、 予測は常に真の値よりも約8〜9高くなりました!! 画像の黄色で囲まれた領域を参照してください。 トレーニングデータの期間は2015年10月に終了し、コンテストは今すぐ始まりました(16年4月、テスト期間は3月に約2週間)。 今日、私は自分の予測から定数値9を差し引いただけで、エラーは2になり、リードボードで3を獲得しました(この1日分)。;)これは黄色の線の右側の部分です。 だから私が議論したいこと: xgboostは、切片項をモデル方程式に追加することに対してどのように反応しますか?システムの変更が多すぎる場合、これによりバイアスが発生する可能性がありますか(私の場合、10月15日から4月16日のように)。 インターセプトなしのxgboostモデルは、ターゲット値の平行シフトに対してより堅牢になるでしょうか? 私は9のバイアスを差し引いていきます。誰か興味があれば、結果を表示できます。ここでより多くの洞察を得ることはちょうどより興味深いでしょう。

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