非负矩阵分解(NMF)是一种经典的无监督学习方法,广泛用于数据降维、特征提取和主题建模等领域。标准NMF通过最小化Frobenius范数来逼近数据矩阵X ≈ U V^T,但它忽略了样本之间的几何结构信息,导致分解结果有时缺乏判别性和局部保持能力。
为了解决这一问题,基于Sinkhorn距离的非负矩阵分解(SDNMF)引入了样本间的相似性图W,并用Sinkhorn距离(一种带熵正则化的最优传输距离)作为正则项,鼓励相邻样本在低维表示空间(即V)中保持相似。这种方法特别适合处理具有内在流形结构的数据,如图像、文本、生物信息等,能得到更具语义的基矩阵U和系数矩阵V。
算法目标
给定非负数据矩阵X(m × n),相似性权重矩阵W(n × n),以及隐因子数k,SDNMF求解:
[
\min_{U \geq 0, V \geq 0} D_S(U, V) + \alpha \cdot \text{Tr}(V^T L V)
]
其中:
D_S表示Sinkhorn距离(也称熵正则化的Wasserstein距离),用于度量重构误差X与U V^T之间的差异,比Frobenius范数更鲁棒。
第二项是经典的图正则化项,L为图拉普拉斯矩阵,α控制结构保持强度。
当α=0时,算法退化为基于Sinkhorn距离的纯NMF(EMDNMF)。
核心实现特点
该函数提供了灵活的参数配置和优化方式:
输入