我正在使用丁,李,乔丹,2008年(“凸和半非负矩阵分解”)中描述的凸非负矩阵分解算法。
良好的初始化策略使所有的差异和使用描述的k-均值聚类开始工作非常好。
但是有一篇文章描述了NNDSVD (Boutsidis,Gallopoulos,2007年年)来初始化“传统的”NMF标志。我想测试这个,看看它是否改善了我的结果。
凸NMF的非负约束是松弛的.X可以有混合符号数据,其中X~ XWG',因子W和G只有正数据。我实现了NNDSVD,就像论文中的那样(在C++ w/ OpenCV中),但是由于X有混合符号数据,所以产生的W也包含负值。
有人尝试过调整这个初始化策略吗?除了丁等人的论文中提到的策略(和随机初始化策略)之外,还有其他推荐的凸NMF初始化策略吗?
发布于 2016-05-13 14:25:47
我以前在维也纳大学的(经典) NMF图书馆玩过:libNMF
虽然一开始它对我没有用,但由于它们不实现凸NMF,我看了一下它们的NNDSVD实现。它们只是将所有负值和小于机器感应器的值替换为零。
我试过了,但是失败了,因为凸NMF的更新规则是这样的,我得到了零的除法。由于它们在其提议的初始化方案(用于“平滑”)中为所有值添加了0.2,所以我在这里也这样做了。
它起作用了,精度比预期的差(比k均值差一点,这是我目前最好的方法),但是我会对它做更多的调整。
https://datascience.stackexchange.com/questions/11738
复制相似问题