《统计学习方法》笔记--K近邻

《统计学习方法》第三章–K近邻

K近邻概述

K近邻算法是一种基本分类与回归模型,该算法假定给定一个实例已经标定的训练数据集,在分类或回归时对新的实例,根据其K个最近邻的训练实例的类别,通过多数表决的方式进行预测,属于判别模型。K值得选择,距离度量,分类决策规则是K近邻算法的三个基本要素。

K近邻算法

输入:训练数据集 T = { ( x 1 , y 1 ) , ( x 2 , y 2 ) . . . ( x N , y N ) } ; T=\{(x_1,y_1),(x_2,y_2)...(x_N,y_N)\}; T={(x1,y1),(x2,y2)...(xN,yN)};其中 x i ∈ χ ⊆ R n x_i \in \chi \subseteq R^n xiχRn为实例的特征向量 y i ∈ γ = { c 1 , c 2 , . . . c K } y_i \in \gamma=\{ c_1,c_2,...c_K\} yiγ={c1,c2,...cK}为实例的类别 i = 1 , 2 , . . . N i=1,2,...N i=1,2,...N;实例特征向量 x x x

输出:实例 x x x所属的类 y y y

(1) 根据给定的距离度量,在给定训练集 T T T中找到与 x x x最近邻的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 ⁡ m a x c j ∑ x i ∈ N k ( x ) I ( y i = c j ) , i = 1 , 2 , . . . , N ; j = 1 , 2 , 3 , . . . , K y=\arg max_{c_j}\sum_{x_i\in N_k(x)}I(y_i=c_j),i=1,2,...,N;j=1,2,3,...,K y=argmaxcjxiNk(x)I(yi=cj),i=1,2,...,N;j=1,2,3,...,K其中 I I I为指示函数,即当 y i = c j y_i=c_j yi=cj I I I 1 1 1,否则 I I I 0 0 0

注: K近邻模型的特殊情况是当K=1时,即对于输入实例,选取最训练集中与其最近的点作为输入实例的类别。

距离度量

在K近邻算法中需要通过距离这一度量单位来评价两个实例点之间的距离,如何选取合适的距离度量方式依据于具体的应用背景。

K近邻中关于距离的一般定义为:设特征空间 χ \chi χ n n n维实数向量空间 R n , x i , x j ∈ χ , x i = ( x i ( 1 ) , x i ( 2 ) , . . . , x i ( n ) ) T , x j = ( x j ( 1 ) , x j ( 2 ) , . . . , x j ( n ) ) T , x i , x j R^n,x_i,x_j\in \chi,x_i=(x_i^{(1)},x_i^{(2)},...,x_i^{(n)})^T,x_j=(x_j^{(1)},x_j^{(2)},...,x_j^{(n)})^T,x_i,x_j Rn,xi,xjχ,xi=(xi(1),xi(2),...,xi(n))T,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 , p ≥ 1 L_p(x_i,x_j)=(\sum_{l=1}^{n}|x_i^{(l)}-x_j^{(l)}|^p)^{\frac{1}{p}},p\ge 1 Lp(xi,xj)=(l=1nxi(l)xj(l)p)p1,p1

p = 2 p=2 p=2时,称为欧氏距离,即 L 2 ( x i , x j ) = ( ∑ l = 1 n ∣ x i ( l ) − x j ( l ) ∣ 2 ) 1 2 L_2(x_i,x_j)=(\sum_{l=1}^{n}|x_i^{(l)}-x_j^{(l)}|^2)^{\frac{1}{2}} L2(xi,xj)=(l=1nxi(l)xj(l)2)21

p = 1 p=1 p=1时,称为曼哈顿距离,即 L 1 ( x i , x j ) = ∑ l = 1 n ∣ x i ( l ) − x j ( l ) ∣ L_1(x_i,x_j)=\sum_{l=1}^{n}|x_i^{(l)}-x_j^{(l)}| L1(xi,xj)=l=1nxi(l)xj(l)

p = ∞ p=\infty p=时, L p L_p Lp为各个坐标距离的最大值 L ∞ ( x i , x j ) = max ⁡ l ∣ x i ( l ) − x j ( l ) ∣ L_\infty(x_i,x_j)=\max_l|x_i^{(l)}-x_j^{(l)}| L(xi,xj)=maxlxi(l)xj(l)

K值的选择

如果选取较小的K值,相当于用较小的邻域中的训练实例进行预测,预测结果会对近邻的实例点非常敏感。即K值得减小会使整体模型变得复杂,容易发生过拟合。

如果选取较大的K值,相当于用较大的领域中的训练实例进行预测,这时与输入实例较远的训练实例也会对预测产生影响。即K值得增大会使整体模型变得简单。

在应用中,K值一般选取一个较小的数值,通常采用交叉验证发来选取最优的K值。

分类决策规则

多数表决规则

K近邻法中常采用的是分类决策规则是多数表决,即由输入实例的K个近邻的训练实例中的多数类决定输入实例的类别。多数表决规则有如下解释:如果分类的损失函数为0-1算是函数,分类函数为 f : R n → { c 1 , c 2 , . . . , c K } f:R^n\to\{c_1,c_2,...,c_K\} f:Rn{c1,c2,...,cK},那么误分类的概率就是 P ( Y ≠ f ( X ) ) = 1 − P ( Y = f ( X ) ) P(Y\ne f(X))=1-P(Y=f(X)) P(Y̸=f(X))=1P(Y=f(X)),对于给定的输入实例 x ∈ χ x\in\chi xχ,其最近邻的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(y_i\ne c_j)=1-\frac{1}{k}\sum_{x_i\in N_k(x)}I(y_i=c_j) k1xiNk(x)I(yi̸=cj)=1k1xiNk(x)I(yi=cj)由公式可知,要使误分类率(经验风险)最小,就要使 ∑ x i ∈ N k ( x ) I ( y i = c j ) \sum_{x_i\in N_k(x)}I(y_i=c_j) xiNk(x)I(yi=cj)最大,即就要选取 N k ( x ) N_k(x) Nk(x)集合中实例最多的类作为输入实例的类别。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值