Algorithms for Non-negative Matrix Factorization 非负矩阵分解

非负矩阵分解(NMF)是处理多变量数据的有效方法,本文介绍了两种NMF算法,分别针对最小二乘误差和KL散度的最小化。这两种算法通过迭代更新规则确保收敛,可用于数据的压缩表示,适用于统计分析和数值优化问题。
摘要由CSDN通过智能技术生成

NIPS 2000 经典论文翻译。

摘要

非负矩阵分解(NMF)是一种可以有效处理多变量数据的方法。本文介绍、分析了两种不同的 NMF 算法,这两种算法仅在更新规则(update rule)中使用的乘性因子(multiplicative factor)有所区别。其中一种可以对传统的最小二乘误差进行最小化(minimize),而另一种可以对广义 Kullback-Leibler 散度(KL 散度)进行最小化。可以使用与证明最大化期望算法收敛性类似的辅助函数来证明这两种算法的单调收敛性。这两种算法均可理解为用斜向最陡下降法(diagonally rescaled gradient descent)对因子进行最优化,以保证算法收敛。

简介

PCA、矢量量化(Vector Quantization)等无监督学习算法可以理解为在不同约束条件下对数据矩阵进行分解。根据其约束的不同,分解所得的因子的会表现出大相径庭的性质。比如,PCA 仅使用了弱正交约束,从而得到非常分散的表示,对这些表示使用消去法来产生多样性;矢量量化使用一种严格的全局最优型约束,最终会得到互斥的数据聚类原型。

我们之前已经证明过,在矩阵分解用于学习数据的部分表示中,非负性(non-negative)是一种非常有用的约束。学习得到的非负基向量是分散的,但仍可通过稀疏的组合,在重建时得到效果良好的表达向量。在本文中,我们详细分析了这两种用于在数据中学习最优的非负因子的数值算法。

非负矩阵分解

下面我们正式开始分析如何用算法解决以下问题:

在非负矩阵分解(NMF)中,给定非负矩阵V,找到非负矩阵因子W和H,使得:

(1):  V\approx WH

NMF 可以应用下面的方法用于对多变量数据进行统计分析。给定一组多变量的 n 维数据向量,其向量位于一个 n\times x 矩阵 V 的列中(m 表示数据集中的示例数)。然后将此矩阵近似分解为 n\times r 的 W 矩阵与 r\times m的 H 矩阵。通常 r 要小于 n 或 m,以使 W 和 H 小于原始矩阵 V。最终得到的是原始数据矩阵的压缩形态。

公式(1)中约等于的意义在于它可以将公式逐列用 v\approx Wh 来表示,其中 v 和 h 是矩阵 V 和矩阵 H 的对应的列。也就是说,每个数据向量 v 近似地由矩阵 W 的各列线性组合而成,同时用 h 的分量进行加权。因此可以被认为 W 包含了对 V 中的数据的线性近似优化的基向量。由于要使用少量的基向量来表示大量的数据向量,因此只有在基向量发现数据中的潜在结构时才能实现较好的近似。

本文不会涉及关于 NMF 的应用,而会侧重于在技术方面探讨非负矩阵分解的技术。当然,已经有许多其它的矩阵分解方式在数值线性代数中得到了广泛的研究,但是以前的大多数工作都不适用于非负性约束情况。

在此,我们讨论了基于迭代更新 W 和 H 的两种 NMF 算法。由于这两种算法易于实现,同时能保证其收敛性,因此它们在现实情况中非常实用。其他算法可能在总计算时间方面更有效率,但是更难实现,并且很难推广到不同的代价函数(cost function)。因子与我们类似的算法,已经被用于对发射断层扫描和天文图像进行反卷积(deconvolution)。

在我们算法的每次迭代中,会用当前值乘某些取决于公式(1)中的“近似程度”的因数,来找到 W 或 H 的新值。我们可以证明“近似程度”会随着不断应用这些乘法更新规则而单调减小。这正意味着更新规则的重复迭代可以保证矩阵分解算法收敛到局部最优。

代价函数

为了找到V\approx WH的近似解,我们首先需要定义一个代价函数,用以量化近似的程度。可以使用两个非负矩阵 A 和 B 的距离来构造此代价函数。一种使用的距离度量方法为:计算 A 和 B 之间的欧几里得距离(Euclidean distance)的平方值。

(2): ||A-B||^2 = \sum_{ij}(A_{ij} - B_{ij})^2

此公式下界为 0,仅当 A=B 时距离消失。

另一种实用的度量方式为:

(3): D(A||B) = \sum_{ij}(A_{ij} \log{\frac{A_{ij}}{B_{ij}}} - A_{ij}+B_{ij})

与欧几里得距离相同,它的下界也为 0,且在 A=B 时距离消失。但它不能被称为“距离”,因为这个式子在 A 与 B 中并不对称,因此我们将其称为 A 对于 B 的“散度”(divergence)。它可以归纳为 KL 散度或者相对

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值