机器学习之路——K邻近法详解

本文详细介绍了K近邻(KNN)算法,包括其无显式学习过程的特点,K值选择对模型复杂度的影响,距离度量方法如欧式距离、曼哈顿距离等,以及多数表决分类决策规则。通过实验展示了不同K值对识别率的影响,并讨论了kd树和位置敏感哈希法(LSH)等加速搜索方法在高维数据中的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

统计学习方法第三章——knn算法

首先要明确的第一个重点是,k邻近不具有显示的学习过程,它是基于实例的一种学习方法,简单来说就是给定一堆西瓜的数据,然后输入一个新西瓜的数据,找到与这个新西瓜最近的k个西瓜,这k个西瓜如果大多数是属于又甜又好吃的西瓜,那么就把这个西瓜分为又甜又好吃的西瓜这一类的西瓜中。

从上述的描述中不难看出,有三个要注意的一个是K值,也就是周围有几个西瓜和新西瓜相邻,如果k太小,那么好处是近似误差会减小,只有特征与这几个西瓜相似的才对预测新西瓜的“甜”“好吃”起作用,但是相同的,会带来一个问题,就是假如在这几个西瓜中不甜的多,那么会带来估计误差,这也就是k值减小使得模型变的复杂,复杂度上升,容易发生过拟合。k太大也就容易理解了,如下图

 

二是距离的度量,一般采用欧式距离,但也有不同的距离度量可供选择,不同的距离所确定的最近邻点不同。

1:a)

(1)曼哈顿距离:

    

(2)欧几里得距离:

    

(3)切比雪夫距离:

   

(4)闵可夫斯基距离:

 

(5)马氏(Mahalanobis)距离 :

三是分类决策规则的不同,往往采用的策略是多数表决策略,如果采用的是多数表决策那么,我们可以进行如下推导:


接下来就是实践。我们来看一下不同的k值不同的分类决策对性能有什么影响。

对于经典的IRIS数据集我进行了如下实验

matlab代码如下:

%处理数据

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值