非负矩阵分解算法
摘要
非负矩阵分解(NMF)已被证明是一个有用的多元数据分解。分析了NMF的两种乘法算法,它们的不同之处仅在于更新规则中使用的乘法因子略有不同,一种算法可以最小化传统的最小二乘误差而另一种可以最小化广义Kullback Leibler散度。两种算法的单调收敛性可以使用类似于证明最大期望算法的收敛性的辅助工具去证明。该算法也可以被解释为对角调整梯度下降,其中缩放因子是最佳的选择,保证收敛性。
1引言
无监督学习算法,如主成分分析、矢量量化可以理解为不同约束条件下的一个数据矩阵分解,根据所使用的约束,所得到的因子具有不同的属性表示。主成分分析只执行一个弱正交约束,导致一个非常分散的表示,使用取消产生可变性[ 1, 2 ]。另一方面,矢量量化使用一个硬赢者通吃的约束,将数据聚类成互斥的原型[ 3 ]。
2 非负矩阵分解
我们正式考虑解决以下问题的算法:
非负矩阵分解算法(NMF)给定一个非负矩阵,求两个非负矩阵和,使得
(1)
NMF可以用以下方式应用于多元数据的统计分析。给定一组多元的n维数据向量,该向量位于一个大小的矩阵的列中,其中是数据集中实例的个数。之后这个矩阵分解成一个的矩阵和一个的矩阵。通常的选择小于或,使得和小于原始矩阵。这样的结果是得到一个压缩版的原始数据矩阵。
公式(1)中的近似值有什么意义?它可以按列重写为,其中和是和的相应列。换句话说,每一个数据向量被的列的线性组合近似,由的分量加权。因此可以被看作是一个优化的基础,用于对中的数据进行线性近似。由于用相对较少的基向量来表示许多数据向量,只有在基向量发现数据中隐含的结构时,才能实现良好的近似。
本文不是探讨关于NMF的应用,而把注意力集中在探寻非负矩阵分解的技术。当然,其他类型的矩阵分解已在数值线性代数进行了广泛的研究,但非负约束使得许多以前的工作不适用于本案例[ 8 ]。
本文讨论了两种基于迭代更新和的NMF算法。由于这些算法易于实现,收敛性能得到保证,所以我们发现它们在实际应用中非常有用。其他算法可能在整体计算时间内更有效,但更难实现,可能不能推广到不同的成本函数。
在我们的算法的每一次迭代中,或的新值是通过把当前值乘以依赖于等式(1)的近似质量的一个因子来发现的。我们证明了随着这些乘法更新规则的应用,近似的质量单调提高。在实践中,这意味着更新规则的重复迭代保证收敛到一个局部最优的矩阵分解。
3 成本函数
为了寻找近似的分解 , 我们首先需要定义量化近似质量的代价函数。这样的代价函数可以用两个非负矩阵和之间的距离来构造,一个有用的测度是和之间欧几里德距离的平方。
2=2 (2)
这里下限为零。当且仅当时时该式为零。
另一个有用的测度是
(3)
像欧几里德距离一样,这里下界也为零,并且当且仅当时该式为零。但是这里不能称之为“距离”,因为对于,来说该式是非对称的,所以我们称它为从到的“分离度”。当时,它降低了K-L散度或相对熵,所以和可以视作正态概率分布。
我们现在考虑NMF的两种可选配方作为最优化问题:
问题1:最小化关于和的函数2,约束条件:.
问题2:最小化关于和的函数,约束条件:.
虽然函数2 和单独关于和是凸的,但是它们并不是关于,一起时的凸函数。因此,期望一个算法在求全局极小值的情况下求解问题1和2是不现实的。然而,数值优化有许多技术可以应用于寻找局部极小值。
梯度下降也许是最简单的实现技术,但收敛速度可能较慢。其他方法如共轭梯度法收敛速度较快,至少在局部极小值附近收敛较快,但比梯度下降更为复杂。基于梯度的方法的收敛性也存在对步长选择非常敏感的缺点,这对大规模应用是非常不方便的。
4乘法更新法则
我们发现下面的“乘法更新规则”是解决问题1和2的在速度和易实现性之间的一个很好的折中方案。
定理1:欧几里得距离2,在此更新法则之下非增的
(4)
在上述更新下,当且仅当和处于距离的一个驻点时,欧氏距离是不变的。
定理2:分离度在下述更新法则下是非增的
(5)
在上述更新法则下,当且仅当和处于分离度的一个驻点时,分离度是不变的。
这些定理的证明在后面的章节中给出。现在,我们注意到每个更新都由一个因子乘法。特别是,很容易看出当时这种乘法因子是统一的,因此完美的重构必然是更新规则的一个固定点。
5 乘法与加法更新规则
将这些乘法更新与梯度下降产生的结果进行对比是很有用的。特别是,的减少平方距离的一个简单的加法更新可以写成
(6)
如果都等于一些小的正数,这相当于传统的梯度下降。只要这个数字足够小,更新就会导致减小。现在我们沿着对角线重新调整变量并设
(7)
那么我们就得到了定理1中的更新规则。注意这个乘法因子的调整结果,分母是梯度的正分量,分子是这个因子的负分量的绝对值。
对于分离度,对角调整梯度下降采用如下形式
(8)
再一次的,如果都等于一些小的正数,这样的更新就会导致减小,如果我们现在设
(9)
然后,我们得到定理2中的更新规则。这个重新调整也可以解释成分母为梯度的正分量分子为乘法因子的负分量的乘法规则。
由于我们选择不很小,因此看起来应该并不保证这种调整梯度下降会导致成本函数下降。令人惊讶的是,在下一节中,情况确实如此。
6 收敛性的证明
为了证明定理1和2,我们将使用一个类似于期望最大化算法中的辅助函数。
定义1:如果函数满足
, (10)
则称是的辅助函数。
辅助函数是一个有用的概念,下面的引理也将在图1中图解说明。
引理 1:如果是的一个辅助函数,那么按照按照如下方式更新,是非递增的。
(11)
证明:,证毕
图1:辅助函数和关系图
注意到只有是函数的局部极小值时才成立。如果的导数存在并且在的一个小的邻域内连续,这也意味着导数。因此,通过在迭代中更新等式(11),我们会得到如下目标函数的一个收敛到局部极小值的估计序列。
(12)
我们将通过定义和的适当的辅助函数来说明这一点。定理1和2中的更新规则很容易通过等式(11)推出。
引理2:如果是三角矩阵
(13)
则如下定义的是的辅助函数
(14)
(15)
证明:显然,只需证:
为此,比较
(16)
和等式(14),发现式子等于
(17)
即证明是半正定的,构造矩阵
(18)
这仅仅是重新调整了的成分。则是半正定的当且仅当是半正定的。并且
(19)
= (20)
= (21)
= (22)
(23)
现在我们可以证明定理1的收敛性:
定理1的证明:以等式(14)替代等式(11)中的,在下述更新规则中:
(24)
由于等式(14)是一个辅助函数,F在此更下规则下是非增的。根据引理1,明确的写出这个等式的分量,得
(25)
通过颠倒引理1和2中的和,在的更新法则下同样可以被证明是非增的。
接下来考虑关于分离度成本函数的辅助函数:
引理3:定义
(26)
是 (27)
的一个辅助函数
证明:显然,为了说明 ,我们利用对数函数的凹性来推导不等式 (28)
该式对于所有非负的求和,设
(29)
可得 (30)
从这个不等式来看,证毕。
引理2出自引理1中应用:
定理2的证明:关于的极小值取决于设其梯度为零的极值点,即
(31)
因此,公式(11)的更新规则采用如下形式:
(32)
由于是一个辅助函数,等式(28)中在此更新规则下是非增的。重写成矩阵形式,这个式子与等式(5)是等价的。通过颠倒和,这个关于的更新规则同样可以证明是非增的。
7讨论
我们已经证明等式(4)和(5)的应用可以保证至少能够分别找到问题1和2的局部最优解。收敛证明依赖于定义一个适当的辅助函数。我们目前正致力于将这些定理推广到更复杂的约束条件中。更新规则本身很容易在计算上实现,并且希望能够被广泛使用。