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

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

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


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

1
RでのGBMのn.minobsinnodeパラメーターの役割[終了]
この質問が将来の訪問者を助けることはまずありません。それは、小さな地理的エリア、特定の瞬間、またはインターネットの世界中の視聴者には一般に適用できない非常に狭い状況にのみ関連します。この質問の適用範囲を広げるには、ヘルプセンターをご覧ください。 7年前に閉鎖されました。 GBMパッケージのn.minobsinnodeパラメーターの意味を知りたいと思いました。私はマニュアルを読みましたが、それが何をするのか明確ではありません。結果を改善するために、その数を小さくするか、大きくする必要がありますか?
21 r  gbm 

3
XGBoost対Python Sklearn勾配ブーストツリー
XGBoostの仕組みを理解しようとしています。Python sklearnで勾配ブーストされたツリーがどのように機能するかは既に理解しています。私にとって明らかではないのは、XGBoostが同じように動作するが高速であるか、またはXGBoostとpython実装との間に根本的な違いがあるかどうかです。 この論文を読んだとき http://learningsys.org/papers/LearningSys_2015_paper_32.pdf XGboostから得られる最終結果はPython実装と同じですが、主な違いはXGboostが各回帰ツリーで最適な分割を見つける方法です。 基本的に、XGBoostは同じ結果をもたらしますが、高速です。 これは正しいですか、それとも私が見逃している何かがありますか?

2
GBM分類は、クラスサイズの不均衡に悩まされますか?
監視対象のバイナリ分類の問題を扱っています。GBMパッケージを使用して、個人を未感染/感染として分類したいと思います。私は、感染した個人の15倍も感染していない。 クラスサイズが不均衡な場合にGBMモデルが影響を受けるかどうか疑問に思っていましたか?この質問に答える参考文献は見つかりませんでした。 感染していない人に1の重みを、感染した人に15の重みを割り当てることで重みを調整しようとしましたが、結果は良くありませんでした。

4
勾配ブースティングマシンの精度は、反復回数が増えると低下します
caretR のパッケージを介して勾配ブースティングマシンアルゴリズムを試しています。 小さな大学入学データセットを使用して、次のコードを実行しました。 library(caret) ### Load admissions dataset. ### mydata <- read.csv("http://www.ats.ucla.edu/stat/data/binary.csv") ### Create yes/no levels for admission. ### mydata$admit_factor[mydata$admit==0] <- "no" mydata$admit_factor[mydata$admit==1] <- "yes" ### Gradient boosting machine algorithm. ### set.seed(123) fitControl <- trainControl(method = 'cv', number = 5, summaryFunction=defaultSummary) grid <- expand.grid(n.trees = seq(5000,1000000,5000), interaction.depth = 2, shrinkage …
15 machine-learning  caret  boosting  gbm  hypothesis-testing  t-test  panel-data  psychometrics  intraclass-correlation  generalized-linear-model  categorical-data  binomial  model  intercept  causality  cross-correlation  distributions  ranks  p-value  z-test  sign-test  time-series  references  terminology  cross-correlation  definition  probability  distributions  beta-distribution  inverse-gamma  missing-data  paired-comparisons  paired-data  clustered-standard-errors  cluster-sample  time-series  arima  logistic  binary-data  odds-ratio  medicine  hypothesis-testing  wilcoxon-mann-whitney  unsupervised-learning  hierarchical-clustering  neural-networks  train  clustering  k-means  regression  ordinal-data  change-scores  machine-learning  experiment-design  roc  precision-recall  auc  stata  multilevel-analysis  regression  fitting  nonlinear  jmp  r  data-visualization  gam  gamm4  r  lme4-nlme  many-categories  regression  causality  instrumental-variables  endogeneity  controlling-for-a-variable 

