Nonnegative Matrix Factorization: Complexity, Algorithms and Applications 论文笔记

本文探讨了非负矩阵分解(NMF)的复杂度问题,包括当矩阵秩固定时及因子值固定时的NMF复杂度。介绍了exactNMF问题及其解决理论,包括秩为1和2的NMF特性。讨论了松弛法、受限非负秩(rank+*(M))及Nested Polytopes Problem的定义与复杂性。

Nicolas Gillis PhD Thesis

 

Chapter 3  Nonnegative Rank

 

  • 存在两个open的问题,对于非负矩阵分解M=UV:

当矩阵M的秩固定时,NMF的复杂度如何?  

当两个矩阵印子UV的值固定时,NMF的复杂度如何?

 

  • exact NMF 问题:

    • 给定一个非负m*n矩阵M,其秩为r,如果可能,找到两个非负矩阵因子UV,其维度分别为m*r,r*n,并且有M=UV
    • exact NMF 问题有以下几个结论:
      •  当rank(M)=1时,任何秩为1的非负矩阵M都可以被分解为两个非负矩阵U,V的乘积
      • rank(M)=2时,任何秩为2的非负矩阵M都可以被分解为两个秩为2的非负矩阵U,V

解释:讲矩阵M的每一列看做一个元素,秩为2则其每一列都可以在一个2维子空间上被表示,也即每列都可以用两个非负向量进行表示。并且,这两个extreme vector能够在多项式时间内计算出来。

 

  • 针对rank-1 NMF,目前有以下理论:

    • rank-1 NMF能够在多项式时间内解决;
    • 非负矩阵M的左右主奇异向量都是非负的(SVD:M=UΣVT,U中向量称为左奇异向量,V中向量称之为右奇异向量)https://www.cnblogs.com/fionacai/p/5767973.html
    • 主奇异向量的外积是M最好的rank-1 近似
    • 这些向量能够在多项式时间内被计算

 

  • 对于rank-2 NMF:

    • 当矩阵M的最优rank-2近似为唯一且非负时,rank-2 NMF问题能够在多项式时间内解决
    • 实际上,rank-2 NMF经常不满足非负性,因为M中有很多相当小的元素
    • 因此rank-2 NMF的复杂性未知;并且对于任何秩大于2的固定因子分解,复杂度都是未知的

 

  • 松弛法

对于高斯-赛德尔迭代法,首先求得第k+1次迭代值,然后计算第k+1次、第k次迭代值之差,之后再第k次迭代值的基础上,直接加上这个差的一个倍数ω,作为实际第k+1次的迭代值,其中,ω成为松弛因子。

当ω>1时,成为超松弛法,次数加大了第k+1词迭代的比重;当ω<1时,称为亚松弛法或低松弛法;当ω=1时,就是普通的高斯-赛德尔迭代法。

矩阵形式go forhttps://baike.baidu.com/item/%E6%9D%BE%E5%BC%9B%E6%B3%95

 

  • Restricted Nonnegative Rank:rank+*(M)

对于非负矩阵M,存在一个最小的正数k,使得存在UV(维度与前文相同省略),使得M=UV,并且rank(U)= rank(M),也即col(U)= col(M)。

一般计算受限非负秩,以及相关的非负矩阵分解因子UV,使得M=UV,并且rank(U)= rank(M)= r。

做上面计算的原因在于:1)为寻找非负秩提供了新的上界:rank_+(M) \leq rank_+^*(M)  2)受限非负秩能够更容易的计算

求解受限非负秩与rank-2 NMF不同,当r= 4时,计算受限非负秩可以在多项式时间内解决;对于r \geq 4,是NP-难的。

 

 

  • Nested Polytopes Problem

对于一个多面体空间P,其中存在一些点构成的集合S,这些点不在任何超平面上。试图找到包含点数量最小的集合,使得这些点的凸包(convex hull)T包含S,也即S\subseteq T\subseteq P

  • Intermediate Simplex

