NMF,全称为non-negative matrix factorization,“非负矩阵分解”
NMF的思想:
V= W * H
(W
权重矩阵、H
特征矩阵、V
原矩阵),通过计算从原矩阵提取权重和特征两个不同的矩阵出来(分解)。属于一个无监督学习的算法,其中限制条件就是W和H中的所有元素都要大于0(非负矩阵)。
数学定义:
V(F∗N) = W(F∗K) H(K∗N)
V: F∗N 的矩阵
- F 为特征(行)
- N 可以为观察值、例子、特征向量(列)
vn = (v1n,v2n,...,vfn) T, 在集合 N
中第 N
个特征向量
W: F∗K 的权重矩阵
- wfk 为W中的一个系数
- wk 是K个元素的基向量
H: K∗N 特征矩阵
- hn 列向量 the columsn vector of activation coeffcients for observation vn
- hk 行向量 the row cector of activation coefficients relating to basis vector wk
从定义中可以看到,NMF关键点就是找出 K ,然后将一个 F 行 N 列的矩阵分解为一个 F 行 K 列和一个 K 行 N 列 矩阵的乘积。
选择一个适当的K在分解的时候非常重要,不同的K对于不同模型情况如下:
- 数据拟合:K越大那么对于数据拟合更好
- 模型复杂性:一个更小的K模型更简单(易于预测、少输入参数等)