机器学习笔记—模式分类(七)非参数技术1(序言、非参数的概率密度估计)

前序文章:

机器学习笔记—模式分类(一)绪论&贝叶斯决策论

机器学习笔记—模式分类(二)参数判别估计法(最大似然估计和贝叶斯参数估计)1

机器学习笔记—模式分类(三)参数判别估计法2(最大似然估计)

机器学习笔记—模式分类(四)参数判别估计法3(贝叶斯参数估计)

机器学习笔记—模式分类(五)参数判别估计法4(充分统计量、维数、特征线性组合、特征缺失)

机器学习笔记—模式分类(六)参数判别估计法5(序列判决之隐马尔可夫模型HMM)

同类文章:

暂无

 

1、引言

       在参数估计判别方法(贝叶斯)中,我们总是假设概率密度函数的参数形式已知,并在此条件下来处理有监督学习过程,但问题在于:

(1)对于许多实际的模式识别应用场合,上述假设未必成立,而且一般给出的概率密度的形式很少符合实际情况;

(2)所有经典的密度函数的参数形式都是即只有单个局部极大值,而现实中所遇到的却常常是多模情况;

(3)关于高维概率密度可以表示成一些一维密度的乘积的假设也不成立。

       这里我们将讨论“非参数化方法”,它能处理任意的概率分布,而不必假设密度的参数形式已知,两种主要的“非参数化方法”:

(1)从训练样本中估计类条件概率密度函数p(x|wj),将估计出的结果作为真正的概率密度;

(2)直接估计后验概率P(wj|x),这种方法的实现方式与所设计的算法直接相关,如最近邻规则就省略了概率估计而直接进行判别函数的设计。

2、概率密度的估计

       对每个类别都独立的估计概率密度,根据最大后验概率MAP原则进行分类。

       假设p(x)是连续的并且区域R足够小,以至于在这个区间中p几乎没有变化,x为一个点,V是区域R所包含的体积,则

                                                           p(x)~=(k/n)/V。

       如果固定体积V并且能获得越来越多的训练样本,那么比值k/n将能够如我们所希望的那样收敛,但即使如此所获得的其实是p(x)的空间平滑后的版本;

       如果希望得到p(x)而不是平滑后的版本,那必须要求体积V趋近于0,在固定样本个数n的前提下则区域R会变得如此之小以至于其中可能不含有任何样本,此时p(x)~=0这样的估计没有意义,即使碰巧有样本落在点x处则估计结果为无穷大也没有意义。

       实际过程中能够获得的训练样本个数总是有限的,体积V不能取得任意小,因此采用这种估计方法的话必须接受:k/n总是有一定变动的,概率密度函数p(x)总是存在一定程度的平滑效果。

       为了估计点x出的概率密度,构造一系列包含点x的区域R1,R2,...,记Vn为区域Rn的体积,kn为落在区间Rn中的样本个数,

                                                          pn(x)=(kn/n)/V

       表示对p(x)的第n次估计,如果要求pn(x)能够收敛到p(x),则必须满足3个条件,即n趋近无穷大时

(1)Vn趋近0,保证在区域均匀收缩和p(.)在点x处连续的情况下,空间平滑了的P/V能够收敛到p(x);

(2)kn趋近无穷大,保证频率之比能够收敛到概率P

(3)kn/n趋近0。

      有两种方法可以获得这种区域序列:

(1)根据某一个确定的体积函数如Vn=1/sqrt(n)来逐渐收缩一个给定的初始空间,此即“Parzen窗方法”;

(2)确定kn为n的某个函数如kn=sqrt(n),则体积必须逐渐生长直到最后能包含进x的kn个相邻点,此即“kn近邻法”。

