局部敏感哈希(LSH)
概述欧式空间中将高维空间的点映射到低维空间原本接近的点在低维空间中肯定依然接近但原本远离的点则有一定概率变成接近的点。这句话的意思是在欧氏空间中使用随机投影等降维映射时原本距离较近的点在映射后仍然会保持较近的距离因此它们被划分到同一个哈希桶中的概率很高。而原本距离较远的点也可能因为投影碰撞而意外被划分到同一个桶中但这种情况发生的概率较低。这正是局部敏感哈希LSH 能够高效进行近似最近邻搜索的核心依据。直观理解近距离点相似由于它们在原始空间中很近在任意随机方向上的投影值也相差不大因此它们落入同一个桶如取整后编号相同的概率高。远距离点不相似它们在随机方向上的投影值相差较大落入同一个桶的概率低但可能发生碰撞只是概率小。LSH 通过多次独立随机投影将每个点映射为一个由多个整数组成的哈希码并将具有相同哈希码的点放入同一个桶。查询时只需计算查询点的哈希码然后在对应桶中搜索即可。构造 LSH 桶的经典方法p-stable LSH欧氏距离对于欧氏距离常用的构造方式是从标准正态分布中随机生成一个 d 维向量 v每个分量独立同分布。随机选择一个实数 b均匀分布在 [0,w) 上w 是桶宽可调参数。定义哈希函数h(x)[v⋅xbw]其中v⋅x是点积 h(\mathbf{x}) \left[ \frac{\mathbf{v} \cdot \mathbf{x} b}{w} \right] 其中 v⋅x 是点积h(x)[wv⋅xb​]其中v⋅x是点积为了降低单次投影碰撞概率通常使用 L 个哈希表每个表由 k 个独立的哈希函数组成将 k 个输出值拼接成一个 k 维的桶编号或字符串作为该表的键。当两个点距离较近时它们在每个哈希函数上的输出值相同的概率较高距离远时相同的概率较低。具体例子假设二维平面中的三个点A(1,2)B(2,3)与 A 距离近2\sqrt{2}2​C(10,10)与 A 距离远约 12.7我们设定参数w4使用两个独立的哈希函数每个函数不同随机向量 v 和随机偏移 b。哈希函数 h1随机向量 v1(0.5,1.0)从标准正态分布采样随机偏移 b10.2 ,桶宽 w4计算:A:⌊(0.5∗11.0∗20.2)/4⌋⌊(0.520.2)/4⌋⌊2.7/4⌋0\lfloor(0.5 * 1 1.0 * 2 0.2)/4\rfloor \lfloor(0.5 2 0.2)/4\rfloor \lfloor 2.7/4 \rfloor 0⌊(0.5∗11.0∗20.2)/4⌋⌊(0.520.2)/4⌋⌊2.7/4⌋0B:⌊(0.5∗21.0∗30.2)/4⌋⌊(130.2)/4⌋⌊4.2/4⌋1\lfloor(0.5 * 2 1.0 * 3 0.2)/4\rfloor \lfloor(1 3 0.2)/4\rfloor \lfloor 4.2/4 \rfloor 1⌊(0.5∗21.0∗30.2)/4⌋⌊(130.2)/4⌋⌊4.2/4⌋1C:⌊(0.5∗101.0∗100.2)/4⌋⌊(5100.2)/4⌋⌊15.2/4⌋3\lfloor(0.5 * 10 1.0 * 10 0.2)/4\rfloor \lfloor(5 10 0.2)/4\rfloor \lfloor 15.2/4 \rfloor 3⌊(0.5∗101.0∗100.2)/4⌋⌊(5100.2)/4⌋⌊15.2/4⌋3哈希函数 h2随机向量 v2(0.8,−0.6)随机偏移 b20.5桶宽 w4计算:A:⌊(0.8∗1(−0.6)∗20.5)/4⌋⌊(0.8−1.20.5)/4⌋⌊0.1/4⌋0\lfloor(0.8 * 1 (-0.6) * 2 0.5)/4\rfloor \lfloor(0.8 - 1.2 0.5)/4\rfloor \lfloor 0.1/4 \rfloor 0⌊(0.8∗1(−0.6)∗20.5)/4⌋⌊(0.8−1.20.5)/4⌋⌊0.1/4⌋0B:⌊(0.8∗2(−0.6)∗30.5)/4⌋⌊(1.6−1.80.5)/4⌋⌊0.3/4⌋0\lfloor(0.8 * 2 (-0.6) * 3 0.5)/4\rfloor \lfloor(1.6 - 1.8 0.5)/4\rfloor \lfloor 0.3/4 \rfloor 0⌊(0.8∗2(−0.6)∗30.5)/4⌋⌊(1.6−1.80.5)/4⌋⌊0.3/4⌋0C:⌊(0.8∗10(−0.6)∗100.5)/4⌋⌊(8−60.5)/4⌋⌊2.5/4⌋0\lfloor(0.8 * 10 (-0.6) * 10 0.5)/4\rfloor \lfloor(8 - 6 0.5)/4\rfloor \lfloor 2.5/4 \rfloor 0⌊(0.8∗10(−0.6)∗100.5)/4⌋⌊(8−60.5)/4⌋⌊2.5/4⌋0组合哈希码一个哈希表由两个哈希函数组成桶键为 (h1,h2) 对A(0,0)B(1,0)C(3,0)可以看到A 和 B 在 h1 上不同但考虑到两个哈希函数它们依然不在同一桶中而 C 和 A 在 h2 上相同但 h1 不同也不在同一桶。为了增加相似点碰撞概率实际中会使用多个这样的哈希表每个表有自己的随机向量和偏移并采用 OR 策略只要在任一个表中同桶就视为候选。这样A 和 B 虽然在这个表中没同桶但在其他表中很可能同桶。如果增加更多哈希函数如 k5以及多个哈希表如 L10那么对于近距离点它们至少在一个表中同桶的概率会非常高接近1而远距离点同桶的概率很低。

