MATLAB使用theta约束约束优化

时间:2017-11-19 21:20:33

标签: matlab optimization linear-regression gradient-descent

我想找到最小化y-X * theta的l2范数的theta,并且约束是theta的某些元素应该等于0.我如何在MATLAB中执行此操作?

我的y是10x1,X是10x9,theta是9x1

我认为使用渐变下降可能会有所帮助

1 个答案:

答案 0 :(得分:2)

由于非正式的描述,这里有多种解释。

如果您只是想解决线性最小二乘问题并且先验地将一些变量修复为零,请使用matlab lsqlin并使用upper-bound=lower-bound=0来表示这些变量。

如果你的任务是以某种方式解决相同的目标:at least w values of theta are 0,这可能是NP难的(在一般设置中),你需要混合整数二次规划或混合整数二阶锥编程。在这种情况下,我不确定是否有可用的解算器。一些开源解决方案将是Bonmin(Couenne,在较小程度上)或大多数商业解决方案,如(Gurobi,CPLEX,Mosek)。