K近邻算法所面临的维数灾难问题

  • K近邻算法的基本思想

K近邻算法是一种常用的监督学习方法,其原理非常简单:

给定测试样本,基于某种距离找出训练集中与其最靠近的K个训练样本,然后基于这K个邻居的信息来进行预测。

两个基本要素:1某种距离的概念 2 彼此相近的点具有相似性质的假设

  • k近邻算法所面临的维数灾难问题

但是随着特征维数的增大,K近邻算法的效果会持续变差,这是因为高维空间过于巨大,高维空间内的点根本不会表现得彼此邻近。

观察维数灾难的一种方法是在一个高维的空间中随机地生成点对,并计算它们之间的距离。

 

对于从1到100的每一个维度,我们会计算10000个随机点对的距离,并统计其平均值和最小值,结果如图1所示:

可以看出,随着维度的增加,空间中点对的平均距离和最小距离都在逐步增大。

但更糟糕的是最小距离和平均距离之间的比例也在逐步增大,如图2所示:

  • 如何解决该问题?

所以,如果打算在高维空间中使用K近邻算法,不妨先做一些降维的工作。

  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值