张量分解--非负矩阵分解 (NMF)

1. 非负矩阵分解问题描述

传统的NMF问题可以描述如下:给定矩阵 V ∈ R + n × m V\in R_{+}^{n\times m} VR+n×m, 寻找非负矩阵 W ∈ R + n × r W \in R_{+}^{n \times r} WR+n×r 和非负矩阵 H ∈ R + r × m H \in R_{+}^{r \times m} HR+r×m, 使得 V ≈ A W V \approx AW VAW。可以理解为原始矩阵 V V V 的列向量是对做矩阵 A A A 中所有列向量的加权和,而权重系数就是有矩阵对应列向量的元素,故称 A A A 为基矩阵, W W W 为系数矩阵。一般情况下 r r r 的选择要比 n n n 小, 即满足 ( m + n ) r < m n (m+n)r<mn (m+n)r<mn,这时用系数矩阵代替原是矩阵,就可以实现对原是矩阵进行降维,得到数据特征的降维矩阵,从而减少存储空间减少计算机资源。

2.非负矩阵的求解

当矩阵的秩 r r r 未知的时候,只能对矩阵的秩进行不断的遍历求解。如果知道矩阵的秩,可以通过 E M EM EM 的方法对目标函数进行求解,主要思想是先对矩阵 A A A W W W进行随机猜一个值,然后进行不断地迭代,求解直到收敛。目前常用的方法有乘法更新法和 最小二乘法方法。

2.1. 乘法更新求解法

在乘法更新求解法的目标函数表达式为:
D F ( Y ∣ ∣ A X ) = 1 2 ∣ ∣ Y − A X ∣ ∣ F 2 , s . t . a i j ≥ 0 , x j t ≥ 0 , ∀ i , j , t D_{F}\left ( Y||AX \right )=\frac{1}{2}\left|| Y-AX\right||_{F}^{2}, s.t. a_{ij}\ge0, x_{jt}\ge0,\forall{i,j,t} DF(YAX)=21YAXF2,s.t.aij0,xjt0,i,j,t
对这个目标函数表达式求解 KKT 条件得到如下:
A ≥ 0 , X ≥ 0 A\ge0, X\ge0 A0,X0
▽ A D F ≥ 0 , ▽ X D F ≥ 0 \bigtriangledown_{A}D_{F}\ge0, \bigtriangledown_{X}D_{F}\ge0 ADF0,XDF0
A ∗ ▽ A D F = 0 , X ∗ ▽ X D F = 0 A\ast\bigtriangledown_{A}D_{F}=0, X\ast\bigtriangledown_{X}D_{F}=0 AADF=0,XXDF=0
其中梯度的表达式为:
▽ A D F = A X X T − Y X T , ▽ X D F = A T A X − A T Y \bigtriangledown_{A}D_{F}=AXX^{T}-YX^{T}, \bigtriangledown_{X}D_{F}=A^{T}AX-A^{T}Y ADF=AXXTYXT,XDF=ATAXATY
结合上述的两组式子得到:
A ∗ ( A X X T ) = A ∗ ( Y X T ) , X ∗ ( A T A X ) = X ∗ ( A T Y ) A\ast(AXX^{T})=A\ast(YX^{T}),X\ast(A^{T}AX)=X\ast(A^{T}Y) A(AXXT)=A(YXT),X(ATAX)=X(ATY)
即更新的规则为:
A ← A ∗ [ ( Y X T ) ⊘ ( A X X T + ε ) ] A \gets A\ast\left[(YX^{T}) \oslash(AXX^{T}+\varepsilon )\right] AA[(YXT)(AXXT+ε)]
X ← X ∗ [ ( A T Y ) ⊘ ( A T A X + ε ) ] X \gets X\ast\left[(A^{T}Y) \oslash(A^{T}AX+\varepsilon )\right] XX[(ATY)(ATAX+ε)]

2.2.最小二乘法求解法

在最小二乘法中目标函数的表达式为:
D F ( Y ∣ ∣ A X ) = 1 2 ∣ ∣ Y − A X ∣ ∣ F 2 , s . t . a i j ≥ 0 , x j t ≥ 0 , ∀ i , j , t D_{F}\left ( Y||AX \right )=\frac{1}{2}\left|| Y-AX\right||_{F}^{2}, s.t. a_{ij}\ge0, x_{jt}\ge0,\forall{i,j,t} DF(YAX)=21YAXF2,s.t.aij0,xjt0,i,j,t
对这个目标函数表达式求解 KKT 条件得到如下:
A ≥ 0 , X ≥ 0 A\ge0, X\ge0 A0,X0
▽ A D F ≥ 0 , ▽ X D F ≥ 0 \bigtriangledown_{A}D_{F}\ge0, \bigtriangledown_{X}D_{F}\ge0 ADF0,XDF0
A ∗ ▽ A D F = 0 , X ∗ ▽ X D F = 0 A\ast\bigtriangledown_{A}D_{F}=0, X\ast\bigtriangledown_{X}D_{F}=0 AADF=0,XXDF=0
其中梯度的表达式为:
▽ A D F ( Y ∣ ∣ A X ) = ∂ D F ( Y ∣ ∣ A X ) ∂ A = [ − Y X T + A X X T ] = 0 \bigtriangledown_{A}D_{F}(Y||AX)=\frac{\partial D_{F}(Y||AX)}{\partial A}=\left[-YX^{T}+AXX^{T} \right]=0 ADF(YAX)=ADF(YAX)=[YXT+AXXT]=0
▽ A D F ( Y ∣ ∣ A X ) = ∂ D F ( Y ∣ ∣ A X ) ∂ X = [ − A T Y + A T A X ] = 0 \bigtriangledown_{A}D_{F}(Y||AX)=\frac{\partial D_{F}(Y||AX)}{\partial X}=\left[-A^{T}Y+A^{T}AX \right]=0 ADF(YAX)=XDF(YAX)=[ATY+ATAX]=0
即更新的规则为:
A ← [ Y X T ( X X T ) − 1 ] + = [ Y X † ] + A \gets \left[YX^{T}\left(XX^{T}\right)^{-1}\right]_{+}=\left[YX^{\dagger }\right]_{+} A[YXT(XXT)1]+=[YX]+
X ← [ ( A T A ) − 1 A T Y ] + = [ A † Y ] + X \gets \left[(A^{T}A)^{-1}A^{T}Y\right]_{+}=\left[A^{\dagger }Y\right]_{+} X[(ATA)1ATY]+=[AY]+

