k近邻模型
- 当作为分类算法时,通过“投票法”预测结果。也可基于距离远近进行加权投票
- 当作为回归算法时,通过“平均法”预测结果。也可基于距离远近进行加权平均
- 属于懒惰学习
- 不具有显式地学习过程
作为分类算法
《机器学习》中讨论了k近邻模型在样本独立同分布,且密度足够大的前提下,有结论:
最近邻分类器虽然简单,但它的泛化错误率不超过贝叶斯最优分类器的错误率的两倍
范围:二分类或多分类,不要想当然的以为只能二分类。
三要素
- 距离度量
- k值的选择
- 分类决策
距离度量
Lp距离的公式需记忆。
当p=1时,Lp距离变为曼哈顿距离
当p=2时,Lp距离变为欧氏距离
当p趋于正无穷大时,Lp距离即为特种空间中,每一维中坐标距离的最大值
k值的选择
近似误差:近似误差小表示只有较近的(相似的)训练实例对结果起作用,反之表示较远的(不相似)的训练示例对结果也会起作用
估计误差:估计误差小表示利用较大范围领域内的训练示例进行预测,反之表示只有较小范围领域内示例进行预测,最近邻示例很敏感。
* 当k较小时,近似误差小,估计误差大,最近邻很敏感。模型比较复杂,容易过拟合。
* 当k较大时,近似误差大,估计误差小。模型比较就简单。极端情况,当k=N时,无论输入示例是什么,都将简单地输入训练集中示例最多的类,这样的模型过于简单,忽略了训练示例中的大量的有用信息,不可取。
实际应用中,k一般取比较小的值,通常采用交叉验证法来选取最有k值。
分类决策
一般采取多数表决的投票法。
《统计学习方法》中有证明,说明了多数表决法等价于0-1损失函数下的经验风险最小化。