非负矩阵分解及其在模式识别中的应用1.pdf
《非负矩阵分解及其在模式识别中的应用1.pdf》由会员分享,可在线阅读,更多相关《非负矩阵分解及其在模式识别中的应用1.pdf(10页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、 评 述 第 51 卷 第 3 期 2006 年 2 月 非负矩阵分解及其在模式识别中的应用 刘维湘*郑南宁*游屈波(西安交通大学人工智能与机器人研究所,西安 710049.*同等贡献.联系人,E-mail:)摘要 矩阵分解是实现大规模数据处理与分析的一种有效工具.非负矩阵分解(non-negative matrix factorization,NMF)算法是在矩阵中所有元素均为非负的条件下对其实现的非负分解,这为矩阵分解提供了一种新的思路.非负矩阵分解方法在智能信息处理和模式识别研究领域具有十分重要的应用意义.本文介绍非负矩阵分解的基本思想和一些最新的研究成果,结合研究工作讨论在概率模型的框
2、架下实现非负矩阵分解的目标函数和相应的算法,以及非负矩阵分解与知觉过程信息处理的关系,针对模式识别的实际问题给出具体的非负矩阵分解的应用实例,并提出非负矩阵分解及其应用中有待进一步研究的新问题.关键词 非负数据 特征提取 非负矩阵分解 入侵检测 数字水印 脑电信号处理 矩阵分解在很多领域获得了广泛的应用1,在数值代数中,利用矩阵分解可以将规模较大的复杂问题转化为小规模的简单子问题来求解;在应用统计学领域,通过矩阵分解得到原数据矩阵的低秩逼近,从而可以发现数据的内在结构特征.在机器学习和模式识别2的应用中,矩阵的低秩逼近可以大大降低数据特征的维数,节省存储和计算资源.1999 年Lee和Seun
3、g3在Nature上发表了非负矩阵分解算法,该算法是在矩阵中所有元素均为非负的条件下对其实现非负分解.从计算的角度来看,矩阵分解的结果中可以存在负值,但负值元素在实际问题中往往缺失物理意义.非负矩阵分解方法则提供了一种新的矩阵分解思路,由于其分解算法实现简便,分解的结果中不出现负值,而且具有可解释性和明确的物理意义,以及占用存储空间少等优点,已经引起许多科学家和研究人员的广泛重视.通常,信息的表示或编码的各种方法基本上可分为线性和非线性两大类.线性表示方法是将信号分解为一组基本信号的线性加权组合,其中基本的信号称为基信号,对应的权重称为组合系数.根据基信号的特点,这种线性表示方法又可以分为两种
4、:一种是其基信号是固定的,与处理的数据无关,如傅里叶分析和小波分析方法;另外一种是基信号与处理的数据相关,如主成分分析和独立分量分析.本文介绍的非负矩阵分解方法是后一种表示方法.在人工智能、机器学习以及计算机视觉和模式识别等研究领域,为了提高算法或系统的“智能”水平而提出的一些智能计算理论和模型,大多借鉴于人类大脑的信息处理机制或对人的认知过程、心理以及生理方面的研究成果.人类大脑对外界事物整体的感知是建立在对其部分感知基础之上的.然而,大脑是如何实现这种对部分的感知?我们又如何利用计算机来模拟这种功能?非负矩阵分解方法为解决这类问题提供了一种新的思路.在非负性约束下,对非负数据进行非负分解,
5、采用简单有效的乘性迭代算法,通过学习得到的基向量中含有关于物体的局部特征的信息.与传统的主成分分析(PCA)相比,非负矩阵分解的结果合乎大脑感知的直观体验,并具有明确的物理含义.1 非负矩阵分解的定义 信息或信号处理的许多数据具有非负性的特点,如灰度图像、物质成分含量、文章中单词出现的次数和统计学中的概率转移矩阵等.在用线性表示方法处理这类数据时,往往要求分解的结果(包括基向量和系数)都是非负的.此时若采用传统的因子分析方法,如主成分分析,因为其结果中含有负数而失去了物理意义,而采用非负(正)矩阵分解方法就可以避免这一点4.非负矩阵分解是一种多变量分析方法.假设处理 m 个 n 维空间的样本数
6、据,用表示.该数据矩阵中各个元素都是非负的,表示为.对矩阵进行线性分解,有 n mX0X n mX,(1)n mn rr mXBC其中称为基矩阵,为系数矩阵.若选择比小,用系数矩阵代替原数据矩阵,就可以实现对原n rBr mC 241 第 51 卷 第 3 期 2006 年 2 月 评 述 数据矩阵的降维,得到数据特征的降维矩阵,从而减少存储空间,节约计算资源;从数据编码表示来看,以基矩阵为码本,则系数矩阵就为相应的编码系数.文献3从矩阵分解的角度就主成分分析、向量量化、独立分量分析和非负矩阵分解作了讨论.2 非负矩阵分解的算法 为了实现矩阵的非负分解,首先需要定义一个损失函数来刻画分解前后的
7、逼近程度,然后在非负性约束下求解.最早提出的正矩阵分解方法采用传统的梯度下降算法与加性迭代规则4.文献3,5采用乘性迭代规则,更适合非负数据的特点,即在非负性初始化的基础上,在迭代过程中能简单地保持非负性,而加性迭代规则就需要一个强制将负值变为零的步骤.2.1 非负矩阵分解的概率模型 将矩阵分解看成如下含加性噪声的线性混合体模型6242 ,(2)n mn rr mn mXBCE=+其中为噪声矩阵.进一步,也可以将上式写成 n mE()ijijijXBCE=+.(3)为了求解因子矩阵B,C,考虑如下的最大似然解6:(4),argmax(|,)argmin log(|,),B CB CB Cp X
8、 B Cp X B C=假设噪声服从不同的概率分布,就可以得到不同类型的目标函数.考虑噪声是高斯噪声,即()2()1(|,)exp2,2ijijijijijXBCp XB C=(5)其中是对每个观测值给定的权重.令 ij,(6)(|,)(|,)ijijp X B Cp XB C=则最大似然解是最小化如下的损失函数:221(,)()log(2).2ijijijijijijL B CXBC=+(7)若假设并忽略因子1ij=1 2和常数项log(2),ijij 则得到 (8)2(,)().EDijijijLB CXBC=采用传统的梯度法,有 ()()()()2,2,TTEDikikikTTEDkjk
9、jkjLXCBCCBLB XB BCC=(9)于是可以得到如下的加性迭代规则6:(10)()()()(),.TTikikikikikTTkjkjkjkjkjBBXCBCCCCB XB BC+如果设置()(),kjikikkjTTikkjCBBCCB BC=,式(10)加性迭代规则就变成了如下的乘性迭代规则5:()(),()()TTkjikikikkjkjTTikkjB XXCBBCCBCCB BC.(11)如果考虑噪声为泊松噪声,即有 ()(|,)exp()!ijXijijijijBCp XB CBCX=.(12)同理,得到其最大似然解是最大化如下的损失函数:(13)(,)log()()log
10、(!),ijijijijijL B CXBCBCX=这实际上等价于最小化如下的广义KL距离:(,)log().()ijKLijijijijXLB CXXBCBC=+ij(14)同样,为了最大化,采用梯度算法,有以下的加性迭代规则(,)L B C6:,().()ijikikikkjkjijjjijkjkjkjikikijiiXBBCCBCXCCBBBC+(15)如果设置,kjikikkjkjikjiCBCB=,则得到如下的乘性迭代规则5:(),().ikijijikjkjikikjijijjikikkjjBXBCCCBCXBCBBC(16)从以上分析可以看到,当考虑不同的噪声类型时,可以得到不同
11、的目标函数用来实现矩阵分解.因此,我 评 述 第 51 卷 第 3 期 2006 年 2 月 们用拉普拉斯噪声来得到一类用于实现分解的新目标函数.当噪声服从拉普拉斯分布时,可以得到如下似然概率:()()(|,)exp2ijijijijijXBCp XB C=,(17)由此可以得到如下的损失函数:1()(,)ijijijijXBCL B C=.(18) 243 我们可以采用线性规划方法求解式(18),但式(18)的损失函数不是连续可微的,通常采用如下的近似函数7:app()(,)log coshijijijijXBCLB C=,(19)其中1?.综上所述,我们可以把非负矩阵分解归结为求解如下约束
12、优化问题:(20)min (,)s.t.0,0.f B CBC其中为某一损失函数.在迭代中,往往还要求对基矩阵的各列向量进行归一化,如文献3中根据 1 范数将基向量进行归一化,即要求,得到如下的乘性迭代规则:(,)f B C1,ikiB=k(),().ikikkjijijjikiklklkjkjikijijiBBCXBCBBBCCBXBC,(21)另外,我们探讨了将基向量按范数进行归一化的情形,并得到了很有意义的结果p8.2.2 局部非负矩阵分解(LNMF)非负矩阵分解只是要求所分解的因子矩阵为非负的,如果对分解的因子矩阵考虑更多的约束,就可以强化分解的结果.Li等人9正是基于这个想法,从如下
13、 3 个方面给非负矩阵分解的因子施加约束:要求一个基向量的各个成分不应该被分解得太多,同时用来表示原始数据的基向量的成分数目尽可能少;要求不同的基向量尽可能地接近正交化;要求含有重要信息的成分被保留.在此基础上,他们提出的局部非负矩阵分解问题就转化为如下的约束优化求解问题:LNMFmin(,)log()()s.t.0,0,1,ijijijijijijijiiijiikiXLB CXXBCBCUVBCBk=+=(22)其中.其求解的乘性迭代规则为T,UB B VCC=T9(),(),kjijijjikikkjjikiklklkjkjikijijiCXBCBBCBBBCCBXBC(23)由于采用了
14、一些近似处理,所以该算法中的正则化参数,没有出现在迭代规则中.关于这一点,还有待进一步的研究.2.3 非负稀疏编码(NNSC)根据稀疏编码原则10,Hoyer11提出了一种非负稀疏编码(NNSC),使分解后的系数具有比较好的稀疏特性.也就是求解如下的约束优化问题:(24)2NNSC2min(,)()s.t.0,0,1,.ijijkjijkjikiLB CXBCCBCBk=+=其迭代算法如下:2(),0,0,.*()./(),TikikikikikiTTBBBCX CBBBBBCCB XB BC+(25)其中为学习速率.该学习算法的一个缺点是基向量学习是加性迭代,不能很好地保持非负特性,对负值必
15、须使其强制置零.Hoyer12将其算法应用在视觉感知的建模研究中.2.4 稀疏非负矩阵分解(SNMF)同样根据稀疏编码原则,我们提出了如下稀疏非负矩阵分解(SNMF)13:第 51 卷 第 3 期 2006 年 2 月 评 述 SNMFmin(,)log()()s.t.0,0,1,.ijijijijijijkjkjikiXLB CXXBCBCCBCBk=+=(26)且更有利于从图像序列中实现图像分割和特征提取.Ramanath22还将非负矩阵分解用于彩色谱空间的 分析.244 其乘性迭代规则如下:(),().1ikikkjijijjikiklklkjikijijikjBBCXBCBBBCBXB
16、CC+(27)Kawamo23将非负矩阵分解用于音乐信号的分析,其基本思想是将音乐的幅度谱(利用离散傅里叶变换得到)进行分解,从而得到具有单个音调的特征数据.一些研究结果表明非负矩阵分解也非常适合声音数据分析24.Novak25还将非负矩阵分解用于自然语言的处理.在文本知识挖掘领域,Xu26将非负矩阵分解用于文本类数据的分析.对这类稀疏性特别强的数据来说,非负矩阵分解更是优于传统的文本特征提取方法.在生物信息学研究领域,Seppanen和Brunet271)将非负矩阵分解用于基因、分子等数据的分析.和 NNSC 的学习算法相比,该算法全部采用乘性迭代规则,能很好地保持数据的非负特性.另外,关于
17、非负矩阵分解的稀疏性约束详细讨论见文献14.下面介绍非负矩阵分解算法在网络安全的入侵检测、灰度图像的数字水印技术和脑电信号处理应用的具体实例2),希望引起大家的重视.2.5 其他算法 从算法优化的角度来看,非负矩阵分解是一种满足非负性约束下的优化问题.除了上面提到的几个改进算法以外,在非负性约束的基础上,人们还提出了加权的(正)非负矩阵分解4,15,多重线性引擎16和正张量分解17.Wang18将Fisher约束引入到分解中,Ahn19还将非负矩阵的单层神经网络表示推广到多层的情形.3.1 非负矩阵分解在网络安全入侵检测的应用 入侵检测是对计算机和网络资源上的恶意使用行为进行识别和响应的处理过
18、程28.入侵检测的根本任务就是从这些数据中去发现其中存在的误用或异常.如果把入侵检测看成一种数据处理过程,那么我们就可以采用数据挖掘技术来建立入侵检测系统.从系统调用类别数目来讲,在 UNIX 环境下,大约有 200 种不同的系统调用.对于每个序列,系统调用出现的频率特征是一个维数为系统调用类别数目的向量.于是,降维是必要的.针对这种频率特征的非负性,我们选择非负矩阵分解来作特征提取,用线性回归作检测.3 非负矩阵分解的应用 由于算法实现的简便和有效性,非负矩阵分解已成为模式识别研究领域中特征提取和数据降维的一种新方法,在高维数据处理中有着广泛的应用前景.在图像处理领域,Lee和Seung20
19、将非负矩阵分解应用于机器人对外界环境感知的非监督学习中,用以提取图像中有意义的部分特征.由于非负性约束使得分解的基向量和组合系数中的大量元素为零或接近于零,因此这种表示方式属于稀疏编码,占用的存储空间少.在有遮挡的情况下,非负矩阵分解具有很强的鲁棒性能.Lee等21将非负矩阵分解方法用于动态PET图像序列的分析,实验表明采用非负矩阵分解可以得到和传统因子分析一样的结果,并 这里采用的实验数据来自于 UNM 的合成sendmail3)和实际的 named4)两组数据.在实验中,系统调用类别数量在 200 左右.为了使用非负矩阵分解方法,首先将序列作连续的划分,得到一些短序列,然后统计每个短序列中
20、各个系统调用出现的次数,得到一个矩阵,其中的d mXijX表示第i个系统调用出现在第个短序列中的次数.短序列长度和其中含有的系统调用类别数目根据不同的数据集来确定.j 1)Seppanen J K,Hollmn J E,Bingham E,et al.Nonnegative matrix factorization on gene expression data.Bioinformatics 2002,poster 49,Ber-gen,2002 2)刘维湘.非负矩阵分解及其应用.西安交通大学博士学位论文,2005 3)http:/www.cs.unm.edu/immsec/data/4)ht
21、tp:/www.cs.unm.edu/immsec/data/live-named.html 评 述 第 51 卷 第 3 期 2006 年 2 月 合成的 sendmail 数据在文献29中有详细描述,它包含了 300 多万条系统调用,其中含有 16 个非正常序列.在这 16 个非正常序列中,最长的序列含有 1861个系统调用,最短的含有 254 个系统调用.我们选择长度为 1500 来对正常数据进行分段,得到了 2250 个正常短序列.因此,最后得到的数据为 16 个非正常数据和 2250 个正常数据.在这个数据集中,出现的基本系统调用是 53 个.但是,这里根据 SunOS 映射文件(该
22、文件是用十进制数来表示不同的系统调用)考虑182 种系统调用,最后统计各个系统调用在每个短序列中出现的次数,得到一个 1822266 矩阵,其中前2250 列数据为正常数据,后 16 列为异常数据.选用前30 个正常数据作为训练数据,剩下的 2220 个正常数据和 16 个异常数据作为测试数据.实际的 named 数据包含一个有 900 万个系统调用的正常序列和 2 个成功入侵的异常序列,该数据在文献30有详细描述.在这 2 个入侵序列中,一个含有 969 个系统调用,另一个含有 831 个系统调用.使用长度为 1000 来对正常数据进行分段,得到 9230 个正常短序列.根据系统调用的映射文
23、件,共有 164 种系统调用.最后,我们得到一个 164 9232 的矩阵,前 9230 列为正常数据,后 2 列为异常数据.选用前100个正常数据作为训练数据,其余的9130个正常数据和 2 个异常数据作为测试数据(见表 1).我们采用线性回归方法来进行检测,表 2 和 3 分别给出了PCA和NMF两种方法在两类数据上的正检 表 1 实验数据集 数据集 系统调用种类数 训练用正常数据数 测试用正常数据数 异常数据数 sendmail 182 30 2220 16 named 164 100 9130 2 表 2 PCA 和 NMF 在 sendmail 数据集上的检测结果比较 程序 方法 r
24、 TDR/%FDR/%5105 93.75 0.09 1 1105 100 3.38 5105 81.25 0 2 1105 93.75 3.06 5105 93.75 4.19 3 1105 100 6.62 5105 93.75 7.43 PCA 10 1105 100 7.75 5108 93.75 0.05 1 1108 100 0.36 5108 100 0.41 2 1108 100 0.41 5108 100 0.41 3 1108 100 0.41 5108 100 0.41 Sendmail NMF 10 1108 100 0.41 表 3 PCA 和 NMF 在 named
25、 数据集上的检测结果比较 程序 方法 r TDR/%FDR/%2104 100 0.28 1 1104 100 0.38 2104 100 0.26 2 1104 100 0.34 2104 100 0.25 3 1104 100 0.34 2104 50 0.38 PCA 10 1104 100 0.48 2107 100 0 1 1107 100 0.01 2107 100 0.21 2 1107 100 0.35 2107 100 0.03 3 1107 100 0 2107 100 0 Named NMF 10 1107 100 0.21 245 第 51 卷 第 3 期 2006 年
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 矩阵 分解 及其 模式识别 中的 应用
限制150内