問題タブ [hyperparameters]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
439 参照

machine-learning - ハイパーパラメータをより簡単に取得するにはどうすればよいですか?

機械学習の多くのモデルには、ハイパーパラメータが含まれています。ホールドアウトデータを使用してこれらのハイパーパラメータを見つけるためのベストプラクティスは何ですか?またはそれを行うためのあなたの方法は何ですか?

0 投票する
1 に答える
2080 参照

algorithm - MATLAB でのアルゴリズムに依存しないハイパーパラメーター グリッド検索

さまざまな機械学習アルゴリズムを比較したいと思います。その一環として、最適なハイパーパラメータのグリッド検索を実行できるようにする必要があります。ただし、固定アルゴリズムごとにグリッド検索の個別の実装と、そのハイパーパラメーターの固定サブセットを作成するという考えにはあまり興味がありません。代わりに、 scikit-learn のように見えるようにしたいと思いますが、おそらくそれほど多くの機能はなく (たとえば、複数のグリッドは必要ありません)、MATLAB で記述します。

これまでのところ、まだ書かれていないのロジックを理解しようとしていますgrid_search.m

関数の呼び出しは次のgrid_searchようになります。

最初の呼び出しでは、rbf カーネルと Constraints および Sigmas のすべての組み合わせを試します。

args変数の背後にある考え方は、{'name1', 'value1', 'name2', 'value2', ..., 'nameN', 'valueN'}後で対応するアルゴリズムに渡される形式のセル配列であるということです: algo(data, labels, args{:}). その{'name1', 'name2', ..., 'nameN'}部分は簡単です。{'value1', 'value2', ..., 'valueN'}問題は、各ステップでパーツを作成する方法がわからないことです。

機械学習の用語は誰もが知っているわけではないことを理解しています。そのため、以下に自己完結型の例を示します。

TARDIS の乗組員が次のクラスの存在で構成されているとします。

Timelord、Companion、Villain には常に 1 つの場所しかないため、次の cell 配列を生成する方法を教えてください。

解決策は一般的なものである必要があります。つまり、クラス内の存在の数が変更されたり、より多くのクラスの存在が追加されたりしても、引き続き機能するはずです。コードではなく、段階的な説明もいただければ幸いです。

PS:オリジナルのストリップされていないgithub バージョンのgrid_search.m方が、私の言いたいことがよくわかるかもしれません。

0 投票する
1 に答える
1388 参照

matlab - 回帰のためのガウス過程のハイパーパラメータ

ガウス過程回帰モデルは主にその共分散行列によって指定され、自由なハイパーパラメーターはモデルの「重み」として機能することを知っています。しかし、共分散行列の 2 つのハイパーパラメーター (長さスケールと振幅) が何を表しているかを説明できる人はいますか (それらは「実際の」パラメーターではないため)。これら 2 つのパラメーターの「実際の」意味について少し混乱しています。

よろしくお願いいたします。:)

0 投票する
2 に答える
26452 参照

machine-learning - GridSearchCV() を介して探索される svm.SVC() ハイパーパラメーターの適切な値の範囲はどれですか?

私のハイパーパラメータがsvm.SVC()広すぎてGridSearchCV()決して完成しないという問題に直面しています! 1 つのアイデアは、RandomizedSearchCV()代わりに使用することです。しかし、繰り返しになりますが、私のデータセットは比較的大きく、500 回の反復に約 1 時間かかります。

私の質問は、リソースの浪費を止めるために、GridSearchCV (または RandomizedSearchCV ) で (各ハイパーパラメーターの値の範囲に関して) 適切な設定は何ですか?

C言い換えれば、たとえば100 を超える値が意味をなすかどうか、および/または 1 のステップが大きくも小さくもないかどうかを判断する方法は? どんな助けでも大歓迎です。これは現在使用しているセットアップです。

0 投票する
2 に答える
5583 参照

r - glmnet にカスタム ラムダ シーケンスを指定する方法

glmnetパッケージは初めてで、公開された研究論文の提案に基づいて関数をR指定したいと考えていました。ドキュメントは、パラメーターとして減少するシーケンスを提供できることを示唆しています。ただし、ドキュメントには、これを行う方法の例はありません。 lambdaglmnet.cvlambdas

誰かがこれを行う方法を提案できれば、非常に感謝しています。関数に 100 個の奇数値 ( の既定値nlambda) のベクトルを渡す必要がありますか? このベクトルの最小値と最大値にはどのような制限が必要ですか? また、ベクトルを指定する際の注意点nvarsなどはありますか?nobs

前もって感謝します。

0 投票する
0 に答える
1744 参照

r - Kmeans を使用したドキュメント クラスタリングで BIC、AIC を使用してクラスタ数を推定する

私のアプローチでは、KMEANS アルゴリズムを使用して一連のドキュメントをクラスタリングするための「k」の最適値を見つけようとしています。最適なモデルを見つけるために、「AIC」および「BIC」情報基準関数を使用したいと考えました。「k」の最適な値を見つけるために、このリソース「sherrytowers.com/2013/10/24/k-means-clustering/」を使用しました。

