李航统计学习 第三章 K邻近法

第三章 K邻近法

算法流程

输入:训练数据集

T={(x1,y1),(x2,y2),,(xN,yN)} T = { ( x 1 , y 1 ) , ( x 2 , y 2 ) , ⋯ , ( x N , y N ) }

其中 xiRn x i ∈ R n 为实例的特征向量 yi{c1,c2,,cK},i=1,2,,N y i ∈ { c 1 , c 2 , ⋯ , c K } , i = 1 , 2 , ⋯ , N 为实例的类别
输出:实例 x x 所属的类 y y
(1)根据给定的距离度量,在训练集 T T 中找出与 x x 最邻近的 k k 个点,涵盖着 k k 个点的 x x 的邻域记做 Nk(x) N k ( x )
(2)在 Nk(x) N k ( x ) 中根据分类决策规则(如多数表决)决定 x x 的类别 y y
y=argmaxcjxiNk(x)I(yi=cj),i=1,2,,N;j=1,2,,K y = a r g max c j ∑ x i ∈ N k ( x ) I ( y i = c j ) , i = 1 , 2 , ⋯ , N ; j = 1 , 2 , ⋯ , K

其中 I I 为指示函数,当 yi=cj y i = c j 的时候等于1,否则为0

距离度量

一般为 Lp L p 距离,设特征空间 X X n n 维实数向量空间 Rn R n xi,xjX,xi=(xi(1),xi(2),,xi(n))T,xj=(xj(1),xj(2),,xj(n))T x i , x j ∈ X , x i = ( x i ( 1 ) , x i ( 2 ) , ⋯ , x i ( n ) ) T , x j = ( x j ( 1 ) , x j ( 2 ) , ⋯ , x j ( n ) ) T
xi,xj x i , x j Lp L p 距离定义为

Lp(xi,xj)=(l=1n|x(l)ix(l)j|p)1p L p ( x i , x j ) = ( ∑ l = 1 n | x i ( l ) − x j ( l ) | p ) 1 p

p=2 p = 2 时,称为欧氏距离
L2(xi,xj)=(l=1n|x(l)ix(l)j|2)12 L 2 ( x i , x j ) = ( ∑ l = 1 n | x i ( l ) − x j ( l ) | 2 ) 1 2

p=1 p = 1 时,称为曼哈顿距离
L1(xi,xj)=l=1n|x(l)ix(l)j| L 1 ( x i , x j ) = ∑ l = 1 n | x i ( l ) − x j ( l ) |

p= p = ∞ 时,为各坐标距离的最大值
L(xi,xj)=maxl|x(l)ix(l)j| L ∞ ( x i , x j ) = max l | x i ( l ) − x j ( l ) |

K值的选择

选择较小的K值相当于用较小的领域中的训练实例进行预测,近似误差会减小但是估计误差会增大
选择较大的K值近似误差会增大但是估计误差会减小

分类决策规则

一般采用多数表决规则

你可能感兴趣的:(统计学习方法——李航)