問題タブ [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 - scipy を使用して、非変分パラメーターも取る関数を最小化する
scipy.optimize
モジュールを使用して関数を最小化したい。私の機能はf(x,a)
次のとおりです。
固定のに対して、 に関してa
最小化したい。f(x,a)
x
scipy
たとえば、fmin
関数をインポートし(古いscipy:v.0.9.0を持っています)、初期値を指定x0
してから最適化できます(ドキュメント):
f
これは、 2 つの引数を取りfmin
、1 つしか渡さないために失敗します(実際には、a
まだ定義していません)。私が行った場合:
「xが定義されていない」ため、計算も失敗します。ただし、定義するx
と、最適化する変動パラメータはありません。
ここで非変分パラメータを関数の引数として使用できるようにするにはどうすればよいですか?
python - Pythonでscipyを使用して有界非線形最小化を解く
1 つの変数で単純な非線形最小化問題を解こうとしています。
それは私に与えます
入力を間違えていませんか?どのようにフォーマットすればよいですか?
境界を削除すると、次のようになります。
関数はそのように見えるため、関心のある極大値で解を制限する境界が必要です。
numpy - ゼロ除算による最小最小平方根
以下のコードでわかるように、除算と三角関数を含む関数に最小化を適用したいと思います。ただし、ゼロ除算でエラーが表示されます。
RuntimeWarning: 除算 launch_new_instance() でゼロ除算が発生しました
image-processing - 画像全体で最小エネルギー パスを見つける
次の図のように、グレースケール値を含む 2 次元配列を考えてみましょう。
赤い点の間の最適なパスを見つけたいです。高度の意味で、明るい領域を「高く」、暗い領域を「低い」と見なす場合、あるマーカーから別のマーカーまでの暗い「谷」に沿って線を引く必要があります。
私が知っているアルゴリズムの 2 つのカテゴリは次のとおりです。
- 画像処理ベースの「ボトムアップ」操作 (骨格化、流域、究極の浸食など)
- 反復最小化、「トップダウン」操作 (アクティブな輪郭)。
私の質問は:
この問題を解決するための典型的で明確に定義された操作またはアルゴリズムはありますか、または上記の一般的な手法のいくつかから自分で作成する必要がありますか?
最初にスケルトン化を試みますが、グレースケール イメージに対して実行する方法がわかりません。そして、アクティブな輪郭を試すとしたら、示されている画像に似た画像の内部エネルギー関数と外部エネルギー関数は何が良いのだろうかと思います (画像の勾配がベクトル場として機能する可能性があると思います)。
編集: これは、シーム カービング アルゴリズム (ウィキペディアで説明されている) を実装した後の私の作業コードであり、マーカーを通るパスを強制するためのショーハムの提案です。
logic - Mac OS X 用 Espresso Logic の最小化
Mac OS X で動作する (つまり、テスト済みの) エスプレッソを提供してくれる人はいますか?
実行したい .pla ファイルがあります。
ソフトウェアの実行に関する指示も問題ありません。
matlab - fmincon 関数 MATLAB を使用して定義済みのステップ バリエーションを作成する
MATLABの最適化ツールボックス「fmincon」を使っているのですが、次の問題があります。
変化させるパラメーターは 6 つあります。そのうちの 2 つは 4 から 16 までの偶数で変化します (この値は変化する可能性がありますが、常に偶数で変化します)。したがって、次のように定義しましょう。
別の 2 つの変数は、300 から 1500 の間で 100 刻みで変化する必要があります。つまり、次のようになります。
最後のカップルは、次のように 4 ~ 6 の間で変化します。
パラメータの制限は次のとおりです。
ここで非常に重要なことは、 の変化はfmincon
ほとんど変化しないということです。つまり、変化の最初の値が でx1
あっては4
ならないということ4.0000000001
です。そして、私の問題があります。ステップが小さすぎるため、変動は何もせず、アルゴリズムは目的関数の変動がないと言って停止します。
fmincon
、 、および を設定しましたがDiffMinChange=1
、これは最初の反復で機能し、ステップが少なすぎます。これは の初期構成ですfmincon
。
最初の制限は次のとおりです。
より明確にするために、私が探しているのは、次のように定義できる 3 つの範囲を作成することです。
EDIT 1:目的関数の各評価には約2〜3時間かかることを知っているかもしれません。
ご覧のとおり、最後に私が探しているのは間隔の変化です。そのため、最初の制限は上の制限より大きくすることはできません。そうでない場合、ランクは空になります。