统计学习方法 pdf_李航统计学习方法(第三章)
第3章 k 近邻法
k 近邻法(k-NN)是一种基于实例的学习方法,无法转化为对参数空间的搜索问题(参数最优化问题)。它的特点是对特征空间进行搜索。除了k近邻法,本章还对以下几个问题进行较深入的讨论:
- 切比雪夫距离
的计算
- “近似误差”与“估计误差”的含义
- k-d树搜索算法图解
一、算法
输入:训练集
输出:实例
设在给定距离度量下,涵盖最近k个点的邻域为
其中示性函数
寻找使得函数
mygame182:李航统计学习方法(第一章)zhuanlan.zhihu.com
二、模型
根据模型的分类,k-NN模型属于非概率模型。
观察
- 距离度量
k-NN的基本思想是,特征空间中的距离反映了两个点的相似程度,因此“距离”是作出分类判断的基本依据。向量空间
(1)不同距离度量
一般形式是闵可夫斯基距离(
当p=1时,称为曼哈顿距离(
当p=2时,称为欧几里得距离(
当
切比雪夫距离,它是各个坐标(分量)距离的最大值:
下图表示平面上A、B两点之间不同的距离:
- 只允许沿着坐标轴方向前进,就像曼哈顿街区的出租车走过的距离
- 两点之间直线最短,通过勾股定理计算斜边的距离
- 只剩下一个维度,即最大的分量方向上的距离
可见p取值越大,两点之间的距离越短。
(2)问题:为什么切比雪夫距离
其实这个问题等价于:为什么
证明:设
不妨设
注意:最大分量的长度唯一,但最大分量可能并不唯一,设有
当
当
计算
由于已知
因此
即
以上证明参考
p范数的极限(无穷范数)为什么是极大值范数?www.zhihu.com
(3)平面上的圆
如果圆形的定义是“到某一点距离相等的曲线围成的图形”,那么在不同的距离度量下,圆形的形状可以完全不同。为何
关于不同距离度量下的圆,可参考此文:
若 π 被证明是有理数会对世界有何影响?www.zhihu.com
2. k值选择
书中引入了“近似误差”和“估计误差”两个概念,但没有给出具体定义。网上关于它们的解释众说纷纭,我把个人理解回答如下:
如何理解和区分近似误差和估计误差?www.zhihu.com
简单总结一下:
右侧两项分别是“估计误差”和“近似误差”。
估计误差:训练集与无限数据集得到的模型的差距
近似误差:限制假设空间与无限制假设空间得到的模型的差距
k值越小
k值越大
一般通过交叉验证来确定最优的 k 值。
3. 决策规则
k 近邻的决策规则就是“多数表决”,即少数服从多数,用数学表达式表示为
等号左侧为误分类率,要是误分类率最小,就要使得
三、kd树
尽管k-NN的原理简单易懂,但将其转化为高效的算法却不容易。
当然,我们可以逐个计算目标点
于是,Jon Bentley在70年代提出了k-dimensions Tree 方法。
以最近邻算法(k=1)为例:为了减少计算距离的次数,首先根据维度特征把“训练集”按“二叉树”排列,再将目标点定位至某个较接近的“叶结点”,然后反向搜索最接近的“叶结点”(需要计算距离)。由于反向搜索在大部分情况下不需遍历整棵“二叉树”,因此可以减少计算距离的次数。在某些极端的情况下,例如:空间维度接近训练实例数,算法接近遍历整棵二叉树,此时就达不到减轻计算量的效果了。
书上已列出算法步骤,在此只对个别问题进行较深入的讨论:
(1)构造k-d树
- 切分坐标轴
是什么意思?
此公式的目标是实现对坐标轴轮流切分,假设特征空间有3个维度,那么切分顺序是
对于书中的例子,k=2,
也有资料把上述公式定义为
2. 为什么要轮流对不同坐标轴进行切分?
如果只对一个坐标轴(例如:x轴)进行切分,各块只包含x轴信息,把所有的y轴信息丢弃,显然会降低定位精度,无法使“叶节点”尽量接近“目标点”。
(2)k-d树搜索
算法3.3的第(1)、(2)步实现定位至“较接近”的叶结点。第(3)、(4)步是反向搜索的关键步骤,但没有代码,单纯文字描述实在令人费解。
关于k-d树搜索的过程,网上有不少参考资料,例如:
华盛顿大学:https://courses.cs.washington.edu/courses/cse373/02au/lectures/lecture22l.pdf
卡内基梅隆:https://www.cs.cmu.edu/~ckingsf/bioinfo-lectures/kdtrees.pdf
这里引用华盛顿大学的资料作为图解:
- 二叉树建立完毕。与书中的区别在于,切分面不过数据点,所有数据点位于底层结点:
2. 沿红色实线正向搜索二叉树,定位至“较接近”的g点
3. 计算q与g的距离为w,沿蓝色虚线反向搜索
4. 由于s4超平面对y轴切分,q的y坐标减去w小于s4的y坐标,因此球体与s4相交。需要正向搜索s4的另一侧结点。
5. 继续正向搜索,发现e点,计算q与e的距离,作为新的w
6. 反向搜索,直至发现与s1相交,开始正向搜索s1的另一侧
7. 发现结点f,反向搜索,再发现h,再反向......
8. 没有新的发现,搜索结束
从上面的过程来看,只需计算4个点的距离,如果“线性扫描”则需要计算9个点,大幅减少计算量。
如果从最近邻推广至k近邻,以上算法需作一定的修改。除了找到最近距离
统计学习方法 pdf_李航统计学习方法(第三章)相关推荐
- 机器学习理论《统计学习方法》学习笔记:第三章 k近邻法
机器学习理论<统计学习方法>学习笔记:第三章 k近邻法 3 k近邻法 3.1 K近邻算法 3.2 K近邻模型 3.2.1 模型 3.2.2 距离度量 3.2.3 K值的选择 3.2.4 分 ...
- 《统计建模与R软件》第三章课后习题3.5-3.11解题答案
自学R语言,学习完了之后做一做习题,是对知识的一些巩固,也希望可以帮到正在学习的童鞋们. dev.new() par(mfrow=c(1,2)) s<-data.frame(d=c(2,4,3, ...
- 李航《统计学习方法》第三章课后答案链接
李航<统计学习方法>第三章课后答案链接 我的天呐竟然木有百度到...是因为太简单了吗...
- 《统计学习方法》(李航)读书笔记(转)
<统计学习方法>(李航)读书笔记(转) http://www.cnblogs.com/limitlessun/p/8611103.html#_label4 阅读目录 知识点 感知机 k近邻 ...
- 【李航统计学习方法】感知机模型
目录 一.感知机模型 二.感知机的学习策略 三.感知机学习算法 感知机算法的原始形式 感知机模型的对偶形式 参考文献 本章节根据统计学习方法,分为模型.策略.算法三个方面来介绍感知机模型. 首先介绍感 ...
- 《统计学习方法》--李航 学习笔记
<统计学习方法>--李航 第一章 统计学习方法三要素: 模型 模型评估与模型选择 正则化与交叉验证 正则化 交叉验证 泛化能力 生成模型与判别模型 生成方法 判别方法 分类问题.标注问题. ...
- 《统计学习方法》——李航 学习大纲
最近在学习李航写的统计学习方法概论, 每一章都用xmind理清了思路,括号里是书里的公式,第一次写博文,敬请指教~~~~ 第一章 统计学习方法论 第二章 感知机 每个方法其实只需要着重掌握三要素和输入 ...
- 《统计学习方法》--李航
机器学习简述 统计学习 知乎详细 是什么:是关于计算机基于数据构建概率统计模型并运 用模型对数据进行预测与分析的一门学科.统计学习也称为统计机器学习. 对象:是数据(data).它从数据出发,提取数据 ...
- 第五章——决策树笔记(《统计学习方法》-李航)
第五章--决策树笔记(<统计学习方法>-李航) 本文主要记录自己学习李航的小蓝书的过程,之前的4张有时间再补上.本文只做知识点整理,不做详细的见解,因为我认为,依照本人的知识水平,不可能比 ...
最新文章
- 剑指offer:树的子结构
- oracle dg备份恢复,DG丢失归档,使用增量备份恢复一例
- iOS开发UI篇—手写控件,frame,center和bounds属性
- UVA 12108 Extraordinarily Tired Students
- c语言的有趣小程序,一个有趣的小程序
- Win10系统添加 Win10 LTSC2019闹钟
- display inline-block 垂直居中
- EasyImage图床源码V2.0
- 可用的免费公开的DNS
- 内存数据集产生的隐性成本
- 用python画三角函数
- 老李分享:Android性能优化之内存泄漏3
- [design decision] user awareness: 自动安装还是不自动安装?
- 2018年苏大计算机考研872真题及解析
- Kindle多看系统中字典
- 用c语言实现下载文件
- 【已解决】win10+py3.6+anaconda3 安装fbprophet(利用安装包离线安装)
- 在实际项目开发中,你遇到过Spring事务失效的场景吗?如何解决?
- 做“合规”的数据处理者 | 一文图解《网络数据安全管理条例》
- mysql mgr recovering_深度理解MySQL Group Replication的RECOVERING状态