统计学习方法第三章 k近邻法
文章目录
- 第三章 k近邻法
- k近邻算法
- k近邻模型的距离划分
- k值的选择
- k近邻分类决策规则
第三章 k近邻法
只讨论分类问题的k近邻法
k近邻三个基本要素:
- k值选择
- 距离度量
- 分类决策规则
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=argmaxcj∑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=argcjmaxxi∈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,ifyi0,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)=maxi∣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近邻算法产生重大影响
若选择较小k值:(过拟合)
优点:学习的近似误差 ↓\downarrow↓
缺点:学习的估计误差 ↑\uparrow↑
k值减小意味着整体模型变得复杂,容易发生过拟合
若选择较大k值:(欠拟合)
优点:学习的估计误差 ↓\downarrow↓
缺点:学习的近似误差 ↑\uparrow↑
k值增大意味着整体模型变得简单,容易发生欠拟合
若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) k1xi∈Nk(x)∑I(yi=cj)=1−k1xi∈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近邻法相关推荐
- 机器学习理论《统计学习方法》学习笔记:第三章 k近邻法
机器学习理论<统计学习方法>学习笔记:第三章 k近邻法 3 k近邻法 3.1 K近邻算法 3.2 K近邻模型 3.2.1 模型 3.2.2 距离度量 3.2.3 K值的选择 3.2.4 分 ...
- 《统计学习方法》读书笔记——K近邻法(原理+代码实现)
传送门 <统计学习方法>读书笔记--机器学习常用评价指标 <统计学习方法>读书笔记--感知机(原理+代码实现) <统计学习方法>读书笔记--K近邻法(原理+代码实现 ...
- 【机器学习】《统计学习方法》学习笔记 第三章 k近邻法
第三章 k k k 近邻法(KNN) 多分类模型,思路是将最近的 N N N 个邻居的分类值中的多数作为自己的分类值.没有显式的学习过程. 三个基本要素:距离度量. k k k 值选择和分类决策规则. ...
- 复现经典:《统计学习方法》第 3 章 k 近邻法
本文是李航老师的<统计学习方法>[1]一书的代码复现. 作者:黄海广[2] 备注:代码都可以在github[3]中下载. 我将陆续将代码发布在公众号"机器学习初学者", ...
- 《统计学习方法》代码全解析——第三部分k近邻法
1.
- 统计机器学习【3】- K近邻法(三)Ball Tree
在计算机科学中,球树(ball tree)是一种空间划分数据结构,用于组织在多维空间中的点.球数之所有得到此名,是因为它将数据点划分为一组嵌套的超球体.这种类型的数据结构特征使其在很多方面都有用,特别 ...
- 统计学习方法第三章作业:一般k邻近、平衡kd树构造、kd树邻近搜索算法代码实现
一般k邻近 import numpy as np import matplotlib.pyplot as pltclass K_near:def __init__(self,X,Y,K=5,p=2): ...
- 统计学习方法 - 第1章 - 概论
全书章节 第1章 统计学习方法概论 第2章 感知机 第3章 k近邻法 第4章 朴素贝叶斯法 第5章 决策树 第6章 逻辑斯谛回归与最大熵模型 第7章 支持向量机 第8章 提升方法 第9章 EM算法及其 ...
- 统计学习方法笔记(李航)———第三章(k近邻法)
k 近邻法 (k-NN) 是一种基于实例的学习方法,无法转化为对参数空间的搜索问题(参数最优化 问题).它的特点是对特征空间进行搜索.除了k近邻法,本章还对以下几个问题进行较深入的讨 论: 切比雪夫距 ...
最新文章
- Java中的对象要怎样才算相等
- Windows Embedded Compact 7新特性
- 监控工具—Prometheus—监控Redis
- html文本滚动到底后自动回到顶部,JS 实现DIV 滚动至顶部后固定
- linux需要什么基础,学linux需要什么基础?
- 双12压测引出的线上Full GC排查
- windows下安装mongodb服务
- Office编程(二)C#读取Excel并存入数据库,通过XML自定义表名,是否重建并插入数据...
- Linux下使用exec命令将文件与文件描述符关联
- 机器人的核心——运动控制器
- speex 编码简介
- 将CNKI的caj格式下载成为pdf
- WinCC RT Adv 项目下载与自动运行
- Hive架构及相关函数
- SAP采购申请中数量/单价/价格单位/总价的填写图示
- 2019年春节春晚红包大战战报!30亿!
- R语言实现 朴素贝叶斯分类
- java 高德地图路线规划_高德地图api之路线规划
- 数据数据泄露泄露_通过超参数调整进行数据泄漏
- Android APK 反编译的基本工具和步骤
热门文章
- 关于2018年第九届蓝桥杯省赛(江苏赛区)
- 数组、特殊矩阵、稀疏矩阵、广义表
- 世界战争2HTML5小游戏,[娱乐][PCD]SkyWarsReloaded —— 天空战争小游戏全新归来![1.8-1.13.2]...
- SQL存储过程【笔记】一个较简单的库存月结
- Lecture 07 08 RNN---Hinton课程
- 布朗大学计算机科学博士怎样,2020年布朗大学博士含金量
- oracle数据库系统学习,Oracle数据库学习第二天
- IOS下载并解压zip文件
- Python消除警告的实用解决方案
- JavaScript实现警告框