- k 近邻法(k-nearest neighbor, k-NN)是一种基本分类与回归方法。这里只讨论分类问题的 kNN。
- k 近邻法的算法
-
输入:
训练集
其中, 为实例的特征向量, 为实例的类别,;实例特征向量 。
-
输出实例 所属的类 。
-
过程:
-
根据给定的距离度量,找出与 最邻近的 个点,这个邻域记作 。
-
在 中根据分类决策规则(如多数表决)决定 的类别 :
其中, 为指示函数,即当 时 为 1,否则 为 0。
-
-
- 是一种特殊情况,称为最邻近算法。
- k 近邻法的模型三要素是距离度量、k 值与分类决策规则。
-
基本概念
- 单元(cell):距离该点比其他点更近的所有点组成的一个区域。每个训练实例拥有一个单元。
- 类标记(class label):每个单元的类别。最邻近法将实例 的类 作为其单元中所有点的类标记。
-
距离度量
-
距离定义为:
-
当 距离中 取 2 时,称为欧氏距离(Euclidean distance)。
-
当 距离中 取 1 时,称为曼哈顿距离(Manhattan distance)。
-
当 距离中 取 时,它是各个坐标距离的最大值,即:
-
此外还有 Minkowski 距离。
-
距离度量不同,最邻近点不同。
-
-
值越小意味着模型越复杂,更容易过拟合。通常 取一个较小的值。通常采用交叉验证法确定 值。
-
分类决策规则:k 近邻法的分类决策往往是多数表决。分类函数为:
误分类的概率是:
对给定的实例 ,其最邻近的 个训练实例点构成集合 。如果涵盖 的区域类别是 ,那么误分类率是:
要使误分类最小即经验风险最小,就要使 最大,所以多数表决规则等价于经验风险最小化。
-
- 计算 kNN 的算法是 kd 树。kd 树是一种对 k 维空间中的实例点进行存储以便对其进行快速检索的树形数据结构。注意这里的 与 k 近邻的 并不是一个含义,它等于特征向量的维数。
《统计学习方法》学习笔记3:k近邻法
Share this post on: