为何L1正则化NMF在稀疏矩阵计算中效果逊于标准NMF?
这问题挺值得深究的——毕竟L1正则的初衷是增强稀疏性,结果在稀疏矩阵场景下反而掉链子,通常跑不出这几个原因:
正则化强度
λ调得不对
L1的惩罚力度全靠λ拿捏,稀疏矩阵本身有效数据点少,对λ的敏感度比稠密矩阵高太多。如果λ太大,会直接把H矩阵里的有效元素压得极低,模型连原始数据里的核心模式都拟合不了;要是λ太小,那正则化等于白加,和标准NMF没区别。这种情况一定要用交叉验证(比如留一法或者k折)来找到最适合当前稀疏数据的λ值,不能拍脑袋瞎设。KL散度和L1正则的适配冲突
你用的是基于Kullback-Leibler散度的NMF,KL散度对稀疏数据的拟合逻辑是优先照顾非零元素的误差,但L1正则是对H的所有元素(包括对应原始矩阵零值的位置)做全局约束。这就导致模型可能为了满足L1的稀疏性要求,被迫牺牲掉对关键非零元素的拟合精度,反而不如标准NMF能专注于拟合那些仅有的有效数据。初始化没适配稀疏矩阵
NMF的结果特别吃初始化,稀疏矩阵场景下更是如此。如果初始化的W或H没贴合稀疏数据的分布(比如非零元素集中在少数特征上),加上L1正则后,模型很容易陷入糟糕的局部最优解;而标准NMF反而能在初始化的基础上,更好地捕捉稀疏数据里的潜在模式。组稀疏约束的实现方式不对
你提到把L1作为组稀疏约束,但真正的组稀疏应该针对组结构设计正则项(比如L1/L2混合的组Lasso),如果只是简单给H的所有元素加L1正则,根本没实现你想要的组稀疏效果,反而破坏了稀疏矩阵里有效信息的组关联性。比如稀疏矩阵里的源信号可能是以组的形式存在的,单纯的L1正则会把这些组的权重打散,自然分离效果就差了。评估指标选错了
你判断“结果差”的标准是什么?如果只看全局重构误差(比如KL散度值),L1正则化后的模型因为刻意稀疏化,重构误差确实会上升,但在源分离的核心指标(比如分离信号的信噪比、源的辨识度)上可能反而更好?要是拿重构误差当唯一判断标准,那肯定会误判模型的实际性能,得把评估指标和源分离的真实需求对齐。
内容的提问来源于stack exchange,提问作者Jan

