非负矩阵分解(NMF)论文笔记(2)

记NMF经典论文:Learning the Parts of Objects by Non-negative Matrix Factorization, Nature 1999.


对整体的感知是否基于对局部的感知?在心理和生理学上有研究表明,人脑中存在基于局部的表达机制,目标识别中的一些计算理论也依赖于这种假设,但是我们并不清楚人脑或者计算机到底是如何来学习这样一种局部表达的。这篇文章介绍的非负矩阵分解,可以从人脸图像中学习出局部结构比如眼睛、鼻子和耳朵,从文本中学到语义特征(当然文章中也说了,并不是对所有数据集,NMF都可以学到局部结构)。总之在当时来看,这篇文章中包含的基于局部、语义特征的思想还是很前卫的。

主成分分析PCA、向量量化(vector quantization,VQ)以及NMF,都可以看作是如下的矩阵分解问题,只不过所用的约束不同。
式1
这里V是n*m的数据矩阵,比如对于图像数据而言,V的每一列中的元素代表一张图片中的像素点,总共有m张图片。W的每一列可以被称为基图像(basis image),H的每一列被称为编码,或者说是V中对应列在基图像空间中的表达。W和V的大小分别为n*r,r*m,选择r的取值时通常满足(n+m)*r< nm (why?可能是经验,不过在实际应用比如聚类中r有实际意义,则可对应取值比如为聚类簇数)。

VQ: H的列要为单位向量。也就是说,每一张脸(V的列)被近似表示为一张基图像(W的列),所以VQ学到的即图像是原型人脸图像。

PCA: W的列要正交,H的行要正交。相当于对VQ中的H进行了松弛,此时每一张脸(V的列)被近似表示为正交基图像(W的列)的线性组合,PCA学到的基图像被称为特征脸(eigenface)。由于W和H中的元素可正可负,因此PCA的线性组合往往缺乏直观的解释。

NMF: W和H中的元素要为非负值。此时每一张脸(V的列)被近似表示为基图像(W的列)的线性组合,由于只存在相加组合,因此NMF学到的是局部结构表达,具有直观的视觉解释性。此外,虽然所有的局部表达(W的列)都会被至少一张人脸图像(V的列)用到,但是对于每一张人脸图像,并不一定用到所有的局部表达,因此NMF学到的是一种稀疏的图像编码,相比之下,VQ的编码过于稀疏——只有一个非零元,PCA的编码过于稠密——用到所有的基图像。

这里写图片描述
上图中的参数取值为:n=19*19,r=49。左侧正方形中的每一个小方块代表一个基图像,对应W的一列(将列向量改为19*19的矩阵即对应小方块),总共有49个基图像,中间整个正方形代表49维的图像编码,对应H的一列,其中的小方块是编码系数,右侧展示的是重构的人脸图像。

从网络的观点来看NMF:由可观测变量V,同时推导出编码H和隐变量W。
这里写图片描述

在文本方面,NMF可以挖掘语义信息,r对应了文档中的主题数目,还可以根据上下文区分同一个词的不同含义。
这里写图片描述


存疑:
从聚类的观点来看PCA:要让H的行正交,则PCA可看做硬聚类(hard clustering),因为此时一个数据点只能属于一个簇。
但是PCA中何时出现这样一个对编码的约束?!只是约束投影方向正交而已呀!
让W’表示W的转置,则H=W’V,H是数据的低维表达,即投影后的数据,则投影后数据的协方差矩阵为:HH’=W’VV’W=单位阵I,那我们还需要优化什么呢?!
PCA的目标式:maxTr(W’VV’W) s.t. W’W=I

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值