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

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

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 

1
ランダムフォレストの後継に値するバギングアルゴリズムはどれですか?
アルゴリズムをブーストするために、それらはかなり進化したと言えます。1995年の初めにAdaBoostが導入され、しばらくしてからGradient Boosting Machine(GBM)が導入されました。最近、2015年頃にXGBoostが導入されました。これは正確で、オーバーフィットを処理し、複数のKaggleコンテストの勝者になりました。2017年にMicrosoftによって導入されたLightGBMは、XGBoostと比較して大幅に短いトレーニング時間を提供します。また、カテゴリ機能を処理するために、YandexによってCatBoostが導入されました。 ランダムフォレストは2000年代初頭に導入されましたが、それにふさわしい後継者はいましたか?ランダムフォレストよりも優れたバギングアルゴリズムが存在すれば(実際に簡単に適用できます)、Kaggleのような場所で注目を集めたと思います。また、ブースティングがより一般的なアンサンブルテクニックになった理由は、最適な予測のために構築するツリーを少なくできるからですか?

1
AdaBoostをいつ使用したいのですか?
仕事で繰り返し言及されているAdaBoost分類器のことを聞いたように、私はそれがどのように機能し、いつそれを使用したいのかについて、より良い感覚を得たいと思いました。私は先に進み、Googleで見つけた多くの論文とチュートリアルを読みましたが、分類器にはまだ理解できない問題があります: 私が見たほとんどのチュートリアルは、AdaBoostが多くの分類子の最適な重み付き組み合わせを見つけることについて語っています。これは私には理にかなっています。意味をなさないのは、AdaBoostが1人の弱い学習者しか受け入れないような実装(つまり、MALLET)です。これはどういう意味がありますか?AdaBoostに提供される分類器が1つだけの場合、重み1で同じ分類器を返すだけではいけませんか?最初の分類子から新しい分類子を生成する方法は? AdaBoostを実際に使用したいのはいつですか?私はそれが最高のすぐに使える分類器の1つになるはずだと読んだことがありますが、MaxEnt分類器をブーストしようとすると、70%以上のfスコアを得ていたので、AdaBoostはそれを殺し、f-代わりに非常に高い再現率と非常に低い精度で15%のようなスコア。だから今私は混乱しています。AdaBoostをいつ使用したいのですか?可能であれば、厳密に統計的な答えではなく、より直感的な答えを探しています。