相关新闻

umount 报 “device is busy“解决方法

umount 报 “device is busy“解决方法

查找占用进程 lsof D /挂载点路径例如磁盘挂载在 /mnt/data: lsof D /mnt/data输出会显示 进程ID (PID)、进程名 (COMMAND)、用户 (USER) 和打开的文件名。 优雅终止进程(推荐) kill -15 PID号 # 发送SIGTERM信号,允许进程清理资…

2026/7/23 9:31:01 阅读更多 →
WorkBuddy:AI办公协作工具的高效配置与实战技巧

WorkBuddy:AI办公协作工具的高效配置与实战技巧

1. 为什么WorkBuddy正在重新定义AI办公协作三周前我接手了一个跨国团队的文档协作项目,团队成员分布在5个不同时区。当第7版方案在凌晨3点被不知名成员误删关键段落时,我意识到传统协作工具已经触达效率天花板。这正是WorkBuddy展现魔力的时刻——它不仅…

2026/7/23 13:26:14 阅读更多 →
Python基础学习-13

Python基础学习-13

一、面向对象编程入门 1、知识点 为什么要面向对象? 面向对象编程(OOP)的核心思想是:把数据和处理数据的方法打包在一起,形成一个"对象"。就像现实世界中,一辆车既有属性(颜色、速度、…

2026/7/23 8:52:06 阅读更多 →

最新新闻

家庭KTV音响系统选型与调试指南:从核心组件到声学优化

家庭KTV音响系统选型与调试指南:从核心组件到声学优化

家庭KTV音响系统从简单的蓝牙音箱到专业级设备,选择范围很广。山水(SANSUI) Q52S作为一款卡拉OK一体机,集成了功放、混响、无线麦克风和音箱功能,适合不想折腾复杂接线的家庭用户。但真正决定KTV体验的不仅是设备品牌,更是声学环境…

2026/7/23 13:40:39 阅读更多 →
Claude工具使用:从基础调用到生产实践

Claude工具使用:从基础调用到生产实践

1. Claude工具使用基础解析在大模型应用开发领域,Claude的Tool Use功能正在改变人机交互的方式。作为Anthropic推出的核心能力之一,它允许模型主动调用外部工具来扩展自身功能边界。与传统的API调用不同,Tool Use实现了真正的"工具自主选…

2026/7/23 13:40:39 阅读更多 →
员工远程入职,劳动合同不签纸质版真的合规吗?

员工远程入职,劳动合同不签纸质版真的合规吗?

这两年远程办公和异地用人越来越普遍,不少 HR 都遇到过同一个尴尬:offer 发出去了,人也在线上入职了,可劳动合同还躺在快递单里没寄到。有人干脆发个电子版让员工打印签字再寄回,也有人直接在微信里传个 PDF 让对方&qu…

2026/7/23 13:40:39 阅读更多 →
深度学习模型部署优化:从ONNX到TensorRT实战

深度学习模型部署优化:从ONNX到TensorRT实战

1. 项目概述 "模型转换、加速与推理优化【Plan 8】"是一个专注于深度学习模型部署优化的技术方案。这个方案的核心目标是通过格式转换、计算加速和推理优化三个关键环节,显著提升模型在生产环境中的推理性能。在实际业务场景中,我们经常遇到训…

2026/7/23 13:40:39 阅读更多 →
【通义千问论文写作黄金法则】:20年学术导师亲授AI时代高效写作的5大禁忌与3个提效公式

【通义千问论文写作黄金法则】:20年学术导师亲授AI时代高效写作的5大禁忌与3个提效公式

更多请点击: https://intelliparadigm.com 第一章:通义千问论文写作黄金法则的底层逻辑 通义千问在学术写作场景中的高效表现,并非源于泛化的语言生成能力,而是建立在三重协同机制之上:领域知识蒸馏、结构化推理约束与…

2026/7/23 13:40:39 阅读更多 →
遗传算法优化BP神经网络的MATLAB实现与应用

遗传算法优化BP神经网络的MATLAB实现与应用

1. 项目概述在工程预测和数据分析领域,神经网络因其强大的非线性拟合能力而广受青睐。然而,传统神经网络(尤其是BP神经网络)存在训练速度慢、易陷入局部最优等固有缺陷。遗传算法作为一种模拟自然进化过程的全局优化方法&#xff…

2026/7/23 13:39:38 阅读更多 →

日新闻

从单点好评到指数级传播:AI副业主理人必须掌握的4层口碑渗透模型(含ROI测算表)

从单点好评到指数级传播:AI副业主理人必须掌握的4层口碑渗透模型(含ROI测算表)

更多请点击: https://intelliparadigm.com 第一章:从单点好评到指数级传播:AI副业主理人必须掌握的4层口碑渗透模型(含ROI测算表) 当AI副业主理人不再仅满足于单次服务交付,而是主动构建可复用、可裂变、可…

2026/7/23 0:00:25 阅读更多 →
AI写作开头钩子设计:为什么你的AI文案完读率不足18%?——基于2,346篇A/B测试报告的归因分析

AI写作开头钩子设计:为什么你的AI文案完读率不足18%?——基于2,346篇A/B测试报告的归因分析

更多请点击: https://codechina.net 第一章:AI写作开头钩子设计:为什么你的AI文案完读率不足18%?——基于2,346篇A/B测试报告的归因分析 在对2,346篇跨行业AI生成文案的A/B测试数据进行聚类分析后,我们发现&#xff1…

2026/7/23 0:01:26 阅读更多 →
Chitchatter完整指南:免费开源的终极点对点安全聊天工具

Chitchatter完整指南:免费开源的终极点对点安全聊天工具

Chitchatter完整指南:免费开源的终极点对点安全聊天工具 【免费下载链接】chitchatter Secure peer-to-peer chat that is serverless, decentralized, and ephemeral 项目地址: https://gitcode.com/gh_mirrors/ch/chitchatter Chitchatter是一款革命性的安…

2026/7/23 0:01:26 阅读更多 →

周新闻

Go语言静态资源打包方案对比与实践指南

Go语言静态资源打包方案对比与实践指南

1. 项目背景与核心需求在Go语言开发中,我们经常需要处理静态资源文件的打包问题。无论是Web应用的模板文件、前端资源,还是配置文件、证书等,都需要随程序一起分发。传统做法是将这些文件与编译后的二进制文件放在同一目录下,但这…

2026/7/22 8:58:19 阅读更多 →
Go语言实现高性能LDAP认证服务的架构与实践

Go语言实现高性能LDAP认证服务的架构与实践

1. 项目背景与核心价值LDAP(轻量级目录访问协议)作为企业级身份认证的黄金标准,已经服务了超过80%的财富500强公司。我在金融科技领域实施统一认证体系时,发现传统Java方案存在启动慢、内存占用高等痛点。而Go语言凭借其协程并发模…

2026/7/22 19:43:43 阅读更多 →
【AI面试官实战指南】:用ChatGPT模拟10类高频技术岗面试,3天提升应答精准度92%

【AI面试官实战指南】:用ChatGPT模拟10类高频技术岗面试,3天提升应答精准度92%

更多请点击: https://intelliparadigm.com 第一章:AI面试官实战指南的核心价值与适用场景 AI面试官并非替代人类HR的“黑箱工具”,而是以可解释、可审计、可迭代的方式,赋能招聘全链路的关键基础设施。其核心价值在于将主观经验沉…

2026/7/22 12:54:44 阅读更多 →

月新闻