如何在Matlab中将矩阵(mxn)分解为两个因子(mxr,rxn)



我想从mxn矩阵a开始,将其分解为两个矩阵mxr和rxn。r可以大于矩阵A的尺寸。

nnmf只允许r< min(size(A))

有没有办法把矩阵分解成两个矩阵?

matlab中有一些因子分解函数,请参见此处:http://www.matrixlab-examples.com/matrix-decomposition.html

例如LU/qr-因子分解、cholesky等。

您可以访问朴教授的学术主页并从那里下载此软件包。

实际上,她在Matlab中使用交替非负约束最小二乘法和块主旋转/主动集方法实现了非负矩阵分解

此外,您还可以在Matlab中找到混合成员矩阵分解(M3F)的实现。