しかし、コードを実行すると、AIC と BIC の次のグラフが得られました。グラフから何も解釈できません。私の疑問は

  1. 私のアプローチは間違っていますか?これらの尺度 (AIC、BIC) は、Kmeans を使用したドキュメント クラスタリングには使用できませんか?
  2. または、プログラミング ロジックにエラーがあり、'AIC' と 'BIC' がクラスター数の 'k' を見つける正しい方法ですか?

これが私のコードです

これらは、生成されたグラフです http://snag.gy/oAfhk.jpg http://snag.gy/vT8fZ.jpg

0 投票する
1 に答える
1135 参照

python - グラフをフィッティングしてデータ曲線の勾配を見つける

勾配を見つける必要があるデータがたくさんあります。データは、銀河の中心 (距離 = 0) の金属量である核金属量と、中心からさまざまな距離にあるさまざまな銀河の束の金属量があるように設定されています。普遍的な勾配を見つけたいので、すべてのデータをプロットして最適な曲線を探すことを計画していました. アイデアは、金属性が中心にあるものであるということです. したがって、正しい核金属量を返すように金属量勾配を修正する必要があります。グラデーションのオフセットを核金属性 (単一の銀河に適合する場合) または 0 (核金属性によってすべてをシフトし、完全なサンプルに適合する場合) に修正する必要があります。

これが私のデータの例です:

したがって、基本的には、金属性 - 核金属性 = 距離 * 勾配のような方程式が必要です。現在、テキスト ファイルからデータを呼び出し、matplotlib を使用してプロットする非常に単純なスクリプトを使用しています。私が混乱しているのは、核金属量がゼロになり、普遍的な勾配を得ることができるようにグラフをオフセットする方法です。上記の方程式は勾配を使用していますが、それを解く必要があるため、どうすればよいかわかりません。ハイパーパラメータを使用してグラフを適合させる方法を知っている人はいますか?

編集:

つまり、勾配について私が意味するのは、私が推測する最適な直線の方程式です。基本的に、銀河の中心にある金属量と、さまざまな銀河の中心から離れた位置にある金属量があり、データを使用して方程式を見つける必要があるため、中心の金属量と中心からの距離がわかれば、その時点での金属性を知るために、それを上記の式に差し込むことができます。現在、すべての銀河は異なる金属量を持っているため、勾配を見つけるためにすべてのデータを当てはめようとしています。それは理にかなっていますか?

0 投票する
1 に答える
182 参照

python - scikit - 基本推定量として RandomForrestClassifier を使用した CalibratedCV の GridSearchCV

CalibratedCV に埋め込まれた RandomForrestClassifier で GridSearchCV を実行する方法があるかどうか疑問に思っていました。ログの損失を最適化したいので、CalibratedCV で評価を行う必要がありますが、RandomForrest のパラメーターを変更したいと思います。

前もって感謝します

0 投票する
1 に答える
36 参照

optimization - 機械学習による関数パラメータのキャリブレーション

関数 F、[bool] = F(DATASET, tresh1, tresh2) があります。これは、DATASET といくつかのパラメーターを入力として受け取ります。 "、それ以外の場合は 0。もちろん、答えは値 tresh1 e tresh2 によって異なります。

利用可能な 100 個の DATASET があり、どれが適切でどれがそうでないかを知っているとします。関数 F を「トレーニング」したいと思います。つまり、F(DATASET, tresh1_, tresh2_) がすべての (またはほとんどの) DATASET に対して「良い」と「偽」を返すように、値 tresh1_ と tresh2_ のカップルを教えます。そうでなければ。

F(DATASET_, tresh1_, tresh2_) は、DATASET_ が新しいもの (以前の 100 とは異なる) である場合、DATASET_ が本当に「良い」場合は true を返すことを期待しています。

この問題をクラスタリングの問題として見ることができました。トレーニング セット内のすべての DATASET に対して、ランダムな tresh1 と tresh2 を選択し、F が正しい値を返すことを確認する値とそうでない値をマークします。したがって、tresh1 と tresh2 の値が「良好」な領域を選択します。それは良い方法ですか?より良いものはありますか?

一般的に、「パラメータのキャリブレーションの問題」のように思えます。それを解決するための古典的なテクニックはありますか?

0 投票する
1 に答える
880 参照

classification - vowpal wabbit ですべての機能の重みをゼロにする l1/l2 正則化は合理的ですか?

vwロジスティック回帰にオンライン学習スキームを使用するから奇妙な結果が得られました。そして、追加--l1または--l2正規化すると、すべての予測が 0.5 になりました (つまり、すべての機能が 0 です)。

これが私のコマンドです:

...そしてここに学習プロセス情報があります:

ところで、機能の数は約 80,000 であり、各サンプルにはそのごく一部しか含まれていません (そのためcurrent features、約 100 のみ)。

これが私の推測ですが、目的関数/損失関数では、第2項regularization lossが方程式全体を支配し、この現象につながる可能性がありますか?

そして、別のデータセット(先日のもの)を試します