按最大值或按总值标准化?

2024-01-08

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

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. 将每个数字序列除以最大重复次数

按照第一种方法,标准化的结果将是:

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)

对于这个具体案例:

  • 这两种方法中哪一种会增强特征向量的表示和比较?
  • 结果会一样吗?
  • 这些方法中的任何一种在特定的相似性度量(欧几里得、余弦)下会更好地工作吗?

Notation

假设你有两个向量A and B, 你用x作为归一化常数A and y作为归一化常数B。由于您正在计算单词出现次数,我们可以假设x > 0 and y > 0.

余弦距离

对于如下所示的余弦距离,归一化常数将被抵消。很容易看出,你最终会得到一个常数1/(xy)在枚举器上,以及一个相同的常数1/(xy)在分母处。所以你可以取消1/(xy).

欧氏距离

对于欧几里得距离,情况并非如此。我在下面列出了一个例子,假设A and B是二维向量。 n 维向量只是其简单的扩展。A' and B'是归一化向量A and B分别。

比较非标准化版本dist(A,B)与规范化版本dist(A',B'),您可以看到:您选择的归一化常数(最大值或总和)决定了权重x1^2+x2^2, y1^2+y2^2和相互作用的术语。因此,不同的归一化常数会产生不同的距离。

特征向量

如果这是出于某种信息检索目的或主题提取,您尝试过吗TF-IDF http://en.wikipedia.org/wiki/Tf-idf?这可能是比纯粹计算术语出现次数更好的衡量标准。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

按最大值或按总值标准化? 的相关文章

  • F# 中元组的不完整模式匹配

    我定义一个点 type TimeSeriesPoint lt T gt Time DateTimeOffset Value T 和一系列 type TimeSeries lt T gt TimeSeriesPoint lt T gt lis
  • 2D 模式搜索算法

    我需要学习二维模式搜索算法 非常感谢提示和链接 更重要的是 给定一个 M m n 矩阵 其值在 K 中 example 000000000000000001000000 010100010010 M K 0 1 010100010001 1
  • 使用额外的索引键展平 DataFrame 嵌套列表/数组(对于时间序列)

    我有一个结构如下的数据框 这是JSON规范化的结果 mydf id colA colB colArray foo a1 b1 date data1 data2 0 1 bar a2 b2 date data1 data2 0 1 fooz
  • 不同长度的tf-idf文档

    我在网上搜索了有关在文档长度差异很大的情况下标准化 tf 等级的信息 例如 文档长度从 500 字到 2500 字不等 我发现的唯一标准化讨论是将术语频率除以文档的长度 因此导致文档的长度没有任何意义 不过 这种方法对于标准化 tf 如果有
  • 当给定这个模式与整数值匹配时,为什么 scala 会抱怨?

    Goal 编写一个函数 生成一个排除指定字符 由索引标识 的新字符串 Example takeAllExcept 0 abc 回报bc takeAllExcept 1 abc 回报ac takeAllExcept 2 abc 回报ab 我最
  • vim 中递归搜索模式的函数

    我有一个包含简单文本行的文本文件 我想创建一个函数vim and gvim 文本编辑器 can be sent a variable number of patterns and it should find lines will all
  • 通过匹配模式过滤日志 - log4j

    我的 log4j xml 文件中有以下布局模式 d ISO8601 c p t x 9 5 4 RC12 m n 我想要的是 每当我收到包含消息的日志时process proc completed 应该跳过 我的意思是除了包含此消息的日志之
  • Ruby String#scan 相当于返回 MatchData

    正如问题标题中基本上所述 Ruby 字符串上是否有一种方法相当于字符串 扫描 http ruby doc org core String html method i scan但它不是只返回每个匹配的列表 而是返回一个数组MatchData是
  • KMP算法中出现不匹配的文本转移背后的原因是什么?

    我一直在尝试理解KMP算法 但我仍然没有清楚地理解 kmp 算法背后的推理 假设我的文字是bacbababaabcbab模式是abababca 通过使用最长适当前缀的长度规则sub pattern 与正确的后缀匹配sub pattern 我
  • 显式语义分析

    我遇到了这个术语 显式语义分析 它使用维基百科作为参考 找到文档中的相似性并将它们分类 如果我错了 请纠正我 我遇到的链接是here http www cs technion ac il gabr resources code esa es
  • 查找重复邮寄地址的策略

    我正在尝试想出一种根据相似度分数查找重复地址的方法 考虑这些重复的地址 addr 1 3 FAIRMONT LINK SOUTH addr 2 3 FAIRMONT LINK S addr 3 5703 48TH AVE adrr 4 57
  • java中使用[:punct:]函数的正则表达式

    我在用 punct 替换 a 中特殊字符的函数 字符串例如 REPLACE REGEXP REPLACE 第 1 列 punct 作为输出 作为java中SQL字符串的一部分 但我想要特定的特殊字符 不被替换 你能建议最好的方法吗 Acc
  • ? LIKE(列 || '%')

    我可以有这样的条件吗 SELECT FROM table WHERE LIKE column 哪里的 是一个字符串参数值 例如 这些参数值 当列等于时应返回 true admin products admin products 1 admi
  • 如何制作Applicative的固定长度向量实例?

    最近了解了推广 决定尝试写向量 LANGUAGE DataKinds GADTs KindSignatures module Vector where data Nat Next Nat Zero data Vector Nat gt gt
  • R中的神经网络包出现大错误

    我正在尝试弄清楚如何使神经网络包发挥作用 我用我创建的数据及其结果 大约 50 行数据和三列 第四列是我想要的结果 它是通过简单的数学执行 如对其他三列求和 得出的 进行了一些测试 到目前为止一切顺利 然后我决定将这个包应用到真实数据上 我
  • 规范“毒”方式真的值得吗? (3NF)

    我正处于数据库设计的早期阶段 所以还没有最终的结果 并且我正在为具有可选标签的线程使用 TOXI 3表设计 但我忍不住觉得加入是并不是真的必要 也许我只需要依赖我的简单标签列posts我可以在其中存储类似 varchar 的表
  • 执行 Boyer-Moore 模式匹配时是否必须考虑编码?

    我即将实现 Boyer Moore 模式匹配算法的变体 具体来说是星期日算法 我问自己 我的字母表大小是多少 它是否取决于编码 可能的字符数 或者我可以假设我的字母表由 256 个符号组成 一个字节可以表示的符号数 在许多其他情况下 将字符
  • 根据业务实体(法定名称、业务类别、DNS 域、公司类型)标准化数据[关闭]

    Closed 这个问题是无关 help closed questions 目前不接受答案 我正在尝试根据合法的商业实体名称规范数据和链接记录 我在哪里可以确定法定企业名称以及该公司的一般信息 我将至少拥有以下其中一项 股票代码 DBA 简称
  • “如何判断 Python 中的字符串是否重复?”的更复杂版本

    我正在读书这个帖子 https stackoverflow com questions 29481088 how can i tell if a string repeats itself in python我想知道是否有人可以找到将重复的
  • Scala 模式匹配打印漂亮

    是否有可能以某种方式编组部分函数 假设它总是只包含一种情况 进入某物人类可读的 假设我们有 Any 类型的集合 消息 List Any 以及使用模式匹配块定义的 PartialFuntion Any T 的数量 case object R1

随机推荐