Convex and Semi-Nonnegative Matrix Factorizations

news2024/12/23 10:00:39

我们提出了非负矩阵分解(NMF)主题的几种新变体。考虑形式为X = FG^T的因子分解,我们关注的是G被限制为包含非负元素的算法,但允许数据矩阵X具有混合符号,从而扩展了NMF方法的适用范围。我们还考虑了基向量F被约束为数据点的凸组合的算法。这用于NMF的核扩展。我们提供了计算这些新因子分解的算法,并提供支持的理论分析。我们还分析了我们的算法与聚类算法之间的关系,并考虑了解的稀疏性的影响。最后,我们提供了探索这些新方法特性的实验结果。

1 INTRODUCTION

矩阵分解是数值线性代数中的一个统一主题。多年来已经开发了各种各样的矩阵分解算法,为解决线性系统、谱分解和子空间识别等矩阵操作提供了数值平台。其中一些算法在统计数据分析中也被证明是有用的,特别是奇异值分解(SVD),它是主成分分析(PCA)的基础。

近年来,机器学习领域的研究集中在直接针对统计数据分析的一些特殊特征的矩阵分解上。特别是非负矩阵分解(NMF)[1],[2]专注于分析元素为非负的数据矩阵,这在从文本和图像中派生的数据集中是常见的。此外,NMF产生的因子是非负的,从可解释性的角度来看是有优势的。

近年来,关于NMF的研究范围迅速扩大。已经证明NMF在各种应用环境中都有用,包括环境测量学[3]、化学计量学[4]、模式识别[5]、多媒体数据分析[6]、文本挖掘[7]、[8]、DNA基因表达分析[9]、[10]和蛋白质相互作用[11]。NMF的算法扩展已经被开发用于适应各种目标函数[12],[13]和各种数据分析问题,包括分类[14]和协同过滤[15]。许多研究集中在进一步开发NMF的计算方法[16],[17],[18],[19]。最后,研究人员开始探索矩阵分解和K均值聚类[20]之间的关系,利用NMF的最小二乘目标函数;正如我们在本文中强调的,这种关系对矩阵因子的可解释性具有影响。已经证明,使用Kullback-Leibler(KL)散度目标的NMF等价于概率隐语义分析[21],并进一步发展为完全概率隐狄利克雷分配模型[23],[24]。

本文的目标是扩展非负矩阵分解的范畴。我们的重点是约束矩阵因子的算法,而不要求数据矩阵有类似的约束。特别地,我们开发了类似NMF的算法,产生非负因子,但不要求数据矩阵是非负的。这扩展了NMF思想的应用范围。此外,通过关注矩阵因子的约束,我们能够加强NMF和K均值聚类之间的联系。特别要注意的是,K均值聚类的结果可以写成一个矩阵分解X = FG^T,其中X是数据矩阵,F包含聚类中心,G包含聚类成员指示器。虽然F通常具有正负符号的条目,但G是非负的。这激发我们提出了一般的因子分解,其中G被限制为非负,而F不受限制。我们还考虑了约束F的算法;特别是,将F的列限制为X中数据点的凸组合,我们得到了一种可以根据加权聚类中心进行解释的矩阵分解。

本文的组织如下:在第2节中,我们介绍了新的矩阵分解方法;在第3节中,我们介绍了计算这些分解的算法;第4节提供了理论分析,揭示了凸NMF稀疏矩阵因子的特点;在第5节中,我们考虑了Convex-NMF的扩展以及NMF类因子分解之间的关系。在5.1节中,我们展示了凸NMF的一个优势,即它容易进行核化。在第6节中,我们展示了比较实验的结果,表明将F因子约束为输入数据的凸组合可以增强它们的可解释性。我们还进行了将NMF变体与K均值聚类的性能比较实验,评估了旨在增强可解释性的约束对聚类性能的影响程度。最后,在第7节中,我们总结了结论。

2 SEMI-NMF AND CONVEX-NMF

让输入数据矩阵 X = [x1; … ; xn] 包含了 n 个数据向量作为列。我们考虑以下形式的矩阵分解:

X ≈ FG^T,

其中 X ∈ R ( p × n ) X ∈ ℝ^{(p×n)} XR(p×n) F ∈ R ( p × k ) F ∈ ℝ^{(p×k)} FR(p×k) G ∈ R ( n × k ) G ∈ ℝ^{(n×k)} GR(n×k)。例如,奇异值分解(SVD)可以用这种形式表示。在奇异值分解中,对 F 和 G 的符号没有限制;此外,数据矩阵 X 也没有约束。非负矩阵分解(NMF)也可以写成这种形式,其中假设数据矩阵 X 和因子 F、G 都是非负的。现在我们考虑一些额外的例子。

2.1 半非负矩阵分解(Semi-NMF)

当数据矩阵没有约束(即可能有混合符号)时,我们考虑一种称为半非负矩阵分解(Semi-NMF)的因子分解,其中我们限制 G 为非负,但对 F 的符号没有限制。

我们可以从聚类的角度来解释半非负矩阵分解。假设我们对 X 进行 K-means 聚类,并得到聚类中心 F = ( f 1 ; . . . ; f k ) F = (f_1; ... ; f_k) F=(f1;...;fk)。设 G 表示聚类指示器,即如果 x i x_i xi 属于聚类 c k c_k ck,则 g i k = 1 g_{ik} = 1 gik=1,否则 g i k = 0 g_{ik} = 0 gik=0。我们可以将 K-means 聚类的目标函数写成如下形式:
在这里插入图片描述

