⼀、K近邻算法
K近邻算法简单、直观。⾸先给出⼀张图,根据这张图来理解最近邻分类器。
k近邻法中,当训练集、距离度量、K值以及分类决策规则确定后,对于任何⼀个新的输⼊实例,它所属的类唯⼀地确定。这相当于根据上述要素将特征空间划分为⼀些⼦空间,确定⼦空间⾥的每个点所属的类
1.1 距离度量
特征空间中两个实例点的距离可以反映出两个实⼒点之间的相似性程度。K近邻模型的特征空间。⼀般是N维实数向量空间,使⽤的距离可以是欧式距离,也可以是其他距离。
欧⽒距离:
最常⻅的两点之间或多点之间的距离表示法,⼜称之为欧⼏⾥得度量,它定义于欧⼏⾥得空间中
$$ d(x,y)=\sqrt{\sum_{i=1}^{n}(x_i-y_i)^2} $$
曼哈顿距离:
我们可以定义曼哈顿距离的正式意义为 距离或城市区块距离,也就是在欧⼏⾥得空间的固定直⻆坐标系上两点所形成的线段对轴产⽣的投射的距离总和。
$$ d(x,y)=\sum_{i=1}^{n}|x_i-y_i| $$
切⽐雪夫距离:
$$ d(x,y)=\lim_{k->无穷}(\sum_{i=1}^{n}|x_i-y_i|^k)^{1/k} $$
闵可夫斯基距离:
它不是⼀种距离,⽽是⼀组距离的定义。
$$ d(x,y)=(\sum_{i=1}^{n}|x_i-y_i|^k)^{1/k} $$
标准化欧⽒距离:
对样本集先进⾏标准化,经过简单的推导就可以得到来标准化
欧⽒距离
$$ d(x,y)=\sqrt{\sum_{i=1}^{n}(\frac{x_i-y_i}{s})^2} $$
二、K值的选择
K值得选择会对K近邻法的结果产⽣重⼤影响。
如果选择较⼩的K值,就相当于⽤较⼩的领域中的训练实例进⾏预测,“学习”近似误差会减⼩,估计误差会增⼤,换句话说,K值得减⼩就意味着整体模型变得复杂,容易发⽣过拟合(容易受到训练数据的噪声⽽产⽣的过拟合的影响)。
如果选择较⼤的K值,就相当于⽤较⼤领域中的训练实例进⾏预测,其优点是可以减⼩学习的估计误差,但缺点是学习的近似误差会增⼤。
三、K近邻的优缺点
优点:
-
简单、易于理解、易于实现、⽆需估计参数、⽆需训练。
-
适合对稀有事件进⾏分类(如⼤概流式率很低时,⽐如0.5%,构造流失预测模型)
缺点:
-
可解释性较差,⽆法给出决策树那样的规则。
-
当样本不平衡时,如⼀个类的样本容量很⼤,⽽其他类样本容量很⼩时,有可能导致当输⼊
-
⼀个新样本时,该样本的K个邻居中⼤容量类的样本占多数。