简单直观地理解非负矩阵分解NMF

我对NMF的理解是一个反反复复的过程,时懂时不懂,因此在这里简单记录下我目前清醒的认知。

《简单直观地理解非负矩阵分解NMF》 NMF图示

NMF的基本思想可以简单描述为:对于任意给定的一个非负矩阵A,NMF算法能够寻找到一个非负矩阵U和一个非负矩阵V,使得满足 ,从而将一个非负的矩阵分解为左右两个非负矩阵的乘积。

分解前后可理解为:原始矩阵《简单直观地理解非负矩阵分解NMF》的列向量是对左矩阵《简单直观地理解非负矩阵分解NMF》
中所有列向量的加权和,而权重系数就是右矩阵对应列向量的元素,故称《简单直观地理解非负矩阵分解NMF》为基矩阵,《简单直观地理解非负矩阵分解NMF》为系数矩阵。一般情况下《简单直观地理解非负矩阵分解NMF》《简单直观地理解非负矩阵分解NMF》矩阵的列数)的选择要比《简单直观地理解非负矩阵分解NMF》小,满足《简单直观地理解非负矩阵分解NMF》,这时用系数矩阵代替原始矩阵,就可以实现对原始矩阵进行降维,得到数据特征的降维矩阵,从而减少存储空间,减少计算机资源。

原矩阵V中的一列向量可以解释为对左矩阵W中所有列向量(称为基向量)的加权和,而权重系数为右矩阵H中对应列向量中的元素。这种基于基向量组合的表示形式具有很直观的语义解释,它反映了人类思维中“局部构成整体”的概念。

比如原矩阵V第2行第4列的红色三角形是由矩阵W的第2行与矩阵H的第4列相乘的结果!

这也就不难理解维基百科中的介绍:

Matrix multiplication can be implemented as computing the column vectors of V as linear combinations of the column vectors in W using coefficients supplied by columns of H.

虽然NMF是一个很厉害的算法,但其实质是加权和,我们可以在原理上等效为基本的线性方程:

《简单直观地理解非负矩阵分解NMF》

y构成了原矩阵中的元素,a系列值是权重,x系列变量是特征。矩阵乘法中特征用列向量表示,权重系数用行向量表示,所以成了图中所看到的样子。

    原文作者:王诗翔
    原文地址: https://www.jianshu.com/p/c42be1f64472
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