通常的矩阵分解会把一个大的矩阵分解为多个小的矩阵,但是这些矩阵的元素有正有负。而在现实世界中,比如图
像,文本等形成的矩阵中负数的存在是没有意义的,所以如果能把一个矩阵分解成全是非负元素是很有意义的。在
NMF中要求原始的矩阵的所有元素的均是非负的,那么矩阵可以分解为两个更小的非负矩阵的乘积,这个矩阵
有且仅有一个这样的分解,即满足存在性和唯一性。
Contents
1. NMF问题描述
2. NMF实现原理
3. NMF的应用
4. NMF的R实现
5. NMF的Julia实现
6. 结束语
1. NMF问题描述
传统的NMF问题可以描述如下
给定矩阵,寻找非负矩阵和非负矩阵,使得。
分解前后可理解为:原始矩阵的列向量是对左矩阵中所有列向量的加权和,而权重系数就是右矩阵对应列
向量的元素,故称为基矩阵,为系数矩阵。一般情况下的选择要比小,即满足,
这时用系数矩阵代替原始矩阵,就可以实现对原始矩阵进行降维,得到数据特征的降维矩阵,从而减少存储空