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

1.非负矩阵分解

假定非负矩阵X∈Rd×nX\in R^{d\times n}X∈Rd×n,A∈Rd×kA\in R^{d\times k}A∈Rd×k,B∈Rn×kB\in R^{n\times k}B∈Rn×k为矩阵分解后的非负子矩阵,k远小于ddd和nnn.
X+≈A+B+TX_+\approx A_+B^T_+X+​≈A+​B+T​

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

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−ABT∥2\mathop {\min }\limits_{A \geqslant 0,B \geqslant 0} {\left\| {X - A{B^T}} \right\|^2}A⩾0,B⩾0min​∥∥​X−ABT∥∥​2
约束为BTB=I{B^T}B=IBTB=I
目标函数可以转化为:

对上式中A求偏导
∂∂A(XTX−2XTABT+ATA)=2XB+2A=0\frac{\partial }{{\partial A}}({X^T}X - 2{X^T}A{B^T} + {A^T}A) = 2XB + 2A = 0∂A∂​(XTX−2XTABT+ATA)=2XB+2A=0
可得:A=XBA = XBA=XB
代入:
min⁡Tr(XTX−BTXTXB)\min Tr({X^T}X - {B^T}{X^T}XB)minTr(XTX−BTXTXB)
s.tBTB=Is.t \; {B^TB=I}s.tBTB=I
K-means目标函数

min⁡Jk= min⁡∑i=1C∑j=1ni∥xji−μi∥2= min∑i=1C(∑j=1nixjiTxji−1ni∑j=1nixji∑j=1nixji)\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=1∑C​j=1∑ni​​∥∥​xji​−μi∥∥​2 = mini=1∑C​(j=1∑ni​​xjiT​xji​−ni​1​j=1∑ni​​xji​j=1∑ni​​xji​)
令H={h1,h2⋯hC}H = \{ {h_1},{h_2} \cdots {h_C}\} H={h1​,h2​⋯hC​}
其中,


这里需要注意的是K-means中对H的定义不仅是有非负性,还有具体的定义。
而正交非负矩阵分解中只有非负性定义。

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

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

min⁡FTDF=ITr(FTLF)=min⁡FTDF=ITr[FT(D−W)F]=max⁡FTDF=ITr(FTWF)\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=Imin​Tr(FTLF)=FTDF=Imin​Tr[FT(D−W)F]=FTDF=Imax​Tr(FTWF)
令H=D1/2FH=D^{1/2}FH=D1/2F,则上式可等价于:
max⁡FTDF=ITr(FTWF)=max⁡HTH=ITr(HTPH)\mathop {\max }\limits_{{F^T}DF = I} Tr({F^T}WF)=\mathop{\max}\limits_{{H^T}H=I}Tr(H^TPH) FTDF=Imax​Tr(FTWF)=HTH=Imax​Tr(HTPH)
其中,P=D−1/2WD−1/2P=D^{-1/2}WD^{-1/2}P=D−1/2WD−1/2

