论文部分内容阅读
机器学习的研究尤其是分类学习在过去的20年里取得了长足的发展,涌现了许多新的学习理论和方法,其中最重要的发展是支持向量机和AdaBoost理论的提出,它们都是基于判别函数的分类方法。在判别函数的优化方法中,梯度下降算法由于其简单高效,成为本文的研究重点。本文主要研究了梯度下降算法在分类方面的三个有代表性的应用:
①贝叶斯网络(离散参数空间中的梯度下降):对于贝叶斯网络的结构学习而言,以前的方法大多数采用朴素贝叶斯结构作为初始的状态,随后通过在属性之间不断地加边来得到邻域结构。这个受限的邻域使得最终学习到的结构仍然是增强的贝叶斯网络(ANB)。由于类变量不是以属性变量为条件,在某种意义上,它仍然是生成式的结构。我们提出了一种生成式一判别式的学习方法来学习贝叶斯网络结构(HGD算法),算法以交叉验证的分类率CR(Classification Rate)为准则,通过梯度下降搜索来构造一个判别式的网络结构。我们的经验结果表明HGD+CR产生了比仅仅使用判别准则的贝叶斯网络更好的分类性能。
②学习矢量量化(连续参数空间中的梯度下降):尽管学习矢量量化算法如MCE算法、GLVQ算法在各种应用中取得了非常好的性能,但是这些损失函数是非凸的。本文的第三章主要探讨了凸损失函数在原型算法中的效果,旨在使用凸损失函数来提高原型算法的分类性能,我们提出了两个基于条件对数似然损失的原型学习算法:基于间隔的似然(LOGM)和基于概率的似然(LOGP)。我们在训练过程中加入正则项避免过拟合。在LOGM中,损失函数是间隔的凸损失,这个特性确保存在唯一的极大间隔。LOGP类似于MAXP和SNPC,给定一个训练样本时,需要更新所有的原犁矢量。在30个标准数据集上的结果表明,LOGM和LOGP取得了比MCE,LVQ和SNPC更高的分类精度。
③Adaboost算法(泛函空间中的梯度下降):AdaBoost算法最初被用来处理两类分类问题,对于多类分类,大多数算法将多类问题转化为多个两类分类问题。这类算法的缺点在于,要解决的两类分类问题的数目至少与类别数成线性比例,因而限制了它的应用。我们利用多类弱分类器直接构造多类AdaBoost算法,提出了一个基于假设间隔(Hypothesis Margin)的AdaBoost算法(AdaBoost.HM),一方面实现了AdaBoost.MH算法中的最大化正类判别输出最小化负类判别输出的思想,另一方面它类似AdaBoost.M1算法,直接构造多类的AdaBoost算法,从而节省了训练时间。另外,我们给出AdaBoost.HM算法的训练错误率上界,并且得出Adaboost.M1算法的训练错误率上界具有相同的形式,它们都是与类别数无关的。最后,在同时以神经网络作弱分类器的条件下,AdaBoost.HM显示了比AdaBoost.MH更好的泛化性能。