在本文中, ∥ v ∥ \left \| v \right \| v 表示向量 v v v 的 L2 范数, ∥ A ∥ \left \| A \right \| A 表示矩阵 A A A 的 Frobenius 范数。我们可以看到,K-means 聚类的目标函数可以作为矩阵逼近的目标函数来解释。此外,如果我们放宽优化条件,允许 g i j g_{ij} gij 取值在 ( 0 , 1 ) (0, 1) (0,1) ( 0 , inf ⁡ ) (0, \inf) (0,inf) 范围内,这种逼近通常会更紧密。这就得到了半非负矩阵分解(Semi-NMF)的矩阵因子分解方法。

2.2 Convex-NMF

在NMF和Semi-NMF中,基向量 F = ( f 1 ; . . . ; f k ) F = (f_1; ... ; f_k) F=(f1;...;fk) 没有约束。然而,出于可解释性的考虑,我们可以施加一个约束,使得定义F的向量位于X的列空间内。

在这里插入图片描述

此外,为了可解释性的原因,我们可能希望限制我们只使用X的列的凸组合。这个约束有一个优点,我们可以将列 f l f_l fl 解释为某些数据点的加权和;特别地,这些列可以捕捉到一个质心的概念。我们将这种受限制的F因子形式称为凸NMF。凸NMF适用于非负和混合符号的数据矩阵。正如我们将看到的,凸NMF具有一个有趣的性质:因子W和G通常都非常稀疏。

Lee和Seung [25]考虑了一个模型,其中F因子被限制在单位区间内,即 0 ≤ F i k ≤ 1 0 ≤ F_{ik} ≤ 1 0Fik1。这种所谓的凸编码不要求fk是输入数据向量的非负线性组合,因此通常无法捕捉聚类质心的概念。实际上,[25]和[1]、[2]中的重点是NMF提供的部分-整体编码,而不是非负因子分解与向量量化之间的关系。

总结我们已经进行的开发,让我们将不同的因子分解写成如下形式:

在这里插入图片描述
其中下标的意图是表示不同因子分解所施加的约束。
在介绍计算Semi-NMF和Convex-NMF因子分解的算法和支持理论分析之前,我们提供一个说明性的例子。

2.3 An Illustration

在这里插入图片描述
K-means聚类产生了两个聚类,其中第一个聚类包括前三列,第二个聚类包括最后四列。
我们展示了Semi-NMF和Convex-NMF因子分解得到的聚类解与K-means聚类结果完全相同。我们运行了SVD、Semi-NMF和Convex-NMF。得到的三种因子分解的矩阵因子G如下:
在这里插入图片描述
Semi-NMF和Convex-NMF的结果与K-means聚类一致:对于前三列,上方行的值大于下方行,表示它们属于同一聚类;而对于最后四列,上方行的值小于下方行,表示它们属于另一个聚类。然而,请注意,Convex-NMF给出了更清晰的聚类指示。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

为了比较的目的,我们对所有列向量进行了重新缩放,使它们的L2范数为1。
可以看出,Fcnvx接近于CKmeans:kFcnvx - CKmeansk = 0.08。而Fsemi与CKmeans相差较大:kFsemi - CKmeansk = 0.53。Fsemi中的两个元素与CKmeans中的元素特别相距较远:(Fsemi)1,1 = 0.05与(CKmeans)1,1 = 0.29相比,以及(Fsemi)4,2 = 0.08与(CKmeans)4,2 = 0.36相比。因此,对F的限制可能对子空间因子分解产生较大影响。Convex-NMF给出的F因子更接近于聚类质心,验证了我们对这种因子分解产生类似质心的因子的期望。图1中提供了更多示例。
在这里插入图片描述

最后,计算残差值,我们得到了kX - FGT k = 0.27940、0.27944、0.30877,分别对应于SVD、Semi-NMF和Convex-NMF。我们可以看到,相对于SVD,Semi-NMF提供了更强的可解释性,而在逼近精度方面并没有降低。而更高限制的Convex-NMF在逼近精度上有一定的降低。

现在我们转向介绍计算这两种新因子分解的算法,以及建立这些算法的收敛性的理论结果。

3 ALGORITHMS AND ANALYSIS

在本节中,我们提供了与前一节中介绍的NMF因子分解相关的算法和分析。

3.1 Semi-NMF算法

我们通过一种迭代更新算法来计算Semi-NMF因子分解,该算法交替更新F和G:
(S0)初始化G。进行K-means聚类。这会给出聚类指示G:如果xi属于聚类k,则Gik = 1。否则,Gik = 0。对G的所有元素添加一个小常数(我们实际上使用值0.2)。关于初始化的更多讨论,请参见第3.3节。
(S1)在固定G的情况下,使用以下规则更新F:

Fik ← Fik * (XTG)ik / (XTGFGT)ik
请注意, G T G G^TG GTG 是一个k×k的半正定矩阵。这个小矩阵的求逆是微不足道的。在大多数情况下, G T G G^TG GTG 是非奇异的。当 G T G G^TG GTG 是奇异的时候,我们采用伪逆。
(S2)使用以下规则更新G(在固定F的情况下):
在这里插入图片描述
在Semi-NMF中,步骤(S1)的计算复杂度为 O ( m ( p n k + n k 2 ) ) O(m(pnk + nk^2)) O(m(pnk+nk2)),而步骤(S2)的计算复杂度为 O ( m ( n p k + k p 2 + n 2 k ) ) O(m(npk + kp^2 + n^2k)) O(m(npk+kp2+n2k)),其中m为收敛所需的迭代次数,通常取值为100。

定理1. 1)在固定F的情况下,根据G的更新规则,残差 ∥ X − F G T ∥ 2 \left \|X - FG^T \right \| ^2 XFGT 2 单调递减(即非增)。2)在固定G的情况下,F的更新规则给出了最优解 m i n F ∥ X − F G ∥ 2 min_F \left \|X - FG \right \| ^2 minFXFG2

证明:我们首先证明第2)部分。我们要最小化的目标函数是以下平方残差的总和:

