問題タブ [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.
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 の値が「良好」な領域を選択します。それは良い方法ですか?より良いものはありますか?
一般的に、「パラメータのキャリブレーションの問題」のように思えます。それを解決するための古典的なテクニックはありますか?
classification - vowpal wabbit ですべての機能の重みをゼロにする l1/l2 正則化は合理的ですか?
vw
ロジスティック回帰にオンライン学習スキームを使用するから奇妙な結果が得られました。そして、追加--l1
または--l2
正規化すると、すべての予測が 0.5 になりました (つまり、すべての機能が 0 です)。
これが私のコマンドです:
...そしてここに学習プロセス情報があります:
ところで、機能の数は約 80,000 であり、各サンプルにはそのごく一部しか含まれていません (そのためcurrent features
、約 100 のみ)。
これが私の推測ですが、目的関数/損失関数では、第2項regularization loss
が方程式全体を支配し、この現象につながる可能性がありますか?
そして、別のデータセット(先日のもの)を試します
machine-learning - 小さなデータセットで GridSearch を使用し、結果を大きなデータセットに適用することは良い考えですか?
TfidVectorizer と OneVsRestClassifier(SGDClassifier) を使用したパイプラインがあります。これは、実行したい gridSearch のパラメーターです。
問題:パラメーターの最適な組み合わせを知りたいのですが、自分のコンピューターで 100k インスタンスに対してこのような gridSearch を実行できません。
質問:この種の gridSearch の結果は、100,000 インスタンスのデータセットと 10 ~ 20,000 のサンプルのサブセットで (おそらくパラメーター セットが小さい場合) どれくらい似ていますか?
ご存知かもしれませんが、私はテキストの問題のマルチラベル分類を扱っています。
ありがとうございました :)
machine-learning - MOE を使用して機械学習ハイパーパラメータを調整する方法は?
Yelp で作成された「メトリック最適化エンジン」であるMOEを使用して、機械学習アルゴリズムのハイパーパラメーターを調整しようとしています。彼らのドキュメントは少し限られており、従うべき例を見つけるのに苦労しています.
次の分布に基づいて、、C
、Gamma
およびサポート ベクター マシンの最適値を見つけたいとします。kernel type
最大化しようとしている目的関数は、トレーニング セットの精度スコアです。
MOE の apiを使用してこれを達成するにはどうすればよいですか?
machine-learning - スペアミントでハイパーパラメータ分布を表現するには?
ベイジアン最適化ライブラリであるSpearmintを使用して、機械学習分類器のハイパーパラメーターを調整しようとしています。私の質問は、一様分布に従わないパラメーター検索空間をどのように表現するのですか?
プロジェクトの github ページから、一様に分散された 2 つのパラメーター検索スペースを設定する方法の例を次に示します。
スペアミントで以下のような検索スペースを定義するにはどうすればよいでしょうか?
現在スペアミントでサポートされているすべての確率的表現 (つまりuniform
、normal
など) を検索する場所はありますか?log
machine-learning - Vowpal Wabbit でホールドアウト ロスを取得
Vowpal Wabbit でグリッド検索またはより高度なハイパーパラメーター検索を実装しようとしています。この目的のために、検証セット (vw のホールドアウト) で取得された損失関数値を取得する比較的簡単な方法はありますか? VW は、値に応じて早期停止が発生するため、たとえばパスの数ごとに計算したに違いありません。
これまでのところ、検証データセットを含む別のファイルを作成し、このデータセットで異なるモデルの予測を保存し、Python でそれらのパフォーマンスを比較することでこれを迂回しているため、不要なデータの浪費が発生しています。しかし、vw holdout スコアを明示的に使用する方法があるのではないでしょうか?
r - gbm の調整 (R キャレット) - 最適なハイパーパラメーターを取得するためのグリッド検索
たとえば、学習率とツリーを手動で調整するために、キャレットを使用してモデルを作成しました。
しかし、感度の結果の指標は貧弱で、特異度ほど美しくありません。
クラスの不均衡の確率しきい値を自動的に最適化するには、グリッド検索 (このような) を作成する必要があると思います。
どうすればできますか?リンク/私を案内するもの/ランダムフォレストのリンクケースのような知識を持つ人はいますか?
python - scipy.optimize の妥当な初期推測を決定する関数?
私はscipy.optimize.minimizeを使用して、使用される最初の推測にかなり敏感な 4D 関数の最小値を見つけています。少し変えると、解決策はかなり変わります。
これに似た質問がすでに SO に多数あります (例: 1、2、3 ) が、本当の答えはありません。
私の昔の質問で、zunzun.com サイトの開発者の 1 人(明らかにオンラインではなくなったようです) は、これをどのように管理したかを説明しました。
Zunzun.com は、差分進化遺伝的アルゴリズム (DE) を使用して初期パラメーター推定値を見つけ、それを scipy のレーベンバーグ-マルカート ソルバーに渡します。DE は、実際にはグローバル オプティマイザ自体として使用されるのではなく、「初期パラメータ ゲッサー」として使用されます。
このアルゴリズムに最も近いのは、ブロックを使用して最小化関数をランダムな初期推測で何度も呼び出すこの回答です。for
これにより、複数の最小化されたソリューションが生成され、最終的に最適な (最小値) ソリューションが選択されます。
zunzun dev が既に Python で実装されていると説明したようなものはありますか?