非负矩阵分解

17 Mar 2025 | 6 分钟阅读

一种只有非负矩阵的矩阵分解称为非负矩阵分解。为了理解 NMF,我们首先掌握矩阵分解的基本概念。

NMF 可以分解一个维度为 m x n 的矩阵 A,其中每个元素都 ≥ 0。生成的两个矩阵 W 和 H 的维度分别为 m x k 和 k x n,并且它们只包含非负分量。在此,矩阵 A 定义为

其中,

直观理解

Nonnegative Matrix Factorization

NMF 的两个主要目标是降维和特征提取。因此,NMF 的目标是找出两个矩阵 W ∈ Rm×k 和 H ∈ Rn×k,当我们将较低维度设置为 k 时,它们只包含非负分量。(如图 1 所示)

因此,通过使用 NMF,我们可以创建维度比乘积矩阵小得多的因子化矩阵。自然,NMF 认为初始输入由一组隐藏特征组成,这些特征分别由 W 和 H 矩阵中的列表示,作为 W 矩阵中“数据点的坐标”。简单来说,它包含与矩阵 W 相关的权重。

这意味着,由 A 中的列表示的每个数据点都可以通过 A 中非负向量的加性组合来近似,这些非负向量表示为 W 中的列。

它是如何工作的?

  • NMF 生成用户定义的数量的特征,以分解多元数据。原始属性集被线性组合以创建每个特征,并且每个线性组合的系数都是非负的。
  • 经过 NMF 分解为两个低秩矩阵 W 和 H 的乘积后,数据矩阵 V 大致等于 W 乘以 H。
  • 为了调整 W 和 H 的初始值,使乘积更接近 V,NMF 使用迭代过程。当逼近误差收敛或达到预设的迭代次数时,过程结束。
  • NMF 模型通过将原始数据映射到模型找到的新属性(特征)来应用。

现实生活中的例子

让我们来看几个现实生活中的例子,以更好地理解 NMF 方法的工作原理。以图像处理为例。

假设我们有一个输入图像,其像素构成矩阵 A。我们使用 NMF 将其分解为两个矩阵:一个存储面部特征集 [矩阵 W],另一个存储权重 [矩阵 H],表示相对重要性。

Nonnegative Matrix Factorization

NMF 的主要用途包括光谱数据分析、文本挖掘、图像处理等等。目前正在进行 NMF 的研究,以提高其鲁棒性和效率。还在进行有关高效矩阵更新、集体分解和其他相关主题的研究。如果您有任何疑问或疑虑,请在下方留言。

一种称为非负矩阵分解 (NNMF) 的正式数学技术用于降维 [47, 48]。其中 n 是训练集中的数据实例数,n x N 输入矩阵 X 的 N 维行被视为 NNMF 中的原始(高维)特征向量。其中 X = A ⋅ B,其中 A 是 n x K,B 是 K x N,以实现降维。K 是所得矩阵 A 中每个 n 个特征向量中的新特征数量。现在,每个数据实例都在较低维度的特征空间中指定,因为 (K < N)。原始 N 维特征向量的潜在表示是用于描述新的 K 维特征向量的术语。

使用迭代技术来计算矩阵 A,以确保其行或特征向量没有负值。

与 PCA 不同,矩阵 A 的列不必是正交的,并且 NNMF 的解不是唯一的。由于 NNMF 问题属于 NP-hard(非确定性多项式时间)类,因此非确定性图灵机可以在多项式时间内解决。然而,在许多应用中,启发式估计已被证明是有效的。其确定分解秩或维度 K 的困难限制了其实际应用。

一种称为非负矩阵分解 (NMF) 的矩阵分解方法,将给定矩阵分解为两个具有非负项的低维矩阵。它已在图像分析、主题建模、信号处理等多个领域得到应用。当处理具有固有非负值的数据时,如文本、图像和频谱图,非负性条件使得该方法特别有用。

NMF 的基本概念是逼近一个给定的矩阵。

V 是两个非负矩阵 ⁰W 和 ⁰H 的乘积

V≈W⋅H

其中

V 是维度为 m*n 的原始矩阵

W 是一个维度为 m×r 的非负矩阵,

H 是一个维度为 r×n 的非负矩阵,并且

r 是选择的秩或分量数。

目标是确定 W 和 H,使乘积 W⋅H 尽可能逼近 V。

NMF 问题可以被表述为优化问题,在对 W 和 H 施加非负性限制的条件下,通常旨在最小化 V 和 W⋅H 之间的 Frobenius 范数或 Kullback-Leibler 散度。

梯度下降或交替最小二乘法是两种可用于获得迭代优化过程中 W 和 H 更新规则的技术。

NMF 已在多个领域中使用,例如

  • 图像处理: NMF 用于图像分割、特征提取和分析。
  • 文本挖掘: 自然语言处理中的主题建模和文档分组是通过使用 NMF 来实现的。
  • 音频信号处理: 在音频信号处理中,NMF 用于提取相关加性成分和分离资产。
  • 协同过滤: NMF 可用于推荐系统中的协同过滤。

请记住,近似的维度由选择合适的秩 (r) 决定。过高的秩可能导致过拟合,而过低的秩可能丢失关键信息。找到适合特定任务的理想秩可能需要交叉验证或其他模型选择策略的帮助。

应用

  1. 主题建模: 神经网络框架 (NMF) 在自然语言处理 (NLP) 中用于从预定义的文档集中提取潜在主题。
  2. 图像压缩与重建: 通过将图像描述为由矩阵组成,NMF 用于压缩图像同时保持其基本特征。
  3. 音频信号源分离: NMF 在音频信号处理中用于从混合信号中提取不同成分以执行源分离。
  4. 文档聚类: 文件分析和聚类使用 NMF 来查找语料库中的模式和链接。
  5. 生物数据分析: 在生物信息学中,NMF 用于分析基因表达数据,以识别生物数据集中的趋势和关系。

挑战

  1. 可解释性: 因素 (W 和 H) 的解释可能很困难,尤其是在秩较高的情况下。
  2. 计算复杂度: NMF 可能需要大量工作,尤其是在处理大型矩阵时。
  3. 变体: NMF 有其他变体,包括核化 NMF,它允许非线性分解,以及稀疏 NMF,它强制执行稀疏性要求。

软件库

像 scikit-learn 和 NumPy 这样的库实现了 NMF,可用于 Python 等流行编程语言。

结论

总之,非负矩阵分解 (NMF) 是一种强大且适应性强的方法,在各种领域都有应用。它特别适用于具有固有非负性的数据,如文本、图像和生物数据。它可以将非负矩阵分解为两个具有非负项的低维矩阵。其关键功能包括将 NMF 数学表述为优化问题、求解的迭代规则集以及选择合适秩的重要性。

自然语言处理、音频信号处理、图像处理、生物信息学和其他领域都受益于 NMF 的强大实用性。它在源分离、文档聚类、主题建模和图像压缩等任务中的应用凸显了其在信息评估和模式识别中的重要性。

然而,重要的是要考虑到计算复杂性、因素的可解释性以及对初始条件敏感性等挑战。为了克服这些障碍,通常需要选择最适合当前情况的 NMF 变体,并仔细调整参数和初始化程序。

矩阵分解技术仍然是从复杂、高维数据中提取有意义信息的有用工具,其研究和发展将继续产生更复杂的变体和应用。由于其简单性、可解释性和有效性,它在需要揭示潜在模式和结构来理解和解释底层数据意义的各个领域中备受青睐。


下一个主题稀疏逆协方差