k近邻法k-nearest neighbor

本文是《统计学习方法》李航著学习笔记。

k近邻法是一种基本的分类与回归方法,这里主要讨论分类问题的k近邻法。

k近邻算法的有关内容,都基于监督学习的训练数据集的各实例点的类确定情形!

以下讨论主要分三部分:(1.)应用k近邻算法做预测,(2.)k近邻模型的基本构成要素,(3.)k近邻算法的实现——kd树。

应用k近邻算法做预测:

这里说做预测,显然模型已经确定,只需对新的输入实例点应用k近邻模型进行类别判断。即不用再考虑此处训练实例点的类别是怎么分类的,怎么得到这样的分类的过程,这一问题显然属于模型的学习过程,而不是预测新实例点时应该有的情况。


k近邻模型的基本构成要素:

k近邻模型的三个基本要素——距离度量、k值的选择、分类决策规则。

即当训练集、距离度量、k值的选择、分类决策规则确定后,对于任何新的输入实例,它的类唯一确定。

单元:

引入单元的概念是为了形象化表示k近邻模型中训练实例点的类别对特征空间的划分,尤其对于“最近邻法”,落某个单元内的“预测实例点”类别,就是该单元内“训练实例点”的类别。



距离度量:

距离度量这里仅给出几个公式,有关性质不过多赘述,感兴趣的人可以参看《泛函分析》教材。


需要注意的是,不同的距离度量方式得到的k个最近邻点可能有所不同。

k值选择、多数表决规则:

k值选择反映了“近似误差”与“估计误差”间的权衡,可以利用交叉验证选k,下面陈述S折交叉验证选k的具体过程:


k值较小表示整体模型较复杂,易发生过拟合;k值较大,整体模型变简单,但较远不相似的训练示例也对预测起作用,使预测发生错误。


k近邻算法的实现——kd树:

对训练数据的k近邻个点进行线性扫描计算量过大,为提高效率减少计算距离的次数,考虑用特殊的数据结构存储训练数据,kd数方法就是满足这一需求的一种算法。

首先,构造kd树,以便于对于任意给定的预测实例点查找其对应的k个近邻点:



特征空间划分、kd树对应示意图:


其次,搜索kd树,演示对于新给定的实例点,根据kd树结构寻找k个近邻点的过程(这里以最近邻为例说明搜索过程):








评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值