rank=1 约束下的优化

计算科学 约束优化
2021-12-23 17:44:33

我有以下矩阵

A=[x1,x2,...,xn],

其中但我知道这种关系xiRn

x2=s2x1x3=s3x3...

其中是标量。所以矩阵的秩应该是 1。siA

在这种情况下,似乎我可以分解并截断除最大奇异值之外的其他奇异值并返回。所以它类似于 PCA。我不确定这是正确的方法。你能给点意见吗?A=SVD

编辑:

我有一个像这样的目标函数:

minxf(x1,x2,...,xn)s.t. rank([x1,x2,...,xn])=1

其中f是可微的,我可以很容易地使用梯度下降。我认为一种简单的方法是将梯度下降应用于f并将解决方案投影到 rank=1 矩阵上。(可以称为投影梯度下降或近端梯度下降)。

1个回答

您可以将您的 rank-1 矩阵参数化为A

A=xsT

其中是未知的 ×列向量。然后你有一个不受约束的问题xsn1

minf(x,s)

根据函数表示为而不是可能容易也可能不容易,并且可能是也可能不是(实际上可能不是)a凸函数fff(x,s)f(A)f(x,s)xs

或者,您可以尝试直接使用然而,约束f(A)

rank(A)=1

是一个非凸约束。如果您通过某种投影将梯度下降应用于,那么您将无法获得比局部最小值更好的东西。 f(A)rank(A)=1