3、Parzen窗方法—概率密度的估计

       假设区间Rn为d维的超立方体,hn为其一条边的长度,通过定义窗函数

                                                 \varphi (u)=\begin{cases} 1& \text{ if } \left | u \right |\leqslant 1/2 \\ 0& \text{ if } other \end{cases}

       解析得到落在窗中的样本个数kn的表达式,进而求出pn(x)的表达式

                                                    p_{n}(x)=\frac{1}{n}\sum_{i=1}^{n}\frac{1}{V_{n}}\varphi (\frac{x-x_{i}}{h_{n}}),V_{n}={h_{n}}^{d}

       该表达式表明对p(x)的估计是对一系列关于x和xi的函数作平均,本质上是一种内插过程,即每个样本依据它离x的远近不同而对结果作出不同的贡献。

       为保证pn(x)是一个合理的概率密度函数,既要保证其值非负又要保证积分结果为1,可以要求窗函数满足:

                                                    (1)\varphi (x)\geqslant 0;(2) \int \varphi (u)du=1

       如果hn太大,pn(x)是n个宽的、慢变的函数的叠加,因此pn(x)是对p(x)非常平滑的估计,或称为散焦的估计;如果hn太小,pn(x)是n个以样本点为中心的尖脉冲的叠加,是一个充满噪声的估计。

       hn亦即Vn的选取很大程度上影响pn(x),如果Vn太大,那么估计结果的分辨率就太低;如果Vn太小,那么估计结果的统计稳定性就不够。

       在有限样本个数下,我们能做的就是取某种可接受的折中;如果样本个数无限,那么就可以在n增加时,让Vn缓慢的趋近于零,同时pn(x)收敛到某个概率密度p(x)。

       在基于Parzen窗估计的分类器中,对每一个类别都独立的估计概率密度,并且根据最大后验概率(MAP)的原则进行分类,如果有多个类别且每个类别的先验概率都不相同,我们也能考虑进这个影响;

       虽然使用高斯窗函数似乎有道理,但是在缺乏概率分布的其他信息的情况下,没有办法对选择不同窗宽的影响做出有用的理论性分析;

       基于Parzen窗的概率密度估计和分类较好的说明了非参数方法的优点和局限性;

       非参数方法的优点在于通用性,如果能采集足够多的训练样本,无论实际的概率密度函数的形式如何,我们肯定能够最终得到一个可靠的收敛结果;

       另一方面为了得到比较精确的结果,实际需要的训练样本个数是非常惊人的,对训练样本个数的需求相对特征空间的维数呈指数增长,这种现象称为维数灾难,因此严重制约了这种方法的实际应用。

       多数模式识别方法可以用并行处理的方式实现,以空间复杂度换取时间复杂度,这种实现方法通常具有一种人工神经网络的结构;

       Parzen窗方法就可以使用神经网络的结构来实现,即通常所说的概率神经网络PNN,其最有用的场合是在计算速度要求很高、存储资源又比较容易满足的情况,并且新的训练样本很容易被加入以前训练好的分类器中,这一特性对于“在线”的应用特别有意义。

4、Kn近邻法—概率密度的估计

       由于最佳的窗函数的选择总是一个问题,一种可行的解决方法就是让体积成为训练样本的函数,而不是硬性的规定窗函数为全体样本个数的某个函数;

       如为了从n个训练样本中估计p(x),以点x为中心让体积扩张直到包含进kn个样本为止,其中的kn是关于n的某一个特定函数,这些样本被称为点x的kn个最近邻;

       如果点x附件的概率密度很大那么这个体积就相对较小,如果在点x附近的概率密度较小那么这个体积就会比较大,但是一旦它进入某个概率密度很高的区域,这个体积的生长就会停止。

       前面的讨论结果能够用于从已标记的样本集中估计后验概率P(wi|x)。假设把一个体积放在点x周围,并且能够包含进k个样本,其中的ki个属于类别wi,那么对于联合概率密度的估计是

                                                       pn(x,wi)=(ki/n)/V

       对于后验概率的估计就是

                                                        Pn(wi|x)=pn(x,wi)/pn(x)=ki/k

       即点x属于类别wi的后验概率就是体积中标记为wi的样本点的个数与体积中全部样本点的个数的比值,则为了达到最小的误差率,我们选择使这个比值最大的那个类别作为判决结果。

       关于如何选择体积大小的问题,既可以用Parzen窗也可以用Kn近邻。在Parzen窗方法中,Vn必须是关于n的某个固定形式的函数,如Vn=1/sqrt(n);在最近邻方法中,Vn必须能够保证能包含进足够的样本数k,如k=sqrt(n)。

       在这两种方法中,如果n能够趋向无穷大,那么在无限小的体积中就能有无穷多的样本,这样估计就能够达到非常高的准确度。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值