K近邻(knn)是一种基本的分类与回归方法。
k近邻输入的实例为特征向量,输出为实例的类别。可以取很多类。
k近邻实际上利用训练数据集对特征向量空间进行划分,并作为其分类的“模型”。
k值的选择 距离度量 分类决策规则 是K近邻的三要素。
K近邻算法简单、直观:给定一个数据集,对于新输入的实例,在训练数据集中找到与该实例最近邻的k个实例,这k个实例的多数属于某个类,就把该输入实例分为这个类。
特征空间中两个实例点的距离是两个实例点相似程度的 反映。
K值的选择:
如果选择较小的K值,那么相当于用较小的邻域中的训练实例进行预测,这样学习的近似误差会减小,但是模型会变复杂,容易发生过拟合。如果周围恰巧是噪声,那就容易预测错误。
如果选择较大的K值,那么相当于用较大的邻域中的训练实例进行预测,这样学习的近似误差增大,但是模型会变简单,离预测点比较远的点也会对预测起作用,(相关度不大),使预测发生错误。
在应用中,k值一般选取一个比较小的数字,通常采用交叉验证法来选取最优的K值。
分类决策规则:
分类决策为多数表决 。
多数表决等价于经验风险最小化。
KD树的构建和搜索统计学习方法写的很清楚,再次就不叙述。