問題タブ [convex-optimization]
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.
machine-learning - ロジスティック回帰におけるコスト関数のローカルおよびグローバル最小値
ロジスティック回帰式の導出における最小値の背後にある考え方を誤解しています。
アイデアは、仮説を可能な限り大きくすることです (つまり、正しい予測確率を可能な限り 1 に近づけます)。そのためには、コスト関数 $J(\theta)$ を可能な限り最小化する必要があります。
これがすべて機能するためには、コスト関数が凸状でなければならないと言われました。凸性についての私の理解では、最大値が存在しない必要があるため、最小値は 1 つだけであり、グローバル最小値です。これは本当にそうですか?そうでない場合は、理由を説明してください。また、そうでない場合は、コスト関数に複数の最小値が存在する可能性があることを意味し、複数のパラメーターのセットがますます高い確率をもたらすことを意味します。これは可能ですか?または、返されたパラメーターがグローバル最小値を参照しているため、最高の確率/予測を参照していると確信できますか?
python - 最適化により、画像内の最大の長方形を見つける
問題: 複数のオブジェクトを含むバイナリ イメージがあります。これらの不規則なオブジェクトに可能な限り大きな正方形を収める方法を見つける必要があります。下に添付された画像を参照してください
以下に示すように、各ラベル付きオブジェクトの境界ボックスを初期推定として使用し、コスト関数を使用して、これを最適化問題として定式化しようとしました。境界ボックスの行は、正方形であるため、列の初期推測としても想定されます。
stackoverflow に関する Stefan の回答と同じアプローチを使用する:円をバイナリ イメージに適合させる 私のパラメータについては、この単純なコスト関数に対してパラメータを最適化する方法がわかりません
パラメータは変更されず、最適化は反復 0 で停止し、コストも変更されません。さまざまなソルバーとoptimize.minimizeを試しました。パラメータは変更されません。
理想的には、各領域に長方形が必要です。各領域(バイナリオブジェクト)は異なる色で色分けされています
最適化がこれらの問題を解決する良い方法であるかどうかについてもコメントしてください。
リクエストされた注釈付きの画像を以下に掲載します。いくつかのオブジェクトの長方形 (編集後に正方形を想定) は黒です (色の選択が不十分で申し訳ありません)。
matlab - Matlab の高速 CVX ソルバー
Matlab で最速の凸オプティマイザーは何か、または現在のソルバーを高速化する方法はありますか? 私は CVX を使用していますが、私が抱えている最適化の問題を解決するには永遠に時間がかかります。私が持っている最適化は解決することです
ここで、A と b のサイズは非常に大きいです。
これを最小二乗ソルバーで解決し、それを制約バージョンに転送して高速化する方法はありますか?
python - 等式制約のみの CVXOPT
CVXOPTでの学習課題として以下のことを試みています。不等式制約を削除し、等式制約をいくつか追加することで、ここのコード例に小さな変更を加えました。
しかし、次のことを実行すると:
これは、最適化の最初の制約に違反しています。ここで何が問題なのかわかりません。(乱数を使用して変数を生成しているため、異なる値が生成されることに注意してください。ただし、私a
のnp.sum(p)
ものと同じ違反を観察する必要があります。
元のリンクの不等式制約を保持し、さらに 2 つの等式制約を追加しても、等式制約に違反します。
確実に使用できる他のパッケージ、つまり維持されているパッケージはありますか?
編集:実行可能な解決策がない場合、実行可能な解決策が見つからないというメッセージが表示されるべきではありませんか?
julia - Juliaでポートフォリオ最適化に凸最適化を活用する方法
Julia (0.5) と Convex.jl (ECOS ソルバーを使用) を使用して、2 つの株式のポートフォリオが与えられた場合に、ポートフォリオの収益を最大化するために、両方の株式に配分 (パーセント) を配分する方法を見つけようとしています。リスクを最小限に抑えます(リターンの標準偏差)。シャープレシオと呼ばれるものを最大化したいと考えています。これは、保有する 2 つの株式のそれぞれのパーセンテージから算出される計算です。そこで、シャープレシオを最大化し、ソルバーに 2 つの株式の最適な割り当てを割り出させます (株式 1 の x% と株式 2 の 1-x% が必要であると教えてもらいたい)。唯一の実際の制約は、割合の割り当ての合計が 100% になることです。以下のコードが実行されますが、期待する最適な重み/割り当てが得られません (Supertech の場合は 36.3%、Slowpoke の場合は 63.7%)。
私の直観は、目的関数がソルバーに対して正しくモデル化されていないか、制約をさらに処理する必要があるということです。私は凸最適化についてよく理解していないので、翼を広げています。また、私の目的関数は variable.value 属性を使用して正しい出力を取得しており、代わりに Variable 式オブジェクトを操作する必要があると思われます。
質問は、凸ソルバーが設計されている何かを達成しようとしているのですか?目的関数と制約をより適切にモデル化する必要がありますか?
コメント付きのコード: