什么是非负矩阵分解的好解释?

数据挖掘 nlp 文本挖掘 降维 特征工程 参考请求
2022-02-18 09:18:03

我正在尝试寻找一种资源来理解非负矩阵分解。除了维基百科,我找不到任何有用的东西。

1个回答

非负矩阵分解 (NMF) 在Lee 和 Seung,1999 年的论文中得到了很好的描述。

简单的说

NMF 将术语-文档矩阵作为输入,并生成一组主题,这些主题代表加权的共现术语集。发现的主题构成了提供原始文档的有效表示的基础。

关于 NMF

NMF 用于特征提取,通常被认为在有许多属性时很有用,特别是当属性不明确或不是强预测变量时。通过组合属性,NMF 可以显示具有重要性的模式、主题或主题。

在实践中,通常会在涉及文本的地方遇到 NMF。考虑一个示例,文档中的同一个词(爱)可能具有不同的含义:

  1. 喜欢生菜卷。
  2. 喜欢在墨西哥度假时的感觉。
  3. 我的狗,欧几里得。
  4. 喜欢成为一名数据科学家。

在所有 4 个案例中,都使用了“爱”这个词,但对读者来说它具有不同的含义。通过组合属性,NMF 引入了创建额外预测能力的上下文。

"love"+"lettuce wraps"  "pleasure by food" "love"+"vacation in Mexico"  "pleasure by relaxation" "love"+"dog"  "pleasure by companionship" "love"+"Data Scientist"  "pleasure by occupation"

它是如何发生的

NMF 通过创建用户定义的特征数量来分解多元数据。这些特征中的每一个都是原始属性集的组合。记住这些线性组合的这些系数是非负的也是关键。

另一种思考方式是,NMF 将您的原始数据特征(我们称之为 V)分解为两个排名较低的矩阵(我们称之为 W 和 H)的乘积。NMF 使用迭代的方法来修改 W 和 H 的初始值,使乘积接近 V。当逼近误差收敛或达到用户定义的迭代次数时,NMF 终止。

NMF数据准备

  • 数字属性被标准化。
  • 缺失的数值被替换为平均值。
  • 缺失的分类值将替换为模式。

值得注意的是,异常值会显着影响 NMF。在实践中,大多数数据科学家在分箱或规范化之前使用裁剪转换。此外,NMF 在许多情况下会受益于标准化。

与许多其他算法案例一样,为了改进矩阵分解,需要降低容错(这将增加计算时间)。