非负矩阵分解 NMF 总结相关推荐

  1. 文本主题模型之非负矩阵分解(NMF)

    1. 非负矩阵分解(NMF)概述 非负矩阵分解(non-negative matrix factorization,以下简称NMF)是一种非常常用的矩阵分解方法,它可以适用于很多领域,比如图像特征识别 ...

  2. 【机器学习】(十七)非负矩阵分解NMF:人脸图像特征提取、用特征排序;还原混合信号

    非负矩阵分解(NMF)是一种无监督学习算法,目的在于提取有用的特征(可以识别出组合成数据的原始分量),也可以用于降维,通常不用于对数据进行重建或者编码. 与PCA相同,NMF将每个数据点写成一些分量的 ...

  3. 非负矩阵分解NMF(1): 非调包python实现

    文章目录 1. 矩阵分解(Matrix Factorization): 1.1 公式推导 1.2 代码实现 1.3 在图像数据下的效果 2. 非负矩阵分解(Non-negative Matrix Fa ...

  4. 详解非负矩阵分解(NMF)及其在脑科学中的应用

    非负矩阵分解及其在脑科学中的应用 基本原理 确定最优因子数量 代码实现 非负矩阵分解与主成分分析的区别 非负矩阵分解在脑科学中的应用 应用一:神经发育模式:T2w/T1w比值映射的非负矩阵分解(NMF ...

  5. 推荐算法——非负矩阵分解(NMF)

    1. 矩阵分解回顾 在博文推荐算法--基于矩阵分解的推荐算法中,提到了将用户-商品矩阵进行分解,从而实现对未打分项进行打分.矩阵分解是指将一个矩阵分解成两个或者多个矩阵的乘积.对于上述的用户-商品矩阵 ...

  6. 机器学习笔记:非负矩阵分解问题 NMF

    1 NMF介绍 NMF(Non-negative matrix factorization),即对于任意给定的一个非负矩阵V,其能够寻找到一个非负矩阵W和一个非负矩阵H,满足条件V=W*H,从而将一个 ...

  7. Non-Negative Matrix Factorization 非负矩阵分解(NMF)

    Non-Negative Matrix Factorization 非负矩阵分解(NMF) 简介及基本思想 1999年由D.D.Lee和H.S.Seung提出的新的矩阵分解思想,在矩阵中所有元素均为非 ...

  8. 推荐系统笔记:基于非负矩阵分解的协同过滤

    1 非负矩阵分解 非负矩阵分解 (NMF) 可用于非负的评级矩阵. 这种方法的主要优势不一定是准确性,而是它在理解用户-项目交互方面提供的高度可解释性. 与其他形式的矩阵分解的主要区别在于因子 U 和 ...

  9. 大数据聚类分析用于预测_多模态数据中的非负矩阵分解用于分割和标签预测

    引用 Akata Z, Thurau C, Bauckhage C. Non-negative matrix factorization in multimodality data for segme ...

  10. python-非负矩阵分解-NMF

    非负矩阵分解 非负矩阵分解是矩阵中所有元素均为非负数约束条件下的矩阵分解,其基本思想:给定一个非负矩阵V,NMF能够找到一个非负矩阵W和一个非负矩阵H,使得矩阵W和矩阵H的乘积近似等于矩阵V中的值. ...

最新文章

  1. 一款java代码生成器(我受够了加班),走起!
  2. mongodb中分页显示数据集的学习
  3. java quartz timer_Java定时器Quartz和Timer
  4. InputStream中通过mark和reset方法重复利用缓存
  5. 前端学习(2640):懂代码之登录页login.vue存入用户信息
  6. error: numpy/arrayobject.h No such file or directory解决方法
  7. Vue3学习之第二节:ref函数、reactive函数
  8. sql 创建存储过程
  9. 张家口地区某一级公路设计--河北建筑工程学院
  10. 使用DevKit开发插件
  11. 妖怪,看法宝-看反射的“照妖镜”如何让类原形毕露
  12. 双11快速拉新促活,容联云智能客服助力商家提升GMV
  13. GDI+绘图轻松入门[5]-绘图坐标的理解和应用
  14. python 发送邮件
  15. Unity游戏存档-PlayerPrefs类
  16. linux更改patrol密码,Linux常用的文件管理命令及用户管理命令
  17. C++求1000以内的完数
  18. html页面自动关闭代码,Javascript 实现倒计时(10秒)自动关闭网页
  19. 【中国各省级行政单位编码及缩写】
  20. 检测计量与计算机技术,测试计量技术及仪器

热门文章

  1. 管道爬行机器人内部陀螺仪_管道爬行机器人组成部分
  2. 机器学习教程之4-正则化(Regularization)
  3. java pos58打印_POS58票据热敏打印机,怎么用ESC/POS命令控制打印
  4. 鼠标测试软件m,罗技M525鼠标使用测试_罗技 M525鼠标_键鼠评测-中关村在线
  5. Java实战之管家婆记账系统(19)——报告界面及功能实现
  6. linux服务器删除weblogic,linux weblogic安装和卸载
  7. Java音频格式转换,支持amr、aud、slk、silk转成mp3
  8. 产业互联网周报:中国移动:择时分拆业务上市;金山云CEO王育林辞职;谷歌负面缠身,数据中心爆炸又遭罚款...
  9. vbm 分析_vbm分析 | Forum of resting-state fMRI
  10. ftp常用命令使用方法