minF kX - FGk^2
固定G后,通过计算得到了F的解


为了证明第1)部分,我们现在固定 F 并在施加约束条件G ≥ 0的情况下求解G。这是一个带约束的优化问题。我们提出了两个结果:
1)我们证明,在收敛时,更新规则(式11)的极限解满足KKT条件。这在下面的命题2中得到证明。这证明了极限解的正确性。
2)我们证明了更新规则(式11)的迭代收敛性。这在下面的命题3中得到证明。

命题2。(11)中的更新规则的极限解满足KKT条件。
证明。我们引入了拉格朗日函数

在这里插入图片描述
这是一个解在收敛时必须满足的不动点方程。

很容易看出,(11)的更新规则的极限解满足不动点方程。在收敛
在这里插入图片描述

方程(17)与(15)相同。这两个方程都要求两个因子中至少有一个等于零。两个方程中的第一个因子是相同的。对于第二个因子 G i k G_{ik} Gik G i k 2 G^2_{ik} Gik2,如果 G i k = 0 Gik = 0 Gik=0,则 G i k 2 = 0 G^2_{ik} = 0 Gik2=0,反之亦然。因此,如果(15)成立,则(17)也成立,反之亦然。

接下来,我们证明迭代更新算法的收敛性。我们需要提出两个在收敛证明中使用的命题。

命题3. 在固定F的情况下,根据(11)中的更新,(13)的残差是单调递减(非增)的。
证明. 我们将J(H)写成以下形式:
在这里插入图片描述
其中我们注意到我们需要全局最小值。通过构造,我们有
是单调递减(不递增)。关键是要找到合适的人选在这里插入图片描述
其全局最小值。根据提案4(见下文),

在这里插入图片描述

命题4。给定在(18)中定义的目标函数J,其中所有的矩阵都是非负的,下面的函数,
在这里插入图片描述
是J(H)的辅助函数,即满足要求
在这里插入图片描述
此外,它是H中的一个凸函数,其全局最小值为

在这里插入图片描述我们找到了这两个正项的上界,以及这两个负项的下界。对于J(H)中的第三项,使用命题5(见下文)和设置
在这里插入图片描述
为了得到剩余两个项的下界,我们使用不等式z ≥ 1 + log(z),其中z > 0,并得到以下结果:
在这里插入图片描述

是一个对角矩阵,其对角线上的元素都是正数。

在这里插入图片描述
因此, Z ( H , H ′ ) Z(H,H') Z(H,H) H H H 的凸函数。因此,通过在(26)中设置 ∂ Z ( H , H ′ ) / ∂ H i k = 0 \partial Z(H,H') / \partial H_{ik} = 0 Z(H,H)/Hik=0,并求解H,我们可以获得全局最小值。重新排列得到(22)。

在这里插入图片描述
证明。使用显式索引,左侧和右侧之间的差异可以写成如下形式:
在这里插入图片描述
在特殊情况下,当 B = I B = I B=I S S S 是一个列向量时,这个结果可以简化为[2]中的一个结果。

3.2 Algorithm for Convex-NMF

我们描述了在 X X X 具有混合符号(表示为 X ± X_\pm X±)时计算Convex-NMF分解的算法。当 X X X 是非负的时,算法以一种自然的方式简化。

(C0)初始化 W W W G G G。有两种方法:
1)重新开始。进行K均值聚类。令得到的聚类指示器为 H = ( h 1 , . . . , h k ) H = (h_1, ..., h_k) H=(h1,...,hk),其中 H i k = 0 , 1 H_{ik} = {0, 1} Hik=0,1。然后设置 G ( 0 ) = H + 0.2 E G^{(0)} = H + 0.2E G(0)=H+0.2E,其中 E E E 是全 1 矩阵。聚类中心可以计算为 f k = X h k / n k f_k = Xh_k/n_k fk=Xhk/nk,或 F = X H D n − 1 F = XHD^{-1}_n F=XHDn1,其中 D n = d i a g ( n 1 , . . . , n k ) D_n = diag(n_1, ..., n_k) Dn=diag(n1,...,nk)。因此, W = H D n − 1 W = HD^{-1}_n W=HDn1。我们平滑 W W W 并设置 W ( 0 ) = ( H + 0.2 E ) D n − 1 W^{(0)} = (H + 0.2E)D^{-1}_n W(0)=(H+0.2E)Dn1

2)假设我们已经有了一个NMF或Semi-NMF的解。在这种情况下, G G G 是已知的,我们设置 G ( 0 ) = G + 0.2 E G(0) = G + 0.2E G(0)=G+0.2E。我们解 X = X W G T X = XWG^T X=XWGT 得到 W W W。这导致 W = G ( G T G ) − 1 W = G(G^TG)^{-1} W=G(GTG)1。由于 W W W 必须是非负的,我们设置 W ( 0 ) = W + + 0.2 E < W + > W^{(0)} = W^+ + 0.2E<W^+> W(0)=W++0.2E<W+>,其中 < A > = Σ i j ∣ A i j ∣ / ∥ A i j ∥ 0 <A> = Σ_{ij} |A_{ij}|/ \left \| A_{ij} \right \| _0 <A>=ΣijAij∣/Aij0 ∥ A i j ∥ 0 \left \| A_{ij} \right \| _0 Aij0 A A A 中非零元素的数量。

然后,交替更新 G + G_+ G+ W + W_+ W+ 直到收敛,具体如下:
(C1)使用以下步骤更新 G + G_+ G+

在这里插入图片描述

这可以通过类似于(11)的方法推导得出,将 F F F 替换为 X W XW XW;(C2)使用以下步骤更新 W + W_+ W+

