NMF
非负矩阵分解(Non-negative Matrix Factorization ,NMF) 是在矩阵中所有元素均为非负数约束条件之下的矩阵分解方法。
基本思想:给定一个非负矩阵V,NMF能够找到一个非负矩阵W和一个 非负矩阵H,使得矩阵W和H的乘积近似等于矩阵V中的值。 ??∗? = ??∗? ∗ ??∗?
矩阵分解优化目标:最小化W矩阵H矩阵的乘积和原始矩阵之间的差别。
代码实现
目标:已知Olivetti人脸数据共 400个,每个数据是64*64大小。由 于NMF分解得到的W矩阵相当于从原始矩阵中提取的特征,那么就可以使用NMF对400个人脸数据进行特征提取。
from numpy.random import RandomState
import matplotlib.pyplot as plt
from sklearn.datasets import fetch_olivetti_faces
from sklearn