第三章 k近邻法
概述
它可以用来做分类和回归。
k近邻法不具有显式的学习过程。
k值的选择、距离度量以及分类决策规则是k近邻法的三个基本要素。
3.1 k近邻算法
算法简述:给定一个训练集,对于新进实例,在数据集中找出与其距离最近的k个实例,然后计算这k个实例将其划分为哪一类最多,就认为新进实例属于那一类。
算法 3.1(k近邻法)
输入:训练数据集
T={(x1,y1),(x2,y2),⋯(xN,yN)}
T
=
{
(
x
1
,
y
1
)
,
(
x
2
,
y
2
)
,
⋯
(
x
N
,
y
N
)
}
其中,x为实例的特征向量,y为实例所属的类别,i = 1,2,3,…,N。
输出:实例x所属的类y。
(1)根据给定的距离度量,在训练集T中找到与x最近邻的k个点,涵盖这k个点的x的邻域记作 Nk(x) N k ( x ) 。
(2)在 Nk(x) N k ( x ) 中根据分类决策规则(如多数表决)决定x的类别y:
y=argmaxcj∑xi∈Nk(x)I(yi=cj),i=1,2,⋯,N;j=1,2,⋯,K
y
=
arg
max
c
j
∑
x
i
∈
N
k
(
x
)
I
(
y
i
=
c
j
)
,
i
=
1
,
2
,
⋯
,
N
;
j
=
1
,
2
,
⋯
,
K
其中,I为指示函数,当y=c时I为1,否则为0
k近邻算法中的特殊情况是k=1,此时称为最近邻算法,计算与新进实例最近的点x,并把x的类作为新进实例的类。
3.2 k近邻模型
距离度量
特征空间中两个实例点的距离是两个实例点相似程度的反映。
x,y之间的
Lp
L
p
距离定义为:
Lp(x,y)=(∑i=1n|x−y|p)1p
L
p
(
x
,
y
)
=
(
∑
i
=
1
n
|
x
−
y
|
p
)
1
p
当p=2时,称为欧式距离。
p=1时,称为曼哈顿距离。
p=无穷时,它是各个坐标距离的最大值。
k值的选择
选用较小的k值,训练的近似误差会减小,但估计误差会加大,使模型变得复杂。
选用较大的k值,训练的估计误差会减小,近似误差会加大,使模型变得简单。
切忌取k=N;
在实际应用中,k一般取一个较小的数值,然后用交叉验证法来选取最合适的k值。
3.3k近邻法的实现:kd树
kd树算法详细说明:https://www.cnblogs.com/21207-iHome/p/6084670.html
kd树更适用于训练实例数远大于空间维数时的k近邻搜索。
本文介绍了k近邻算法的基本原理及应用,包括算法步骤、距离度量方式的选择、k值的确定方法等内容,并探讨了kd树在提高k近邻算法效率上的作用。
350

被折叠的 条评论
为什么被折叠?



