第三章 K邻近法
算法流程
输入:训练数据集
T={(x1,y1),(x2,y2),⋯,(xN,yN)}
其中
xi∈Rn
为实例的特征向量
yi∈{c1,c2,⋯,cK},i=1,2,⋯,N
为实例的类别
输出:实例
x
所属的类
y
(1)根据给定的距离度量,在训练集
T
中找出与
x
最邻近的
k
个点,涵盖着
k
个点的
x
的邻域记做
Nk(x)
(2)在
Nk(x)
中根据分类决策规则(如多数表决)决定
x
的类别
y
:
y=argmaxcj∑xi∈Nk(x)I(yi=cj),i=1,2,⋯,N;j=1,2,⋯,K
其中
I
为指示函数,当
yi=cj
的时候等于1,否则为0
距离度量
一般为
Lp
距离,设特征空间
X
是
n
维实数向量空间
Rn
,
xi,xj∈X,xi=(xi(1),xi(2),⋯,xi(n))T,xj=(xj(1),xj(2),⋯,xj(n))T
xi,xj
的
Lp
距离定义为
Lp(xi,xj)=(∑l=1n|x(l)i−x(l)j|p)1p
当
p=2
时,称为欧氏距离
L2(xi,xj)=(∑l=1n|x(l)i−x(l)j|2)12
当
p=1
时,称为曼哈顿距离
L1(xi,xj)=∑l=1n|x(l)i−x(l)j|
当
p=∞
时,为各坐标距离的最大值
L∞(xi,xj)=maxl|x(l)i−x(l)j|
K值的选择
选择较小的K值相当于用较小的领域中的训练实例进行预测,近似误差会减小但是估计误差会增大
选择较大的K值近似误差会增大但是估计误差会减小
分类决策规则
一般采用多数表决规则