3. 非负矩阵收敛证明

4. 参考资料

  1. http://www.xiongfuli.com/%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0/2016-01/NMF.html
  2. https://blog.csdn.net/acdreamers/article/details/44663421
相关推荐
阵的低秩逼近是一种大规模矩阵低秩近似表示技术,是从大规模、复杂的数据中 寻求数据潜在信息的一种强有力方法。矩阵分解( Nonnegative MatrixFactorization, NMF)) 是矩阵的低秩逼近方法之一,它是指被分解矩阵分解结果矩阵的数值都 是的。由于该方法符合数据的真实物理属性,数据的可解释性强,分解结果能够表 示事物的局部特征,且模型符合人们对于客观世界的认识规律(整体是由局部组成的) 等优点, 模型和算法自提出以来得到了广泛研究和应用,已经被成功地应用到许多领域。 当模型数据的指标集多于两个时,模型数据就可以表示成张量的形式,因此张量可以看 成是向量和矩阵在高维空间的推广。对于张量代数理论及其应用的研究也是近来研究的 一个热点。矩阵分解张量分解理论与应用方面的研究虽然取得了很多成果,但仍 然有一些问题需要进一步解决,如寻找好的矩阵分解算法,在线数据模型如何应用 矩阵分解矩阵分解在具体问题中的进一步应用等。另外,大规模的性约 束给所有分解算法带来了求解的困难,影响了矩阵分解模型的应用效率,如果取消 一部分性约束会提高算法的效率,但得到的特征子空间会如何变化?这也是一个前 人没有进行研究的工作,围绕矩阵张量分解及其应用的研究,本文从几个方面对 于矩阵张量分解进行了以下研究工作: 1. 给出了基于轮换极小化原则的一个矩阵分解二次规划模型算法。 借助于内点 罚函数,把子问题的求解转化为一个无约束的二次规划问题模型来求解,再把二次规划 模型求解归结到一个线性方程组的求解,在求解过程中引入了一个降维策略,在一定程 度上降低了问题的求解规模,并给出了算法的收敛性证明,数值试验表明算法能够提取 到局部特征且得到的矩阵分解算法具有好的收敛性。 2. 研究了基于矩阵分解的一个局部图像识别策略和算法,利用矩阵分解算 法提取到的残缺测试图像的局部特征进行有效识别,论文主要研究了残缺区域为已知情 况下的局部图像识别问题,并给出相应的数值试验。 3. 对于训练集图像数据有缺失的识别问题进行了研究。本文首先对图像数据缺失模 式进行了分类,划分了数据缺失模式的三种类型,给出了三种数据缺失模式下利用 矩阵分解算法来提取局部特征的模型,分析了三种模型的特点和计算量,通过数值试验 对三种模型提取局部特征能力的进行了比较比较,指出了各种模型的适用于不同实际问山东科技大学博士学位论文 摘要 题时的优缺点。 4.在利用特征子空间进行线人脸识别问题中,当增加或者减少训练样本时,相应地 特征子空间就要发生改变,由于人脸图像数据规模较大,如果对新的训练样本重新进行 特征提取则浪费已有的计算结果和计算资源。 本文给出了一个处理在线人脸识别的算法, 对于训练集增量和减量的情况推导了基于矩阵分解的在线迭代公式, 数值试验表明, 该算法可以节约一定的计算时间和计算量,且逼近效果与对训练集数据重新计算得到的 结果相比较更好。 5.在矩阵分解中,编码矩阵性约束使得算法求解起来速度较慢,并且, 在实际问题中,由于往往只需要部分分解结果(基矩阵)是的。如果我们对于矩阵 分解实行部分约束,不仅可以提高算法的效率,还可以节省计算和存储资源,但这 时相应的模型和算法会有什么变化,提取到的特征子空间有什么变化?还能不能表示局 部特征?另外,在矩阵分解中,提取局部特征的能力是和模型有关系还是和算法有 关系?本文从这些角度进行了一定的研究,得到了一些结论并进行了数值试验验证。 6.作为向量和矩阵的推广,张量相当于一个高维的矩阵。由于张量模型可以处理指 标集为多维的数据, 所以在描述实际问题时相比矩阵模型其更能接近于实际问题的属性, 因此能更好地描述实际问题。本文对于Web社区发现,给出了一个基于张量的模型及其 相应的算法。模型考虑了权威值,中心值,文本值三个指标,同矩阵模型相比较,由于 张量模型可以很好地保留模型数据的内在本质特征,得到的社区发现模型结果更准确, 可以有效地防止主题漂流的现象,数值试验表明,算法是有效的。 最后, 针对矩阵张量分解研究现状和存在的问题,提出了进一步研究的问题。
©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页