非负矩阵分解算法概述之Lee&Seung的世界
非负矩阵分解
非负矩阵分解一、概述著名的科学杂志《Nature》于1999年刊登了两位科学家D.D.Lee和H.S.Seung对数学中非负矩阵研究的突出成果。
该文提出了一种新的矩阵分解思想——非负矩阵分解(Non-negative Matrix Factorization,NMF)算法,即NMF是在矩阵中所有元素均为非负数约束条件之下的矩阵分解方法。
在科学文献中,讨论利用矩阵分解来解决实际问题的分析方法很多,如PCA(主成分分析)、ICA(独立成分分析)、SVD(奇异值分解)、VQ(矢量量化)等。
在所有这些方法中,原始的大矩阵V被近似分解为低秩的V=WH形式。
这些方法的共同特点是,因子W和H中的元素可为正或负,即使输入的初始矩阵元素是全正的,传统的秩削减算法也不能保证原始数据的非负性。
在数学上,从计算的观点看,分解结果中存在负值是正确的,但负值元素在实际问题中往往是没有意义的。
例如图像数据中不可能有负值的像素点;在文档统计中,负值也是无法解释的。
因此,探索矩阵的非负分解方法一直是很有意义的研究问题,正是如此,Lee和Seung两位科学家的NMF方法才得到人们的如此关注。
NMF的目标是要自动找到特征矩阵和权重矩阵。
也可将其看作是矩阵的乘法。
如矩阵A=[ 29 29; 43 33 ; 15 25; 40 28; 24 11; 29 29;37 23;21 6]; 可分解为如下形式:二、原理2.1 标准NMF对于非负矩阵分解,早期的研究方法采用传统的梯度下降方法和加性迭代规则,对于负值要强制为。
在文献[51]中考虑的是高斯噪声的模型,由此得到目标函数为欧几里德距离,其目标函数为:相应的迭代规则为:选择好;的值,配置矩阵牙和H的初始值进行迭代,文献[52]中提到了3种初始化W和H的方法。
在Lee给出的算法中,矩阵w和H的初始值可以是任意的,此迭代方法的收敛性的证明可参见文献「53]。
Donoh。
等人[54〕用几何学的方法来对NMF收敛性进行了解释。
数据降维-NMF非负矩阵分解
数据降维-NMF⾮负矩阵分解1.什么是⾮负矩阵分解?NMF的基本思想可以简单描述为:对于任意给定的⼀个⾮负矩阵V,NMF算法能够寻找到⼀个⾮负矩阵W和⼀个⾮负矩阵H,使得满⾜,从⽽将⼀个⾮负的矩阵分解为左右两个⾮负矩阵的乘积。
如下图所⽰,其中要求分解后的矩阵H和W都必须是⾮负矩阵。
分解前后可理解为:原始矩阵的列向量是对左矩阵中所有列向量的加权和,⽽权重系数就是右矩阵对应列向量的元素,故称为基矩阵,为系数矩阵。
⼀般情况下的选择要⽐⼩,即满⾜,这时⽤系数矩阵代替原始矩阵,就可以实现对原始矩阵进⾏降维,得到数据特征的降维矩阵,从⽽减少存储空间,减少计算机资源。
2.⾮负矩阵分解⼀个⽰例解释通过图1中的⾯部特征提取例⼦可领略NMF处理数据的⽅式。
最左边的⼤矩阵由⼀系列的⼩图组成,这些⼩图是分析数据库中包含的2429个脸部图像的结果,每幅图像由19×19个像素组成。
传统⽅法中这样的⼩图是⼀幅完整的⼈脸图像,但是在NMF⽅法中,每个⼩图是通过⼀组基图像乘以⼀个权重矩阵⽽产⽣的⾯部特征图,经过这样处理的每幅⼩图像恰好表⽰了诸如“⿐⼦”、“嘴巴”、“眼睛”等⼈脸局部概念特征,这便⼤⼤压缩了存放的图像数据量。
左边的⼤矩阵由每幅⼩图像的19列⼀起组成矩阵的⼀列,那样它就是19×19=361⾏,2429列。
这个例⼦中,NMF⽅法⽤基图像来代表眼、眉⽑、⿐⼦、嘴、⽿朵、胡⼦等,它们⼀起组成了数据库中的脸。
这样给⼈最先的直觉就是它很好地压缩了数据。
事实上Lee和Seung在他们的论⽂中更深⼊地指出,与⼈类识别事物的过程相似,NMF也是⼀种优化的机制,近似于我们的脑分析和存储⼈脸数据的过程。
这个例⼦中,原图像表⽰这些局部特征的加权组合,这与⼈类思维中“局部构成整体”的概念是相吻合的。
因此,NMF算法似乎体现了⼀种智能⾏为。
3.⾮负矩阵分解NMF的应⽤(1)图像分析 NMF最成功的⼀类应⽤是在图像的分析和处理领域(2)⽂本聚类,数据挖掘(3)语⾳处理(4)机器⼈控制(5)⽣物医药⼯程和化学⼯程。
非负矩阵分解算法概述之Lee
,使之满足上面的等式,其中具有初始值(就是我们设计的一堆东西。
如果我们让固定,这就是一个方程求解的过程。然而,当我们认为也可以缩减,即认为很少样本就足够表示我们真实取得的样本,那么问题进一步转化为:
Q2:如何同时求解和
,使之满足。
或者我们也可以只对因素矩阵进行分解,即直接对其进行消减:
图1 Lee和Seung的经典文献中所使用的NMF说明图【1】
上图为NMF对人脸图像的分解结果,可见每一个子图都是人脸的某个局部;下左图为VQ分解结果,每一个子图就是某个原始样本;右下图为PCA分解结果,子图由特征脸和各级误差脸组成
据说,据Lee&Seung说, NMF由于在分解过程中做了非负限制,得到的结果会像图3上一样,每个子图(类似于基是全图的一部分,这显然有别于我们往常所用的分解,并且更符合于人类直观视觉过程“局部组成整体”。
(2是什么因素影响了学生的最终选择?或者说,从统计上来看,每个因素占多大比重?
这时,用矩阵来表示可写为,
其中就表示那个因素矩阵,表示最终取向,代表我们要求的系数。我们把要求的用代替,写成矩阵形式为:
(1更进一步,如果我们不仅调查学生的去向,还想同时调查很多事情,那么就会有
,这样上面的式子改写为:
(2此时问题转化为:
(3其中,为消减后因素矩阵,为在基底下的表示系数,这里要求列数要大大低于的列数,否则就没有实际意义。
上面这个过程,就类似Paatero&Tapper于1994年提出的实矩阵分解(Positive Matrix Factorization, PMF模型,此模型后来被Lee&Seung提出的非负矩阵分解(Nonnegative Matrix Factorization, NMF/NNMF模型所取代。
非负矩阵分解法介绍
報告者:李建德
大綱
簡介 非負矩陣分解法 演算法步驟 NMF訓練-以圖像為例
2
簡介
Bell Laboratory的D.D. Lee與Massachusetts Institute of Technology的H.S. Seung所發展出來 找出表面事物中所隱藏的特徵 以局部特徵的方式去辨識物體 非負元素值的限制條件
3
非負矩陣分解法
非負矩陣表示法:
[V ]nm [W ]nr [ H ]rm
其中參數r有(n+m)r<nm之限制
[V]為受測樣本群所組成的,其中m為受測樣本集合的樣本數,n為樣本特徵維度 [W]是由受測樣本的基底特徵所組成 [H]代表 [W]對應到[H]的特徵組合比例
4
演算法步驟
決定r值
灰階影像資料
8
NMF訓練-以圖像為例
NMF
9
NMF訓練-以圖像為例
某一樣本對應之 特徵參數 NMF基底影像
重建影像
原始影像
10
應用混音
單一通道混音分離之流程圖
11
將訓練樣 本置入[V]
[W][H]初 始化
[W]行向量 正規化
更新[W][H]
MSE=0或 收斂則停止 疊代
5
演算法步驟
W更新:H更新:6NMF訓練-以圖像為例
145 105 213
94 213 94
224 156 103
145
94
224
105
213
156
213
94
103
7
NMF訓練-以圖像為例
非负矩阵分解算法综述
E U W#iHij . i= 1 此外, BNMF 常被有盲信号 分离背景 的学者 解释为
含噪声项的产生式模型: V= WH+ E[10] , E 是 M @N 的 噪声矩阵. 不同的 BNMF 算法也常可被解释为 遵循了不 同的 E分布假设下的最大似然算法.
根据需要, 可给上述模型 中的 W和 H 施加 更多的 限制, 构成 INMF.
2 NMF 简介
定义 对一个 M 维的随机向量 v 进行了 N 次的观 测, 记这些 观测 为 vj , j = 1, 2, , , N , 取 V= [ V#1, V#2, , , V#N ] , 其中 V#j = vj, j = 1, 2, , , N, BNMF 要求发现非 负的 M @L 的基矩阵 W= [ W#1, W#2, , , W#N ] 和 L @N 的系数矩阵 H = [ H#1, H#2, , , H#N ] , 使 V U WH[1] , 这 也可 以 用 向 量 标 量 积 的 形 式 更 为 直 观 地 表 示 为 V#j
Ke y words: non2negative matrix factorization; multivariate data representation; feature extraction
1 引言
在信号处理、神经网络、模式识别、计算机视觉和图 象工程的研究中, 如何构造一个能使多维观测数据被更 好描述的变换方法始终是 一个非 常重要 的问 题. 通常, 一个好的变换方法应具备 两个基 本的特 性: ( 1) 可 使数 据的某种潜在结构变得清晰; ( 2) 能使数据的 维数得到 一定程度的约减.
主分量分析、线 性鉴别 分析、投影寻 踪、因 子分析、
冗余归约和独立分量分析是一些最常用的变换方法. 它 们因被施加的限制不同而有着本质的区别, 然而, 它们 有两个共同 的特 点: ( 1) 允 许负的 分解量 存在 ( 允 许有 减性的描述) ; ( 2) 实现线性的维数约减. 区别于它们, 一 种新 的变 换方 法 ) ) ) 非负 矩 阵分 解( Nonnegative Matrix Factor, NMF) [1]由 Lee 和 Seung 在5Nature6 上提出, 它使分 解后的所有分量均为非负值(要求纯加性的描述) , 并且 同时实现非 线性 的维 数 约减. NMF 的 心理 学和 生 理学 构造依据是对整体 的感知 由对组成 整体的 部分的 感知 构成的( 纯 加性的 ) [2~ 6], 这也 符合直 观的理 解: 整 体是 由部分组成的[1], 因此它在某种意义上抓住了智能数据 描述的本质. 此外, 这 种非负 性的限 制导致 了相应 描述 在一定程度上的稀疏性[1], 稀疏性的表述已被证明是介 于完全分布式的描 述和单 一活跃 分量 的描述 3 间 的一
非奇异矩阵分解算法综述
2、NMF 概念和性质
定义:对一个M维的随机向量x进行了N次的观测,记这些观测为xj,j=1,2,„, N,取观测数据矩阵为X=[x1,x2,„xn]∈IR>=0 2,„ul]
MxN
=0
MxN
,NMF旨在寻找X的基矩阵U=[u1,u
MxN
Mxl
>=0和非负系数L*N矩阵V=[源自1,v2,„vn] ∈IR>=0
附加在数据成分矩阵上的基于不同数据统计模型的约束条件和算法的底层结构 两方面的不同。然而,它们的共同点在于对因式分解后的矩阵元素特征标识没有 约束条件。换句话来说,它们允许负的分解量存在 (允许有减性的描述),并且 能实现线性的维数约减。区别于它们的,一种新的变换方法 ———非负矩阵分 解(Nonnegative Matrix Factor ,NMF),它包含有非负的约束从而部分、局部 的特征表征以及加强了相应问题的可解释性,是由 Paatero 和 Tapper 联合 Lee 和 Seung 在《Nature》上提出的。 事实上,NMF 的概念在很久以前用作为化学计量学中的“自我建模曲线分辨 率”,表明向量是连续曲线而不是离散向量的。NMF 起初被 Paatero 和 Tapper 介绍过来时使用的是正数矩阵分解的称号,注重于通过复杂的算法的实现使用 到一项专门的应用中。其中表现出来的缺陷限制了相关理论(例如算法的收敛 性、解决方案的特性)和算法之于其他应用方向的一般化的发展。所幸的是, NMF 理念因为 Lee 和 Seung 他们所做的研究工作---更为简单有效的算法和对 其局部特征表征的潜在价值的着重强调而变得越来越流行。 远超过了数学领域的探究范围,尝试为表征对象的各个部分特征提供可行算 法模型的 NMF 理论中蕴含着近似于感知机制的哲学理念,局部表征的概念看起 来很直观,但它确实是生理学和心理学案例---对整体的感知由对组成整体的部 分的感知构成的(纯加性的)的解释基础,是电脑计算对象识别问题的核心理念 之一。事实上,NMF 包含有两个互补的内涵---非负成分和纯加性。一方面,负 的成分在真实世界的数据中观测数据和潜在数据(比如影像、光谱和基因数据、 实际问题分析数据)中在物理上毫无意义,同时,现有的对象原型通常用特定 的语义进行阐述,例如在脸部识别中,其所基于的图像区域是局部的(像是脸 的局部特征,眼睛、鼻子、嘴和脸颊等)而并非是整体的。另一方面,感兴趣 对象一般通过它的对其局部特征的详细属性目录和专属附加特性进行描述识别, 有了上述两项便可以对对象进行重建就像是通过拼图辨认嫌疑犯一样。正是由 于上述特点,NMF 在实际场景任务应用中取得了巨大的成功,在文本聚类算法 中,NMF 不仅在精度改进方面也在潜在语义识别方面均超越了经典的聚类方法, 如光谱聚类。 除此之外,非负约束在某种程度上会自然而然导致稀疏性,稀疏性的表述已 被证明是介于完全分布式的描述和单一活跃分量的描述间的一种有效数据描述
非负矩阵分解算法在推荐系统中的应用
非负矩阵分解算法在推荐系统中的应用随着互联网飞速发展, 推荐系统已经成为了人们信息获取和购买习惯调整的重要方式之一。
而推荐算法也成为了推荐系统中的重要组成部分。
从最早的基于词频统计的分析算法到后来的协同过滤算法,推荐算法一直在不断改进,以期提高推荐系统的精度和效率。
近年来,非负矩阵分解算法(NMF)被引入到推荐系统中,成为了一种新的推荐算法,并且在一些领域中已经取得了很好的效果。
一、什么是非负矩阵分解算法?非负矩阵分解算法在2001年由Lee和Seung提出,也称为NMF算法。
它是一种在推荐系统中非常有用的算法,可以方便地推断出用户对物品的偏好。
简单来说,就是将一个原始的矩阵分解成两个非负的矩阵,一个是用户矩阵,另外一个是物品矩阵,并通过计算它们的积,可以预测用户之前没有评价过的物品。
NMF算法在推荐系统中的一个优势是它可以解决“数据稀疏”问题。
在推荐系统中,一个用户可能只对很少的几个物品进行了评价,这就导致了大部分的元素都是空值。
NMF算法通过矩阵分解,可以填充空间,并预测用户对新的物品的偏好,提高推荐的准确度。
因此,NMF算法被广泛应用在社交网络推荐、电影和音乐推荐、商品推荐等。
二、NMF算法在推荐系统中的优势除了可以解决数据稀疏的问题,NMF算法在推荐系统中有许多其他的优势。
1. 预测准确度高在很多情况下,NMF算法的预测准确度比传统的推荐算法更高。
这是因为它能够抽象出更多的特征,并用这些特征来更好地描述用户的偏好,从而提高预测的准确度。
2. 模型可解释性强NMF算法中的用户矩阵和物品矩阵都只包含非负值,这意味着它们都有一个自然的物理解释。
例如,在一个用户矩阵中,每一行都代表该用户对不同特征的偏好评分,如“音乐”、“体育”、“电影”等。
同样地,在一个物品矩阵中,每一列代表该物品各个特征的分值。
这种解释性强的模型可以让我们更好地观察用户和物品之间的关系,并更好地解释预测结果。
3. 算法参数少NMF算法的参数相对较少,只有两个矩阵需要分解,因此实现过程会更加简单,运算速度更快,这对于大规模的推荐系统来说尤其重要。
多通道非负矩阵分解_概述及解释说明
多通道非负矩阵分解概述及解释说明1. 引言1.1 概述:本文旨在介绍多通道非负矩阵分解(Multiple Channel Nonnegative Matrix Factorization)的基本原理、应用领域以及算法优势。
非负矩阵分解作为一种重要的数据降维和特征提取方法,已经被广泛应用于图像处理、语音识别、推荐系统等领域。
多通道非负矩阵分解则是对传统单通道非负矩阵分解进行拓展,能够更好地处理多模态或多源数据。
1.2 文章结构:本文共分为五个部分:引言、多通道非负矩阵分解、解释说明一、解释说明二以及结论与展望。
引言部分主要介绍本文的背景和目的,同时概述了接下来各个章节的内容安排。
多通道非负矩阵分解部分将详细探讨该方法的基本原理、应用领域和算法优势。
解释说明一和解释说明二部分将介绍两种具体的方法,并对其进行实验结果的分析以及相关案例的讨论。
最后,在结论与展望中对全文进行总结,并提出未来可能的研究方向。
1.3 目的:本文旨在向读者介绍多通道非负矩阵分解方法及其在数据处理中的应用。
通过对多通道非负矩阵分解的详细讲解和实例说明,读者将能够全面了解该方法的基本原理、适用范围以及实际效果。
同时,通过对比多种方法在实验中的表现和相关案例的讨论,读者还可以深入了解不同情况下选择不同方法可能带来的影响和优势。
最终,我们希望本文能够为相关领域的研究者提供有价值的参考,同时激发更多关于多通道非负矩阵分解方法的深入探索。
2. 多通道非负矩阵分解2.1 基本原理多通道非负矩阵分解是一种常用的数据降维和特征提取方法。
其基本原理是将一个高维度的数据矩阵分解为两个低维度的非负矩阵的乘积,其中一个矩阵具有原始数据的结构信息,而另一个矩阵包含了数据的隐含特征。
在多通道非负矩阵分解中,我们假设原始数据包含多个通道或属性。
每个通道可以代表不同的数据来源或者不同方面的特征。
通过对这些通道进行分离和抽取其中重要的特征,并且将这些特征进行融合,可以提高对原始数据的理解和表示能力。
非负矩阵分解_1
拉普拉斯分布
局部非负矩阵分解
拉普拉斯分布误差 Error_LPLS = 2.071*10*3 局部非负矩阵分解误差 Error_LNMF = 2.040*10^3 返回
五、非负稀疏编码(NNSC)
迭代次数r=n/2,最大迭代次数maxiter=100时,特别地,由于使用加性迭代,迭 式子中出现η和λ常量, 现取η, λ =0.001和0.0001,效果对比如下:
如果令
Ckj Bik , kj ( BCCT )ik ( BT BC) kj 加性迭代就成为了乘性迭代规则:
ik
( B X ) kj ( XC )ik Bik Bik , Ckj Ckj T T ( BCC )ik ( B BC) kj
T
T
式子中的k即为分解矩阵中的r,显然r值越大分解 效果越好但同时也就是失去了我们降维的初衷。 但降的维数又不能太小,否则会失去样本本来的 一些特性。同时根据迭代特性,迭代次数越多分 解越精确。 下面我们来看下效果对比。 其中误差是指 Error = X – BC;
ij
现令
p( X B, C ) p( X ij B, C )
则最大似然函数解是最小化如下的损失函数:
L(B, C)
令
1 2 2 [ X ( BC ) ] ij ij ij log( 2 ij ) 2 ij ij
ij 1
并忽略因子1/2和常数项
log(
j
Ckj Ckj kj [ Bik
i
Bik ]
i
设置
Ckj 得到乘性迭代规则: Bik ik , kj Ckj Bik
j i
Bik Bik C kj C kj
scikit 非负矩阵分解原理
Scikit-learn是一个用于机器学习的Python库,其中包含了许多常用的机器学习算法和工具。
其中之一就是非负矩阵分解(Non-negative Matrix Factorization,NMF)。
非负矩阵分解是一种矩阵分解技术,它将一个非负矩阵分解为两个非负矩阵的乘积。
这种分解可以用于特征提取、数据降维和模式识别等任务。
NMF的原理是基于以下假设:1. 原始矩阵中的元素都是非负的。
2. 原始矩阵可以由两个非负矩阵的乘积表示。
给定一个非负矩阵V,NMF的目标是找到两个非负矩阵W和H,使得它们的乘积WH近似等于原始矩阵V。
其中,W是一个m×r的矩阵,H是一个r×n的矩阵,r是一个用户指定的参数,表示分解后的矩阵的秩。
NMF的求解过程可以通过迭代算法来实现,其中最常用的算法是乘法更新规则(Multiplicative Update Rule)。
该算法通过迭代更新W和H的值,直到达到收敛条件。
具体而言,乘法更新规则的迭代步骤如下:1. 初始化W和H为随机非负矩阵。
2. 重复以下步骤直到达到收敛条件:-更新W:W = W * (VH^T) / (WHH^T)-更新H:H = H * (W^TV) / (W^TWH)在每次迭代中,乘法更新规则通过最小化原始矩阵V和近似矩阵WH之间的差异来更新W和H的值。
这个差异可以使用不同的损失函数来衡量,常见的有欧几里得距离和KL散度。
总结起来,非负矩阵分解是一种将非负矩阵分解为两个非负矩阵的乘积的技术。
它可以用于特征提取、数据降维和模式识别等任务。
Scikit-learn中的NMF模块提供了实现NMF的工具和算法。
非负矩阵分解的基本原理和研究现状分析
非负矩阵分解的基本原理和研究现状分析摘要:阐述了非负矩阵分解的基本原理、实现方法及其改进,分析了非负矩阵分解当前研究现状和热点,指出了进一步研究方向。
关键词:非负矩阵分解约束优化PCA SVD非负矩阵分解(Non-negative Matrix Factorization,简记为NMF)是由Lee和Seung在著名的《Nature》杂志上提出的一种新的矩阵分析方法[1],其起源可以追溯到Paatero等人的研究工作。
随着计算机和信息技术的发展,矩阵分解成为处理大规模数据的一种有效手段。
传统的矩阵分解工具,例如PCA(Principal Component Analysis)和SVD等,分解的结果常常含有负值,而负元素在实际问题中往往没有合理的物理解释。
NMF强制分解过程以及最终结果的矩阵中所有元素均为非负,是一种更加自然的对象的表达方法,所以具有广泛的应用前景,目前还存在许多富有挑战性的问题需要研究。
1 非负矩阵分解的基本原理和实现算法2 非负矩阵分解研究现状分析以Lee和Seung提出的NMF算法为基础,发展了NMF的很多变体以提高算法性能。
为了说话方便,不妨把Lee和Seung提出的算法称为基本NMF算法。
NMF产生的矩阵和具有一定程度上的稀疏性,减少了数据冗余。
这是NMF技术的最重要特点之一,但是基本的NMF算法产生的稀疏程度并不能满足某些应用的需要,例如稀疏编码,于是给目标函数中增加稀疏限制项构成了一大类改进的NMF算法。
NMF 分解的结果中没有原始数据的任何类别信息和内部结构信息,当把NMF应用于分类或者查询时就成为该技术的一个明显缺陷,因此,在目标函数中加入鉴别信息项或者把NMF与能够找出数据内在结构的技术相结合,从而达到改进算法性能的目的,成为NMF技术研究的又一个分支。
加权是NMF算法的又一类改进,加权可以使数据中的重要区域被更好地描述。
NMF基本算法及其绝大多数改进的算法中,矩阵和的初始值都是取作非负的随机值。
非负矩阵分解算法的发展与应用
非负矩阵分解算法的发展与应用第一章:引言1.1 背景介绍:矩阵分解在数据分析领域得到广泛使用,非负矩阵分解是一种特殊的矩阵分解方法,其可以将原始矩阵分解为非负的低秩矩阵乘积,具有较好的可解释性和适用性。
1.2 研究意义:非负矩阵分解在图像处理、文本挖掘、推荐系统等方面的应用都取得了显著的成果,因此有必要对其发展和应用进行深入研究。
1.3 研究目的:本文旨在系统地介绍非负矩阵分解算法的发展与应用,为相关领域的研究人员提供参考。
第二章:非负矩阵分解算法的基本原理2.1 矩阵分解方法概述:介绍矩阵分解作为一种常用的数据分析方法,包括主成分分析(PCA)、奇异值分解(SVD)等。
2.2 非负矩阵分解原理:阐述非负矩阵分解的基本原理,包括非负性约束、低秩近似等概念。
第三章:非负矩阵分解的优化方法3.1 乘法更新规则:介绍常见的乘法更新规则,包括Lee and Seung的规则、Kullback-Leibler散度等。
3.2 正则化方法:介绍在非负矩阵分解中常用的正则化方法,如L1范数、L2范数等。
3.3 收敛性分析:分析非负矩阵分解算法的收敛性和稳定性,包括收敛速度和停止准则等。
第四章:非负矩阵分解的应用领域4.1 图像处理:介绍非负矩阵分解在图像处理中的应用,包括图像压缩、图像分割等。
4.2 文本挖掘:介绍非负矩阵分解在文本挖掘中的应用,包括主题模型、情感分析等。
4.3 推荐系统:介绍非负矩阵分解在推荐系统中的应用,包括基于用户的推荐、基于物品的推荐等。
4.4 其他领域的应用:介绍非负矩阵分解在其他领域的应用,如生物信息学、社交网络分析等。
第五章:非负矩阵分解算法的改进方法5.1 稀疏性约束:介绍在非负矩阵分解中引入稀疏性约束的方法,如NMF with sparse coding、L1正则化等。
5.2 多目标优化:介绍在非负矩阵分解中考虑多个目标的优化方法,如多目标规划、多目标遗传算法等。
5.3 随机算法:介绍非负矩阵分解中的随机算法,如随机梯度下降、随机投影等。
稀疏非负矩阵分解
稀疏非负矩阵分解稀疏非负矩阵分解是一种用于处理稀疏数据集的矩阵分解方法。
在现实生活中,我们经常会遇到稀疏数据集,即大部分元素都是零的数据集。
稀疏非负矩阵分解可以将这样的数据集分解为两个非负矩阵的乘积,从而能够更好地理解和利用这些数据。
稀疏非负矩阵分解在很多领域都有广泛的应用,比如推荐系统、图像处理、文本挖掘等。
在推荐系统中,我们常常需要根据用户的历史行为数据来预测其可能感兴趣的物品。
而这些行为数据往往是稀疏的,即大部分用户与物品之间并没有交互。
通过对这些稀疏数据进行非负矩阵分解,我们可以得到用户和物品的潜在特征向量,从而能够更准确地预测用户对物品的喜好程度。
在图像处理领域,稀疏非负矩阵分解可以用于图像压缩和图像去噪。
图像是由像素点组成的矩阵,而稀疏非负矩阵分解可以将图像分解为两个非负矩阵的乘积,其中一个矩阵表示图像的结构信息,另一个矩阵表示图像的纹理信息。
通过对这两个矩阵的调整和组合,我们可以实现图像的压缩和去噪,从而减小图像的存储空间和提高图像的质量。
在文本挖掘领域,稀疏非负矩阵分解可以用于主题建模和文本分类。
主题建模是指从大量文本数据中挖掘出隐藏的主题信息,而稀疏非负矩阵分解可以将文本数据分解为两个非负矩阵的乘积,其中一个矩阵表示文本和主题之间的关系,另一个矩阵表示主题和词语之间的关系。
通过对这两个矩阵的分析和调整,我们可以得到文本的主题分布,从而更好地理解和组织文本数据。
而在文本分类中,稀疏非负矩阵分解可以用于特征选择和特征降维,从而提高分类的准确性和效率。
除了上述应用领域,稀疏非负矩阵分解还可以用于图像识别、音频处理、网络分析等多个领域。
无论在哪个领域,稀疏非负矩阵分解都能够帮助我们从稀疏数据中提取有用的信息,从而更好地理解和利用这些数据。
总结来说,稀疏非负矩阵分解是一种用于处理稀疏数据集的矩阵分解方法,具有广泛的应用前景。
通过将稀疏数据分解为两个非负矩阵的乘积,我们可以更好地理解和利用这些数据,从而在推荐系统、图像处理、文本挖掘等领域中取得更好的效果。
非负矩阵分解及在地学中的应用
非负矩阵分解及在地学中的应用
随着科技进步,数据量不断增大,对数据的处理和分析变得越来越重要。
而矩阵分解作为一种重要的数据处理方法,在地学领域也得到了广泛的应用。
其中,非负矩阵分解(NMF)作
为一种特殊的矩阵分解方法,在地学中的应用也越来越受到关注。
非负矩阵分解是一种特殊的矩阵分解方法,其矩阵分解的结果的所有元素均为非负数。
非负矩阵分解通过将一个大矩阵分解为两个小矩阵相乘的形式,从而实现对数据的分解和降维。
一般来说, NMF 分解出来的结果中每一列都可以被视为一个特
征向量,每个特征向量都表达了数据中某一方面的信息,使得我们能够对数据进行更好的处理和分析。
在地学领域,非负矩阵分解也得到了广泛的应用。
比如,通过对卫星遥感数据进行 NMF 分解,可以得到不同波段下地表覆
盖类型的信息,从而实现对地表覆盖类型的分类和识别;同时,也可以通过对地震波形数据进行 NMF 分解,得到不同频率下
的谱信息,从而实现地震波形的识别和特征提取。
除此之外,在潜在语义分析、信号处理、图像处理等领域,非负矩阵分解都有着广泛的应用。
它的主要优点在于可以更好地表达数据的非负性,同时还可以进行特征提取、降维和去噪等重要的数据预处理操作。
总之,非负矩阵分解作为一种特殊的矩阵分解方法,在地学领域中的应用已经得到了广泛的关注和研究,其能够有效地提取
数据的特征并降低数据的维度,为地学数据的处理和分析提供了一个新的思路和方法。
非负矩阵分解算法综述
王宇辰
(兰州财经大学统计学院,甘肃兰州 730020)
摘要:非负矩阵分解是一种约束矩阵元素非负的矩阵分解技术。非负矩阵分解将高维的数据矩阵分解成为低维的基矩阵
和系数矩阵, 解决数据压缩 与聚类等数据 挖掘任务。非负矩阵分解 在机器学习、图像处理等 领域得到广泛 应用, 未来仍有较
1 非负矩阵分解的基本原理
矩阵分解方法是应用数学领域的研究重点, 其目的在 于对原始矩阵在一定约束条件下进行分解, 从而简化矩 阵运算效率并取得良好的解读性。在工程计算领域中, 矩 阵的QR分解、Cholesky分解在求解线性方程等问题上效 果良好; 在机器学习领域中, 矩阵的奇异值分解可完成对 数据的特征提取与压缩, 并广泛应用于图像处理、推荐系 统等实际问题。
X F
2
X i j iLeabharlann j矩阵 X 的迹矩阵 X 与 Y 的哈达玛积, X 与Y 对应位置元素相乘
N 阶单位矩阵
图拉普拉斯矩阵
收稿日期:2020-01-06 作者简介:王宇辰(1996 —),男,陕西渭南人,硕士研究生,研究方向:数据挖掘、数据融合。
112
王宇辰: 非负矩阵分解算法综述
2021年第 2 期
由于现实问题中存在大量混合符号的数据, D i n g 提
出Semi-NMF算法,其核心思想是当数据矩阵 X 元素有
正有负时, 仅约束系数矩阵V 元素非负, 基矩阵U 中
的元素可正可负, 优化目标函数则变为:
min
V 0
X UV
2 F
。
可 将 Se m i - N M F 视 为 K - m e a n s 算 法 的“ 软 聚 类 ”版 本 。
示高维数据。若采用欧式距离来度量矩阵分解的损失, 则
非负矩阵分解算法
应用于寻找局部最小值。
4
梯度下降法4可能是实现起来最简单的技术,但其收敛速度可能 很慢。其他方法如共轭梯度具有更快的收敛(至少在局部最小值附 近),但是比梯度下降更复杂[8]。并且,基于梯度的方法的收敛具有 对步长选择非常敏感的缺点,这对于大型应用非常不方便。
四.乘法矫正规则
我们发现,以下“乘法矫正规则”是解决问题 1 和 2 的速度和
1
3(������3 −
T ������3TℎT)1
(15)
证明:因为显然������ ℎ, ℎ ≥ ������ ℎ ,我们只需要证明������ ℎ, ℎd ≥ ������ ℎ ,
为了证明需要,我们对比
������ ℎ = ������ ℎe + ℎ − ℎe X∇������ ℎe + g ℎ − ℎe X ������X������ ℎ − ℎe
������TU
=
Z[\ (]^]Z)[\
(7)
那么我们获得在定理 1 中给出的 H 的矫正规则。注意,该重新
调整会得出乘子因子(分母中的梯度的正分量和因子的分子中的负
分量的绝对值)。
对于散度,对角线重新调整梯度下降采取以下显示:
������TU ← ������TU + ������TU[ 3 ������3T������3U/(������������)3U − 3 ������3T] (8)
非负矩阵分解算法1
摘 要:非负矩阵分解(NMF)是一种处理多变量数据分解极为有效的方
法。这里分析了两种不同的 NMF 多重算法。它们只在矫正规则2中使用 的乘法因子上略有不同。一种算法可以最小化传统的最小二乘误差,而 另一种算法则能将广义的 Kullback-Leibler 发散度最小化。两种算法 的单调收敛性均可使用类似于用于证明期望最大化算法收敛的辅助函 数来证明。 这些算法采用对角比例梯度下降的方式,重新调整因子被 最优选择以确保收敛。
非负矩阵分解的两种方法简析
⾮负矩阵分解的两种⽅法简析⼀、使⽤⾮负最⼩⼆乘法问题给定⼀个矩阵A,将其分解成两个⾮负的因⼦:A M×N≈W M×K×H K×N,suchthat W M×K≥0 and H K×N≥0解法我们的解决⽅法包含两个步骤。
⾸先,在 A 给定的情况下固定 W 然后求解 H。
接下来固定 H 来求解 W。
迭代的重复这个过程,求解的⽅法就是最⼩⼆乘法,所以这种⽅法也叫做交替最⼩⼆乘法(ALS)。
但是我们的问题有特殊性,那就是我们将 W 和 H 约束位⾮负的,所以我们⽤⾮负最⼩⼆乘(NNLS)来代替最⼩⼆乘。
代码⽰例import numpy as npfrom scipy.optimize import nnlsM, N = 20, 10K = 4np.random.seed(2019)A_orig = np.abs(np.random.uniform(low=0.0, high=1.0, size=(M,N)))A = A_orig.copy()# 在实际问题中常会出现 A 中有缺失值的情况,特别是在协同过滤的问题中A[0, 0] = np.NANA[3, 1] = np.NANA[6, 3] = np.NANA[3, 6] = np.NANW = np.abs(np.random.uniform(low=0, high=1, size=(M, K)))H = np.abs(np.random.uniform(low=0, high=1, size=(K, N)))def cost(A, W, H):# 计算代价函数时忽略 A 中缺失的元素mask = ~np.isnan(A)WH = np.dot(W, H)WH_mask = WH[mask] # Now WH_mask is a vector, only include the non-nan valuesA_mask = A[mask]A_WH_mask = A_mask-WH_maskreturn np.linalg.norm(A_WH_mask, 2)num_iter = 1000for i in range(num_iter):if i%2 ==0:# 固定 W 求解 Hfor j in range(N): # 注意 H 是⼀列⼀列的求mask_rows = ~np.isnan(A[:,j])H[:,j] = nnls(W[mask_rows], A[:,j][mask_rows])[0]else:# 固定 H 求解 Wfor j in range(M): # W 是⼀⾏⼀⾏的求mask_rows = ~np.isnan(A[j,:])W[j,:] = nnls(H.T[mask_rows], A[j,:][mask_rows])[0]if i%100 == 0:print(i,cost(A,W,H))⼆、使⽤TensorFlow主要是利⽤梯度下降的原理代码⽰例import tensorflow as tfimport numpy as npnp.random.seed(2019)A = np.array([[np.nan, 4, 5, 2],[4, 4, np.nan, 3],[5, 5, 4, 4]], dtype=np.float32).T # 4 users,3 movies# Boolean mask for computing cost only on non-missing valuetf_mask = tf.Variable(~np.isnan(A))shape = A.shapeA = tf.constant(A)# latent factorsrank = 3H = tf.Variable(np.random.randn(rank,shape[1]).astype(np.float32))W = tf.Variable(np.random.randn(shape[0],rank).astype(np.float32))WH = tf.matmul(W,H)# Define cost on Frobenius normcost = tf.reduce_sum(tf.pow(tf.boolean_mask(A,tf_mask)\- tf.boolean_mask(WH,tf_mask),2))learning_rate = 0.001steps=1000train_step = tf.train.GradientDescentOptimizer(learning_rate).minimize(cost) init = tf.global_variables_initializer()# Clipping operation. This ensure that W and H learnt are non-negativeclip_W = W.assign(tf.maximum(tf.zeros_like(W),W))clip_H = H.assign(tf.maximum(tf.zeros_like(H),H))clip = tf.group(clip_W,clip_H)steps = 1000with tf.Session() as sess:sess.run(init)for i in range(steps):sess.run(train_step)sess.run(clip)if i%100==0:print("Cost: ",sess.run(cost))learnt_W = sess.run(W)learnt_H = sess.run(H)Processing math: 100%。
非负矩阵分解lee
非负矩阵分解lee(最新版)目录1.非负矩阵分解的概念和意义2.非负矩阵分解的应用领域3.Lee 算法在非负矩阵分解中的优势和特点4.Lee 算法的具体步骤和实现正文1.非负矩阵分解的概念和意义非负矩阵分解(Non-negative Matrix Factorization,NMF)是一种将非负矩阵分解为非负矩阵乘积的数学方法。
它的主要目的是找到一个分解,使得原始矩阵的结构更加简单,易于理解。
非负矩阵分解在许多领域具有重要意义,如数据挖掘、图像处理、文本分析等。
2.非负矩阵分解的应用领域(1)数据挖掘:在数据挖掘领域,非负矩阵分解可以用于聚类分析、关联规则挖掘等任务。
通过将数据矩阵分解为低维表示,可以降低数据维度,提高数据处理效率。
(2)图像处理:在图像处理领域,非负矩阵分解可以用于图像的特征提取和压缩。
通过对图像矩阵进行分解,可以得到具有代表性的特征向量,从而实现图像的压缩和识别。
(3)文本分析:在文本分析领域,非负矩阵分解可以用于文本主题模型建立。
通过对文本矩阵进行分解,可以得到反映文本主题的关键词向量,从而实现文本的主题划分和分析。
3.Lee 算法在非负矩阵分解中的优势和特点Lee 算法是一种基于梯度下降的非负矩阵分解算法,具有以下优势和特点:(1)收敛速度较快:Lee 算法采用梯度下降方法,通过不断更新矩阵分解的结果,最终收敛到最优解。
相较于其他非负矩阵分解算法,Lee 算法的收敛速度较快。
(2)分解结果具有唯一性:Lee 算法可以得到唯一的分解结果,这是因为在算法执行过程中,每一步更新都是基于梯度下降的,保证了结果的唯一性。
(3)适用于大规模数据:Lee 算法具有良好的扩展性,可以处理大规模的数据矩阵,因此在大数据时代具有广泛的应用前景。
4.Lee 算法的具体步骤和实现Lee 算法的具体步骤如下:(1)初始化矩阵分解结果:随机设置初始的矩阵分解结果,作为算法的起点。
(2)计算梯度:计算损失函数关于矩阵分解结果的梯度,用于下一步的更新。
最新非负矩阵分解:数学的奇妙力量
计算机是人类解决难题、探索未知以及提供娱乐的绝佳工具。
在高效运行着的各种计算机应用背后,融汇了人类在物理、电子和数学等多门学科的高超智慧。
严密的数学使得计算机能高效执行人类指令,控制内部各种数据流的走向,因此在现代计算机科学研究中,数学的基础地位和重要作用无可替代:它使我们最大程度利用有限的硬件、软件资源,它使我们能够在浩瀚的数据海洋中快速查到所关心的信息……数学与计算机科学一起演绎了许多精彩的故事!一、NMF的发展及原理著名的科学杂志《Nature》于1999年刊登了两位科学家D.D.Lee和H.S.Seung对数学中非负矩阵研究的突出成果。
该文提出了一种新的矩阵分解思想——非负矩阵分解(Non-negativ e Matrix Factorization,NMF)算法,即NMF是在矩阵中所有元素均为非负数约束条件之下的矩阵分解方法。
该论文的发表迅速引起了各个领域中的科学研究人员的重视:一方面,科学研究中的很多大规模数据的分析方法需要通过矩阵形式进行有效处理,而NMF思想则为人类处理大规模数据提供了一种新的途径;另一方面,NMF分解算法相较于传统的一些算法而言,具有实现上的简便性、分解形式和分解结果上的可解释性,以及占用存储空间少等诸多优点。
信息时代使得人类面临分析或处理各种大规模数据信息的要求,如卫星传回的大量图像、机器人接受到的实时视频流、数据库中的大规模文本、Web上的海量信息等。
处理这类信息时,矩阵是人们最常用的数学表达方式,比如一幅图像就恰好与一个矩阵对应,矩阵中的每个位置存放着图像中一个像素的空间位置和色彩信息。
由于实际问题中这样的矩阵很庞大,其中存放的信息分布往往不均匀,因此直接处理这样的矩阵效率低下,这对很多实际问题而言就失去了实用意义。
为高效处理这些通过矩阵存放的数据,一个关键的必要步骤便是对矩阵进行分解操作。
通过矩阵分解,一方面将描述问题的矩阵的维数进行削减,另一方面也可以对大量的数据进行压缩和概括。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
非负矩阵分解算法概述(吴有光)NOTE:本文为科普文章,尽量做到通俗而不严格,比较适合理论小白补补NMF历史第一部分Lee&Seung的世界1 引言现实生活中的数据,我们总是希望有个稀疏表达,这是从压缩或数据存储的角度希望达到的效果。
从另一方面来讲,我们面对大量数据的时候,总是幻想能够发现其中的“规律”,那么在表示或处理的时候,直接操作这些提纲挈领的“规律”,会有效得多。
这个事情,让很多的科学家都伤透脑筋,不过也因此有了饭碗。
1.1第一个例子我们先来看一个简单的例子。
在人文、管理或社会学里,实证研究方法是常用的方法。
比如我们来考察大学生就业过程,对学生的选择工作类别的动机,我们常说“想吃劳保饭的同学铁了心要考公务员,喜欢轻松自由氛围的同学更趋向于外企,只想稳定的同学认为国企最好,富二代神马的最爱创业然后继承家产了”,这句话如果要严格来论证是不可能的,那么我们转而寻求“调查论证”,即通过设计问卷(问卷上设计了可能影响学生选择的因素,比如家庭情况、学业情况、性格取向、对大城市或家乡的热恋程度、以及人生观价值观等等各种我们可能会影响就业取向的因素)各种我们猜测会影响学生。
问卷上来后,我们通过统计得到如下的列表。
图1 第一个例子的统计表示例表中的各个因素我们进行了量化,比如性格因素从完全内向到热情奔放分为5个等级(可以用一些问题来直接或间接获得这个等级)。
那么剩下的问题就是回答开始的问题:(1)是不是我们设计的每个因素都有效?(显然不是,之所以设计问卷就是要来解决这个问题的)(2)是什么因素影响了学生的最终选择?或者说,从统计上来看,每个因素占多大比重?这时,用矩阵来表示可写为,其中就表示那个因素矩阵,表示最终取向,代表我们要求的系数。
我们把要求的用代替,写成矩阵形式为:(1)更进一步,如果我们不仅调查学生的去向,还想同时调查很多事情,那么就会有,这样上面的式子改写为:(2)此时问题转化为:Q1:已知,如何求解,使之满足上面的等式,其中具有初始值(就是我们设计的一堆东西)。
如果我们让固定,这就是一个方程求解的过程。
然而,当我们认为也可以缩减,即认为很少样本就足够表示我们真实取得的样本,那么问题进一步转化为:Q2:如何同时求解和,使之满足。
或者我们也可以只对因素矩阵进行分解,即直接对其进行消减:(3)其中,为消减后因素矩阵,为在基底下的表示系数,这里要求列数要大大低于的列数,否则就没有实际意义。
上面这个过程,就类似Paatero&T apper于1994年提出的实矩阵分解(Positive Matrix Factorization, PMF)模型,此模型后来被Lee&Seung提出的非负矩阵分解(Nonnegative Matrix Factorization, NMF/NNMF)模型所取代。
1.2 第二个例子第一个例子为了给非数学、非信号处理的同学一个印象,写的罗里吧嗦,那第二个例子我们就简单写。
给定一组信号,如何找到对其进行稀疏表示?即如何找到满足的和,因为,这里要求且。
这个问题对信号处理的同学来说,太熟悉了。
因为我们毕生的精力都在干这件事情。
如果去掉的非负限制,是有很多现成且高效的方法的,比如主成分分析(Principle Component Analysis,PCA)、独立成分分析(Independent Component Analysis,ICA)、因子分析(Factor Analysis,FA)等。
然而,施加了非负限制后,这些方法就不适用了。
而为什么要施加非负限制,回想第一个例子就明白了,我们最终找的是“影响因子”,因子会有负的么?于是,非负矩阵分解就出世了,1.3 非负矩阵分解非负矩阵分解(Non-negative Matrix Factorization,NMF)从1999年正式提出【1】至今,经过十多年的发展,已经成为一个相对成熟的数据分析手段,在图像分析、文本聚类、数据挖掘、语音处理等方面得到了广泛应用。
NMF得到研究人员的青睐,除了易于获得快速分解算法之外,主要归功于其分解结果有较为明确的物理意义。
例如在人脸识别中,分解结果为人脸的各个局部诸如鼻子、眼睛、嘴巴等,这符合人类思维中局部构成整体的概念。
如图1所示图1 Lee和Seung的经典文献中所使用的NMF说明图【1】上图为NMF对人脸图像的分解结果,可见每一个子图都是人脸的某个局部;下左图为VQ分解结果,每一个子图就是某个原始样本;右下图为PCA分解结果,子图由特征脸和各级误差脸组成据说,据Lee&Seung说,NMF由于在分解过程中做了非负限制,得到的结果会像图3上一样,每个子图(类似于基)是全图的一部分,这显然有别于我们往常所用的分解,并且更符合于人类直观视觉过程“局部组成整体”。
但是,我们的读者是勇于实践的,不管读不读完本文,他们都会自己coding或者到QQ 群180291507共享里面下载代码来自己尝试尝试。
注释:在我试验的算法中,很难重现Lee&Seung的上述分解结果,在Naiyang Guan的最新NMF方法——MahNMF里【9】,也没有看到这种完全局部化的分解结果,不知道Lee&Seung是不是吹牛还是怎的。
下面从NMF问题描述出发,介绍NMF的发展历史和常见算法。
1.4历史渊源矩阵分解是高维数据分析中重要方法,如主成分分析(Principle Component Analysis,PCA)、独立成分分析(Independent Component Analysis,ICA)、因子分析(Factor Analysis,FA)、矢量量化(Vector Quantization,VQ)等。
而包含于各分析算法中的矩阵分解包括特征值分解、QR分解、LU分解等。
关于这些分解,我在下一篇小白文里会介绍,等不及的筒子可以直接翻看矩阵论课本。
Paatero和T apper于1994年尝试对环境数据进行因子分解时建立了如下优化模型【2】:其中,为观测数据,为分解后左右矩阵,为权重矩阵。
三年后(1997年),Paatero将上述模型和求解方法进一步规范和推广为”Multilinear Engine”【3】,这时Paatero的算法已经现在乘性迭代的影子。
但Paatero和Tapper的算法还存在一个大问题:算法收敛性和解的唯一性没有被证明!解唯不唯一倒是不重要,但算法的收敛性证明是重要的。
没证明啊没证明,没证明怎么行!或许有人认为,好用就行了,管什么理论证明。
如果这样想,就大错特错了。
想想多么牛B的傅里叶变换是如何的历经磨难,由此导致傅里叶本人也是几经沉浮,唯一的原因就是傅里叶变换没有严格的理论证明,而当时的法国数学界是以严格出名的拉格朗日统治着。
现在和平时期,不搞战争不搞政变闲人多,我们立刻就能见到挥舞数学铲子跑过来填补漏洞的家伙。
这个数学铲子挥得好的第一人应该就是D. Lee和H. Seung(Seung现在是MIT脑认知科学实验室的头头),也是今天我们认为NMF的发明者【1】。
他们把填漏洞的过程记录下来,顺手补了一个插图,扔给Nature杂志,于是就被录用了。
于是他们这篇工程记录单就达到了三千多的引用率。
这个故事告诉我们,你在家修灯泡修洗衣机的记录单或者心得体会都可以加几个数学公式,整巴整巴投到Science一不小心就中了。
图2D.Lee和S. Seung(右)我觉得他们俩是韩国人,元芳你怎么看?后面还有很多挥铲子的,不过多是跟从者,包括因为写SVM代码包而大名鼎鼎的Chil-Jen Lin【4】,但在NMF界可就没人注意到他们的大名了。
1.2 问题描述现在我们来看看Lee 和Seung对本问题的描述。
从他们开始,这个问题就正式成为非负矩阵分解NMF。
NMF是在所有矩阵元素非负的约束下的分解方式。
形如:(5)式中为待分解矩阵,和为分解后两个矩阵。
这里表示。
熟悉矩阵分解的同学可以看做是满秩分解。
熟悉信号处理(正交分解,例如傅里叶变换)的同学可以把看做信号分解时候的基函数,而看做表示系数,在很多论文中作者也都是这么描述的,不过记住一点,基向量是相互正交的,而这里对矩阵的各向量无正交要求。
如果换一种写法会更像以前学过的信号分解方式:或者(7)式中为的第列,即第个基向量,为向量的第个元素,即表示系数。
在傅里叶变换里会有(8) 成立。
这里因为不是正交分解,所以不能使用式(8)。
因为各向量不正交,那么就很难用构造的方式来获得(比如傅里叶变换矩阵,小波变化矩阵都是用构造得到的)。
于是分解就面临如下问题:(1)已知如何同时确定?(2)分解中为数据降维的重要标志,如何选取?针对问题(2),我们可以直接回答,的选取是人为的!也就是你自己一个一个试,比如,啦,你根据实际情况设置。
不过可以想见的是原始数据为维,时,降维效果才好,数据量才能降下去。
但是,用脚趾头想问题都知道,太小了恢复效果肯定不好。
针对问题(1),就是本文的重点了,也是这么多人研究NMF的重点。
一个已知量,两个未知量怎么肯定求出来??直接求,肯定没有办法,神仙也没办法。
一些画瓢看多了的人就知道了,一定要加约束条件,加上约束条件问题就明朗了。
第一个约束条件是等式(5)中隐含的。
我们一般求解的问题中很难得到”=”,即我们得到的是近似解,于是式(5)可以改写为:(9)其中是逼近误差。
这样简单的一改,从理解问题的角度,可就大大的简单化了。
回头看式(5),要求我们找到两个矩阵,相乘等于,其他什么都不知道。
这怎么找?再看式(9),要求我们找到两个矩阵,相乘近似等于,这一“近似”,可就有很多找法了。
好比说,你找一个跟周杰伦一模一样的人来,你做不到;但要你找一个跟周杰伦有点像的人来,你就可以找一大堆。
废话太多了,就是希望搞工程的筒子理解起来简单点,搞数值计算的人看家本领就是这样的近似来近似去的。
好了,到这里我们把问题重新描述一下,我们称为NMF问题。
NMF问题:已知,求解,使得(10)这里要求尽可能小,并且算法是快速收敛的。
即找到求解下式的收敛算法(11) 1.3目标函数在Lee 和Seung的文章里,他们引入了两种目标函数,分别是欧式距离和K-L散度。
以欧式距离来度量,式(11)改写为(12)其中表示矩阵中的第行第列的那个元素。
如果以K-L散度为度量,则改写为(13)可以看出,只有当时,式(12)和式(13)才会得到最小值0.似乎的似乎,问题并没有解决。
如何同时求解式(12)或式(13)中的?做优化的告诉我们,对于或者,式(12)是凸的,有最优解。
但是对却不是,因为二者相乘了嘛。
似乎这是个难题,不凸的问题不好求最优解。
但是这种分解问题已经阻拦不了我们伟大的Lee和Seung了,他们从Paatero的文章思路出发,给出了交替迭代直至达到最优解的算法。