Zhu Qing

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

[1]张瑞民,郭海刚,李培峦. 基于核的k最近邻算法.华北水利水电学院学报. 2007年12月

核方法的核心是采用非线性映射将原始数据由数据空间映射到特征空间,进而在特征空间中进行对应的线性操作。KNN(k-Nearest Neighbor)的基本思想是:在多维空间中找到与未知样本最近邻的K个点,并根据这些点的类别来判断未知样本的类。基于核的K最近邻算法是将核函数应用到K最近邻算法中。在核空间中,两个样本点的欧氏距离可以通过核函数来描述:

dsubF = sqrt(k(xi,xi)-2k(xi,xj)+k(xj,xj))

[2]Pattern Recognition and Machine Learning by Christopher Bishop. Springer, 2007.

2.5非参量方法

本章以前的部分都是基于概率分布的,对包含少量参数的特定的功能方程,用一组数据来确定参数。这叫做密度模型的参量方法。这种方法的一个主要的局限在于对于密度不好选择的模型,密度参数会带来不好的预测性能。比如,如果产生数据的过程是多模的,则这种性质的分布就不会被高斯所表示,因为高斯只能用于单模。

本节,我们讨论密度估计的非参量方法,这种方法对分布的方式没有多少限定。这里我们主要着眼于一些简单的频率方法。但是,读者必须知道,非参量的贝叶斯方法越来越受到人们的关注。

密度估计的直方图方法(histogram methods for density estimation)着眼于单个连续变量x。标准直方图简单的把x分成小段,然后计算x落在某小段的个数。为了把这个计数转化成归一化的概论密度,我们只是简单的除以观测到的总数N乘以小段的宽度来得到每个小段的概率值:

 

下图是密度估计的直方图方法,图中的50个数据点是根据绿线的分布产生的。

从上图中数据是来源于两个高斯分布,上中下三图片对应三种不同的宽度delta, 当delta的值较小的时候,图很锯齿。当delta的值大的时候,图很平滑,但是却不能体现出数据是由两个分布而来,比较好的是中间取值。大体上来讲,一个直方图密度模型也跟边界的位置有关(即跟从什么地方开始截取一小段x有关),但与delta(即小段的长度)关系更大。

直方图方法和其它方法的不同之处在于,一旦直方图算出来后,数据集就可以丢掉了。如果数据数据集很大,这个方式就很有利。而且,如果数据是顺序采集的,则直方图方法就很了用。

在实践中,直方图技术可以很方便地在一维或二维环境中可视化数据,但是对大多数密度估计方法却不适用。一个显然的问题是估计密度是非连续的,这是由于数据分段造成的,跟产生数据的分布无关。另一个局限是直方图方法是根据维数来分段。如果我们把每一个D维的数据分成M段,那么分段的总数就是M的D次方。在高维的情况下,这个计算量就太大了。

然而,直方图方法告诉我们两件很重要的事情。一是要估计一个特定位置的概率密度,我们必须考虑一定范围内的邻居。关于这个范围我们选择欧氏距离。对直方图来说,邻居是由分段决定的,分段同时也决定了平滑的程度。第二是为了得到一个良好的结果,平滑参数不能太大,也不能太小。有了这几点认识,我们来讨论两种常用密度估计的的非参量方法:核估计和最近邻方法,它们比简单的直方图模式能更好地刻画维度。

2.5.1 核密度估计(Kernel densityestimators)

考虑D维的欧氏空间,未知概率密度p(x). 从之前关于位置的讨论中,我们可以想到对于包含x的区域R,概率公式可以定义为:

假设我们收集的数据包含N个观察点,以p(x)为概率。因为任意点以概率为P落在R,那么落在R的K个点的分布满足二项式分布

 

2.5.2 最近邻方法(Nearest-neighbour mehods)

核密度估计的不足是参数h控制着核的宽度,而且h对所有的核是固定的。在数据密集的地方,一个较大的h会导致过度平滑而损失掉本来可以从数据中抽取出来的数据的结构。然而,减小h会导致在密度较小地方出现嗓音。所以最优化h取决于数据空间的位置。密度估计的最近邻方法解决了这个问题。

固定邻居点的个数为K,使用数据来找到一个合适的V的值。做法是:为了求p(x),考虑一个以x为中心的球体,逐步增加球体的半径,以使它包含K个数据点。这就是K近邻方法,如下图所示:

从图中可以看出K的值控制曲线的平滑程度,K值小的时候密度模型嘈杂。K值大的时候曲线平滑。最优化的K值一样也应该是不大不小的。注意:K最近邻并不是真正的密模型,因为积分空间不同。?

本章的最后,我们讲如何将密度估计的K最近邻方法扩展到分类。做法是:先将最近邻 法分别用于每个不同的类,再利用贝叶斯理论。假设数据集包含N个点,其中Nk个点在Ck类中。为了确定点x的类别,我们以它为中心画一个球体包含K个点。假定这个球体的体积为V,包含Kk个类Ck的点。 

点从CK类中来的概率:

点x的概率

类CK的概率

由贝叶斯计算后验概率:

posted on 2010-05-06 23:56  Zhu Qing  阅读(2020)  评论(0编辑  收藏  举报