按最大值还是按总值标准化?

时间:2012-11-30 03:12:19

标签: pattern-matching normalization similarity

我正在做一些涉及文档比较的工作。为此,我正在分析每个文档,并基本上计算一些关键词出现在每个文档上的次数。例如:

Document 1:                          Document 2:
    Book   -> 3                          Book   -> 9
    Work   -> 0                          Work   -> 2
    Dollar -> 5                          Dollar -> 1
    City   -> 18                         City   -> 6

因此,在计数过程之后,我将所有这些数字序列存储在一个向量中。这个数字序列将代表每个文档的特征向量。

Document 1: [ 3,  0,  5, 18]
Document 2: [ 9,  2,  1,  6]

最后一步是将数据标准化为[0 1]。但在这里我意识到可以通过两种不同的方法来完成:

  1. 将每个数字序列除以总重复次数
  2. 将每个数字序列除以最大重复次数
  3. 遵循第一种方法,归一化的结果将是:

    Document 1: [ 0.11538,  0.00000,  0.19231, 0.69231]   (divided by 26)
    Document 2: [ 0.50000,  0.11111,  0.05556, 0.33333]   (divided by 18)
    

    在遵循第二种方法时,结果将是:

    Document 1: [ 0.16667,  0.00000,  0.27778, 1.00000]   (divided by 18)
    Document 2: [ 1.00000,  0.22222,  0.11111, 0.66667]   (divided by  9)
    

    对于这个具体案例:

    • 这两种方法中的哪一种会增强特征向量的表示和比较?
    • 结果是否相同?
    • 这些方法中的任何一种都可以通过特定的相似度量(欧几里得,余弦)更好地工作吗?

1 个答案:

答案 0 :(得分:1)

符号

假设您有两个向量AB,则使用x作为Ay的归一化常量作为{{的归一化常量1}}。由于您在计算单词出现次数,我们可以假设为Bx > 0

余弦距离

对于下面显示的余弦距离,归一化常数将被抵消。很容易看出,你最终会在枚举器中得到一个常量y > 0,并且在分母处得到一个相同的常量1/(xy)。所以你可以取消1/(xy)

enter image description here

欧几里德距离

对于欧几里德距离,情况并非如上。我列出了一个示例,假设1/(xy)A是2-d向量。 n维向量只是一个简单的扩展。 BA'分别是B'A的规范化向量。

enter image description here

B的非标准化版本与dist(A,B)的标准化版本进行比较,您可以看到:您选择的标准化常量(最大值或总和)决定dist(A',B')上的权重,{ {1}}和相互作用的术语。因此,不同的归一化常数会为您提供不同的距离。

特征向量

如果这是为了某些信息检索目的或主题提取,您是否尝试TF-IDF?这可能比纯粹计算术语的出现更好。