1.基于树:KD-tree、KMeans-tree、VP-tree、Ball-tree等等,其共同特点在于利用某种策略,对空间进行逐层切分,直到树的叶子节点只覆盖空间的一个小的局部。通过这个方式大幅提升检索性能。 2.基于哈希:局部敏感哈希(Locality Sensitive Hashing)、谱哈希(Spectral Hashing)、球哈希(Sphere Hashing)、锚点图哈希(AnchorGraph Hashing)等等。他们的共同特征则是通过超平面或者曲面,将空间进行直接切分,并对切分后得到的各个细小区域进行二进制编码,通过构建哈希表来加速查询。其中,超平面或者曲面可以通过学习或者非学习的方式得到,其表示我们称之为哈希函数。 3.基于量化:矢量量化(Vector Quantization)、粗量化(Coarse Product)、积量化(ProductQuantization)及其改进的最优积量化(Optimised Product Quantization)、复合积量化(Composite Quantization)。量化的思想是对向量进行kmeans等聚类方式,将相邻向量使用中心点代替,从而通过倒排索引以及子空间距离计算加速等策略提高检索速度。 4.基于图:近邻的近邻也很可能是近邻。从随机选择的初始点开始,通过检查邻居里距离query更近的点,把该点当作下一次迭代需要检查邻居的点,如此不断迭代,通过邻居的邻居,我们会逐渐逼近query。
答复内容摘自《PostgreSQL实战教程》,这本电子书收录开发者藏经阁 下载连接:https://developer.aliyun.com/topic/download?id=1168
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。