在这里插入图片描述
Convex-NMF的计算复杂度为 n 2 p + m ( 2 n 2 k + n k 2 ) n^2p + m(2n^2k + nk^2) n2p+m(2n2k+nk2)(对于(28))和 m ( 2 n 2 k + 2 n k 2 ) m(2n^2k + 2nk^2) m(2n2k+2nk2)(对于(29)),其中 m ≈ 100 m≈100 m100是迭代收敛所需的次数。这些都是矩阵乘法,可以在大多数计算机上高效计算。

算法的正确性和收敛性如下所述:

定理6. 在固定 G G G 的情况下,根据(29)中 W W W 的更新规则,1)残差 ∥ X − X W G T ∥ 2 \left \| X - XWG^T\right \| ^2 XXWGT 2 单调递减(非增),2)解收敛到一个KKT不动点。
2)的证明由命题7给出,确保了解的正确性。1)的证明由命题8给出,确保了算法的收敛。

命题7. (29)的更新规则的极限解满足KKT条件。
证明. 我们最小化
在这里插入图片描述. 关于 G G G 的最小化与Semi-NMF中相同。我们重点关注关于 W W W 的最小化;也就是说,我们最小化

在这里插入图片描述

接下来,我们可以证明(29)的更新规则的极限解满足以下条件:
在这里插入图片描述

这两个方程之间的原因与(17)与(15)相同,它们是相同的。因此,更新规则的极限解满足KKT不动点条件。

命题8. 残差(30)单调递减(非增)。因此,算法收敛。

证明. 我们将 J ( W ) J(W) J(W) 写成如下形式:

在这里插入图片描述

J ( H ) J(H) J(H) 与(23)中的 J ( H ) J(H) J(H) 不同,因为最后两项有四个矩阵因子而不是三个。在利用命题5的帮助下,按照命题4的证明过程,我们可以证明以下函数:

在这里插入图片描述

3.3 NMF算法的一些通用性质

首先,我们注意到所有这些乘法更新算法保证收敛到一个局部最小值,但不一定是全局最小值。这对于许多具有聚类特性的其他算法也是如此,包括K均值、混合模型的EM算法和谱聚类。实践经验表明,K均值聚类往往会收敛到一个接近初始猜测的局部最小值,而NMF和EM算法则往往会探索更大范围的值。

其次,我们注意到NMF更新规则对于NMF的缩放是不变的。通过缩放,我们指的是

在这里插入图片描述

第三,我们注意到NMF乘法更新算法的收敛速度通常是一阶的。为了看到这一点,我们设定在这里插入图片描述
并将更新算法视为一个映射 Θ ( t + 1 ) = M ( Θ ( t ) ) \Theta ^{(t+1) }= M(\Theta ^{(t)}) Θ(t+1)=M(Θ(t))。在收敛时, Θ ∗ = M ( Θ ∗ ) \Theta ^{*} = M(\Theta ^{*}) Θ=M(Θ)。已经证明目标函数是非增的,即 J ( Θ ( t + 1 ) ) ≤ J ( Θ ( t ) ) J(\Theta ^{(t+1) }) ≤ J(\Theta ^{(t)}) J(Θ(t+1))J(Θ(t))。根据Xu和Jordan的研究[26],我们展开 Θ ≈ M ( Θ ∗ ) + ( ∂ M / ∂ Θ ) ( Θ − Θ ∗ ) \Theta ≈ M(\Theta ^{*}) + (∂M/∂\Theta)(\Theta - \Theta ^{*}) ΘM(Θ)+(M/Θ)(ΘΘ)。(请注意,需要强制执行一个非负性约束)。因此,

在这里插入图片描述

在适当的矩阵范数下,一般有 ∂ M / ∂ Θ ≠ 0 ∂M/∂\Theta \ne 0 M/Θ=0。因此,这些更新算法具有一阶收敛速度,与EM算法相同[26]。

第四,我们注意到有许多初始化NMF的方法。在我们的论文中,我们利用NMF和松弛K均值聚类之间的等价性,将 F F F G G G 初始化为K均值聚类的解。Lee和Seung [2]建议使用随机初始化。最近,Boutsidis和Gallopoulos [27]提出了基于SVD的初始化方法。有关更多初始化参考,请参考[27]、[17]。

4 SPARSITY OF CONVEX-NMF

在NMF的最初介绍中,Lee和Seung [1]强调了稀疏性的期望。例如,在图像数据的情况下,希望NMF的因子对应于原始图像的一个连贯部分,比如鼻子或眼睛;这些将是稀疏因子,其中大多数分量为零。然而,进一步的实验表明,NMF因子不一定是稀疏的,因此在NMF之上发展了稀疏化方案[16],[5]。NMF不一定能够恢复整体-部分的表示,但已经讨论了获取整体-部分表示的条件[28]。在PCA的背景下,还可以参考[29]、[30]和[31]中关于稀疏因子分解的相关文献。

有趣的是,Convex-NMF的因子W和G在本质上是稀疏的。我们在本节提供了这个断言的理论支持,并在第6节提供了额外的实验支持。(稀疏性也可以在第2.3节中的示例中看到。)

首先我们注意到,Convex-NMF可以重新表述为
在这里插入图片描述
我们现在声称:1)这个优化问题将产生一个稀疏解 W W W G G G,2)随着 σ k \sigma_k σk 的减小速度越慢,解越稀疏。

我们的论证的第二部分可以通过引入一个引理来说明。

引理9. 以下优化问题的解为:
在这里插入图片描述

