問題タブ [minimization]
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.
python - Python での 2 次元最適化 (最小化) (scipy.optimize を使用)
E(n,k)
次のように定義された 2 次元関数を最適化 (最小化) しようとしています。
はTformulated
次のように取得されます。
andTw
は、複雑な値の要素を持つ以前に計算されたリストです。私が正確にやろうとしているのは、(「エラーx、y、w ....」で使用される)の各値に対して、 &w
の値に対して関数「エラー」を最小限に抑えたいということです。範囲は 1 から 2048 です。したがって、基本的には 2D 最小化問題です。私は自分でプログラミングを試みました(ただし、使用する方法と使用方法に行き詰まっています)。私のコードは次のとおりです。x
y
w
fmin_powell
正しい方法であるかどうかもわかりません。
matlab - サーフェスのセットに最も近いポイント
これらのサーフェスは、空間内の位置 (x、y、z) によって定義されています。理想的には交差する必要がありますが、常にそうであるとは限りません。ただし、すべてのサーフェスからのエクリュディアン距離が最も短いポイントが存在する必要があります。サーフェスの解析式がありません。何千もの可能性のあるすべての候補を調べるのではなく、どうすればこの点を見つけることができるでしょうか?
python - nelder-mead を使用した Python での数値最適化の不具合
Nelder-Mead メソッドを使用して scipy.optimize.minimize モジュールを使用して、非線形関数の 2 つの変数の最適化を試みています。最適化は全体的に非常に成功していますが、その間に最適化変数の値が突然ジャンプし、その後、最適化パラメーターの曲線は同じ形状をたどりますが、DC シフトがあります。画像は私の問題を理解するのに役立つかもしれません。関数の許容範囲をいじってみましたが、無駄でした。ジャンプは、その後のプログラミングで大混乱を引き起こします。画像は [画像をインライン化するためのコミュニティ編集] です。
まず、グリッチのある最適化変数:
次に、グリッチのズーム:
3 番目に、最初の最適化変数がこの 2 番目の最適化変数で同じポイントの直後に引き起こす混乱:
緑の点は予想される最適化曲線で、青の線は得られた最適化曲線です。
matlab - 多変数関数の最小化
fminsearch関数を知っていますが、1つの変数しか解けないようです。
関数がf(x、y、z)のように見え、結果が最も低くなるx、y、zの値を見つけたい場合、MatLabでこれを行うにはどうすればよいですか?fの複雑さにより、偏導関数の計算が不当に困難になります。
助けていただければ幸いです、ありがとう!
android - アプリケーションの最小化後にビットマップを復元するにはどうすればよいですか?
描画アプリケーションがあります。最小化から回復するためにアプリケーションが必要です(アプリケーションが最小化されるまでクリックして戻ります)。いくつかのフォーラムから理解したように、それを行うための最良の方法と最も簡単な方法は、ビットマップをローカルの一時フォルダーに保存し、そこからビットマップを開くことです。私が見つけられなかったのは、それをどのように行うことができるかというチュートリアルや例です。
この問題の解決策を投稿する前に、この問題に関する優れたチュートリアルを提案してください。
ありがとう、
math - 多入力多出力関数のガウスニュートン最小化
行列形式の入出力関数が与えられた場合:
p1−p6
ガウス・ニュートン法を使用して最小二乗誤差を最小化したい。100個の測定値があるとします。私の質問は、残余ベクトルの計算とサイズについてです。
r i =出力− f(入力、パラメーター)
err = Sum(r i 2)
最小化されたエラーでパラメータを計算するために、次のようになります。
p i + 1 = pi +Δ
Δ=(J T * J)-1 * J T * r i
それぞれのサイズは次のようになります。
入力ベクトル(x):100x2
出力ベクトル(y):100x2
resuidual(r):100x2
ジャコビアン(J):100x6
パラメータ(pi):6x1(6つのパラメータ)
ご覧のとおり、Δのサイズは6x2になりp_i+1
ますが、これはと一致していないようです。残余ベクトルの計算プロセスは正しいですか?はいの場合、パラメータのベクトルをどのように計算できますか?そうでない場合、正しい答えは何ですか?
もう1つは、J
パラメーター行列に関する計算方法(Jacobian)です。
どうもありがとう。
python - シンプレックスと遺伝的アルゴリズムを使用した非常にノイズの多い 6 パラメーター関数の最小化 - ¨Python 言語
経験的な人間のデータと 6 パラメーターの認知モデルからシミュレートされたデータの間の損失関数を最小化しようとしています。モデルは非常にうるさいです。モデルは PYTHON でプログラムされていることに注意してください。
標準的な方法は、シンプレックス検索を使用することです。ただし、シンプレックスは最初の推測に大きく依存するため、極小値を取得するリスクが高くなります。だから私は2つの質問があります:
1)遺伝的アルゴリズムを使用して、最初にグローバル最小値のおおよその位置を検索し、その結果をシンプレックス検索の開始点として使用できないかどうか疑問に思っています。それが良い考えであれば、誰かがPythonで適切な遺伝的アルゴリズムの良い実装を知っていますか?
2) シンプレックス検索にはどの反射定数、膨張定数、収縮定数を使用すればよいですか?
どんな助けでも大歓迎です。
乾杯、マット
matlab - L1-Regularized システムの最小化、非最小位置への収束?
これは、stackoverflow への私の最初の投稿であるため、これが正しい領域でない場合はお詫び申し上げます。L1正規化システムの最小化に取り組んでいます。
今週末は最適化への私の最初のダイビングです。私は基本的な線形システム Y = X*B を持っています。X は n 行 p 列の行列、B はモデル係数の p 行 1 列のベクトル、Y は n 行列です。 -1 出力ベクトル。
モデル係数を見つけようとしています。勾配降下アルゴリズムと座標降下アルゴリズムの両方を実装して、L1 正則化システムを最小化しました。バックトラッキング アルゴリズムを使用しているステップ サイズを見つけるために、勾配のノルム 2 を見てアルゴリズムを終了し、ゼロに「十分近い」場合は終了します (今のところ 0.001 を使用しています)。
私が最小化しようとしている関数は、次の (0.5)*(norm((Y - X*B),2)^2) + lambda*norm(B,1) です。(注: norm(Y,2) とは、ベクトル Y のノルム 2 値を意味します) 私の X 行列は 150 行 5 列で、スパースではありません。
正則化パラメーター ラムダをゼロに設定すると、最小二乗解に収束するはずです。両方のアルゴリズムがこれをかなりうまく、かなり迅速に行うことを確認できます。
ラムダを増やし始めると、モデル係数はすべてゼロに向かう傾向があります。これは私が期待することですが、勾配のノルム 2 は常に正の数であるため、アルゴリズムは決して終了しません。たとえば、1000 のラムダは 10^(-19) 範囲の係数を与えますが、私の勾配の norm2 は ~1.5 です。範囲、私のステップ サイズは非常に小さくなります (10^(-37) 範囲)。アルゴリズムを長時間実行しても状況が改善されない場合は、何らかの理由でスタックしているように見えます。
私の勾配と座標降下アルゴリズムの両方が同じ点に収束し、終了条件に同じ norm2(gradient) 数を与えます。また、0 のラムダでも非常にうまく機能します。非常に小さなラムダ (0.001 など) を使用すると収束します。0.1 のラムダは、1 時間か 2 時間実行すると収束するように見えます。収束率が小さすぎて使い物になりません。
問題に関連していると思われるいくつかの質問がありましたか?
勾配の計算では、h が 10^(-5) の有限差分法 (f(x+h) - f(xh))/(2h)) を使用しています。この h の値について何か考えはありますか?
別の考えでは、これらの非常に小さなステップでは、最小値とほぼ直交する方向に前後に移動し、収束速度が非常に遅くなり、役に立たなくなるというものでした.
私の最後の考えは、収束速度が非常に遅い場合は、おそらく収束速度を見て、おそらく別の終了方法を使用する必要があるということでした。これは一般的な終了方法ですか?
android - 署名後に戻るボタンを押しても Android アプリケーションが最小化されない
戻るボタンとホームボタンを押してアプリを最小化したい。だから私は次のコードを使用しました。
アプリケーションに署名する前に、シミュレータとデバイスで正常に動作しています。ただし、署名後、戻るボタンを押してアプリケーションを閉じます。次のコードも試しました。
しかし、結果は同じです。どんな提案も役に立ちます。
wolfram-mathematica - NMinimize は非常に遅い
あなたは私の最後の希望です。私の大学には、私の質問に答えられる人はいません。私は6つのパラメータa0、a1、a2、b0、b1、b2に依存する非常に複雑な関数を持っています。これは、かなり新しい状態方程式によって計算された圧力、体積液体、体積蒸気のデルタを最小化します。NMinimize は非常に遅く、タイミングが非常に高いため、この式については考慮できませんでした。コードには、私のコードに関するいくつかの説明といくつかの問題があります。ひざまずいて、あなたが私を助けてくれることを祈っています。申し訳ありませんが、これらの方程式の構築に 4 か月を費やした後、テストできませんでした。そしてフラストレーションは日に日に増していきます!
前もって感謝します!Mariano Pierantozzi 化学工学の博士課程の学生