KNN之KD树
KNN是K-Nearest-Neighbors 的简称,由Cover和Hart于1968年提出,是一种基本分类与回归方法。这里主要讨论分类问题中的k近邻法。
•积极学习法 (决策树归纳):先根据训练集构造出分类模型,根据分类模型对测试集分类。•消极学习法 (基于实例的学习法):推迟建模,当给定训练元组时,简单地存储训练数据(或稍加处理),一直等到给定一个测试元。
KNN就是一种简单的消极学习分类方法,它开始并不建立模型,没有显式的学习过程。
•距离度量(邻居判定标准)•K值的选择(邻居数量)•分类决策规则(确定所属类别)
1、距离度量
闵氏距离不是一种距离,而是一组距离的定义(p是一个变参数)。
当p=1时,就是曼哈顿距离
当p=2时,就是欧氏距离
当p→∞时,就是切比雪夫距离
K值的选择
K值的选择影响:
1. 如果选择较小的K值,就相当于用较小的邻域中的训练实例进行预测。(极限情况K=1)
优点是“学习”的近似误差会减小,只有与输入实例较近或相似的训练实例才会对预测结果起作用。缺点是“学习”的估计误差会增大,对近邻点的实例点非常敏感。2. 如果选择较大的K值,就相当于用较大邻域中的训练实例进行预测。(极限情况K=N)
优点是可以减少学习的估计误差,对噪声不敏感。缺点是学习的近似误差会增大,与输入实例较远(不相似的)训练实例也会对预测器起作用,使预测发生错误。
K值的选择策略:
Step1:在实际应用中,K先取一个比较小的数值。
Step2:采用交叉验证法来逐步调整K值,最终选择适合该样本的最优的K值。
一般采用k为奇数,跟投票表决一样,避免因两种票数相等而难以决策。
常见的分类决策规则:
多数表决:少数服从多数。
由输入实例的k个邻近的训练实例中的多数类决定该实例的类。
加权表决:类似大众评审和专家评审。
根据各个邻居与测试对象距离的远近来分配相应的投票权重。
最简单的就是取两者距离之间的倒数,距离越小,越相似,权重越大,将权重累加,最后选择累加值最高类别属性作为该待测样本点的类别。
例:
类1: 0.25+0.5=0.75
类2:1