4
機械学習アルゴリズムの予測間隔
以下に説明するプロセスが有効/許容可能であり、正当な理由があるかどうかを知りたい。 考え方:教師あり学習アルゴリズムは、データの基礎となる構造/分布を想定していません。一日の終わりに、彼らはポイント推定値を出力します。推定の不確実性を何らかの形で定量化したいと考えています。現在、MLモデルの構築プロセスは本質的にランダムです(たとえば、ハイパーパラメーターチューニングの相互検証のサンプリングや、確率論的GBMのサブサンプリングなど)。したがって、モデリングパイプラインは、異なる予測子ごとに異なるシードの異なる出力を生成します。私の(素朴な)アイデアは、このプロセスを何度も繰り返して予測の分布を考え出すことであり、予測の不確実性について声明を出すことができれば幸いです。 問題があれば、私が扱うデータセットは通常非常に小さい(〜200行)。 これは理にかなっていますか? 明確にするために、私は実際には伝統的な意味でデータをブートストラップしていません(つまり、データを再サンプリングしていません)。すべての反復で同じデータセットが使用されます。xvalと確率的GBMのランダム性を利用しています。

1
GBMパッケージとGBMを使用したキャレット
私はを使用してモデルのチューニングを行ってきましたがcaret、gbmパッケージを使用してモデルを再実行しています。caretパッケージが使用gbmし、出力が同じである必要があることは私の理解です。ただし、を使用した簡単なテスト実行でdata(iris)は、評価指標としてRMSEとR ^ 2を使用したモデルで約5%の不一致が示されています。を使用して最適なモデルのパフォーマンスを見つけたいが、部分的な依存関係プロットを利用するためにcaret再実行しgbmます。再現性のために以下のコード。 私の質問は次のとおりです。 1)これらの2つのパッケージは同じであっても違いがあるのはなぜですか(確率的ですが、5%がやや大きな違いであることがわかります。特に、次のような素晴らしいデータセットを使用していない場合 iris、モデリングの) 。 2)両方のパッケージを使用する利点または欠点はありますか? 3)無関係:irisデータセットを使用した場合、最適な値interaction.depthは5ですが、読み取り値が最大値floor(sqrt(ncol(iris)))である2 を超えるはずです。これは厳密な経験則ですか、それとも非常に柔軟ですか。 library(caret) library(gbm) library(hydroGOF) library(Metrics) data(iris) # Using caret caretGrid <- expand.grid(interaction.depth=c(1, 3, 5), n.trees = (0:50)*50, shrinkage=c(0.01, 0.001), n.minobsinnode=10) metric <- "RMSE" trainControl <- trainControl(method="cv", number=10) set.seed(99) gbm.caret <- train(Sepal.Length ~ ., data=iris, distribution="gaussian", method="gbm", trControl=trainControl, verbose=FALSE, tuneGrid=caretGrid, metric=metric, bag.fraction=0.75) …

1
GBM予測間隔を見つける方法
キャレットパッケージを使用してGBMモデルを操作し、予測データの予測間隔を解決する方法を探しています。広範囲に検索しましたが、ランダムフォレストの予測間隔を見つけるためのいくつかのアイデアを思いつきました。ヘルプ/ Rコードは大歓迎です!

4
一般化されたブースト回帰モデルでツリーの数を選択するにはどうすればよいですか?
GBMでツリーの数を選択するための戦略はありますか?具体的には、の関数のntrees引数。Rgbm なぜあなたがntrees最高の合理的な値に設定すべきでないのかわかりません。ツリーの数を増やすと、複数のGBMの結果のばらつきが明らかに減少することに気づきました。木が多いからといって、過剰適合になるとは思いません。 何かご意見は?

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

3
distribution =“ adaboost”でR gbmを使用する方法
ドキュメントには、distribution = "adaboost"のR gbmを0-1分類問題に使用できると記載されています。次のコードを見てください。 gbm_algorithm <- gbm(y ~ ., data = train_dataset, distribution = "adaboost", n.trees = 5000) gbm_predicted <- predict(gbm_algorithm, test_dataset, n.trees = 5000) これは、predict.gbmというドキュメントに記載されています。 予測のベクトルを返します。デフォルトでは、予測はf(x)のスケールで行われます。 ただし、distribution = "adaboost"の場合、特定のスケールは明確ではありません。 誰かがpredict.gbmの戻り値の解釈を手伝って、0-1出力への変換のアイデアを提供できますか?
9 r  gbm 

1
部分依存プロットと勾配ブースティング(GBMパッケージ)
部分依存プロットをプロットしてクラス確率を表示し、GBMモデルの予測子の効果を推定することは可能ですか?パッケージpartialPlotからのようなものrandomForest。 この記事によると、部分的なプロットはgbmで実行できます。 よろしくお願いします。
9 r  gbm 

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