非负矩阵分解(NMF或NNMF),也称为非负矩阵逼近,是多变量分析和线性代数中的一组算法。其目标是将给定矩阵V分解为两个矩阵(通常记为W和H),使得这三个矩阵都只包含非负元素。这一约束使得分解结果更易于检查和解释,并且与数据本身固有非负的应用场景相契合,例如音频频谱图或肌肉活动测量。由于通常无法实现精确分解,NMF方法会通过数值方式计算近似解。
NMF已在多个领域得到应用,包括天文学、计算机视觉、文档聚类、缺失数据填补、化学计量学、音频信号处理、推荐系统和生物信息学。其吸引力在于能够生成基于部件的表示,其中原始数据被表示为少量学习到的分量的加性组合。
历史
非负分解的概念源于化学计量学,在该领域长期被称为“自建模曲线分辨”。在该框架中,右因子矩阵中的向量被视为连续曲线而非离散向量。20世纪90年代,一个芬兰研究团队以“正矩阵分解”的名称开发了相关方法。在Daniel D. Lee和H. Sebastian Seung研究其性质并于1999年和2001年发布了针对两种分解类型的简单有效算法后,该方法以非负矩阵分解的名称获得了更广泛的认可。他们的工作强调了所得因子的可解释性,并引发了对此方法的广泛兴趣。
背景
给定大小为m × n的矩阵V,NMF寻求将其近似为两个矩阵的乘积:V ≈ W H,其中W为m × p,H为p × n。秩p通常选择为远小于m和n,因此分解将原始数据压缩为低维表示。矩阵乘法可以按列理解:V的每个列向量是W的列向量的线性组合,系数由H的对应列给出。
例如,在文本挖掘应用中,V可能具有10,000行(表示单词)和500列(表示文档)。如果算法被要求找到10个特征,则W将为10,000 × 10,H将为10 × 500。乘积W H的每一列则是W中10个特征向量的线性组合,权重由H的对应列中的条目给出。W中的每个特征向量可以被解释为文档原型,其中单元格值表示该特征中每个单词的重要性。类似地,H的每一列给出特定文档的这些特征的权重,从而允许将原始文档重建为原型的加权和。
聚类性质
NMF具有固有的聚类性质。当通过W H逼近V时,算法会自动对输入数据的列进行聚类。逼近通过最小化误差函数来实现,该函数通常是V与W H之差的Frobenius范数,并受W和H的非负性约束。如果对H施加额外的正交约束(即H Hᵀ = I),则最小化在数学上等同于K-means聚类。在这种情况下,H的条目直接指示聚类成员关系:对于给定的列j,最大条目H_kj标识数据点v_j所属的聚类。这一性质使NMF成为无监督学习和探索性数据分析的有用工具。
算法与计算
已经开发了多种算法来计算NMF。最广泛使用的是Lee和Seung引入的乘法更新规则,该规则迭代更新W和H同时保持非负性。其他方法包括交替最小二乘法、投影梯度法以及结合稀疏性或平滑性约束的变体。算法的选择通常取决于数据大小、所需精度和具体应用。由于问题是非凸的,解可能依赖于初始化,有时会使用不同起始点的多次运行来获得稳定结果。
应用
NMF被应用于广泛的领域。在音频信号处理中,它被用于将频谱图分解为频谱分量,从而实现源分离或音乐转录。在文档聚类和主题建模中,NMF将潜在主题识别为单词集合,每个文档表示为主题的混合。在生物信息学中,它通过识别共表达基因的模式来帮助分析基因表达数据。在推荐系统中,NMF可以对用户-项目评分矩阵进行分解,以揭示预测用户偏好的潜在因子。此外,NMF已被用于计算机视觉中的面部特征提取,以及化学计量学中解析重叠光谱信号。