NMF非负矩阵分解算法(Non-negative Matrix Factorization)

NMF的基本思想可以简单描述为:
对于任意给定的一个非负矩阵V,NMF算法能够寻找到一个非负矩阵W和一个非负矩阵H,使得满足 ,从而将一个非负的矩阵分解为左右两个非负矩阵的乘积。如下图所示,其中要求分解后的矩阵H和W都必须是非负矩阵。
NMF非负矩阵分解算法(Non-negative Matrix Factorization)
矩阵V分解为左矩阵W和右矩阵H,可理解为原始矩阵V的列向量是H中的所有列向量的加权和,对应的权重系数则是W的列向量的元素,所有H称为基矩阵,W称为系数矩阵。

NMF在人脸识别的应用中和PCA还有VQ分解不同。VQ分解是用一张完整的图像直接代表源脸部图像;PCA是将几个完整人脸加减压成一张脸;而NMF是取甲的眼睛,乙的鼻子,丙的嘴巴直接拼成一张脸,也就是说NMF分解后的基矩阵H是每张人脸的一个特征部分,例如眼睛,鼻子,嘴巴等,然后权重矩阵对这些特征进行加权处理从而得到一张完整的人脸。如下图所示3种矩阵分解方式的区别。

NMF非负矩阵分解算法(Non-negative Matrix Factorization)

具体算法流程

非负矩阵分解中,代码采用的是原始论文中提及的基于乘法更新发展的迭代更新算法,其将矩阵分解算法转化为如下的优化问题,即最小化两个矩阵之间的欧几里得距离的优化问题:

NMF非负矩阵分解算法(Non-negative Matrix Factorization)

其中V为原始矩阵,V’ 为分解后的矩阵重构而成的矩阵,即[公式],乘法更新规则如下:

H矩阵的更新:NMF非负矩阵分解算法(Non-negative Matrix Factorization),其中NMF非负矩阵分解算法(Non-negative Matrix Factorization)是指矩阵的第 α 行第 μ 列元素,当[公式]=0

W矩阵的更新:[公式],其中 iα 是指矩阵的第 i 行第 α 列元素,当[公式]=0时,对应位置元素不做更新。

文章出处登录后可见!

已经登录?立即刷新

共计人评分,平均

到目前为止还没有投票!成为第一位评论此文章。

(0)
青葱年少的头像青葱年少普通用户
上一篇 2022年5月30日 上午11:26
下一篇 2022年5月30日 上午11:29

相关推荐