非负矩阵分解算法概述之Lee&Seung的世界

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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】:

相关文档
最新文档