gpt4 book ai didi

r - 在 R 的 nnls 中实现额外的约束

转载 作者:行者123 更新时间:2023-12-01 11:58:09 25 4
gpt4 key购买 nike

我正在使用 R interface to the Lawson-Hanson NNLS非负线性最小二乘算法的实现,该算法求解 ||A x - b||^2,约束是向量 x ≥ 0 的所有元素。这工作正常,但我想添加进一步的约束。我感兴趣的是:

  1. 同时最小化 x 的“能量”:||A x - b||^2 + m*||x||^2

  2. 最小化“x 导数中的能量”||A x - b||^2 + m ||H x||^2,其中 H 是单位矩阵与第一个非对角线为 -1 的矩阵之和

  3. 最普遍的是,最小化||A x - b||^2 + m ||H x - f||^2

有没有办法通过一些巧妙的方式来重申问题 1.-3 来哄骗 nnls 做到这一点。多于?我对这样的事情抱有希望的原因是 Whitall et al 的一篇论文中有一个随意的评论。 (对付费专区感到抱歉)声称“幸运的是,可以从上面的原始形式采用 NNLS 来解决问题 3 中的问题”。

最佳答案

我认为 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' | f']'(即将 A 叠加在 H 之上,b 叠加在 f 之上)并解决原始问题||A* x - b*||^2 上的非负线性最小二乘法,约束条件是向量 x ≥ 0 的所有元素。

关于r - 在 R 的 nnls 中实现额外的约束,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8107660/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com