【发布时间】:2013-09-30 14:33:15
【问题描述】:
假设 A 是一个 n x n 矩阵,并且我观察到 A 的一些条目,例如,对于 {1,...,n} x {1,...,n} 中的某个子集 S 的 A_S。我想知道A是否有可能排名1。
所以这可以重新表述为以下问题:是否存在向量 x 和 y 使得 xy^T 限制在 S 上等于观察值 A_S?
通过连接 x 和 y,例如,让 z = [x;y],我们可以将此约束写为 z 中的二次形式。 Matlab中如何测试约束是否可行?
【问题讨论】:
-
我只是以为我想出了一个简单的解决方案并删除了之前的评论,但后来我意识到已经晚了,我是个白痴。无论如何:问题是双凸的,所以局部最小值将是一个问题。使用(例如)观察点的总平方误差作为您的目标,实际找到这样的 x 和 y 可能(或可能不会)更容易。这是一个标准的矩阵分解问题,它是一个很好的平滑目标,尽管局部最小值是一个问题。因此,如果您找到一个有效的 x/y,您就知道它可能是 1 级;如果你不这样做,它可能仍然是排名 1。