k近邻算法(KNN)的原理为:存在一个训练样本集,且样本集中的每一个数据都存在标签,对于输入的新数据,选择k个最相近的数据,k个最相近数据中出现次数最多的分类,作为新数据的分类。
K近邻模型三要素:K值的选择,距离度量和分类决策规则。
kd树
kd树是一种对k维空间的实例点进行存储以便对其进行快速的检索的树形数据结构.kd树是二叉树,构造kd树相当于不断的用垂直于坐标轴的超平面将k维空间切分。
FLANN(Fast Library for Approximate Nearest Neighbours)是一个在高维空间中快速搜索近邻的库。主要优势:实现了包含kd-tree等在内的搜索算法集合,并且可以根据数据集本身特点,自动选取最适合的算法来完成k近邻搜索任务(更加确切的说是高维特征向量的匹配任务),提供了c++、c、python、matlab的接口。