摘要:非负矩阵分解对于多元数据是有用的降维方法。分析两种不同的多元算法对于NMF。他们只是在在更新规则中乘法因子的有轻微的不同。一个算法显示去最小传统最小二乘损失,另一种是最小泛化的KL散度。这两算法的收敛可以使用一个辅助函数来证明收敛,类似于证明EM算法收敛时的辅助函数。算法也可被认为重新调节的梯度下降,其中重新调节因子选择最优来保证收敛。
1 简介:
非监督学习算法例如主成分分析和向量量子化可以被认为是分解数据矩阵,服从不同的约束。取决于约束的使用,结果向量可显示不同代表性的属性。主成分分析只加了一个弱的正交约束,得到一个分布式表达,使用删除(cancellations???)来生成多种变形。另一方面,向量量子化使用一个硬winner-take-all约束,导致将数据集手动聚类到一个独有原型。我们显示非负性是一个很好的约束对于矩阵分解,其可以学习数据的一部分表达。学习的非负基向量被用到分散的,也稀疏的结合中来生成重构中的表达。
2 非负矩阵分解
给定一个非负矩阵V, 找到两个非负矩阵因子W 和H,满足

V≈WH

V\approx WH (1)
给定多元n维数据向量集合,组成成 n×mn\times m的矩阵V 其中m表示是样本个数。这个矩阵近似的被分解成 n×rn\times r矩阵W 和 r×mr\times m矩阵H。经常的r被选定比n或m都要小,以至于W和H比原始V要小。
等式一近似的重要性:它可以由列向量重新写成 v≈Whv\approx Wh其中v和h是V和H中对应的列。换句话说每个向量v使用W的列向量的线性结合来近似,通过h的成分来加权。因此W可以被视为包含对于在V中的数据的最优线性近似的基向量。当相关很少的基向量被用来表达很多数据时,好的近似只能当基向量发现数据中的隐藏结构来实现。
现在我们讨论两种算法对于NMF 基于迭代更新W和H。因为这些算法很简单就能实现并且能保证他们的收敛属性,我们发现在实践应用中也很有用。其他算法可能有用但是很难实现并且可能没有泛化到不同的损失函数。
在我们算法中每轮迭代,W或者H的新值通过乘以当前值和一些取决于等式的近似的质量的因子。我们证明近似的质量单调提升使用这些乘法更新规则的应用。在实践中,这意味着更新规则的重复迭代保证了收敛到一个局部最优的矩阵分解。
3 cost函数
为了去找一个近似的分解 V≈WHV\approx WH,我们首先需要定义损失函数,来量化近似的质量。一个损失函数使用一些两非负矩阵A和B的距离度量函数来构建。一个有用的度量是基于欧氏距离的平方差

||A−B||2=∑ij(Aij−Bij)2

||A-B||^2 = \sum_{ij}(A_{ij}-B_{ij})^2
(2)
下界为0,当A = B时。
另一种有用的度量

D(A||B)=∑ij(AijlogAijBij−Aij+Bij)

D(A||B)=\sum_{ij}(A_{ij}log\frac{A_{ij}}{B_{ij}} - A_{ij} + B_{ij})(3)
像欧式距离,它的下届为0,当A=B时。但它不能称为距离,因为它不是对称的。所以我们称为AB之间的散度。当 ∑ijAij=∑ijBij=1\sum_{ij}A_{ij} = \sum_{ij}B_{ij} = 1时降到KL散度,或者相关熵,以便于A和B可被认为标准化的概率分布。
我们考虑两个可交替的NMF函数作为优化问题:问题1:最小 ||V−WH||2||V-WH||^2 关于W和H,服从于约束 W,H≥0W,H \ge 0.
问题2:最小D(V||WH)关于W和H,服从于约束 W,H≥0W,H \ge 0.
尽管函数 ||V−WH||2||V-WH||^2 和 D(V||WH)D(V||WH) 只对W或者H凸问题,对于两个变量不是同时凸的。因此这不现实去期待算法去解问题1和问题2关于找一个全局解。然而,有很多数值优化的技术能应用到找局部最小值。
梯度下降可能是最简单的技术去实现,但收敛很慢。其他方法例如共轭梯度能更快收敛,至少在局部最小的附近,但更复杂去实现。梯度的收敛也有一些缺点,对于step size选取敏感,对大型应用不方便。
4 乘法更新规则
我们发现下列乘法更新规则是对于速度和实现难易程度的妥协来解决问题1和2。
理论1 欧式距离 |V−WH||V-WH|在下列更新规则中是下降的:
Hαμ←Hαμ(WTV)αμ(WTWH)αμH_{\alpha \mu}\leftarrow H_{\alpha \mu}\frac{(W^TV)_{\alpha \mu}}{(W^TWH)_{\alpha \mu}}

