近邻法
写于2013年1月5日晚
本文是通过学习清华大学张长水老师的模式识别第六章《近邻法》整理而来,视频链接地址:
http://v.youku.com/v_show/id_XMjMxNTgxODg4.html?f=5373642
标签:模式识别 分类 近邻法 K近邻法
引出
看下面这样一个问题:
样本 | 类别符号 |
(2,1) | ω1 |
(1,2) | ω1 |
(4,3) | ω2 |
(3,4) | ω2 |
(1,1) | ? |
表一 样本和所属类别
如表一所示,已知(2,1),(1,2),(4,3),(3,4)四个样本,其中(2,1),(1,2)属于ω1类,(4,3),(3,4)属于ω2类。现有未知类别样本(1,1),请问它属于上述两类中的哪一类?
把上述样本在二维空间中描述出来,如图一所示。
图一 样本在二维空间中表示
在二维空间中(2,1),(1,2)用红色点表示,同属于ω1类,(4,3),(3,4)用绿色点表示,同属于ω2类。未知类别样本(1,1)用紫色表示,请问未知类别样本属于上述两类中的哪一类?
近邻法
从图一直观上看,我们直观上认为样本(1,1)和红色样本点属于一类,即ω1类。这种直观来自于样本(1,1)离红色样本点最近,故如果分ω1,ω2两类的话,样本(1,1)属于ω1类。
判断未知样本属于哪一类,看离未知样本距离最近的已知样本属于哪一类,未知样本和这个已知样本同属于一类,这种方法就是近邻法。
近邻法的数学描述
已知有若干样本,这些样本分为ω1,…,ωc共c类,i为c类中的第i类,第i类中有Ni个样本。假设未知样本为x,x距离第i类的最短距离gi(x)为:
第i类中共有Ni个样本,k为Ni个样本中的第k个样本。依次计算未知样本x与第i类中的第k个样本的距离,k = 1,2,…, Ni,从这Ni个距离中选择最短的,这个距离就是未知样本x距离第i类的最短距离gi(x)。i = 1,2,…,c,计算未知样本x到c类中每一类的最短距离,在这c个最短距离中再取最小的,用gj(x)表示,j表示第j类:
因此在所有的样本中,未知样本x与第j类中的某个样本距离是最短的,故未知样本x属于第j类。
这就是模式识别有监督分类方法中的近邻法。
K近邻法
近邻法在决定未知样本x属于哪一类时仅仅参考了离它距离最近的样本。假如我们在决定未知样本x属于哪一类时不仅仅参考离它最近的样本,而是参考离它最近的k个样本,看这k个样本中大部分属于哪一类,那么未知样本x就属于哪一类,这种参考最近的k个样本的方法就称为K近邻法。
如下图二所示,在二维空间中有若干样本,红色样本点属于类ω1,黑色样本点属于类ω2,字符x表示未知样本,在k = 5 的K近邻法中,观察距离未知样本x最近的5个样本,2个红色样本属于类ω1,3个黑色样本属于类ω2。大部分为类ω2,故未知样本x属于类ω2。
图二 K近邻法(K = 5)
K近邻法的数学描述:
在若干样本中先找到距离未知样本最近的k个样本,然后对这k个样本进行统计,统计这k个样本属于c类(ω1,…,ωc)中第i类的数量gi(x),i = 1,2,…c,如公式所示:
在gi(x),i = 1,2,…c 中找出最大的那个,即为gj(x),下标j表示上述k个样本中属于第j类的最多,故未知样本x属于第j类。
这就是K近邻法。