证明。我们首先证明一个稍微更一般的情况。假设 D = d i a g ( d 1 , . . . , d n ) D = diag(d_1, ..., d_n) D=diag(d1,...,dn) 是一个对角矩阵,其中 d 1 > d 2 > . . . > d n > 0 d_1 > d_2 > ... > d_n > 0 d1>d2>...>dn>0。如果我们将 I I I 替换为 D D D W = G = ( d 1 e 1 , . . . , d 1 e K ) W = G = (\sqrt{d_1}e_1, ..., \sqrt{d_1}e_K) W=G=(d1 e1,...,d1 eK),在NMF中,对角重缩放的自由度始终存在。实际上,设 E = ( e 1 , e 2 , . . . , e K ) E = (e_1, e_2, ..., e_K) E=(e1,e2,...,eK)。我们选择 W = G = E √ D W = G = E √D W=G=ED 可以以不同的方式写成 W G T = ( E √ D ) ( E √ D ) T = ( E D α ) ( E T D 1 − α ) T WG^T = (E √D)(E √D)^T = (ED^\alpha)(E^TD^{1-\alpha})^T WGT=(ED)(ED)T=(EDα)(ETD1α)T,其中 − I n f < α < I n f -Inf < \alpha< Inf Inf<α<Inf。则引理成立。

证明基于以下事实:我们有唯一的谱展开 D e k = d k e k De_k = d_ke_k Dek=dkek D = Σ k = 1 n d k e k e T D = Σ_{k=1}^n d_ke_ke^T D=Σk=1ndkekeT。现在我们考虑取极限: d 1 = . . . = d n = 1 d_1 = ... = d_n = 1 d1=...=dn=1。谱展开不再唯一: I = Σ k = 1 n u k u T I = Σ_{k=1}^n u_ku^T I=Σk=1nukuT,其中 ( u 1 , . . . , u n ) (u_1, ..., u_n) (u1,...,un) 是任意正交基,即 U U U。然而,由于非负约束, ( e 1 , . . . , e n ) (e_1, ..., e_n) (e1,...,en) 是唯一可行的基。因此,对于 ( e 1 , . . . , e n ) (e_1, ..., e_n) (e1,...,en) 的任意 K K K 列,我们有 W = G = ( e 1 , . . . , e K ) W = G = (e_1, ..., e_K) W=G=(e1,...,eK)

引理9的主要观点是 最小化 m i n W , G ∥ I − W G T ∥ 2 min_{W,G} \left \| I-WG^T \right \|^2 minW,G IWGT 2 ,范数的解是可能的最稀疏的秩为K的矩阵 W W W G G G。现在,回到我们对Convex-NMF的表征(公式37),我们可以写成:

在这里插入图片描述
与Convex-NMF情况相比,我们可以看到将 ( I − W G T ) (I - WG^T) (IWGT) 投影到主成分上的权重更大,而将 ( I − W G T ) (I - WG^T) (IWGT) 投影到非主成分上的权重较小。因此,我们得出结论:在主成分子空间中强制实施稀疏性,在非主成分子空间中弱化稀疏性。总体而言,引理9为我们得出结论提供了依据,即Convex-NMF倾向于产生稀疏解。

对于稀疏性来源的更直观理解可以通过计算参数数量获得。特别要注意的是,Semi-NMF基于 N p a r a m = k p + k n N_{param} = kp + kn Nparam=kp+kn 个参数,而Convex-NMF基于 N p a r a m = 2 k n N_{param} = 2kn Nparam=2kn 个参数。考虑通常情况下 n > p n > p n>p(即数据点数量大于数据维度),Convex-NMF比Semi-NMF具有更多的参数。但我们知道Convex-NMF是Semi-NMF的一种特殊情况。这两个相互矛盾的事实的解决方案是Convex-NMF中的一些参数必须为零。

5.其他备注

Convex-NMF因其可解释性和稀疏性特性而脱颖而出。在本节中,我们考虑Convex-NMF的另外两个有趣方面,并同时考虑我们所开发的所有NMF-类因子分解与K均值聚类之间的关系。

5.1 核NMF

考虑一个映射 x i → ɸ ( x i ) x_i → ɸ(x_i) xiɸ(xi) X → ɸ ( X ) = ( ɸ ( x 1 ) , . . . , ɸ ( x n ) ) X → ɸ(X) = (ɸ(x_1), ..., ɸ(x_n)) Xɸ(X)=(ɸ(x1),...,ɸ(xn))。对于标准的NMF或Semi-NMF分解 ɸ ( X ) = F G T ɸ(X) = FG^T ɸ(X)=FGT,由于 F F F G G G 显式地依赖于映射函数 ɸ ( ⋅ ) ɸ(·) ɸ(),计算将会很困难。然而,Convex-NMF为这个问题提供了一个吸引人的解决方案:
在这里插入图片描述
的确,很容易看到最小化的目标
在这里插入图片描述
Convex-NMF的更新规则只依赖于核 K = ɸ ( X ) T ɸ ( X ) K = ɸ(X)^Tɸ(X) K=ɸ(X)Tɸ(X)。实际上,Convex-NMF的更新规则(在公式(29)和(28)中)只依赖于 X T X X^TX XTX。因此,可以以类似于PCA和K均值的方式对Convex-NMF进行"核化"处理。

5.2 聚类NMF

在Convex-NMF中,我们要求F的列是输入数据的凸组合。现在假设我们将G的元素解释为后验聚类概率。在这种情况下,聚类中心可以计算为 f k = X g k / n k f_k = Xg_k/n_k fk=Xgk/nk,或者 F = X G D n − 1 F = XGD^{-1}_n F=XGDn1,其中 D n = d i a g ( n 1 , . . . , n k ) D_n = diag(n_1, ..., n_k) Dn=diag(n1,...,nk)。F的额外自由度是不必要的。因此,期望达到的两个目标:1) F F F 编码聚类中心,2) G G G 编码后验概率,激发了一个因子分解 X ≈ X G D n − 1 G T X \approx XGD^{-1}_nG^T XXGDn1GT。我们可以将 D n − 1 / 2 D^{-1/2}_n Dn1/2 吸收到 G G G 中,并求解

