一、原理与概念
1、样本
k近邻法使用的样本数据集合,称作训练样本集,并且样本集中每个数据都存在标签,即样本集中每个数据与所属分类的对应关系已知。
2、原理
输入没有标签的新数据后,将新数据的每个特征与样本集中数据对应的特征进行比较,然后算法提取样本集中特征最相似数据(最近邻)的分类标签。
k近邻法的k指的就是这些最近邻的数量。
3、要点
K一般不大于20,最后,选择k个中出现次数最多的分类,作为新数据的分类
4、优点
精度高
对异常值不敏感
无数据输入假定
5、缺点
计算复杂度高
空间复杂度高
二、算法
1、输入输出
输入:训练数据集 实例特征向量x
输出:x所属的类y
2、步骤
(1)根据给定的距离度量, 在训练集T中找出与x最邻近的k个点, 涵盖这k个点的x的邻域记作Nk(x);
(2)在邻域中根据分类决策规则(如多数表决) 决定x的类别y:
3、指示函数
I为指示函数, 即当括号中等式成立时I为1否则I为0
4、最近邻算法
k=1,算法称为最近邻算法, 最近邻法将训练数据集中与x最邻近点的类作为x的类
三、模型
1、子空间
k近邻法中, 当训练集、 距离度量(如欧氏距离) 、 k值及分类决策规则(如多数表决) 确定后, 对于任何一个新的输入实例, 它所属的类唯一地确定。
这相当于根据上述要素将特征空间划分为一些子空间, 确定子空间里的每个点所属的类。
2、单元(cell)
特征空间中, 对每个训练实例点距离该点比其他点更近的所有点组成一个区域, 叫作单元。
每个训练实例点拥有一个单元, 所有训练实例点的单元构成对特征空间的一个划分。
最近邻法将实例xi的类yi作为其单元中所有点的类标记 。
这样, 每个单元的实例点的类别是确定的。
四、k值选择
1、选择较小的K值
“学 习”的近似误差(approximation error)会减小,但 “学习”的估计误差(estimation error) 会增大,
噪声敏感
K值的减小就意味着整体模型变得复杂,容易发生过 拟合.
2、选择较大的K值
减少学习的估计误差,但缺点是学习的近似误差会增大.
K值的增大 就意味着整体的模型变得简单.
3、k = N
无论输入实例是什么, 都将简单地预测它属于在训练实例中最
多的类。 这时, 模型过于简单, 完全忽略训练实例中的大量有用信息, 是不可取的。
在应用中, k值一般取一个比较小的数值。 通常采用交叉验证法来选取最优的k值
五、分类决策规则 多数表决
k近邻法中的分类决策规则往往是 多数表决规则(majority voting rule), 即由输入实例的k个邻近的训练实例中的多数类决定输入实例的类