高维数据的快速最近邻算法FLANN
1. 简介
在计算机视觉和机器学习中,对于一个高维特征,找到训练数据中的最近邻计算代价是昂贵的。对于高维特征,目前来说最有效的方法是 the randomized k-d forest和the priority search k-means tree,而对于二值特征的匹配 multiple hierarchical clusteringtrees则比LSH方法更加有效。
目前来说,fast library for approximate nearest neighbors (FLANN)库可以较好地解决这些问题。
2. 快速近似NN匹配(FAST APPROXIMATE NN MATCHING)
2.1 随机k-d树算法(The Randomized k-d TreeAlgorithm)
a. Classick-d tree
找出数据集中方差最高的维度,利用这个维度的数值将数据划分为两个部分,对每个子集重复相同的过程。
参考http://www.cnblogs.com/eyeszjwang/articles/2429382.html。
b. Randomizedk-d tree
建立多棵随机k-d树,从具有最高方差的N_d维中随机选取若干维度,用来做划分