问题标签 [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.
matlab - 2D 融合 Lasso 与 Matlab CVX
我在这里写了一个二维融合套索代码。
奇怪的是,节目报道,
在 cvxprob(第 28 行)中 在 cvx_begin(第 41 行)使用 cvxprob/newcnstr 时出错(第 192 行)有纪律的凸编程错误:
无效约束:{convex} == {constant}== 中的错误(第 12 行) b = newcnstr( evalin( 'caller', 'cvx_problem', '[]' ), x, y, '==' );
在我删除abs()
约束后,程序可以运行,但这不是我期望的约束。
machine-learning - 逻辑回归中成本函数的局部和全局最小值
我误解了逻辑回归公式推导中最小值背后的想法。
这个想法是尽可能地增加假设(即正确的预测概率尽可能接近 1),这反过来又需要尽可能地最小化成本函数 $J(\theta)$。
现在有人告诉我,要让这一切发挥作用,成本函数必须是凸的。我对凸性的理解要求没有最大值,因此只能有一个最小值,即全局最小值。真的是这样吗?如果不是,请解释为什么不。此外,如果不是这种情况,那么这意味着成本函数中可能存在多个最小值,这意味着多组参数会产生越来越高的概率。这可能吗?或者我可以确定返回的参数是指全局最小值,因此是最高概率/预测?
python - 通过优化在图像中找到最大的矩形
问题: 我有一个包含多个对象的二进制图像。我需要找到一种方法在这些不规则物体中放置尽可能大的 Square。见下图
我试图将其表述为一个优化问题,使用每个标记对象的边界框作为初始猜测和成本函数,如下所示。边界框行也被假定为列的初始猜测,因为它是一个正方形。
使用与 Stefan 在 stackoverflow 上的回答相同的方法:将圆拟合到二进制图像 对于我的参数,我无法弄清楚如何针对这个简单的成本函数优化参数
参数不变,优化在迭代 0 处停止。成本也不变。我尝试了不同的求解器,并优化了最小化。参数不会改变。
理想情况下,我希望每个区域都有一个矩形。每个区域(二进制对象)以不同颜色编码
如果优化是解决这些问题的好方法,也请发表评论。
machine-learning - 这个符号是什么意思?
我正在阅读关于 k 强凸性的内容,并遇到了一个像这样的方程
f(x_1) >= f(x_2) + <\Delta f(x_2), x_1-x_2> + (k/2)*(||x_1-x_2||^2)
有人可以解释符号 <> 的含义吗?
对于乳胶的错误,我们深表歉意。
matlab - Matlab 中的快速 CVX 求解器
我想知道 Matlab 中最快的凸优化器是什么,或者有什么方法可以加快当前求解器的速度?我正在使用 CVX,但要花很长时间才能解决我遇到的优化问题。我的优化是要解决
其中 A 和 b 的大小非常大。
有什么方法可以通过最小二乘求解器解决这个问题,然后将其转移到约束版本以使其更快?
python - 只有等式约束的 CVXOPT
我正在尝试以下内容作为 CVXOPT 中的学习练习。通过删除不等式约束并添加更多等式约束,我对此处的示例代码进行了微小的修改。
但是当我执行以下操作时:
这违反了优化的第一个约束。我无法弄清楚这里出了什么问题。(请注意,由于我使用随机数生成变量,a
您np.sum(p)
将产生不同的值,但您应该观察到与我相同的违规行为。
即使我保留原始链接中的不等式约束并添加两个额外的等式约束,也违反了等式约束。
是否有任何其他我可以可靠使用的包,即维护的包?
编辑:如果没有可行的解决方案,不应该有没有找到可行解决方案的消息吗?
julia - 如何在 Julia 中利用凸优化进行投资组合优化
我正在尝试使用 Julia(0.5)和 Convex.jl(使用 ECOS 求解器)来计算,给定 2 只股票的投资组合,我如何在两只股票之间分配我的分配(百分比),以便我最大化我的投资组合回报并最小化我的风险(回报的标准开发)。我想最大化所谓的夏普比率,它是根据我在两只股票中的每只股票的百分比计算得出的。所以我想最大化夏普比率并让求解器找出两只股票的最佳分配(我希望它告诉我我需要股票 1 的 x% 和股票 2 的 1-x%)。唯一真正的限制是分配百分比的总和增加到 100%。我有下面的代码运行,但没有给我我期望的最佳权重/分配(Supertech 为 36.3%,Slowpoke 为 63.7%)。
我的直觉是我要么为求解器错误地建模了目标函数,要么我需要对约束做更多的事情。我对凸优化没有很好的掌握,所以我正在努力。此外,我的目标函数使用 variable.value 属性来获得正确的输出,我怀疑我需要使用 Variable 表达式对象。
问题是,我正在尝试实现 Convex 求解器的设计目标,我只需要更好地对目标函数和约束进行建模,还是只需要迭代权重并蛮力它?
带注释的代码:
python - FMIN_COBYLA 上的约束函数(scipy 优化)
我在 Scipy Optimize 上,使用 fmin_cobyla 函数。我一直在努力编写以下约束函数:
- 确保所有项目总和为 1
- 确保所有项目 >= 0
有没有人有见识?例如,对于 fmin_slsqp,我有一个函数:
以及函数的边界。
但这些不适用于 cobyla。
machine-learning - 为什么我的线性回归批量梯度下降不收敛?
我想写一个类似于sklearn.linear_model.LinearRegression
. 首先,我使用以下方法训练标准线性回归模型sklearn.linear_model.LinearRegression
:
然后,我得到了很好的结果:
[0.53571429] 0.883333333333
[ 1.34821429 -0.11607143] -0.2
[-8.52333333 7.0625 -2.30833333 0.3375 -0.01833333] 4.45
之后,我实现了我的模型MyLinearRegression
。首先,我选择批量梯度下降和一个固定的迭代次数来测试我的代码是否正确。
然后,我得到了不好的结果:
[0.53571433] 0.883333191266
[ 1.34821275 -0.11607122] -0.199997815791
[ -1.95681250e+00 -2.20847875e+01 -1.48602362e+02 -9.20144807e+02 -5.56577136e+03] 11678151.1386
我可以不断取得好成绩my_model1
,他们my_model2
对MyLinearRegression
这些关闭sklearn.linear_model.LinearRegression
。但是,无论我如何调整learning_rate
和迭代次数,my_model5
都不会收敛。任何人都可以帮忙吗?
python - How to create an inequality constraint on the inner product of two columns in CVXPY?
Suppose my constraint is the product of the first column and third column of the matrix variable is greater than one. How can I implement in CVXPY? Example:
In Matlab, my constraint would be:
How can I implement it in CVXPY? Or can we perform dot product under CVXPY? numpy.dot
is not supported by CVXPY.