在这里插入图片描述
我们将这种因子分解称为Cluster-NMF,因为在这种因子分解中,自由度是聚类指示器 G G G,就像在标准聚类问题中一样。目标函数为: J = ∥ X − X G G T ∥ 2 J = \left \| X - XGG^T \right \| ^2 J= XXGGT 2

5.3 与松弛K均值聚类的关系

当因子 G G G 是正交的( G T G = I G^TG = I GTG=I)时,NMF、Semi-NMF、Convex-NMF、Cluster-NMF和Kernel-NMF都具有K均值聚类的解释。正交性和非负性共同意味着 G G G 的每一行只有一个非负元素,即 G G G 是一个真正的聚类指示器。这种与聚类的关系在以下定理中更加明确。

定理10. G-正交的NMF、Semi-NMF、Convex-NMF、Cluster-NMF和Kernel-NMF都是K均值聚类的松弛形式。
证明:对于NMF、Semi-NMF和Convex-NMF,我们首先消除 F F F。目标函数为 J = ∣ ∣ X − F G T ∣ ∣ 2 = T r ( X T X − 2 X T G G T + F F T ) J = ||X - FG^T||^2 = Tr(X^TX - 2X^TGG^T + FF^T) J=∣∣XFGT2=Tr(XTX2XTGGT+FFT)。设置 ∂ J / ∂ F = 0 ∂J/∂F = 0 J/F=0,我们得到 F = X G F = XG F=XG。因此,我们得到 J = T r ( X T X − G T X T X G ) J = Tr(X^TX - G^TX^TXG) J=Tr(XTXGTXTXG)。对于Cluster-NMF,我们直接得到相同的结果: J = ∣ ∣ X − X G G T ∣ ∣ 2 = T r ( X T X − G T X T X G ) J = ||X - XGG^T||^2 = Tr(X^TX - G^TX^TXG) J=∣∣XXGGT2=Tr(XTXGTXTXG)。对于Kernel-NMF,我们有 J = ∣ ∣ Φ ( X ) − Φ ( X ) W T G ∣ ∣ 2 = T r ( K − G T K W G T + W T W K ) J = ||Φ(X) - Φ(X)W^TG||^2 = Tr(K - G^TKWG^T + W^TWK) J=∣∣Φ(X)Φ(X)WTG2=Tr(KGTKWGT+WTWK) ,其中K是核矩阵。设置 ∂ J / ∂ W = 0 ∂J/∂W = 0 J/W=0,我们有 K G = K W KG = KW KG=KW。因此, J = T r ( X T X − G T K G ) J = Tr(X^TX - G^TKG) J=Tr(XTXGTKG)。在这五种情况下,第一项是常数,不影响最小化过程。因此,最小化问题变为 m a x G T G = I T r ( G T K G ) max_{G^TG = I} Tr(G^TKG) maxGTG=ITr(GTKG),其中K是线性核 X T X XTX XTX < Φ ( X ) , Φ ( X ) > <Φ(X), Φ(X)> <Φ(X),Φ(X)>。已知这与(核)K均值聚类是相同的[32],[33]。
在NMF、Semi-NMF、Convex-NMF、Cluster-NMF和Kernel-NMF的定义中,G不限制为正交;这些NMF变体是K均值聚类的软化版本。

6 实验
首先,我们展示了对合成数据的实验结果,旨在验证Convex-NMF能够产生接近聚类中心的因子分解。然后,我们展示了对真实数据的实验结果,比较了K均值聚类和各种因子分解方法。

6.1 合成数据集
我们工作的一个主要主题是,Convex-NMF变体可能提供具有更可解释的因子的子空间分解,而这些因子是通过其他NMF变体(或PCA)获得的。特别地,我们期望在某些情况下,因子F可以解释为包含聚类代表(聚类中心),而G可以解释为编码聚类指示器。我们从对这个假设进行简单研究开始。在图1中,我们随机生成了四个二维数据集,每个数据集包含三个聚类。计算Semi-NMF和Convex-NMF的因子分解,我们展示了得到的F因子。我们可以看到Semi-NMF因子(在图中表示为Fsemi)往往位于聚类中心的远处。另一方面,Convex-NMF因子(在图中表示为Fcnvx)几乎总是位于聚类内部。

6.2 真实数据集
我们在以下数据集上进行了实验:来自UCI仓库的Ionosphere和Wave数据集,URCS、WebkB4、Reuters数据集(使用包含10个最常见类别的数据集子集),WebAce,以及包含来自佛罗里达国际大学计算机科学学院的多台不同操作系统的机器收集的1,367条日志信息的数据集。日志信息分为九个类别:配置、连接、创建、依赖、其他、报告、请求、开始和停止。使用标准停用词列表删除了停用词。根据频率选择了前1,000个单词。

表1总结了数据集并呈现了我们的实验结果。这些结果是每个数据集和算法的10次运行的平均值。

我们使用已知的类别标签计算聚类准确性。具体操作如下:首先计算混淆矩阵。然后重新排列列和行,使对角线上元素之和最大化。我们将此和作为准确性的度量:它表示在优化排列下正确聚类的数据点的百分比。

为了衡量实验中G的稀疏性,我们计算G的每列的平均值,并将小于平均值的0.001倍的元素设为零。我们报告剩余非零元素的数量占总元素数的百分比。因此,这个度量的小值对应于较大的稀疏性。

G的稀疏性的一个结果是G的行趋向于接近正交。这表明硬聚类(如果我们将G视为编码聚类的后验概率)。我们计算归一化正交性, ( G T G ) n m = D − 1 / 2 ( G T G ) D − 1 / 2 (G^TG)_{nm}= D^{-1/2} (G^TG)D^{-1/2} (GTG)nm=D1/2(GTG)D1/2,其中 D − 1 / 2 = d i a g ( G T G ) D^{-1/2}=diag(G^TG) D1/2=diag(GTG)。因此, d i a g [ ( G T G ) n m ] = I diag[(G^TG)_{nm} ]=I diag[(GTG)nm]=I。我们报告 ( G T G ) n m (G^TG)_{nm} (GTG)nm 中非对角线元素的平均值作为表中的“偏离正交性”指标。

