近邻法分类
0. 概述
模式分类一般有2种方法:
(1) 将特征空间划分为决策阈,然后利用判别函数进行分类。
(2)将全部训练样本作为标准模板,然后将测试数据与每一个模板进行比对,将最近邻的目标标签作为分类结果。
第二种方法就是所谓的近邻法分类。
近邻法分类的原理为:
对于一个
n
n
n个类别的分类问题,每类有
N
i
N_i
Ni个样本,其中
i
=
1
,
2
,
.
.
.
,
n
i=1,2,...,n
i=1,2,...,n,则第
i
i
i类
w
i
w_i
wi的判别函数为
g
i
(
x
)
=
min
k
∥
x
−
x
i
k
∥
g_i(x)=\min_k\begin{Vmatrix}x-x_i^k \end{Vmatrix}
gi(x)=mink∥∥x−xik∥∥,其中
k
=
1
,
2
,
.
.
.
,
N
i
k=1,2,...,N_i
k=1,2,...,Ni,
x
i
k
x_i^k
xik表示
w
i
w_i
wi类的第
k
k
k个样本。决策规则为:若
g
j
(
x
)
=
min
i
g
i
(
x
)
,
i
=
1
,
2
,
.
.
.
,
n
g_j(x)=\min_ig_i(x), i=1,2,...,n
gj(x)=minigi(x),i=1,2,...,n,则
x
∈
w
j
x\in w_j
x∈wj。其中
∥
x
−
x
i
k
∥
\begin{Vmatrix}x-x_i^k \end{Vmatrix}
∥∥x−xik∥∥就表示距离,一般用欧氏距离表示。
常用的近邻法有大家熟知的 k − k- k−近邻法,就是用 k k k(一般取奇数)个最近样本代替最近邻样本,取 k k k个样本中出现最多的分类作为决策。 k − k- k−近邻法的优点是错误率较低,缺点是计算量较大。为了避免较大的计算量,我们可以组织整理样本集,在不损失性能的前提下,缩小样本集。
- 快速搜索近邻法
快速搜索近邻法的基本原理是:
- 先将样本集分组,确定近邻关系;
- 求出每个分组的质心;
- 求出组内每个样本到质心的最大距离;
- 形成层次结构以搜索。
从样本均值到样本点的最大距离为: r p = max x i ∈ X p D ( x i , M p ) r_p=\max_{x_i\in X_p}D(x_i,M_p) rp=maxxi∈XpD(xi,Mp), M p M_p Mp是样本集 X p X_p Xp的样本均值。按照这样来给样本集分组并确定最大距离。
首先要快速排除不可能包含最邻近的子集,若 D ( x , M p ) > B + r p D(x,M_p)>B+r_p D(x,Mp)>B+rp则 X p X_p Xp不可能包含最近邻。然后排除子集中不可能为最邻近的样本,若 D ( x , M p ) > B + D ( X i , M p ) D(x,M_p)>B+D(X_i,M_p) D(x,Mp)>B+D(Xi,Mp)则 X p X_p Xp不可能是最近邻。这是搜索算法的基本思路。执行的时候按高层次到低层次,如果是同层次,则按深度优先,,然后不断核对修正,最终确定。
- 剪辑近邻法
前面说快速搜索近邻法的缺点是计算量较大,则剪辑近邻法的有点就是可以减少计算量,但是没能减少数据存储量。
将全部样本集划分为2个子集,一个为训练集,一个为测试集,利用训练集对测试集的每个样本进行最近邻法分类。若分类正确 ,则保留样本;若分类错误(误导样本),则剪辑样本。然后把保留的样本合并替代原样本集,再重新划分训练集和测试集,继续用最近邻法分类,反复迭代直到没有样本被剪辑。
错误率主要来自于交迭区,交迭区是不同类样本在分布上有交迭的部分。
- 压缩近邻法
上述剪辑近邻法对标准模板数量的压缩效果有限,靠近类别中心的大量模板被保留,这些样本对分类决策结果影响很小。
压缩近邻法的基本思想是:利用训练样本集生成新样本集,保留最少量样本,且维持分类正确,最大程度保留原训练集的分类特性。