一、引言:为什么需要近似最近邻(ANN)?
在机器学习和数据挖掘领域,最近邻搜索(k-NN)是一种基础且核心的技术,它的核心思想是在数据集中找到与目标样本最相似的k个样本。但随着数据维度的提升(如图像、文本的特征向量通常是几百维甚至几千维)和数据量的爆炸式增长(十亿级、百亿级样本),精确最近邻(Exact Nearest Neighbor, ENN)搜索面临着严重的“维度灾难”问题——其时间复杂度会呈指数级上升,在工业场景中几乎无法落地。
此时,近似最近邻(Approximate Nearest Neighbor, ANN)搜索应运而生。它不追求找到绝对最优的最近邻,而是以极小的精度损失为代价,将搜索效率提升几个数量级,满足海量高维数据的实时检索需求。如今,ANN已成为计算机视觉、自然语言处理、推荐系统等领域的核心支撑技术。
二、ANN技术的发展历史
ANN技术的发展大致可分为三个阶段,每一个阶段都伴随着数据规模和维度的提升,以及技术思路的迭代:
1. 早期探索阶段(20世纪80年代-2000年):基于树结构的精确搜索优化
这一阶段数据维度较低(通常<20维)、数据量较小,研究重点是对精确最近邻搜索的优