解释 L2 归一化的意义和目的

机器算法验证 机器学习
2022-02-07 05:32:40

首先让我说,我对机器学习很陌生,数学不太好。我了解 TF-IDF 的作用,但在我正在阅读的书中还指出了以下内容(它正在讨论 scikit-learn 如何做事):

两个类 [TfidfTransformer 和 TfidfVectorizer] 在计算 tf-idf 表示之后也应用 L2 归一化;换句话说,他们重新缩放每个文档的表示以具有欧几里德范数 1。以这种方式重新缩放意味着文档的长度(字数)不会改变向量化的表示。

这就是关于这个主题的全部内容。认为这意味着什么,如果我错了,请告诉我,是我们缩放值,以便如果它们全部平方和求和,则值为 1(我从http://kawahara.ca获取了这个定义/how-to-normalize-vectors-to-unit-norm-in-python/)。

因此,这个想法是特征值彼此成比例。不过,我不完全确定这对模型有什么帮助。如果某些示例的“打开功能”总数不高于其他示例,它是否有助于整个分类器学习?

另外,这是一个基本问题:L2 归一化与 L2 正则化有什么关系吗?也许只是它们都涉及平方和求和项?

无论您能分享什么见解,都将不胜感激!

1个回答

我们缩放这些值,如果它们都被平方和求和,那么值将是 1

这是正确的。

不过,我不完全确定这对模型有什么帮助

考虑一个更简单的情况,我们只计算每个单词在每个文档中出现的次数。在这种情况下,两个文档可能看起来不同,仅仅是因为它们的长度不同(较长的文档包含更多的单词)。但是,我们对文档的含义更感兴趣,而长度对此没有影响。归一化让我们考虑单词相对于彼此的频率,同时消除总字数的影响。

L2归一化与L2正则化有什么关系吗?

L2 正则化对模型的参数进行操作,而 L2 归一化(在您询问的上下文中)对数据的表示进行操作。除了两者都需要计算 L2 规范(如您所说的平方项求和)这一表面事实之外,它们在任何有意义的意义上都没有相关性。

但是,请注意,L2 规范化是一种通用操作,并且可以应用于您所询问的上下文之外的上下文。确实存在可以在这两个概念之间建立联系的情况,但我认为这超出了这个问题的范围。