BCS*_*BCS 3 math linear-algebra
我有矩阵系统:
A x B = C.
A是a由n,B是n由b.这两个A和B是未知的,但我对部分信息C(我有它的一些值,但不是所有的)和n被挑选到足够小,该系统预计将超过限制.不要求所有行A或列B都过度约束.
我正在寻找像最小二乘 线性回归的东西,以找到最适合这个系统(注意:我知道不会有一个独特的解决方案,但我想要的只是最好的解决方案之一)
举一个具体的例子; 所有的a和b都是未知的,所有的c都是已知的,并且?被忽略了.我想找到 一个最小二乘解决方案,只考虑知识c.
[ a11, a12 ] [ c11, c12, c13, c14, ? ]
[ a21, a22 ] [ b11, b12, b13, b14, b15] [ c21, c22, c23, c24, c25 ]
[ a31, a32 ] x [ b21, b22, b23, b24, b25] = C ~= [ c31, c32, c33, ?, c35 ]
[ a41, a42 ] [ ?, ?, c43, c44, c45 ]
[ a51, a52 ] [ c51, c52, c53, c54, c55 ]
Run Code Online (Sandbox Code Playgroud)
请注意,如果B仅被修剪为b11和b21而未知行4被剔除,则这几乎是标准的最小二乘线性回归问题.
如所描述的那样,该问题被证实.
设A,B和C = 5为标量.你要求解决一个*b = 5,它有无穷无尽的解决方案.
根据上面提供的信息,一种方法是最小化定义为的函数g
g(A,B)= || AB-C || ^ 2 = trace((AB-C)*(AB-C))^ 2
使用牛顿法或准割线法(BFGS).
(您可以在此处轻松计算渐变).M*是M的转置,乘法是隐含的.(标准是frobenius规范......我删除了下划线F,因为它没有正确显示)
由于这是一个固有的非线性问题,标准线性代数方法不适用.
如果您提供更多信息,我可能会提供更多帮助.
还有一些问题:我认为问题在于没有更多信息,就没有"最佳解决方案".我们需要确定一个更具体的想法,我们正在寻找什么.一个想法,可能是一个"最稀疏"的解决方案.这个地区是一个热门的研究领域,世界上一些最优秀的人才在这里工作(参见Terry Tao等人在核规范上的工作)这个问题虽然易于处理仍然很难.
不幸的是,我还没有评论,所以我会在这里添加我的评论.如下所述,LM是解决这个问题的一种很好的方法,只是一种方法.沿着牛顿类型的方法来解决优化问题或非线性求解问题.
这是一个想法,使用您在上面给出的示例:让我们定义两个新的向量,V和U,每个向量有21个元素(C中定义的元素数量完全相同).
V正是C的已知元素,列有序,所以(用matlab表示法)
V = [C11; C21; C31; C51; C12; ....; C55]
U是一个向量,它是产品AB的列排序,排除了与'?'相对应的元素 在矩阵C中.将所有变量收集到x中我们有
x = [a11,a21,.. a52,b11,b21 ...,b25].
f(x)= U(如上所定义).
我们现在可以尝试用您最喜欢的非线性最小二乘法求解f(x)= V.
顺便说一下,虽然下面的海报推荐模拟退火,但我建议不要这样做.它有一些问题,但它是一种启发式方法.当你有强大的分析方法,如高斯牛顿或LM,我说使用它们.(根据我自己的经验)