具有 theta 约束的 MATLAB 约束优化
MATLAB constrained optimization with theta constraints
我想找到最小化 y-X*theta 的 l2 范数的 theta,约束条件是 theta 的某些元素应等于 0。我如何在 MATLAB 中执行此操作?
我的y是10x1,X是10x9,theta是9x1
我认为使用梯度下降可能会有帮助,但不确定
由于是非正式的描述,这里可能有多种解释。
如果您只想解决线性最小二乘问题并先验地将一些变量固定为零,请使用 matlab 的 lsqlin 并对这些变量使用 upper-bound=lower-bound=0
。
如果您的任务是以某种方式解决相同的 objective 问题,例如:at least w values of theta are 0
,这可能是 NP-hard(在一般设置中)并且您需要混合整数二次-编程或混合整数二阶锥编程。在这种情况下,我不确定是否有可用的求解器。一些开源求解器是 Bonmin(Couenne,程度较低)或大多数商业求解器,如(Gurobi、CPLEX、Mosek)。
我想找到最小化 y-X*theta 的 l2 范数的 theta,约束条件是 theta 的某些元素应等于 0。我如何在 MATLAB 中执行此操作?
我的y是10x1,X是10x9,theta是9x1
我认为使用梯度下降可能会有帮助,但不确定
由于是非正式的描述,这里可能有多种解释。
如果您只想解决线性最小二乘问题并先验地将一些变量固定为零,请使用 matlab 的 lsqlin 并对这些变量使用 upper-bound=lower-bound=0
。
如果您的任务是以某种方式解决相同的 objective 问题,例如:at least w values of theta are 0
,这可能是 NP-hard(在一般设置中)并且您需要混合整数二次-编程或混合整数二阶锥编程。在这种情况下,我不确定是否有可用的求解器。一些开源求解器是 Bonmin(Couenne,程度较低)或大多数商业求解器,如(Gurobi、CPLEX、Mosek)。