3
R:gbmとRandomForestの部分依存プロットには何が見えますか?
実際、部分依存プロットで何を表示できるか理解できたと思っていましたが、非常に単純な仮説例を使用すると、かなり困惑しました。コードの次のチャンクに私は、3つの独立変数(生成、B、C)と1つの従属変数(Y付き)Cと密接な直線関係を示すYをしながら、そしてbは無相関であるY。Rパッケージを使用して、ブーストされた回帰ツリーで回帰分析を行います。gbm a <- runif(100, 1, 100) b <- runif(100, 1, 100) c <- 1:100 + rnorm(100, mean = 0, sd = 5) y <- 1:100 + rnorm(100, mean = 0, sd = 5) par(mfrow = c(2,2)) plot(y ~ a); plot(y ~ b); plot(y ~ c) Data <- data.frame(matrix(c(y, a, b, …

1
勾配ブースティングは、1%のような低いイベント率のデータに適していますか?
Enterprise Minerを使用して、イベント率が約1%のデータセットで勾配ブーストを試行していますが、出力を生成できません。私の質問は、ディシジョンツリーベースのアプローチなので、このような低いイベントで勾配ブースティングを使用することは適切ですか?

3
ランダムフォレストとブースティングはパラメトリックですか、ノンパラメトリックですか?
優れた統計モデリング:2つの文化(Breiman 2001)を読むことにより、従来の統計モデル(線形回帰など)と機械学習アルゴリズム(バギング、ランダムフォレスト、ブーストツリーなど)のすべての違いを把握できます。 ブライマンはデータモデル(パラメトリック)を批判します。これは、統計が統計学者によって規定された既知の正式なモデルによって観測が生成されるという仮定に基づいているためです。一方、MLアルゴは正式なモデルを想定せず、データから入力変数と出力変数の間の関連付けを直接学習します。 Bagging / RFとBoostingもパラメータの一種であることに気付きました。たとえば、ntree、RFのmtry、学習率、bag fraction、Stochastic Gradient Boosted ツリーのツリー複雑度はすべてチューニングパラメーターです。また、データを使用してこれらのパラメーターの最適な値を見つけるため、データからこれらのパラメーターを推定することもできます。 それで、違いは何ですか?RFおよびブーストツリーはパラメトリックモデルですか?

1
アンサンブル学習を常に使用しないのはなぜですか?
アンサンブル学習は、単一の学習仮説よりも常に優れた予測パフォーマンスを提供するように思えます。 それでは、なぜそれらを常に使用しないのでしょうか? 私の推測は、おそらく、計算上の制限によるものですか?(それでも、弱い予測子を使用するため、わかりません)。

9
Pythonで決定木をブーストしましたか?[閉まっている]
閉まっている。この質問はトピック外です。現在、回答を受け付けていません。 この質問を改善したいですか? 質問を更新して、相互検証のトピックになるようにします。 4か月前に閉鎖されました。 ブーストされた決定木をトレーニングするための優れたpythonライブラリはありますか?
13 python  cart  boosting 

2
ディシジョンツリーのカテゴリ機能をコーディングするためのベストプラクティスは?
線形回帰のカテゴリカル特徴をコーディングする場合、ルールがあります。ダミーの数は、レベルの総数よりも1少なくする必要があります(共線性を回避するため)。 ディシジョンツリーにも同様のルールがありますか(バグ、ブースト)?Pythonの標準的な方法はnレベルをnダミー(sklearns OneHotEncoderまたはPandas pd.get_dummies)に拡張するように思われるため、これを私は質問します。 ディシジョンツリーのカテゴリ機能をコーディングするためのベストプラクティスとして何を提案しますか?

5
自動機械学習は夢ですか?
機械学習を発見すると、次のようなさまざまな興味深い手法が見つかります。 以下のような技術を用いて自動的に調整アルゴリズムgrid search、 同じ「タイプ」の異なるアルゴリズムの組み合わせにより、より正確な結果を取得します。つまりboosting、 異なるアルゴリズムの組み合わせにより、より正確な結果を取得します(ただし、同じタイプのアルゴリズムではありません)。つまりstacking、 おそらくもっと多くのことを発見する必要があります... 私の質問は次のとおりです。すべてのそれらの部分があります。しかし、それらをまとめて、すべての手法の中で最善のものを使用して、入力としてクリーンなデータを取得し、良好な結果を出力するアルゴリズムを作成することは可能ですか?(もちろん、プロのデータサイエンティストほど効率的ではありませんが、私よりも優れています!)はいの場合、サンプルコードを持っていますか、それを実行できるフレームワークを知っていますか? 編集:いくつかの答えの後、いくつかの絞り込みを行う必要があるようです。例を見てみましょう。カテゴリデータを含む1つの列があり、それyを呼び出して、Xダミーまたは実際の数値データ(高さ、温度)のいずれかである数値データから予測したいとします。クリーニングは以前に行われたものと想定しています。そのようなデータを取得して予測を出力できる既存のアルゴリズムはありますか?(複数のアルゴリズムのテスト、チューニング、ブースティングなど)はいの場合、計算は効率的ですか(通常のアルゴリズムと比較した場合、計算は妥当な時間内に行われますか)、コードの例はありますか?

3
ブースティング法が外れ値に敏感な理由
ブースティング方法は外れ値に敏感であると述べている記事を多く見つけましたが、その理由を説明する記事はありません。 私の経験では、外れ値はどの機械学習アルゴリズムにとっても悪いのですが、なぜブースティング法が特に敏感であると特定されているのですか? ブースターツリー、ランダムフォレスト、ニューラルネットワーク、SVM、ロジスティック回帰などの単純な回帰法など、外れ値に対する感度の観点から、次のアルゴリズムはどのようにランク付けされますか?

1
ロジスティック損失関数の勾配
これに関する質問をします。 私はここでxgboostのカスタム損失関数を書く例を見つけました: loglossobj <- function(preds, dtrain) { # dtrain is the internal format of the training data # We extract the labels from the training data labels <- getinfo(dtrain, "label") # We compute the 1st and 2nd gradient, as grad and hess preds <- 1/(1 + exp(-preds)) grad <- preds …

2
分類のためのSVMでのAdaboostの使用
Adaboostが一連の​​弱い分類子の線形結合を使用して強い分類子を生成しようとしていることを知っています。 ただし、特定の状況や状況で AdaboostとSVMが協調して機能することを示唆するいくつかの論文を読んだことがあります(SVMは強力な分類子ですが)。 アーキテクチャとプログラミングの観点から、それらがどのように組み合わさって機能するかを理解することはできません。私は多くの論文(たぶん間違ったもの)を読みましたが、それらがどのように連携するかを明確に説明していませんでした。 誰かが効果的な分類のために組み合わせてどのように機能するかについていくつかの光を投げることができますか?いくつかの論文/記事/ジャーナルへのポインタもいただければ幸いです。

1
Scikit二項偏差損失関数
これはscikit GradientBoostingの2項偏差偏差関数です。 def __call__(self, y, pred, sample_weight=None): """Compute the deviance (= 2 * negative log-likelihood). """ # logaddexp(0, v) == log(1.0 + exp(v)) pred = pred.ravel() if sample_weight is None: return -2.0 * np.mean((y * pred) - np.logaddexp(0.0, pred)) else: return (-2.0 / sample_weight.sum() * np.sum(sample_weight * ((y * pred) …

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