問題タブ [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 - テンソルフローで最適化関数を実装するにはどうすればよいですか?
minΣ(||xi-X ci||^2+ λ ||ci||),
stcii = 0、
ここで、X は形状 d * n の行列であり、C は形状 n * n です。xi と ci は、X と C の列を個別に意味します。
X はここで既知であり、X に基づいて C を見つけたいと考えています。
python - Python でこの凸最適化を解決するパッケージを選択するにはどうすればよいですか?
私の問題は以下のように定義されています。
minΣ(||xi-Xci||^2+ λ||ci||),
stcii = 0、
ここで、X は形状 d * n の行列であり、C は形状 n * n です。xi と ci は、X と C の列を個別に意味します。
X はここで既知であり、X に基づいて C を見つけたいと考えています。
現在、いくつかのオプションがあります。すでに tensorflow にバージョンがあり、AdamOptimizer
. この問題をより効率的に解決できる方法はありますか? この問題をよりよく解決しますcvxpy
か?cvxopt
テンソルフロー以外のこれらのメソッドのいずれかの実装を教えていただければ幸いです。
matlab - YALMIP は、簡単で実行可能な SDP に対して「実行不可能」を出力します
与えられた 3x3 行列が正半正定かどうかを判断したい。そのために、YALMIP で次の SDP を記述します。
このプログラムは、「実行不可能なデュアル、主な改善方向が見つかりました」というエラーを表示します。これは、間隔 (0,1] 内の v の任意の値に対して発生します。
この問題は扱いやすいので、行列を対角化し、3 つの固有値が次の多項式の 3 つの根であることを直接取得しました。
3 つの根の値を数値的に計算すると、そのうちの 3 つが sign(a)=sign(b) に対して正であることがわかります (a,b=+-1 の近傍の小さな領域を除く)。 v. したがって、SDP は問題なく実行され、さらに複雑になることなく x の負の値を出力するはずです。
もっと面白くするために、次のマトリックスで同じコードを実行しました
この行列は、前の行列と同じ固有値を持ち、この場合、プログラムは問題なく実行され、行列が実際に正の半正定値であることが確認されます。
この問題の性質について本当に興味があります。どんな助けも本当にありがたいです。
編集: SDPT3 ソルバーも試しましたが、結果は非常に似ています。実際、+v の場合はプログラムはスムーズに実行されますが、マイナス記号を付けると次のエラーが発生します。
さらに、変数にいくつかの制限を追加すると、つまり、次のコマンドを実行します
その後、エラーは「実行不可能な問題」エラーに変わります。
matlab - matlab での L0 ノルム ペナルティ関数のプロット
L0-norm
matlab でペナルティ関数をプロットすることに興味があります。
実際、L0-norm
ベクトルx , ||の x ||_0 は、 x内の非ゼロ要素の総数を指定する値を返します。言い換えれば、|| x ||_0 = #(i | xi !=0)。
たとえば、 x の L1 ノルムの場合、 xの要素の絶対値の合計を返します。L_1 ノルム ペナルティ関数をプロットする matlab コードは次のとおりです。
しかし、今L_0ノルムはどうですか??
どんな助けでも大歓迎です!
python - CVXPY で制約のリストを動的に生成する
私は、CVXPY を使用して Python で最小分散最適化問題に取り組んでおり、次の形式で制約を取り入れています。
w
という形で
これをより効率的に実行するために、設定を保存するファイルに基づいて、制約のリストを動的に作成したいと考えています。制約リストの読み取りと作成は正常に機能し、
それが示している
しかし、それに含まれる実際のエントリを見ると
一方、私のものはこの形式です
データの読み込みに使用されるコードは次のとおりです。
これを行う方法を知っている人はいますか?問題は、使用前に CVXPY の変数形式で w を取得することです。