タグ付けされた質問 「randomized-algorithms」

1
xgboostがsklearn GradientBoostingClassifierよりもずっと速いのはなぜですか?
私は、100個の数値特徴を備えた50kの例で勾配ブースティングモデルをトレーニングしようとしています。XGBClassifier一方、私のマシンで43秒以内に、ハンドル500本の木、GradientBoostingClassifierハンドルのみ10樹木(!)1分2秒:(私は気にしませんでしたでは、それは時間がかかるだろうと500本の木を育てるしようとしている。私は、同じ使用していますlearning_rateし、max_depth設定を、 下記参照。 XGBoostがこれほど速くなったのはなぜですか?sklearnの人が知らない勾配ブースティングのためのいくつかの新しい実装を使用していますか?それとも、「角を切り」、より浅い木を育てるのですか? PS私はこの議論を知っています:https : //www.kaggle.com/c/higgs-boson/forums/t/10335/xgboost-post-competition-surveyが、そこに答えを得ることができませんでした... XGBClassifier(base_score=0.5, colsample_bylevel=1, colsample_bytree=1, gamma=0, learning_rate=0.05, max_delta_step=0, max_depth=10, min_child_weight=1, missing=None, n_estimators=500, nthread=-1, objective='binary:logistic', reg_alpha=0, reg_lambda=1, scale_pos_weight=1, seed=0, silent=True, subsample=1) GradientBoostingClassifier(init=None, learning_rate=0.05, loss='deviance', max_depth=10, max_features=None, max_leaf_nodes=None, min_samples_leaf=1, min_samples_split=2, min_weight_fraction_leaf=0.0, n_estimators=10, presort='auto', random_state=None, subsample=1.0, verbose=0, warm_start=False)
29 scikit-learn  xgboost  gbm  data-mining  classification  data-cleaning  machine-learning  reinforcement-learning  data-mining  bigdata  dataset  nlp  language-model  stanford-nlp  machine-learning  neural-network  deep-learning  randomized-algorithms  machine-learning  beginner  career  xgboost  loss-function  neural-network  software-recommendation  naive-bayes-classifier  classification  scikit-learn  feature-selection  r  random-forest  cross-validation  data-mining  python  scikit-learn  random-forest  churn  python  clustering  k-means  machine-learning  nlp  sentiment-analysis  machine-learning  programming  python  scikit-learn  nltk  gensim  visualization  data  csv  neural-network  deep-learning  descriptive-statistics  machine-learning  supervised-learning  text-mining  orange  data  parameter-estimation  python  pandas  scraping  r  clustering  k-means  unsupervised-learning 

2
重みとバイアスの初期化を0付近で選択する必要があるのはなぜですか?
私はこれを読みました: ニューラルネットワークをトレーニングするには、各パラメーターW(l)ijWij(l)と各b(l)ibi(l)をゼロに近い小さなランダム値に初期化します(たとえば、Normal(0、ϵ2)Normal(0 、ϵ2)いくつかの小さなϵϵの分布、たとえば0.01) バックプロパゲーションアルゴリズムの 7番目の段落にあるスタンフォードの深層学習チュートリアルから 私が理解していないのは、重みまたはバイアスの初期化が約0である必要がある理由です。

1
方法:ディープニューラルネットワークの重みの初期化
難しい学習タスク(高次元、固有のデータの複雑さなど)が与えられると、ディープニューラルネットワークはトレーニングが難しくなります。多くの問題を緩和するには、次のようにします。 ハンドピック品質データを正規化する 別のトレーニングアルゴリズムを選択する(たとえば、勾配降下の代わりにRMSprop) 勾配の急なコスト関数を選択します(例:MSEの代わりにクロスエントロピー) 異なるネットワーク構造を使用する(例:フィードフォワードではなくたたみ込み層) より良い重みを初期化する賢い方法があると聞いたことがあります。例えば、あなたはより良い等級を選ぶことができます:Glorot and Bengio(2010) シグモイド単位の場合: Uniform(-r、r)をサンプリングしますr = 6NI N+ NoU T−−−−−−√r=6N私ん+Noあなたtr = \sqrt{\frac{6}{N_{in} + N_{out}}} または双曲線正接単位: Uniform(-r、r)をサンプリングしますr = 4 6NI N+ NO U T−−−−−−√r=46N私ん+Noあなたtr =4 \sqrt{\frac{6}{N_{in} + N_{out}}} 重みをより適切に初期化する一貫した方法はありますか?

2
scikit-learnでハイパーパラメーターを最適化する最も効率的な方法は何ですか?
scikit-learnのハイパーパラメータ最適化プロセスの概要はこちらです。 徹底的なグリッド検索は、モデルに最適なハイパーパラメーターのセットを見つけます。欠点は、徹底的なグリッド検索が遅いことです。 ランダム検索はグリッド検索より高速ですが、分散が不必要に高くなります。 他のパッケージには、scikit-optimize、auto-sklearn、scikit-hyperbandなどの追加の戦略もあります。 scikit-learnでハイパーパラメーターを最適化するための最も効率的な(合理的なパフォーマンスのパラメーターをすばやく見つける)方法は何ですか? 理想的には、ベンチマークを使用してコード例を実行したいと思います。
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.