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

非负矩阵分解(NMF)是一种将非负矩阵分解为两个非负矩阵的技术,常用于图像识别、文档分析和生物信息学等领域。本文详细介绍了NMF的原理、实现方式,包括R语言和Julia的实现,并探讨了其在不同场景的应用。
最低0.47元/天 解锁文章
44

被折叠的 条评论
为什么被折叠?