给定一个有界的多面体P=\{x\in \mathbb R^{r-1}|0 \leq f(x)=Cx+d \},有(C,d)\in \mathbb{R}^{m\times r},P中存在一个包含n个点的集合S,S中所有的点不属于任何一个超平面,,是否存在r个点,使得这r个点的凸包T包含S,也即,是否存在一个包含r个点的多面体T使得有S\subseteq T\subseteq P

Intermediate simplex问题是NPP问题的一个特殊情况,即是否k等于r(r是最小的点数量)。也即,是否存在一个单纯形T(定义在r-1维空间上的r个点),包含在P中,且包含S

Th3.1 从 Exact NMF 到 IS问题存在一个多项式时间的reduction(化简),反之亦然。(IS is NP-hard using a reduction from 3-SAT)

Th3.2 从 RNR 到 NPP 也存在一个多项式时间的reduction(化简),反之亦然。

 

Question:

1.P28 为何M的列是按归一化的,则A至少有一列和不为0?

2.P28 为何因为A的每一列都是归一化的,则有M是列stochastic的,并且B也是按列归一化的? 

鲁棒双向深度矩阵分解(Robust Bidirectional Deep Non - negative Matrix Factorization)用于链接预测是图分析领域的一个重要研究方向。 在图数据中,链接预测旨在预测图中节点之间是否存在潜在的链接。传统的矩阵分解(NMF)方法在处理图数据时存在一定局限性,而鲁棒双向深度矩阵分解则对其进行了改进。 从“鲁棒”角度来看,它能够更好地处理数据中的噪声和异常值。在实际的图数据中,可能存在一些错误的边或者不完整的信息,鲁棒性可以保证模型在这样的情况下依然能够较为准确地进行链接预测。 “双向”意味着该方法不仅考虑从一个节点到另一个节点的单向关系,还同时考虑反向的关系。在很多图结构中,节点之间的关系是相互的,双向的处理可以更全面地捕捉节点之间的交互信息。 “深度”则体现了模型的多层结构,通过多层的线性变换,能够挖掘出图数据中更复杂的潜在模式和特征。这种深度结构可以学习到图的层次化表示,从而提高链接预测的准确性。 以一个社交网络为例,网络中的用户是节点,用户之间的好友关系是链接。使用鲁棒双向深度矩阵分解进行链接预测时,模型可以学习到用户之间的潜在社交特征,比如共同的兴趣爱好、社交圈子等。即使数据中存在一些虚假的好友关系或者未记录完整的关系,模型也能通过其鲁棒性进行修正,并利用双向和深度结构更准确地预测用户之间是否会成为新的好友。 在实现上,通常会将图的邻接矩阵作为输入,通过迭代优化的方式,将矩阵分解为多个矩阵的乘积。在优化过程中,会定义一个合适的目标函数,例如最小化重构误差,同时考虑鲁棒性的约束项。 ```python import numpy as np # 简单示例:模拟鲁棒双向深度矩阵分解的部分过程 def robust_bidirectional_nmf(A, k, max_iter=100, tol=1e-4): # 初始化矩阵 m, n = A.shape W = np.random.rand(m, k) H = np.random.rand(k, n) for iter in range(max_iter): # 更新 W numerator = np.dot(A, H.T) denominator = np.dot(np.dot(W, H), H.T) W = W * numerator / denominator # 更新 H numerator = np.dot(W.T, A) denominator = np.dot(np.dot(W.T, W), H) H = H * numerator / denominator # 计算重构误差 error = np.linalg.norm(A - np.dot(W, H)) if error < tol: break return W, H # 示例邻接矩阵 A = np.array([[1, 1, 0], [1, 1, 1], [0, 1, 1]]) k = 2 W, H = robust_bidirectional_nmf(A, k) print("W:", W) print("H:", H) ```
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值