sgr-interview-300

第 111 题:近似最近邻(ANN)的LSH,局部敏感哈希族的构造?

题目

近似最近邻(ANN)的LSH,局部敏感哈希族的构造?


完整讲解

一、近似最近邻(ANN)与 LSH

精确最近邻在大规模高维下成本高(暴力 $O(Nd)$),ANN 用索引与近似算法在召回率与延迟间折中。局部敏感哈希(LSH):若两点相似(距离小),则它们以高概率落入同一桶;若不相似,则以高概率落入不同桶。通过多组哈希函数与多桶,可放大「相似→同桶」的概率,实现快速候选筛选。

二、LSH 族的定义

哈希族 $\mathcal{H}$ 称为对距离 $D$ $(r, cr, p_1, p_2)$-敏感的,若:距离 $\le r$ 的点对以概率 $\ge p_1$ 发生碰撞;距离 $\ge cr$ 的点对以概率 $\le p_2$ 发生碰撞;且 $p_1 > p_2$、$c>1$。好的 LSH 族要求 $p_1$ 尽量大、$p_2$ 尽量小,使真近邻易同桶、远点易分离。

三、常见 LSH 族的构造

四、多表与多哈希

单次哈希碰撞率有限,通常建 $L$ 张表、每表用 $k$ 个哈希函数组合成复合桶($g=(h_1,\ldots,h_k)$)。查询时对 $q$ 算 $g(q)$,在 $L$ 个桶内取并集作候选。$L$、$k$ 增大则召回升、延迟与存储也升,需按 recall/latency 调参。


面试要点


记忆要点

返回模块 返回总览