【笔记_统计学习方法】ch3 k近邻(k-NN)

k-NN是一种无参数学习方法,用于分类和回归。其主要基于实例,通过寻找输入实例最近的k个邻居进行决策。距离度量包括Lp距离,如欧氏距离和曼哈顿距离。k值的选择影响模型复杂度,小k值易过拟合,大k值可能导致欠拟合。kd树是k-NN的优化实现,用于高效搜索最近邻。
摘要由CSDN通过智能技术生成

1. 算法概念

用于分类(二分类、多分类)、回归
k 近邻法的学习过程:没有显示的学习过程。

1)【分类原理】
确定输入实例特征向量对应点的【k个最近邻训练实例点】,通过【多数表决】来预测输入实例点的类别

2)【回归原理】
给定一个训练数据集,对新的输入实例,在训练数据集中找到与该实例最邻近的 k 个实例,这 k 个实例的平均值,就是该输入实例的预测值。

2. k-NN 三要素:距离度量 + k值 + 分类决策规则

2.1 距离度量

1)Lp距离:
两向量(特征空间中的两点)的各个维度:差值的绝对值的p次方之和,再开1/p次方

2)曼哈顿距离
Lp距离中,p=1

3)欧氏距离
Lp距离中,p=2

2.2 k值的选择(用交叉验证选择最优的k)

1. k值的选择反映【近似误差】与【估计误差】之间的权衡
【近似误差】:模型估计值与【训练数据集】的误差,即模型能否准确预测训练数据集。

【估计误差】:训练数据集与【测试数据集】的误差,即模型能否准确预测实际数据(测试数据集)。

1)k值较小【模型复杂,容易过拟合】

近似误差(训练集误差)减小: 只有与实力较近的训练数据才会对预测起作用,对训练集效果好
估计误差(测试集误差)增大: 预测结果对近邻的实例点很敏感,若近邻点事噪声,则预测出错
【若k=1,最近邻算法】输出与输入实例点最接近的点的类别

2)k值较大【模型简单,容易欠拟合】

近似误差(训练集误差)增大: 与输入实例点较远的训练实例也会起作用,使预测出错
估计误差(测试集误差)减小: 训练范围增大,减小噪声点的影响
【若k=N】无论输入什么,都无脑输出所有训练实例中数量最多的类别

2.3 分类决策规则——多数表决

等价于【经验风险最小化】——误分类率最小

3. kNN的实现——kd树(二叉树)

kd树:二叉树,对【k维空间】的划分,使每个结点对应于k维空间划分中的一个【超矩形区域】

3.1构造平衡kd树

根节点对应所有实例点(包含整个k维空间),不断对所有坐标分量进行切分,选择所有实例点在该坐标分量上的【中位数】作为切分点,通过切分点并于该坐标轴垂直的超平面进行切分,可以得到【平衡kd树】
————平衡kd树搜索效率【未必最优】

3.2 搜索kd树

  1. 在kd树中找到包含目标实例点的叶结点,作为当前最近点
  2. 依次往上回退,查找兄弟节点、父节点的兄弟节点、父节点的父节点的兄弟节点…中,是否有更近的点

时间复杂度:O(log N)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值