You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

汉明空间实值向量点积近似实现负数值场景偏差问题咨询

问题原因

你的实现错误出在binary_product函数的计算逻辑不符合二值符号向量点积的运算规则。

对于取值仅为±1的两个符号向量sign_a和sign_b,二者的点积计算规则为:

点积 = 符号相同的元素数量 - 符号不同的元素数量

你当前的binary_product仅统计了符号相同的元素数量,完全遗漏了符号不同的元素带来的负向贡献。当向量全为正值时,所有元素符号都是1,不会出现异号的情况,所以近似结果符合预期;一旦向量包含负值,异号元素的负向贡献被忽略,就会出现极大偏差。


修正方案

你可以选择任意一种方式修改binary_product函数:

  1. 直接调用numpy的点积运算,逻辑最简洁:
def binary_product(vector_x, vector_y):
    return np.dot(vector_x, vector_y)
  1. 如果你想基于符号匹配统计的逻辑实现,补充异号元素的计算即可:
def binary_product(vector_x, vector_y):
    same_count = (vector_x == vector_y).sum()
    diff_count = vector_x.size - same_count
    return same_count - diff_count

修正后重新运行代码,含负值向量的点积近似结果就会和真实值匹配。


内容的提问来源于stack exchange,提问作者Wouter

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.06 22:00:02