第三章 k-近邻法
k-近邻法实质是对于新的实例,根据最邻近的训练实例的类别,通过多数表决的方式进行预测。而k-近邻法的学习过程实质是利用训练数据集对特征空间进行划分。k-近邻法的三个要素:k值选择,距离度量和分类决策。
3.1 k-近邻算法
直观解释:在训练数据集中找到距离输入实例最近的k个点,根据这k个点来判断实例类别。
算法过程:
3.2 k近邻模型
3.2.1 模型
k近邻模型是指对特征空间的划分,模型三要素:距离度量,k值选择和分类决策规则。当这三个要素决定后,就将特征空间进行了一个划分,对于训练实例点,距离该点比其他点更近的所有点组成一个区域,叫单元。将x的类别y作为单元所有点的类标记。
3.2.2距离度量
衡量两个实例点的距离,在n维实数空间,一般采用欧氏距离。
欧式距离:
3.2.3 k值的选择
k值越小,越容易发生过拟合,近似误差越小,预测误差越大。
k值越大,模型越简单,近似误差越大,预测误差越小。
3.2.4分类决策规则
多数表决规则:k个临近数据的大多数类别决定。
3.3 k近邻法的实现:kd树
如何查找最近的k个实例点:1.线性扫描(耗时)2.kd树结构存储数据
3.3.1构造kd树
简单说:利用垂直于坐标轴和切分点构成的超平面不断将k维空间进行切分,利用二叉树的结点来表示切分后的子区域。
算法过程:
3.2.2搜索kd树
利用kd树进行搜索算法: