第三章 K近邻算法
k近邻算法(KNN)是一种基本分类与回归方法。
k近邻算法
k近邻算法简单、直观:给定一个训练数据集,对新的输入实例,在训练数据集中找到与该实例最邻近的k个实例,这k个实例的多数属于某个类,九八该输入实例分为这个类。
k近邻模型
模型三个基本要素:距离度量、k值的选择和分类决策规则
模型:当训练集、距离度量、K值及分类决策规则确定后,对于任何一个新的输入实例,它所属的类唯一地确定。
距离度量:特征空间中两个实例点的距离是两个实例点相似程度的反映。
由不同的距离度量所确定的最近邻点是不同的。
k值的选择
其中K值越大,模型越简单;K值越小,模型越复杂,容易发生过拟合。
在应用中,K值一般取一个比较小的数值。通常采用交叉验证法来选取最优k值。
分类决策规则
分类决策规则一般采用多数表决法,即由输入实例的k个邻近的训练实例中的多数类决定输入实例的类。
kd树
k近邻法最简单的实现方法是线性扫描。->但当训练集很大时,计算非常耗时
为了提高k近邻搜索的效率,可以考虑使用特殊的结构存储训练数据,以减少计算距离次数。