zoukankan      html  css  js  c++  java
  • 与非负矩阵分解(NMF)相关的数学公式及方法

    本文主要是针对疾病基因预测方向,非负矩阵分解的应用

    1. 目标函数:

    1. 非负矩阵分解(NMF)

     Y是miRNA与disease的关系, U代表了所有miRNA的特征, V代表了所有disease的特征, 将Y分解为U和V

    最小化这个公式,将通过已知的Y得到两个非负矩阵U和V

    2. 加Graph regularization的NMF(根据manifold learning 和 spectral grapg theories)

    主要根据是:如果两个miRNA非常相似,也就是Sij很大, 那么他们在映射后的特征ui 和 uj 还是很相似。这部分主要是为了保证miRNA和disease的特征中相对位置没有改变,如固有的几何结构。

    3. 确保特征矩阵U和V的平滑(Tikhonov ( L 2 ) regularization to ensure U and V smoothness)

    防止一行特征中只有少数几个值分散开这种情况,例如[0,0,1,0,0,0,0],我们要尽可能得到一个稀疏的每一维都有意义的特征

    在非负矩阵分解的情况下,当特征值越分散的时候,二范数的值越小

    最终的objective function 是:

    2. 解这个目标函数用到的相关数学知识:

    矩阵迹 Tr(A) 的相关知识:

    (1)设有N阶矩阵A,那么矩阵A的迹(用 Tr(A) 表示)就等于A的特征值的总和,也即矩阵A的主对角线元素的总和。

    1.迹是所有对角元的和
    2.迹是所有特征值的和
    3.某些时候也利用tr(AB)=tr(BA)来求迹,  t r ( A B C ) = t r ( B C A ) = t r ( C A B ) tr(ABC)=tr(BCA)=tr(CAB)tr(ABC)=tr(BCA)=tr(CAB) 循环性
    4.trace(mA+nB)=m trace(A)+n trace(B)
    5. 若 A AA 与 B BB 相似,则 t r ( A ) = t r ( B ) tr(A)=tr(B)tr(A)=tr(B),因为 t r ( A ) = t r ( P B P − ) = t r ( P P − B ) = t r ( B ) tr(A)=tr(PBP^{-})=tr(PP^-B)=tr(B)tr(A)=tr(PBP)=tr(PPB)=tr(B)

    (2)奇异值分解(Singular value decomposition )
    奇异值分解非常有用,对于矩阵A(p*q),存在U(p*p),V(q*q),B(p*q)(由对角阵与增广行或列组成),满足A = U*B*V
    U和V中分别是A的奇异向量,而B是A的奇异值。AA'的特征向量组成U,特征值组成B'B,A'A的特征向量组成V,特征值(与AA'相同)组成BB'。因此,奇异值分解和特征值问题紧密联系。
    如果A是复矩阵,B中的奇异值仍然是实数。
    SVD提供了一些关于A的信息,例如非零奇异值的数目(B的阶数)和A的阶数相同,一旦阶数确定,那么U的前k列构成了A的列向量空间的正交基。
     
    (3)在数值分析中,由于数值计算误差,测量误差,噪声以及病态矩阵,零奇异值通常显示为很小的数目。
     
    其他关于矩阵的知识点:
     

    如果矩阵M是对称的,那么即使矩阵H不对称, H*M*HT 仍然是对称的。

    3. 推导所求的参数的更新
    对于graph regulatization 部分
    然后objective funtion变成:

     

     

     

    根据KTT condation, 得到下面更新公式:

     


  • 相关阅读:
    [ZJOI2011]营救皮卡丘
    TJOI2018Party
    HEOI2013SAO
    [BJOI2017]树的难题
    [HNOI2016]序列
    [SHOI2007]善意的投票
    CF802C Heidi and Library (hard)
    SPOJ DIVCNT2
    LOJ子序列
    BZOJ2882工艺
  • 原文地址:https://www.cnblogs.com/xinyuePhd/p/13705191.html
Copyright © 2011-2022 走看看