Wiα←Wiα(VHT)iα(WHHT)iα

W_{i\alpha} \leftarrow W_{i\alpha}\frac{(VH^T)_{i\alpha}}{(WHH^T)_{i\alpha}}
当且仅当W和H是在静态点的距离时,欧式距离在这些更新中不变。
理论2:散度D(V||WH)在下列更新规则中下降:

Hαμ←Hαμ∑iWiαViα/(WH)iμ∑kWkα

H_{\alpha \mu}\leftarrow H_{\alpha \mu}\frac{\sum_i W_{i\alpha}V_{i\alpha}/(WH)_{i\mu}}{\sum_k W_{k\alpha}}

Wiα←∑μHαμViμ/(WH)iμ∑vHαv

W_{i\alpha}\leftarrow \frac{\sum_\mu H_{\alpha \mu}V_{i\mu}/(WH)_{i\mu}}{\sum_v H_{\alpha v}}
当且仅当W和H是在静态点的散度时,散度对于更新保持不变。
证明这个等式:目标函数 J=||V−WH||2J = ||V-WH||^2
分别对W和H求导:

∂J∂W=−(V−WH)HT=−VHT+WHHT

\frac{\partial J}{\partial W}=-(V-WH)H^T = -VH^T+WHH^T

∂J∂H=−WT(V−WH)=−WTV+WTWH

\frac{\partial J}{\partial H} = -W^T(V-WH)=-W^TV+W^TWH
使用梯度更新:

Wiu=Wiu−ηiu∂J∂Wiu

W_{iu}=W_{iu}-\eta_{iu} \frac{\partial J}{\partial W_{iu}}
取 ηiu=Wiu(WHHT)iu\eta_{iu} = \frac{W_{iu}}{(WHH^T)_{iu}}, 则

Wiu=Wiu+Wiu(WHHT)iu(VHT−WHHT)=Wiu(VHT)iu(WHHT)iu

W_{iu} = W_{iu}+ \frac{W_{iu}}{(WHH^T)_{iu}}(VH^T-WHH^T)=\frac{W_{iu}(VH^T)_{iu}}{(WHH^T)_{iu}}
同理,取 ηαμ=Hαμ(WTWH)αμ\eta_{\alpha \mu}=\frac{H_{\alpha \mu}}{(W^TWH)_{\alpha \mu}}

