在 R 的 nnls 中实现附加约束
同时最小化 x 的“能量”:
||A x - b||^2 + m*||x||^2
最小化“x 导数中的能量”
||A x - b||^2 + m ||H x||^2
,其中 H 是恒等矩阵与第一个非对角线上为 -1 的矩阵之和最一般地,最小化
||A x - b||^2 + m ||H x - f||^2
。
有没有办法通过一些巧妙的方式重述问题 1.-3 来诱导 nnls 做到这一点?多于?我之所以对这样的事情抱有希望,是因为 Whitall 等人(对付费墙表示抱歉)声称“幸运的是,NNLS 可以采用上面的原始形式来解决有问题的问题3”。
I am using the R interface to the Lawson-Hanson NNLS implementation of an algorithm for non-negative linear least squares that solves ||A x - b||^2
with the constraint that all elements of vector x ≥ 0. This works fine but I would like to add further constrains. Of interest to me are:
Also minimize "energy" of x:
||A x - b||^2 + m*||x||^2
Minimize "energy in the x derivative"
||A x - b||^2 + m ||H x||^2
, where H is the sum of identity and a matrix with -1 on the first off-diagonalMost generally, minimize
||A x - b||^2 + m ||H x - f||^2
.
Is there are a way to coax nnls to do this by some clever way of restating the problems 1.-3. Above? The reason I have hope for such a thing is that there is a little-throw away comment in a paper by Whitall et al (sorry for the paywall) that claims that "fortunately, NNLS can be adopted from the original form above to accommodate something in problem 3".
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我认为 m 是一个标量,对吗?考虑简单的情况 m=1;您可以通过令 H* = sqrt(m) H 和 f* = sqrt(m) f 并使用此处给出的求解方法来推广 m 的其他值。
所以现在你试图最小化 ||A x - b||^2 + ||H x - f||^2。
设 A* = [A' | H']' 并令 b* = [b' | H']' f']'(即将A堆叠在H之上,b堆叠在f之上)并解决原来的问题
||A* x - b*||^2 上的非负线性最小二乘,约束条件是向量 x ≥ 0 。
I take it m is a scalar, right? Consider the simple case m=1; you can generalize for other values of m by letting H* = sqrt(m) H and f* = sqrt(m) f and using the solution method given here.
So now you're trying to minimise ||A x - b||^2 + ||H x - f||^2.
Let A* = [A' | H']' and let b* = [b' | f']' (i.e. stack up A on top of H and b on top of f) and solve the original problem of
non-negative linear least squares on ||A* x - b*||^2 with the constraint that all elements of vector x ≥ 0 .