论文部分内容阅读
分类精度和学习速度是评价分类器性能的两个主要指标。现有多层感知器(Multilayer perceptrons, MLPs)及其学习算法能有效解决中、小规模即样本数、维数和样本类别均比较小的数据集学习和分类问题,但对大规模数据集的性能往往不够理想。为此,本论文主要从以下几个方面开展研究工作:1)针对采用标准Sigmoid型活化函数的误差反向传播(back-propagation, BP)算法收敛速度慢且容易陷入局部最小的缺点,分析了一般形式的Sigmoid型活化函数强度和粒度因子对学习速度和分类精度的影响,并给出了参数合适的取值范围。2)提出了模块化MLPs以解决类别数较多的数据集分类问题。一对一(One-against-one, OAO)的任务分解方法会产生过多的MLP模块,不仅导致学习时间长和网络结构复杂问题,而且分类精度往往不够高;反之,一对所有(One-against-all, OAA)的任务分解方法会出现样本严重不平衡问题。本文针对严重不平衡数据集,提出了增加虚拟样本的解决方法。3)当样本数很多时,常规MLPs将训练样本全部读入,导致学习时间很长的问题。本质上,神经网络学习过程是通过迭代逐步找到决策边界的过程,只有在决策边界附近的小部分样本才会最终对较优边界的确定起着重要作用。神经网络及其学习算法可以只让边界附近的那一小部分样本参加学习,从而得到和学习原始大规模样本集一样或相似的性能。为此,本文提出了一种动态学习算法来加快神经网络的学习速度。4)当类别之间的样本相距很近或重叠,即当类间间隔(Margins)很小时,基于误差反传的迭代学习算法找到复杂决策边界的过程将十分漫长。我们提出一种混合特征编码的方法,在保持样本间相对位置不变或近似不变的前提下,将样本从原始空间映射到较高维的空间中,放大类与类之间的间隔,达到提高学习速度的目的。我们重点以机器学习数据库的Letter和Shuttle、MNIST手写字体这3个规模较大的数据集为应用对象进行了学习与分类实验。结果表明,本文提出的神经网络动态学习算法不仅具有学习速度快,而且具有良好的推广性能。