非负矩阵分解 NMF 总结

好难啊,看的头疼。争取十一写出来。

1.非负矩阵分解

假定非负矩阵 X ∈ R d × n X\in R^{d\times n} XRd×n, A ∈ R d × k A\in R^{d\times k} ARd×k, B ∈ R n × k B\in R^{n\times k} BRn×k为矩阵分解后的非负子矩阵,k远小于 d d d n n n.
X + ≈ A + B + T X_+\approx A_+B^T_+ X+A+B+T

  • 降维
    A可以理解为降维后的特征与原始数据之间的关系,B为降维后的数据。
  • 聚类
    A为聚类后每一簇的样本中心点,B为每一个数据的指示矩阵,或者数据的簇划分。
    求解AB的过程常采用最小化代价函数,代价函数常采用误差平方和。
    min ⁡ A ⩾ 0 , B ⩾ 0 ∥ X − A B T ∥ 2 \mathop {\min }\limits_{A \geqslant 0,B \geqslant 0} {\left\| {X - A{B^T}} \right\|^2} A0,B0minXABT2

2.非负矩阵的变形

2.1 Semi-NMF

2.2 Convex-NMF

2.3 Tri-NMF

2.4 Kernel-NMF

3.非负矩阵分解的算法

3.1梯度下降

3.2乘法算法

3.3交替最小二乘法

3.4拟牛顿法
3.5分层分解法

4.正交非负矩阵分解与K-means

目标函数以误差平方和计算:
min ⁡ A ⩾ 0 , B ⩾ 0 ∥ X − A B T ∥ 2 \mathop {\min }\limits_{A \geqslant 0,B \geqslant 0} {\left\| {X - A{B^T}} \right\|^2} A0,B0minXABT2
约束为 B T B = I {B^T}B=I BTB=I
目标函数可以转化为:
在这里插入图片描述
对上式中A求偏导
∂ ∂ A ( X T X − 2 X T A B T + A T A ) = 2 X B + 2 A = 0 \frac{\partial }{{\partial A}}({X^T}X - 2{X^T}A{B^T} + {A^T}A) = 2XB + 2A = 0 A(XTX2XTABT+ATA)=2XB+2A=0
可得: A = X B A = XB A=XB
代入:
min ⁡ T r ( X T X − B T X T X B ) \min Tr({X^T}X - {B^T}{X^T}XB) minTr(XTXBTXTXB)
s . t    B T B = I s.t \; {B^TB=I} s.tBTB=I
K-means目标函数

min ⁡ J k  =  min ⁡ ∑ i = 1 C ∑ j = 1 n i ∥ x j i − μ i ∥ 2  = min ∑ i = 1 C ( ∑ j = 1 n i x j i T x j i − 1 n i ∑ j = 1 n i x j i ∑ j = 1 n i x j i ) \min {J_k}{\text{ = }}\min \sum\limits_{i = 1}^C {\sum\limits_{j = 1}^{{n_i}} {{{\left\| {x_j^i - {\mu ^i}} \right\|}^2}} } {\text{ = min}}\sum\limits_{i = 1}^C {\left( {\sum\limits_{j = 1}^{{n_i}} {x_j^{iT}x_j^i} - \frac{1}{{{n_i}}}\sum\limits_{j = 1}^{{n_i}} {x_j^i} \sum\limits_{j = 1}^{{n_i}} {x_j^i} } \right)} minJk = mini=1Cj=1nixjiμi2 = mini=1C(j=1nixjiTxjini1j=1nixjij=1nixji)
H = { h 1 , h 2 ⋯ h C } H = \{ {h_1},{h_2} \cdots {h_C}\} H={h1,h2hC}
其中,
在这里插入图片描述

非负矩阵分解 NMF 总结_第1张图片
这里需要注意的是K-means中对H的定义不仅是有非负性,还有具体的定义。
而正交非负矩阵分解中只有非负性定义。

5.对称正交非负矩阵分解与Spectral clustering

对称正交非负矩阵:
min ⁡ F T F = I ∥ W − H H T ∥ 2 \mathop {\min} \limits_{F^TF=I} {\left\| {W - H{H^T}} \right\|^{\rm{2}}} FTF=IminWHHT2
上式转化为:
min ⁡ H T H = I , H ≥ 0 T r ( W T W ) − 2 T r ( H T W H ) + T r ( H T H ) \mathop {\min }\limits_{{H^T}H = I,H \ge 0} Tr({W^T}W) - 2Tr({H^T}WH) + Tr({H^T}H) HTH=I,H0minTr(WTW)2Tr(HTWH)+Tr(HTH)
由于 W T W W^TW WTW为常数,且 H T H = I H^TH=I HTH=I,上式可以转化为:
max ⁡ H T H = I T r ( H T W H ) \mathop {\max} \limits_{H^TH=I}Tr(H^TWH) HTH=ImaxTr(HTWH)
谱聚类目标函数:

min ⁡ F T D F = I T r ( F T L F ) = min ⁡ F T D F = I T r [ F T ( D − W ) F ] = max ⁡ F T D F = I T r ( F T W F ) \mathop {\min }\limits_{{F^T}DF = I} Tr({F^T}LF) = \mathop {\min }\limits_{{F^T}DF = I} Tr\left[ {{F^T}(D - W)F} \right] = \mathop {\max }\limits_{{F^T}DF = I} Tr({F^T}WF) FTDF=IminTr(FTLF)=FTDF=IminTr[FT(DW)F]=FTDF=ImaxTr(FTWF)
H = D 1 / 2 F H=D^{1/2}F H=D1/2F,则上式可等价于:
max ⁡ F T D F = I T r ( F T W F ) = max ⁡ H T H = I T r ( H T P H ) \mathop {\max }\limits_{{F^T}DF = I} Tr({F^T}WF)=\mathop{\max}\limits_{{H^T}H=I}Tr(H^TPH) FTDF=ImaxTr(FTWF)=HTH=ImaxTr(HTPH)
其中, P = D − 1 / 2 W D − 1 / 2 P=D^{-1/2}WD^{-1/2} P=D1/2WD1/2

你可能感兴趣的:(聚类,非负矩阵分解,k-means,谱聚类,spectral,clustering)