文章目录

  • 第三章 k近邻法
    • k近邻算法
    • k近邻模型的距离划分
    • k值的选择
    • k近邻分类决策规则

第三章 k近邻法

  • 只讨论分类问题的k近邻法

  • k近邻三个基本要素:

    1. k值选择
    2. 距离度量
    3. 分类决策规则

k近邻算法

  • 算法 3.1 ( k 近邻法)
    输入: 训练数据集
    T={(x1,y1),(x2,y2),⋯,(xN,yN)}={(xi,yi)}i=1N\begin{aligned} T& = \left\{\left(x_{1}, y_{1}\right),\left(x_{2}, y_{2}\right), \cdots,\left(x_{N}, y_{N}\right)\right\} \\ & = \left\{ (x_i,y_i)\right\}_{i=1}^N \end{aligned} T​={(x1​,y1​),(x2​,y2​),⋯,(xN​,yN​)}={(xi​,yi​)}i=1N​​
    其中中, xi∈X⊆Rnx_{i} \in \mathcal{X} \subseteq \mathrm{R}^{n}xi​∈X⊆Rn 为实例的特征向量, yi∈Y={c1,c2,⋯,cK}y_{i} \in \mathcal{Y}=\left\{c_{1}, c_{2}, \cdots, c_{K}\right\}yi​∈Y={c1​,c2​,⋯,cK​} 为实例的类别, i=1,2,⋯,Ni=1,2, \cdots, Ni=1,2,⋯,N; 实例特征向量 xxx;
    输出: 实例 xxx 所属的类 yyy 。
    (1) 根据给定的距离度量, 在训练集 TTT 中找出与 xxx 最邻近的 kkk 个点,当k等于1时候叫最近邻, 涵盖这 kkk 个 点的 xxx 的邻域记作 Nk(x)N_{k}(x)Nk​(x);
    (2) 在 Nk(x)N_{k}(x)Nk​(x) 中根据分类决策规则 (如多数表决) 决定 xxx 的类别 yyy :
    y=arg⁡max⁡cj∑xi∈Nk(x)I(yi=cj),i=1,2,⋯,N;j=1,2,⋯,Ky=\arg \max _{c_{j}} \sum_{x_{i} \in N_{k}(x)} I\left(y_{i}=c_{j}\right), \quad i=1,2, \cdots, N ; j=1,2, \cdots, K y=argcj​max​xi​∈Nk​(x)∑​I(yi​=cj​),i=1,2,⋯,N;j=1,2,⋯,K
    其中,III 为指示函数/失性函数(indicator function)
    I(yi=cj)={1,ifyi=cj0,ifyi≠cjI\left(y_{i}=c_{j}\right) = \left\{ \begin{aligned} 1, \quad ify_i &= c_j \\ 0, \quad ify_i &\neq c_j \\ \end{aligned} \right. I(yi​=cj​)={1,ifyi​0,ifyi​​=cj​=cj​​

k近邻模型的距离划分

  • k近邻方法没有显示的模型形式,与感知机的分离超平面不同

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-VpUjJMxZ-1659022513532)(https://cdn.mathpix.com/snip/images/XT4ehkO9xMyjrMbB_3TAwq2p3dFrLumDpobWUUA-YYQ.original.fullsize.png)]

    特征空间中,对每个实例点xix_ixi​,距离该点比其他点近的所有点组成一个区域,叫做单元,每个训练实例点拥有一个单元,所有训练实例蒂娜的单元构成对特征空间的一个划分。

  • 距离度量

    kkk 近邻模型的特征 空间一般是 nnn 维实数向量空间 Rn\mathbf{R}^{n}Rn 。使用的距离是欧氏距离, 但也可以是其他距离, 如 更一般的 LpL_{p}Lp​ 距离( LpL_{p}Lp​ distance)或 Minkowski 距离 (Minkowski distance)。
    设特征空间 X\mathcal{X}X 是 nnn 维实数向量空间 Rn,xi,xj∈X,xi=(xi(1),xi(2),⋯,xi(n))T\mathrm{R}^{n}, x_{i}, x_{j} \in \mathcal{X}, x_{i}=\left(x_{i}^{(1)}, x_{i}^{(2)}, \cdots, x_{i}^{(n)}\right)^{\mathrm{T}}Rn,xi​,xj​∈X,xi​=(xi(1)​,xi(2)​,⋯,xi(n)​)T, xj=(xj(1),xj(2),⋯,xj(n))T,xi,xjx_{j}=\left(x_{j}^{(1)}, x_{j}^{(2)}, \cdots, x_{j}^{(n)}\right)^{\mathrm{T}}, x_{i}, x_{j}xj​=(xj(1)​,xj(2)​,⋯,xj(n)​)T,xi​,xj​ 的 LpL_{p}Lp​ 距离定义为
    Lp(xi,xj)=(∑l=1n∣xi(l)−xj(l)∣p)1pL_{p}\left(x_{i}, x_{j}\right)=\left(\sum_{l=1}^{n}\left|x_{i}^{(l)}-x_{j}^{(l)}\right|^{p}\right)^{\frac{1}{p}} Lp​(xi​,xj​)=(l=1∑n​∣∣​xi(l)​−xj(l)​∣∣​p)p1​
    其中:
    p=1,城市街区距离L1范数L1(xi,xj)=∑l=1n∣xi(l)−xj(l)∣p=2,欧几里得距离L2范数L2(xi,xj)=(∑l=1n∣xi(l)−xj(l)∣2)12p=∞,最大距离L∞范数L∞(xi,xj)=max⁡i∣xi(l)−xj(l)∣\begin{aligned} p&=1,\quad城市街区距离\quad\quad L_1 范数\quad L_{1} \left(x_{i}, x_{j}\right)=\sum_{l=1}^{n}\left|x_{i}^{(l)}-x_{j}^{(l)}\right| \\ p&=2,\quad欧几里得距离\quad\quad L_2 范数\quad L_{2}\left(x_{i}, x_{j}\right)=\left(\sum_{l=1}^{n}\left|x_{i}^{(l)}-x_{j}^{(l)}\right|^{2}\right)^{\frac{1}{2}} \\ p&= \infin,\quad最大距离\quad\quad\quad L_{\infin} 范数\quad L_{\infin}\left(x_{i}, x_{j}\right) = \max \limits_i |x_i^{(l)}-x_j^{(l)}| \end{aligned} ppp​=1,城市街区距离L1​范数L1​(xi​,xj​)=l=1∑n​∣∣​xi(l)​−xj(l)​∣∣​=2,欧几里得距离L2​范数L2​(xi​,xj​)=(l=1∑n​∣∣​xi(l)​−xj(l)​∣∣​2)21​=∞,最大距离L∞​范数L∞​(xi​,xj​)=imax​∣xi(l)​−xj(l)​∣​


k值的选择

  • k值选择会对k近邻算法产生重大影响

    1. 若选择较小k值:(过拟合)

      优点:学习的近似误差 ↓\downarrow↓

      缺点:学习的估计误差 ↑\uparrow↑

      k值减小意味着整体模型变得复杂,容易发生过拟合

    2. 若选择较大k值:(欠拟合)

      优点:学习的估计误差 ↓\downarrow↓

      缺点:学习的近似误差 ↑\uparrow↑

      k值增大意味着整体模型变得简单,容易发生欠拟合

    3. 若k=N:

      模型过于简单,完全忽略了训练实例中大量有用信息,不可取

  • 一般采用交叉验证法来选取最优k值


k近邻分类决策规则

  • 多数表决(majority voting rule)

    如果分类的损失函数为 0-1 损 失函数, 分类函数为以下多分类
    f:Rn→{c1,c2,⋯,cK}f: \mathbf{R}^{n} \rightarrow\left\{c_{1}, c_{2}, \cdots, c_{K}\right\} f:Rn→{c1​,c2​,⋯,cK​}
    那么误分类的概率是
    P(Y≠f(X))=1−P(Y=f(X))P(Y \neq f(X))=1-P(Y=f(X)) P(Y=f(X))=1−P(Y=f(X))
    对给定的实例 x∈Xx \in \mathcal{X}x∈X, 其最近邻的 $k$ 个训练实例点构成集合 Nk(x)N_{k}(x)Nk​(x) 。如果涵盖 Nk(x)N_{k}(x)Nk​(x) 的区域的类别是 cjc_{j}cj​, 那么误分类率是
    1k∑xi∈Nk(x)I(yi≠cj)=1−1k∑xi∈Nk(x)I(yi=cj)\frac{1}{k} \sum_{x_{i} \in N_{k}(x)} I\left(y_{i} \neq c_{j}\right)=1-\frac{1}{k} \sum_{x_{i} \in N_{k}(x)} I\left(y_{i}=c_{j}\right) k1​xi​∈Nk​(x)∑​I(yi​=cj​)=1−k1​xi​∈Nk​(x)∑​I(yi​=cj​)
    其中:yiy_iyi​ 表示真实类别,CjC_jCj​ 表示判别类别

    要使误分类率最小即经验风险最小, 就要使 ∑xi∈Nk(x)I(yi=cj)\sum_{x_{i} \in N_{k}(x)} I\left(y_{i}=c_{j}\right)∑xi​∈Nk​(x)​I(yi​=cj​) 最大, 所以多数表决规 则等价于经验风险最小化。


统计学习方法第三章 k近邻法相关推荐

  1. 机器学习理论《统计学习方法》学习笔记:第三章 k近邻法

    机器学习理论<统计学习方法>学习笔记:第三章 k近邻法 3 k近邻法 3.1 K近邻算法 3.2 K近邻模型 3.2.1 模型 3.2.2 距离度量 3.2.3 K值的选择 3.2.4 分 ...

  2. 《统计学习方法》读书笔记——K近邻法(原理+代码实现)

    传送门 <统计学习方法>读书笔记--机器学习常用评价指标 <统计学习方法>读书笔记--感知机(原理+代码实现) <统计学习方法>读书笔记--K近邻法(原理+代码实现 ...

  3. 【机器学习】《统计学习方法》学习笔记 第三章 k近邻法

    第三章 k k k 近邻法(KNN) 多分类模型,思路是将最近的 N N N 个邻居的分类值中的多数作为自己的分类值.没有显式的学习过程. 三个基本要素:距离度量. k k k 值选择和分类决策规则. ...

  4. 复现经典:《统计学习方法》第 3 章 k 近邻法

    本文是李航老师的<统计学习方法>[1]一书的代码复现. 作者:黄海广[2] 备注:代码都可以在github[3]中下载. 我将陆续将代码发布在公众号"机器学习初学者", ...

  5. 《统计学习方法》代码全解析——第三部分k近邻法

    1.

  6. 统计机器学习【3】- K近邻法(三)Ball Tree

    在计算机科学中,球树(ball tree)是一种空间划分数据结构,用于组织在多维空间中的点.球数之所有得到此名,是因为它将数据点划分为一组嵌套的超球体.这种类型的数据结构特征使其在很多方面都有用,特别 ...

  7. 统计学习方法第三章作业:一般k邻近、平衡kd树构造、kd树邻近搜索算法代码实现

    一般k邻近 import numpy as np import matplotlib.pyplot as pltclass K_near:def __init__(self,X,Y,K=5,p=2): ...

  8. 统计学习方法 - 第1章 - 概论

    全书章节 第1章 统计学习方法概论 第2章 感知机 第3章 k近邻法 第4章 朴素贝叶斯法 第5章 决策树 第6章 逻辑斯谛回归与最大熵模型 第7章 支持向量机 第8章 提升方法 第9章 EM算法及其 ...

  9. 统计学习方法笔记(李航)———第三章(k近邻法)

    k 近邻法 (k-NN) 是一种基于实例的学习方法,无法转化为对参数空间的搜索问题(参数最优化 问题).它的特点是对特征空间进行搜索.除了k近邻法,本章还对以下几个问题进行较深入的讨 论: 切比雪夫距 ...

最新文章

  1. Java中的对象要怎样才算相等
  2. Windows Embedded Compact 7新特性
  3. 监控工具—Prometheus—监控Redis
  4. html文本滚动到底后自动回到顶部,JS 实现DIV 滚动至顶部后固定
  5. linux需要什么基础,学linux需要什么基础?
  6. 双12压测引出的线上Full GC排查
  7. windows下安装mongodb服务
  8. Office编程(二)C#读取Excel并存入数据库,通过XML自定义表名,是否重建并插入数据...
  9. Linux下使用exec命令将文件与文件描述符关联
  10. 机器人的核心——运动控制器
  11. speex 编码简介
  12. 将CNKI的caj格式下载成为pdf
  13. WinCC RT Adv 项目下载与自动运行
  14. Hive架构及相关函数
  15. SAP采购申请中数量/单价/价格单位/总价的填写图示
  16. 2019年春节春晚红包大战战报!30亿!
  17. R语言实现 朴素贝叶斯分类
  18. java 高德地图路线规划_高德地图api之路线规划
  19. 数据数据泄露泄露_通过超参数调整进行数据泄漏
  20. Android APK 反编译的基本工具和步骤

热门文章

  1. 关于2018年第九届蓝桥杯省赛(江苏赛区)
  2. 数组、特殊矩阵、稀疏矩阵、广义表
  3. 世界战争2HTML5小游戏,[娱乐][PCD]SkyWarsReloaded —— 天空战争小游戏全新归来![1.8-1.13.2]...
  4. SQL存储过程【笔记】一个较简单的库存月结
  5. Lecture 07 08 RNN---Hinton课程
  6. 布朗大学计算机科学博士怎样,2020年布朗大学博士含金量
  7. oracle数据库系统学习,Oracle数据库学习第二天
  8. IOS下载并解压zip文件
  9. Python消除警告的实用解决方案
  10. JavaScript实现警告框