论文Algorithms for non-negative matrix Factorization相关推荐

  1. 论文笔记:Probabilistic Matrix Factorization

    一.基本信息 论文题目:<Probabilistic Matrix Factorization> 发表时间:NIPS  2007 论文作者及单位: 论文地址:https://dl.acm. ...

  2. Non-negative Matrix Factorization 非负矩阵分解

    Non-negative Matrix Factorization 非负矩阵分解 Introduction 定义 非负矩阵分解(non-negative matrix factorization),或 ...

  3. Online Collective Matrix Factorization Hashingfor Large-Scale Cross-Media Retrieval(OCMFH)--文献翻译

    论文链接:Online Collective Matrix Factorization Hashing for Large-Scale Cross-Media Retrieval | Proceedi ...

  4. 论文笔记:Matrix Completion in the Unit Hypercube via Structured Matrix Factorization

    2019 IJCAI 0 摘要 复杂任务可以通过将它们映射到矩阵完成(matrix completion)问题来简化.在本文中,我们解决了我们公司面临的一个关键挑战:预测艺术家在电影镜头中渲染视觉效果 ...

  5. 论文笔记:HKMF-T: Recover From Blackouts in TaggedTime Series With Hankel Matrix Factorization

    论文笔记:Hankel Matrix Factorization for Tagged Time Series to Recover Missing Values during Blackouts_U ...

  6. 论文笔记:Hankel Matrix Factorization for Tagged Time Series to Recover Missing Values during Blackouts

    ICDE 2019 0 摘要 在执行时间序列分析时,恢复时间序列中的缺失值至关重要.而本文研究的blackouts问题,即在一定时期内丢失所有数据,是最紧迫和最具挑战性的问题之一.现有的时间序列缺失值 ...

  7. 论文笔记:Temporal Regularized Matrix Factorization forHigh-dimensional Time Series Prediction

    0 摘要 时间序列预测问题在现代应用中变得越来越高维,如气候学和需求预测.例如,在需求预测中,项目数量可能高达50 000个.此外,数据通常是嘈杂的,充满缺失值.因此,现代应用程序需要高度可伸缩的方法 ...

  8. 【论文导读】MATRIX FACTORIZATION TECHNIQUES FOR RECOMMENDER SYSTEMS

    点击上方蓝字"小透明的推荐之路"一起学习吧 MATRIX FACTORIZATION TECHNIQUES FOR RECOMMENDER SYSTEMS 前言(Foreword) ...

  9. Matrix Factorization: A Simple Tutorial and Implementation in Python

    本文转自http://www.quuxlabs.com/blog/2010/09/matrix-factorization-a-simple-tutorial-and-implementation-i ...

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

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

最新文章

  1. centos下搭建网站服务器,Centos7搭建web服务器
  2. 北航成教计算机课程,成教生:从问题学生到北航计算机本科生
  3. springboot导包显示不存在_基础篇:Spring Boot入门体验(图文教程)
  4. 为什么企业开发者要关心Silverlight
  5. C语言输入函数换行符赋给变量B,C语言程序设计第3章顺序结构程序设计.pptx-资源下载在线文库www.lddoc.cn...
  6. python 无头浏览器_Python对Selenium调用浏览器进行封装包括启用无头浏览器,及对应的浏览器配置文件...
  7. (81)什么是原型验证?
  8. 基于SSM实现的在线音乐网站【附源码】(毕设)
  9. vb access mysql数据库教程_VB操作access数据库
  10. Matlab 移动通信原理-扩频通信系统仿真实验(扩频通信系统的多用户数据传输、利用蒙特卡罗仿真方法对扩频增益进行性能仿真)
  11. python程序设计 清华大学出版社 pdf下载-清华大学出版社-图书详情-《Python程序设计教程》...
  12. DevOps 实践指南
  13. 5款网络故障排除软件
  14. matlab 数组中的一个值,MATLAB数组元素引用的三种方法
  15. 一文看懂GPIO口的八种工作原理
  16. 【环境配置】自定义Linux欢迎界面/etc/motd文件
  17. ARM指令寻址方式及RealView MDK开发环境ARM汇编程序实践
  18. vxWorks启动时间
  19. BUU-RSA [RoarCTF2019]babyRSA(威尔逊定理)
  20. android 全键盘手机排行榜,小巧又精悍 3大系统直板全键盘手机搜罗

热门文章

  1. html button 自动提交,html+js表单form验证自动提交的2种提交方式button和
  2. 百科园c语言题库第八章南信大,C语言上机题库百科园第3章!南信大!.doc
  3. python作业案例_作业解析-python bayesian案例
  4. dotnet 找不到控制生成器_真的有自媒体原创文章生成器吗?
  5. Anaconda安装新模块
  6. salesforce 零基础学习(五十一)使用 Salesforce.com SOAP API 实现用户登录以及简单的增删改查(JAVA访问salesforce)...
  7. spring boot 调试 - 热部署
  8. STL —— STL六大组件
  9. MS SQL开发命名规则
  10. 清华大学出品:罚梯度范数提高深度学习模型泛化性