【统计学习方法读书笔记】(三)k近邻法

个人感觉k近邻应该是所有统计学习方法里最好理解的了,通俗来说就是在数据集中找距离测试数据x最近的k个数据样本,如果A类的数量大于B类的数量,则将测试数据x归为A类,书中也仅用了不到10页来论述这个理论,除基本k近邻理论,还有kd树的阐述。

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 ∈ X ⊆ R n x_i \in X\sube \R^n xiXRn为实例特征向量, y i ∈ Y ⊆ { c 1 , c 2 , . . . , c K } y_i\in Y\sube \{c_1,c_2,...,c_K\} yiY{c1,c2,...,cK}为实例的类别;实例 x x x
  • 输出:实例 x x x的类别
    (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;

1、常见的距离度量方法都有哪些?

  • 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(x_i,x_j)=\Big(\sum_{l=1}^{n}|x_i^{(l)}-x_j^{(l)}|^p\Big)^{\frac{1}{p}} Lp(xi,xj)=(l=1nxi(l)xj(l)p)p1
  • 曼哈顿距离,此时 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)=\Big(\sum_{l=1}^{n}|x_i^{(l)}-x_j^{(l)}|\Big) L1(xi,xj)=(l=1nxi(l)xj(l))
  • 欧氏距离,此时 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)=\Big(\sum_{l=1}^{n}|x_i^{(l)}-x_j^{(l)}|^2\Big)^{\frac{1}{2}} L2(xi,xj)=(l=1nxi(l)xj(l)2)21

2、影响k近邻法的三个要素是什么?

  • 距离度量方法
  • k值的选择:一般取一个较小的数值,通常采用交叉验证法来选取最优的k值。
    • 当选择的k值较小时,近似误差(approximation error)会减小,估计误差(estimation error)会变大,k值的减小意味着整体模型变得复杂,容易发生过拟合。
    • k值的增大与上述正好相反,估计误差变小,同时近似误差变大,意味着模型变得太简单。当模型过于简单,会忽略掉数据中大量有用的信息。
  • 分类决策规则:一般采用多数表决规则。

3、给定一个二维空间的数据集: T = { ( 2 , 3 ) T , ( 5 , 4 ) T , ( 9 , 6 ) T , ( 4 , 7 ) T , ( 8 , 1 ) T , ( 7 , 2 ) T } T=\{(2,3)^T,(5,4)^T,(9,6)^T,(4,7)^T,(8,1)^T,(7,2)^T\} T={(2,3)T,(5,4)T,(9,6)T,(4,7)T,(8,1)T,(7,2)T},构造一个平衡kd树?

假设每个数据样本对应 x ( 1 ) , x ( 2 ) x^{(1)},x^{(2)} x(1),x(2)两个坐标轴,
(1) 先选择 x ( 1 ) x^{(1)} x(1)轴的中位数建立超平面,将样本空间分成两个子空间 a , b a,b a,b;
(2) 针对子空间 a a a,选择子空间中样本的 x ( 2 ) x^{(2)} x(2)轴的中位数建立超平面,进一步划分子空间;针对子空间 b b b,选择子空间中样本的 x ( 2 ) x^{(2)} x(2)轴的中位数建立超平面,进一步划分子空间;
(3) 递归调用(1)、(2),直到每个子空间中均无样本点为止,即所有样本点都在分割超平面上。
图片选用自Senxin's Blog

4、在上述kd树空间中,利用kd树搜索中求点 x = ( 3 , 4 , 5 ) T x=(3,4,5)^T x=(3,4,5)T的最近邻点?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值