机器学习笔记08---k近邻学习

    k近邻(k-Nearest Neighbor,简称kNN)学习是一种常用的监督学习方法,其工作机制非常简单:给定测试样本,基于某种距离度量找出训练集中与其最靠近的k个训练样本,然后基于这k个“邻居”的信息来进行预测。通常,在分类任务中可以使用“投票法”,即选择这k个样本中出现最多的类别标记作为预测结果;在回归任务中可使用“平均法”,即将这k个样本的实值输出标记的平均值作为预测结果;还可基于距离远近进行加权平均或加权投票,距离越近的样本权重越大。

    与别的学习方法相比,k近邻学习有一个明显的不足之处:它似乎没有显式的训练过程!事实上,它是“懒惰学习”(lazy learning)的著名代表,此类学习技术在训练阶段仅仅是把样本保存起来,训练时间开销为零,待收到测试样本后再进行处理;相应的,那些在训练阶段就对样本进行学习处理的方法,称为“急切学习”(eager learning)。

    下方是k近邻分类器的一个示意图。显然,k是一个重要参数,当k取值不同时,分类结果会有显著的不同。另一方面,若采用不同的距离计算方式,则找出的“近邻”可能有显著差别,从而也会导致分类结果有显著不同。

  (k近邻分类器示意图。圆显示出等距线;样本在k=1或k=5的时候被判别为“-”例,k=3时被判别为“+”例。)    (PS)古有云:近朱者赤近墨者黑就是这个道理。

暂且假设距离计算是“恰当的”,既能够恰当的找出k个近邻,我们来对"最近邻分类器"(1NN,k=1)在二分类问题上的性能做一个简单的讨论。

    给定测试样本x,若其最近邻样本为z,则最近邻分类器出错的概率就是x与z类别标记不同的概率,即:

     假设样本独立同分布,且对任意x和任意小整数σ,在x附近σ距离范围内总能找到一个训练样本;换言之,对任意测试样本,总能在任意近的范围内找到训练样本z。令c*=argmaxP(c|x)表示贝叶斯最优分类器的结果,有:

 于是得到了令人惊讶的结论:最近邻分类器虽然简单,但是它的泛化错误率不超过贝叶斯最优分类器的错误率的两倍。

参考周志华《机器学习》

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值