《统计学习方法》第三章 k近邻法
k近邻法(k-nearest neighbor, k-NN)是一种基本的分类与回归方法。可以进行多类的分类。
k近邻法不具有显式的学习过程,利用训练数据集对特征向量空间进行划分。
三个基本要素:k值的选择、距离度量和分类决策规则。
3.1 k近邻算法
给定一个训练数据集,对新的输入实例,在训练数据集中找到与该实例最邻近的k个实例,这k个实例的多数属于某个类,就把该输入实例分为这个类。
k=1时,为最近邻算法。
k近邻模型
k近邻模型对应于对特征空间的划分。
3.2.1 模型
特征空间中,对每个训练实例点xi,距离该点比其他点更近的所有点组成一个区域,叫做单元(cell)。
每个训练实例点拥有一个单元,所有训练实例点的单元构成对特征空间的一个划分。
3.2.2 距离度量
特征空间中两个实例点的距离时两个实例点相似程度的反映。
由不同的距离度量所确定的最近邻点时不同的。
3.2.3 k值的选择
k值越大,模型的复杂度越小。
k值小,整体模型复杂,容易过拟合,近似误差(approximation error)减小,估计误差(estimation error)增大
k值大,整体模型简单,近似误差增大,估计误差减小。
k值的选择,一般通过交叉验证的方法进行选择。
近似误差和估计误差
3.2.4 分类决策规则
3.3 k近邻法的实现:kd树
kd树方法:为了提高k近邻搜索的效率
3.3.1 构造kd树
kd树是二叉树,是存储k维空间数据的树结构。k与k近邻法的k意义不同,k近邻法的k代表选取的k个最近的实例。
如果选择训练实例点在选定坐标轴上的中位数为切分点,这kd树是平衡的,平衡的kd树搜索时的效率未必是最优的。