本文主要总结为什么非负矩阵分解能够用于图像压缩,以及分解出的矩阵究竟有什么实际意义
源:在阅读论文’On the Equivalence of Nonnegative Matrix Factorization and K-means — Spectral Clustering’时读到了这样一段话:
Lee and Seung emphasizes[18] that NMF factors fk contain coherent parts of the original data (images), for example a nose or an eye.
译:意思是NMF分解出的矩阵F中,F矩阵的列具有实际的意义,比如一个眼睛或者鼻子之类的。
疑:学习线性代数时,矩阵分解的意义往往是把一个变换(矩阵就是变换)分解成几个小变换。其他的PCA、VQ等分解只是完成了图像压缩,分解出的矩阵往往是一张模糊的图,从来没有听说过某种分解方式,分解过后的矩阵具有实际的意义。于是读了这篇文章。这篇发表在《Nature》上的文章在读完之后果然十分强大,解释了
- 为什么NMF可以完成图像压缩
- 展示了分解出的矩阵的实际意义,形象证明了NMF的注重局部结构的特点(local data structure)和结果的稀疏性。(其实人类并没有想让结果稀疏,但是结果确实具有这个性质。在读完后,可以发现上述两种特点:局部性和稀疏性其实是一体的)
- 居然还比较了NMF、VQ、PCA的差距与区别。也说明了PCA、VQ对于图像进行分解后矩阵的实际意义。
下面就开始介绍这篇论文
Learning the parts of objects by non-negative matrix factorization
1.1
主要内容:本文证明NMF可以学习出人脸的局部特征
灵感来源:对于整体的概念是否源于对部分的概念?NMf就可提取基于部分的特征,然后将各个部分相加得到整体。
这里解释一下,NMF的“相加”和PCA以及其他算法的“相加”不同:
- NMF算法是纯正数相加(完全不存在减法),其他算法是任意正负号数的相加(实际上存在相减)
- NMF算法的“相加”有点像拼拼图,拼图的每一片可以刻画局部特征。而PCA算法则像是在许多透明纸上画出原图的大致轮廓,然后将所有透明纸重叠即可得到原图。
原文这么说:This is in contrast to other methods, such as PCA and VQ, that learn holistic, not parts-based, representations. NMF is distinguished from the other methods by its use of non-negativity constraints. These constraints lead to a parts-based representation because they allow only additive, not subtractive, combinations.
首先,NMF,PCA,VQ 都是矩阵分解的知识,所以有共同的特性。他们都用基本图像的线性组合来代表原图。但区别是:
- VQ的基本图像是具有原图雏形的图像,每个基本图都是整张脸,只是细节方面缺少。
- PCA的基本图像是“特征脸”图像,由于特征值可正可负,所以有的像素不具有实际的意义。
- NMF的基本图像是只具有研究、耳朵其他部位空白的图像(空白部位为0,所以具有稀疏性)。
结果如下图所示
其实NMF的应用还不仅仅如此,更一般地,NMF是一种建模方法。
由公式:V=H*W
NMF可以用于从隐藏变量H生成直接可见变量V;从已知数据生成特征集合H与权重W。
接下来这篇论文介绍了NMF在文本处理方面的知识,其实本来我不从事这个方向,就不想看了。结果发现后面更精彩
在对于文本的处理中,H的列不再是基础图像,而是semantic feature语义特征。
2.1 VQ、PCA处理问题的缺点
- VQ由于约束的问题,一次激活一个特征(原文说防止一篇文章多个主题)
- PCA可以激活多个特征(但PCA还有那个老毛病:变量难以解释)
这是因为模型中两个无意义的特点:
- 允许负值。
- 所有语义特征参与每个样本的生成。直观的看,一篇文档往往只需要所有特征的一个小子集就可以了。
2.2 NMF 处理 的优点
1. 联系上下文:前面提到,NMF有点类似于拼图,所以NMF可以顾及像素的空间位置的关系(不过这里有一个问题,既然把图像转为1维向量进行处理,直接就损失了空间关系),如上图所示。那么文档处理时,NMF还可以根据上下文进行语义特征的分析。
2. 独立性假定不合适这与ICA恰恰相反(但我不是很懂ICA),ICA认为潜在变量是独立的。将独立分量分析应用于人脸图像得到整体的基础图像。ICA使得base picture的编码(就是权重W)独立(没明白)。但文章认为,这个独立性假设是不成立的。因为往往是许多部分(part)同时发展,这种独立性假定使得相互依赖的潜在变量无法被算法发现。