非负矩阵分解 NMF
一般的矩阵分解,分解的矩阵有正有负。
很多实际应用中,负数没有意义,如文本等等。
NMF中要求原矩阵和分解后矩阵都为非负矩阵,这个分解存在唯一。
引入稀疏,局部计算。
以人脸识别为例:
V
∈
R
+
n
×
m
V\in R_+^{n\times m}
V∈R+n×m m张脸,每张图n个像素
W
∈
R
+
n
×
r
W\in R_+^{n\times r}
W∈R+n×r 基矩阵,每一列为一个基
H
∈
R
+
r
×
m
H\in R_+^{r\times m}
H∈R+r×m 系数矩阵,即为V中的脸一一对应的编码
V
≈
W
H
=
∑
a
=
1
r
W
i
a
H
a
j
V\approx WH=\sum\limits_{a=1}^r W_{ia}H_{aj}
V≈WH=a=1∑rWiaHaj 我们的目标
r的选择一般满足
(
m
+
n
)
r
<
m
n
(m+n)r<mn
(m+n)r<mn
r太大,过拟合,模型复杂
r太小,欠拟合
优化方法
非负矩阵分解(NMF)简介 - 知乎专栏
基于乘法更新发展的迭代更新算法
https://blog.csdn.net/pipisorry/article/details/52098864
对比PCA VQ
初始论文:与PCA相比,PCA去除子成分,NMF叠加子成分。
人脸识别中,NMF用一组代表不同部位的基图像表示脸
对比 | VQ | PCA | NMF |
---|---|---|---|
特点 | W为聚类而成的基图像 | W的列和H的行都是正交的 | W和H非负 |
基图像 | 聚类取原数据最有代表性的 | 基正交 | 基非负稀疏 |
稀疏性 | 单元:只有一个非零元,过于稀疏 | 全局:相当于VQ的松弛,但用了所有基图像,过于稠密 | 局部:相当于前两者折中,只用部分基图像表达 |
解释性 | 非负 | 存在负数,解释性差 | 非负且提取局部特征,解释性好 |
应用
NMF 非负矩阵分解 – 原理与应用
https://en.wikipedia.org/wiki/Non-negative_matrix_factorization (上文很多来自wiki)
实现
https://zhuanlan.zhihu.com/p/27460660
低秩矩阵分解
斯坦福大学机器学习笔记——推荐系统(协同过滤、低秩分解、推荐系统)
推荐系统
假设通过学习,我们找到每个用户
j
j
j对不同特征的喜爱程度,即参数
θ
(
j
)
\theta^{(j)}
θ(j)
则预测该用户对电影
i
i
i的打分,
x
(
i
)
x^{(i)}
x(i)为其特征向量,分数为
(
θ
(
j
)
)
T
x
(
i
)
(\theta^{(j)})^Tx^{(i)}
(θ(j))Tx(i)
所以我们的优化目标基于已知的打分
y
(
i
,
j
)
y^{(i,j)}
y(i,j)(
r
(
i
,
j
)
=
1
r(i,j)=1
r(i,j)=1表示已知打分)来学习参数,以预测未知打分
梯度下降训练
协同过滤
已知用户对不同特征电影的喜好(学习到的参数)、评分,求电影的特征向量
没有参数也没有特征向量时——协同过滤。梯度下降求解
低秩矩阵分解就是协同过滤的向量化(矩阵化)