在特征分解,SVD等传统的矩阵分解技术中,分解后的矩阵会出现负值,但是负值在实际场景中是没有意义的,比如在图像处理领域,图像是由像素点构成的矩阵,每个像素点由红,绿,蓝的比例构成,这些数值都是非负数,在对分解处理得到的负值并没有实际意义...其中W称之为基矩阵,H称之为系数矩阵,根据矩阵乘法的定义,W中的每一个列向量乘以H矩阵对应的列向量,得到V矩阵中的一个列向量,其实就是一个线性组合
?...在scikit-learn中,使用NMF的代码如下
>>> import numpy as np
>>> X = np.array([[1, 1], [2, 1], [3, 1.2], [4, 1],...[5, 0.8], [6, 1]])
>>> from sklearn.decomposition import NMF
>>> model = NMF(n_components=2, init='random...的非负约束使得其分解后的子矩阵更加具有实际意义,在模式识别,生物医药,计算机视觉与图像处理等领域都有广泛应用。