k近邻法: k-nearest neighbor

来源:互联网 发布:d3.js绘制社交图谱 编辑:程序博客网 时间:2024/05/17 05:01

KNN

k近邻算法既可以作为分类方法也可以作为回归方法。考虑作为分类的时候,算法的输入为特征空间,输出为实例的类别。
基本思想:给定一个训练集,然后寻找其中与新输入的实例最近的k个实例,将新实例标记为k个实例中所属类别最多的一类。


K近邻模型

k近邻算法实际就是划分特征空间。该模型的基本要素:距离的度量、K值的选择,分类决策规则。

距离度量

常见的距离度量有:欧氏距离、曼哈顿距离、闵可夫斯基距离、契比雪夫距离。不同的距离度量计算出来的最近邻点是不相同的。
具体的内容可以参考:常用的相似性度量

k值选择

K值的较小意味着模型的复杂度上升,容易过拟合;k值的增大意味着模型区域简单,容易欠拟合。实际应用中通常使用交叉验证法来选取最优的K值。

分类决策规则

k近邻的分类决策规则往往是少数服从多数,即k个近邻实例中哪个类别的实例多就将新实例标记为哪类。
假设分类的损失函数为0-1损失函数,分类函数为:

f:Rn{c1,c2,,ck}

那么误分类的概率为:
P(Yf(X))=1P(Y=f(X))

定义的损失函数为:
J=11kxiNk(x)I{yi=cj}

根据最小化经验风险的原则,k近邻的多数表决规则等价于经验风险最小化。


实现

KD树


Reference:
[1]《统计学习方法》,李航.
[2]常用的相似性度量

原创粉丝点击