我正在使用算法的R interface to the Lawson-Hanson NNLS实现非负线性最小二乘法,它解决了|| A x - b || ^ 2,其约束条件是向量x≥0的所有元素。这很好用但我想补充进一步的约束。我感兴趣的是:
有没有办法通过一些巧妙的方式重新解决问题来哄骗nnls来做到这一点。以上?我对此类事情抱有希望的原因是,Whitall et al(对付费用墙感到遗憾)在一篇论文中有一点点评论,声称“幸运的是,NNLS可以从上面的原始表格中采用容纳问题3中的内容。
答案 0 :(得分:3)
我认为它是标量,对吗?考虑简单情况m = 1;你可以通过让H * = sqrt(m)H和f * = sqrt(m)f并使用这里给出的求解方法来推广m的其他值。
所以现在你试图最小化|| A x - b || ^ 2 + || H x - f || ^ 2.
设A * = [A'| H']'并且让b * = [b'| f']'(即在H的顶部堆叠A,在f的顶部堆叠b)并解决原始问题 || A * x - b * || ^ 2上的非负线性最小二乘,其约束条件是向量x的所有元素都≥0。