本文介绍了非负矩阵分解:交替最小二乘法的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试用交替最小二乘法实现NMF。我只是好奇这个问题的以下基本实现:

如果我理解正确的话,我们可以用封闭形式的解来求解这个伪代码中陈述的每个矩阵方程,没有非负性约束,并以一种蛮力的方式将负条目设置为0。这种理解正确吗?例如,在我们使用投影梯度下降的情况下,这是更复杂、更受约束的优化问题的基本替代方案吗?更重要的是,如果以这种基本的方式实现,算法还会有实用价值吗?我想使用NMF进行变量缩减,使用NMF很重要,因为根据定义,我的数据是非负的。我正在征求对这件事的意见。

推荐答案

  1. 如果我理解正确的话,我们可以用封闭形式的解来求解这个伪代码中陈述的每个矩阵方程,并且以一种蛮力的方式将负的项设置为0。这种理解正确吗?正确。

  2. 这是更复杂、更受约束的优化问题的基本选择吗?例如,我们使用投影梯度下降?-在某种意义上,是的。这确实是非负因式分解的一种快速方法。然而,与NMF相关的文章会指出,尽管该方法速度快,但它不能保证非负因素的收敛。更好的实现方式是NMF的分层交替最小二乘(HALS-NMF)。查看本文以比较一些流行的NMF算法:http://www.cc.gatech.edu/~hpark/papers/jgo.pdf

  3. 更重要的是,如果以这种基本方式实现,该算法还会有实用价值吗?仅根据我的经验,我会说结果不如HALS或BPP(块旋转原理)。

这篇关于非负矩阵分解:交替最小二乘法的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

10-12 05:32