统计学习方法第三章 k近邻法

本文深入探讨了k近邻(k-Nearest Neighbor, k-NN)算法,包括其基本要素:k值选择、距离度量和分类决策规则。k-NN算法无需显式模型,依赖于最近邻的多数表决进行分类。介绍了Lp距离作为特征空间中的距离度量,并分析了k值选择对模型过拟合和欠拟合的影响。通常使用交叉验证来寻找最优k值。最后,阐述了k-NN的多数表决分类决策规则及其误分类概率的计算方法。
摘要由CSDN通过智能技术生成

第三章 k近邻法

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

  • k近邻三个基本要素:

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

k近邻算法

  • 算法 3.1 ( k 近邻法)
    输入: 训练数据集
    T = { ( x 1 , y 1 ) , ( x 2 , y 2 ) , ⋯   , ( x N , y N ) } = { ( x i , y i ) } i = 1 N \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
    其中中, x i ∈ X ⊆ R n x_{i} \in \mathcal{X} \subseteq \mathrm{R}^{n} xiXRn 为实例的特征向量, y i ∈ Y = { c 1 , c 2 , ⋯   , c K } y_{i} \in \mathcal{Y}=\left\{c_{1}, c_{2}, \cdots, c_{K}\right\} yiY={c1,c2,,cK} 为实例的类别, i = 1 , 2 , ⋯   , N i=1,2, \cdots, N i=1,2,,N; 实例特征向量 x x x;
    输出: 实例 x x x 所属的类 y y y
    (1) 根据给定的距离度量, 在训练集 T T T 中找出与 x x x 最邻近的 k k k 个点,当k等于1时候叫最近邻, 涵盖这 k k k 个 点的 x x x 的邻域记作 N k ( x ) N_{k}(x) Nk(x);
    (2) 在 N k ( x ) N_{k}(x) Nk(x) 中根据分类决策规则 (如多数表决) 决定 x x x 的类别 y y y :
    y = arg ⁡ max ⁡ c j ∑ x i ∈ N k ( x ) I ( y i = c j ) , i = 1 , 2 , ⋯   , N ; j = 1 , 2 , ⋯   , K y=\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=argcjmaxxiNk(x)I(yi=cj),i=1,2,,N;j=1,2,,K
    其中, I I I 为指示函数/失性函数(indicator function)
    I ( y i = c j ) = { 1 , i f y i = c j 0 , i f y i ≠ c j I\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)]

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

  • 距离度量

    k k k 近邻模型的特征 空间一般是 n n n 维实数向量空间 R n \mathbf{R}^{n} Rn 。使用的距离是欧氏距离, 但也可以是其他距离, 如 更一般的 L p L_{p} Lp 距离( L p L_{p} Lp distance)或 Minkowski 距离 (Minkowski distance)。
    设特征空间 X \mathcal{X} X n n n 维实数向量空间 R n , x i , x j ∈ X , x i = ( x i ( 1 ) , x i ( 2 ) , ⋯   , x i ( 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,xjX,xi=(xi(1),xi(2),,xi(n))T, x j = ( x j ( 1 ) , x j ( 2 ) , ⋯   , x j ( n ) ) T , x i , x j x_{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 L p L_{p} Lp 距离定义为
    L p ( x i , x j ) = ( ∑ l = 1 n ∣ x i ( l ) − x j ( l ) ∣ p ) 1 p L_{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=1n xi(l)xj(l) p)p1
    其中:
    p = 1 , 城市街区距离 L 1 范数 L 1 ( x i , x j ) = ∑ l = 1 n ∣ x i ( l ) − x j ( l ) ∣ p = 2 , 欧几里得距离 L 2 范数 L 2 ( x i , x j ) = ( ∑ l = 1 n ∣ x i ( l ) − x j ( l ) ∣ 2 ) 1 2 p = ∞ , 最大距离 L ∞ 范数 L ∞ ( x i , x j ) = max ⁡ i ∣ x i ( l ) − x j ( 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=1n xi(l)xj(l) =2,欧几里得距离L2范数L2(xi,xj)=(l=1n xi(l)xj(l) 2)21=,最大距离L范数L(xi,xj)=imaxxi(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 : R n → { c 1 , c 2 , ⋯   , c K } 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))=1P(Y=f(X))
    对给定的实例 x ∈ X x \in \mathcal{X} xX, 其最近邻的 $k$ 个训练实例点构成集合 N k ( x ) N_{k}(x) Nk(x) 。如果涵盖 N k ( x ) N_{k}(x) Nk(x) 的区域的类别是 c j c_{j} cj, 那么误分类率是
    1 k ∑ x i ∈ N k ( x ) I ( y i ≠ c j ) = 1 − 1 k ∑ x i ∈ N k ( x ) I ( y i = c j ) \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) k1xiNk(x)I(yi=cj)=1k1xiNk(x)I(yi=cj)
    其中: y i y_i yi 表示真实类别, C j C_j Cj 表示判别类别

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


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值