根据实验结果,我们观察到以下情况:

  1. 在所有数据集上,所有矩阵分解模型都优于K均值。这是我们的主要实证结果。它表明,NMF系列在聚类目的上与K均值竞争力。
  2. 在大多数非负数据集上,NMF的准确性相对于Semi-NMF和Convex-NMF略好(WebKb4是个例外)。然而,差异并不大,这表明如果可解释性被视为数据分析的目标,更受限制的Semi-NMF和Convex-NMF可能是值得选择的选项。
  3. 在包含正负值的数据集上(不适用于NMF),Semi-NMF的准确性优于Convex-NMF的准确性。
  4. 通常情况下,Convex-NMF的解是稀疏的,而Semi-NMF的解不是稀疏的。
  5. Convex-NMF的解通常比Semi-NMF的解更具有正交性。
    6.3 将混合符号数据转为非负数据
    虽然我们的算法可以直接应用于混合符号数据,但也可以考虑通过添加最小常数将混合符号数据转为非负数据,使所有条目都为非负。我们对Wave和Ionosphere数据进行了以这种方式转换后的实验。对于Wave数据集,Semi-NMF的准确性从0.590降低到0.503,Convex-NMF的准确性从0.5738降低到0.5297。Convex-NMF的稀疏性从0.498增加到0.586。对于Ionosphere数据集,Semi-NMF的准确性从0.729降低到0.647,Convex-NMF的准确性从0.6877降低到0.618。Convex-NMF的稀疏性从0.498增加到0.829。简而言之,这种转换方法似乎并没有提供令人满意的替代方案。

6.4 NMF的灵活性
一个普遍的结论是,从聚类准确性和矩阵逼近的角度来看,NMF几乎总是优于K均值。我们认为这是由于与K均值聚类目标函数试图捕捉的刚性球形聚类相比,矩阵分解的灵活性。当数据分布远离球形聚类时,NMF可能具有优势。图2给出了一个例子。数据集由包含200个数据点的三维空间中的两个平行杆组成。杆的两个中心轴相距0.3,直径为0.1,长度为1。从图中可以看出,K均值给出了一个较差的聚类,而NMF给出了一个较好的聚类。图2c显示了G的列之间的差异(每列都归一化为 ∑ i g k ( i ) = 1 \sum_ i g_k(i) = 1 igk(i)=1)。被错误聚类的点具有较小的差异。

最后请注意,NMF在不同运行中是随机初始化的。我们研究了解决方案在多次运行中的稳定性,并发现NMF收敛到非常相似的解 F F F G G G;此外,得到的离散化聚类指示符是相同的。

7. 结论:

我们提出了几种新的非负矩阵分解方法。我们为这些分解提供了算法,并对算法的收敛性进行了理论分析。这些算法处理混合符号数据的能力使它们在许多应用中非常有用,特别是考虑到协方差矩阵通常是居中的。

Semi-NMF提供了数据点的低维表示,适合方便的聚类解释。Convex-NMF进一步限制了基向量为数据点的凸组合,为基向量提供了聚类中心的概念。我们还简要讨论了其他NMF算法——Kernel-NMF和Cluster-NMF,它们是Convex-NMF的进一步专门化。

我们还展示了NMF变体可以被看作是K均值聚类的松弛,从而在NMF和聚类之间建立了比以往更紧密的联系。此外,我们的实证结果表明,对于我们调查的所有数据集,NMF算法在聚类准确性方面都优于K均值聚类。我们认为这些结果表明NMF系列值得进一步研究。在处理混合符号数据和与聚类直接相关的能力方面,我们认为Semi-NMF和Convex-NMF特别值得进一步研究。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1552454.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

win10微软拼音输入法 - bug - 在PATH变量为空的情况下,无法输入中文

文章目录 win10微软拼音输入法 - bug - 在PATH变量为空的情况下&#xff0c;无法输入中文概述笔记实验前提条件100%可以重现 - 无法使用win10拼音输入法输入中文替代的输入法软件备注END win10微软拼音输入法 - bug - 在PATH变量为空的情况下&#xff0c;无法输入中文 概述 在…

docker 部署 gitlab-ce 16.9.1

文章目录 [toc]拉取 gitlab-ce 镜像创建 gitlab-ce 持久化目录启停脚本配置配置 gitlab-ce编辑 gitlab-ce 配置文件重启 gitlab-ce配置 root 密码 设置中文 gitlab/gitlab-ce(需要科学上网) 拉取 gitlab-ce 镜像 docker pull gitlab/gitlab-ce:16.9.1-ce.0查看镜像是不是有 Vo…

Android和IOS应用开发-Flutter应用让屏幕在 app 运行期间保持常亮的方法

文章目录 Flutter应用让屏幕在 app 运行期间保持常亮的方法方法一&#xff1a;使用系统插件方法二&#xff1a;使用 Widgets注意事项 Flutter应用让屏幕在 app 运行期间保持常亮的方法 在 Flutter 开发中&#xff0c;可以使用以下两种方法让屏幕在 app 运行期间保持常亮&#…

c++|string模拟实现

目录 一、string.h 二、string.cpp 三、Test.cpp 对string的各种接口进行一个简易版的模拟实现&#xff0c;在模拟实现完之后对string的底层实现有了进一步的理解&#xff0c;了解大佬的编程写法思路。也算是对string有了一个小总结。 一、string.h 接口的声明。放在.h文件中…

excel中批量插入分页符

