NMF方法简介和聚类应用

来源:互联网 发布:金凤凰软件 编辑:程序博客网 时间:2024/06/07 05:47

1、NMF方法简介

NMF(Non-negative Matrix Factorization,非负矩阵分解)是一种矩阵分解方法,最早是在1999年Nature杂志刊登的由D.D.Lee和H.S.Seung两位科学家提出的一个对非负矩阵研究的成果。

NMF的目标:

给定一个所有元素均为非负的矩阵V,维数为n*m。要寻找到两个非负矩阵W和H,使得尽可能满足V=WH。其中W维数为n*r,H维数为r*m。

NMF的算法思想:

NMF的目标不是找到使得V=WH严格成立的矩阵分解,而是使得V和WH尽可能接近。这就需要构造一个代价函数J(V,W,H),满足V和WH越接近,J越小。然后可以根据J本身的连续性、凹凸性等特征,使用恰当的优化方法,最终得到符合条件的W和H。

其中,代价函数J可以取很多种,这里介绍两种:

(1)2范数距离:J=||V-WH||。

2范数距离定义如下:


使用拉格朗日KKT方法来寻找最优解,每次迭代公式如下:


当W和H是一个稳定点时,迭代收敛。


(2)KL距离:J=D(V||WH)。

KL距离定义如下:


使用拉格朗日KKT方法来寻找最优解,每次迭代公式如下:


当W和H是一个稳定点时,迭代收敛。

2、NMF聚类应用

有一个数据集,共m个样本,每个样本维度为n,构成了矩阵X,大小为n*m,即每一列为一个样本。

使用NMF方法,寻找到了W和H,使得X=WH。其中,X的第i列,就等于W乘以H的第i列,可以这样理解,H的第i列的第j个元素,相当于W的第j列的权重,X的第i列就是W的每一列与权重的乘积的求和。或者说,W的每一列相当于一个基向量,H的每一列相当于坐标向量。这样,就将原本样本的n维,转换成了r 维,r 维的每个元素对应一个基向量的坐标。因此,将原本对X聚类的问题,通过降维,转化为了对H聚类的问题。接下来就可以使用经典的聚类方法,比如k均值等。


参考文献:

Lee D D, Seung H S. Algorithms for non-negative matrix factorization[C]//Advances in neural information processing systems. 2001: 556-562.

Lee D D, Seung H S. Learning the parts of objects by non-negative matrix factorization[J]. Nature, 1999, 401(6755): 788-791.











0 0