文章目录
- 暴力搜索(Flat)
- 聚类
- 近似最近邻算法:ANN
- 局部敏感哈希索引:LSH
- 存储优化:(量化)聚类码本
- 乘积量化索引:PQ
- 层次导航小世界:HNSW
 
暴力搜索(Flat)
- 原理: 让待查寻向量和每一个备选向量都计算相似度, 选取topk, 召回率是100%。
- 计算相似度的方法: 
  - 欧式距离(Euclidean Distance)
- 曼哈顿距离(Manhattan Distance)
- 夹角余弦(Cosine)
- 皮尔逊相关系数(Pearson Correlation Coefficient)
- 内积
 
聚类
- 原理:随机选择一些样本作为聚类中心点,叫做质心,计算相似性或距离,将样本分配到最近的簇中,重新计算每个簇中的均值或中心点,作为新的聚类中心,重复以上两个步骤,直到满足停止条件。
  
近似最近邻算法:ANN
局部敏感哈希索引:LSH
- 原理步骤 
  - 哈希函数可以将不同数据转化为统一长度的二进制编码
 

 - 利用哈希碰撞,让尽可能相似的数据碰撞到同一个桶中
 
-  如何找到哈希函数,让尽可能相似的向量分到一个桶中 - 以二维举例,随即生成线,高维可以是超平面,分割之后一面为0 一面为1,计算二进制编码,最后对比相同的编码为一组。
  
  
  - 如果数据太密集误差较大,可以做优化,将二进制编码再进行分组。
 

存储优化:(量化)聚类码本
- 原理:存储的时候可以对向量进行量化处理,减少内存占用、提高查询速度
  
乘积量化索引:PQ
- 原理:对于高维数据,直接存储内存占用个太多,可以进行分段存储,每段有自己的码本,可以降较少内存的消耗
  
  
  
  
  
  
  
  
层次导航小世界:HNSW
- 6人原理,每6个人引荐就能找到另一个人。
  

 
 






![[学习笔记]3小时搞定DRF框架 | Django REST framework前后端分离框架实践](https://img-blog.csdnimg.cn/7abd7276c311419a9ff7c50e224c08bf.png)
![[openCV]基于拟合中线的智能车巡线方案V4V5](https://img-blog.csdnimg.cn/88b8ac115e794211abc7c15fc1e5d00c.png)











