問題タブ [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.
python - CVXOPT L1 ノルム近似 - lDB の値が不正です
ここで与えられた L1 ノルム近似の例に従って、次のコードを使用します。
すべてが正常に動作します。
ただし、mをnよりも小さくなるように変更すると、
次のエラーが表示されます。
L1.py:180 の次のステートメントが原因でエラーが発生していることがわかります。
さらに lapack.c:3651 に飛び込むと、次のステートメントでエラーがスローされます。
ただし、cvxopt.lapack.gels の CVXOPT の LAPACK インターフェイスに関するドキュメントを読むと、具体的には、mがn未満の場合、最小ノルム問題を解決すると書かれています。
mをnよりも小さくしてもうまくいかない理由を誰かが明らかにすることはできますか?
python - SVM 双対法を解く際の CVXPY エラー「2 つの非定数を乗算できません」
CVXPY で SVM の二重問題を解決しようとしています。
以下は Python コードです。
エラーが発生します:
cvxpy は、カーネル行列を使用した二次形式の最適化をサポートしていないようです。ただし、Matlab で cvx を使用して、このプレゼンテーションの 13(35) ページで同じ問題を解決している人々を見てきました。
http://users.isy.liu.se/en/rt/schon/CourseMLlund/le5.pdf
私はcvxに非常に慣れていません。これを修正するのを手伝ってください。ありがとう。
matlab - MATLAB で可変数の入力関数を使用して最適化する
次の単純な最適化問題から始めました。
F=@(L) max(-[log(L(1)/(L(1)+1)) log(L(2)/(L(2)+1))+log(1-L(1)) log(L(3)/(L(3)+1))+log(1-L(1))+log(1-L(2))]);
[L,fval]=fmincon(F,[0.5 0.5 0.5],[],[],[],[],[0;0;0],[1;1;1])
これにより答えが得られます:L = 0.2554 0.3759 0.7785
そしてfval = 1.5925
Obj
ただし、 in には可変数の入力関数が必要ですmax(-[Obj])
。上記の例では、次の 3 つの関数があります。
Obj=log(L(1)/(L(1)+1)) log(L(2)/(L(2)+1))+log(1-L(1)) log(L(3)/(L(3)+1))+log(1-L(1))+log(1-L(2))
次のコードを使用Obj
して、関数の数が依存する生成を行いましたM
。
Obj
これは上記の例とまったく同じですが、これObj
を次の最適化関数に渡すと、サポートされません。
誰かがこの問題を解決するのを手伝ってくれますか? M
すべての機能を手動で入力するのは困難です 。
java - 凸包最適化 Java
最近、凸包のトリックに関するPEG Wikiの記事を読みました。驚いたことに、この記事の最後で、行を std::set に格納すると、このトリックの完全に動的な変形(適用条件がないことを意味します) を実現できると読みました。前述のアプローチは理解できましたが、実装しようとすると必ず失敗します。
つまり、サイズ n の配列 A があり、各配列要素には 2 つの正の整数 ai と bi が含まれます。
各クエリが次の 2 つのタイプのいずれかになる Q クエリがあります。
1) 正の整数 x が与えられた場合、max (aix + bi)
1 から n までのすべての i を見つける
2) いくつかの i の ai と bi の値を更新します。
更新される値は、減少しない順序になりますai1>=ai2 and bi1>=bi2 for Q >= i1 > i2 >= 1
。
Update Part は、前の行を削除して新しい行を追加することで実行できます。Javaで償却された(ログn)複雑さの更新部分とクエリ部分の両方を探しています
apache-spark - Sparkで任意の制約を持つ線形プログラム?
線形目的関数と線形等式および不等式制約を使用する凸最適化問題として定式化できる問題がありますが、膨大な数のパラメーターがあります。この問題は、1 台のマシンで合理的な時間内に解決できますが、数十万のパラメーターが必要ですが、必要な数百万のパラメーターでは解決できません。
Aaron Staple/Databricks が Matlab TFOCS ライブラリの一部を Spark に実装していることがわかりますが、制約のない凸最適化または正準制約 (スカラー行列 A の場合、Ax = b、x >= 0、スカラー ベクトル b、および x は最適化するパラメーターのベクトル)。しかし、任意の線形等式と線形不等式の制約を持つ線形計画法を解く必要があります。
Spark TFOCS に、私の問題を解決できる、欠けている機能があるかどうか知っている人はいますか? 利用可能な Spark ツールを使用してこの問題に取り組む他の方法はありますか?