excel中批量插入分页符&#xff0c;实现按班级打印学生名单。 1、把学生按照学号、班级排序好。 2、选择班级一列&#xff0c;点击数据-分类汇总。汇总方式选择计数&#xff0c;最后三个全部勾选。汇总结果一定要显示在数据的下发&#xff0c;如果显示在上方&#xff0c;后期…

RabbitMQ3.x之四_RabbitMQ角色说明及创建用户与授权

RabbitMQ3.x之四_角色说明及创建用户与授权 文章目录 RabbitMQ3.x之四_角色说明及创建用户与授权1. 访问和授权1. Tags说明2. 命令行示例 2. 管理界面新建用户及访问授权1. 管理界面新建用户2. 管理界面中的授权说明3. guest用户不能远程登录提示 3. 创建用户1. 基本命令2. 实际…

Unity 实现鼠标左键进行射击

发射脚本实现思路 分析 确定用户交互方式&#xff1a;通过鼠标左键点击发射子弹。确定子弹发射逻辑&#xff1a;每次点击后有一定时间间隔才能再次发射。确定子弹发射源和方向&#xff1a;子弹从枪口&#xff08;Transform&#xff09;位置发射&#xff0c;沿枪口方向前进。 变…

2024-3-28 市场情绪强修复

这一轮退潮负反馈都修复了&#xff0c; 艾艾精工 博信股份 安奈尔 永悦科技 大理药业 &#xff0c;高新发展 也补跌了&#xff0c;收尸队也干活了&#xff0c;情绪不修复不接力得最好写照。这轮周期 宁科生物 已经7板&#xff0c;已经追平了 博信股份7板&#xff0c;看明天溢…

基于单片机产品数量自动计量智能系统设计

**单片机设计介绍&#xff0c;基于单片机产品数量自动计量智能系统设计 文章目录 一 概要二、功能设计设计思路 三、 软件设计原理图 五、 程序六、 文章目录 一 概要 基于单片机产品数量自动计量智能系统设计是一个融合了单片机技术、传感器技术和自动控制技术的综合性项目。…

【Web应用技术基础】CSS(6)——使用 HTML/CSS 实现 Educoder 顶部导航栏

第一题&#xff1a;使用flex布局实现Educoder顶部导航栏容器布局 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>Educoder</title><script src"https://cdn.staticfile.org/jquery/1.1…

Java与Go:字符串转IP

在本文中&#xff0c;我们将了解如何将简单的对比Java和Go是如何将字符串解析为IP地址。 Java 在Java中&#xff0c;将字符串转换为IP地址最无脑的一个方法&#xff1a; import java.net.InetAddress; import java.net.UnknownHostException;public class Main {public stat…

shell脚本发布docker springboot项目示例

docker、git、Maven、jdk8安装略过。 使git pull或者git push不需要输入密码操作方法 约定&#xff1a; 路径&#xff1a;/opt/springbootdemo&#xff0c; 项目&#xff1a;springbootdemo&#xff0c; 打包&#xff1a;springbootdemo.jar&#xff0c; docker容器名字&#x…

竞赛 python+opencv+深度学习实现二维码识别

0 前言 &#x1f525; 优质竞赛项目系列&#xff0c;今天要分享的是 &#x1f6a9; pythonopencv深度学习实现二维码识别 &#x1f947;学长这里给一个题目综合评分(每项满分5分) 难度系数&#xff1a;3分工作量&#xff1a;3分创新点&#xff1a;3分 该项目较为新颖&…

武汉星起航跨境电商:破局传统贸易,引领全球商业新风尚

在全球经济格局日新月异的今天&#xff0c;跨境电商以其独特的商业模式和创新的运营理念&#xff0c;正在逐步改变着传统贸易的格局。武汉星起航电子商务有限公司&#xff0c;作为跨境电商领域的领军者&#xff0c;以其前瞻的战略布局和深厚的实战经验&#xff0c;不断推动着行…

Java设计模式—备忘录模式(快照模式)

定义 备忘录模式提供了一种状态恢复的实现机制&#xff0c;使得用户可以方便地回到一个特定的历史步骤&#xff0c;当新的状态无效或者存在问题时&#xff0c;可以使用暂时存储起来的备忘录将状态复原&#xff0c;很多软件都提供了撤销&#xff08;Undo&#xff09;操作&#…

基础算法-去重字符串,辗转相除法,非递归前序遍历二叉树题型分析

目录 不同子串 辗转相除法-求最大公约数 二叉树非递归前序遍历 不同子串 从a开始&#xff0c;截取 a aa aaa aaab 从第二个下标开始a aa aab 从第三个 a ab 从第四个 b 使用set的唯一性&#xff0c;然后暴力遍历来去去重&#xff0c;从第一个下标开始截取aaab a aa aaa aaab…

将html文件转化为pdf

1.用浏览器将html文件打开 2.空白处右键点击打印 3.另存为PDF即可

html音频和视频可输入表单input

音频和视频 loop循环播放autoplay自动播放controls显示控制面板<audio src""> //<video src"#">muted静音播放 可输入表单input password密码框 radio单选框 checkbox复选框 file上传文件 text文本框 文本框<input type"text"…

如何调试Clang源码

下载编译Clang 这个就直接去LLVM官网下载&#xff0c;然后编译好Clang就行&#xff0c;注意得debug模式&#xff0c;保存符号信息。 调试Clang 可以直接通过命令行来调试 #进入调试环境&#xff0c;这里的clang得是刚刚编译好的 lldb ./clang # r是运行&#xff0c;后面是正…

Java认识泛型类

一、包装类 认识泛型类之前先来认识一下包装类 1、基本数据类型和对应的包装类 在Java中&#xff0c;由于基本类型不是继承自Object&#xff0c;为了在泛型代码中可以支持基本类型&#xff0c;Java给每个基本类型都对应了一个包装类型。 除了 Integer 和 Character&#xff0…