【发布时间】:2018-05-03 02:08:01
【问题描述】:
我想找到最小化 y-X*theta 的 l2 范数的 theta,并且约束是 theta 的某些元素应该等于 0。我如何在 MATLAB 中做到这一点?
我的 y 是 10x1,X 是 10x9,theta 是 9x1
我认为使用梯度下降可能会有所帮助,但不确定
【问题讨论】:
标签: matlab optimization linear-regression gradient-descent
我想找到最小化 y-X*theta 的 l2 范数的 theta,并且约束是 theta 的某些元素应该等于 0。我如何在 MATLAB 中做到这一点?
我的 y 是 10x1,X 是 10x9,theta 是 9x1
我认为使用梯度下降可能会有所帮助,但不确定
【问题讨论】:
标签: matlab optimization linear-regression gradient-descent
由于非正式的描述,这里可能有多种解释。
如果您只想解决线性最小二乘问题并将一些变量先验为零,请使用 matlab 的 lsqlin 并为这些变量使用 upper-bound=lower-bound=0。
如果您的任务是以某种方式解决相同的目标,例如:at least w values of theta are 0,这可能是 NP-hard(在一般设置中),您将需要混合整数二次规划或混合整数秒阶锥编程。在这种情况下,我不确定是否有可用的求解器。一些开源求解器可能是 Bonmin(Couenne,程度较低)或大多数商业求解器,如(Gurobi、CPLEX、Mosek)。
【讨论】: