KNN模型概括
- KNN是非线性算法,可以用于分类,也可以用于回归问题。
- 对于新的实例,根据其K个最近邻的训练实例的类别,通过多数表决方式处理分类问题,通过均值方式处理回归问题。
- K近邻不具有显示的学习过程,实际上利用训练数据集对特征空间进行划分,并作为其分类或者回归的模型。
- K近邻包含三个要素,K值的选择,距离度量,分类决策规则等等;
- KNN思想简单,对outlier不敏感,但是计算复杂度较高,通过构建kd树,提高KNN的搜索效率。(KNN适用于样本量远远大于特征维数的情况)
如何提高K近邻搜索的效率?
传统方法是线性扫描,计算输入实例与每个已标样本的距离;
kd树方法:二叉树,表示对k维空间的一个划分;
构建kd树
搜索kd树