论文部分内容阅读
由于单隐层的前馈神经网络可以实现对任意非线性函数的映射,所以前馈神经网络(FNN)被广泛的用于函数逼近和分类等问题。BP算法在最优值附近的局部范围内可以较快地搜索到最优值,因此被广泛的应用于FNN的训练。BP虽然有很强的局部搜索能力,但是作为一种梯度下降算法,它存在容易陷入局部最优值、收敛慢和泛化能力差的特点,因此全局收敛能力较差。
与BP算法相比,遗传算法(GA:Genetic Algorithm)、微粒群算法(PSO:ParticleSwarm Optimization)等优化算法具有较强的全局搜索能力。与GA算法相比,微粒群算法不要求目标函数具有连续性,且它的搜索方式具有全局性和并行性,所以算法简单,收敛速度快,且没有GA算法的选择、交叉、变异等复杂的遗传操作。但对于复杂问题,微粒群算法易早熟收敛,无法保证收敛到最优点。和BP算法相比,它的局部搜索能力较弱。
为了提高算法的搜索性能,本文将PSO和BP算法结合进行双重搜索:先用微粒群算法进行全局搜索,然后由基于梯度下降的局部搜索算法进一步进行局部搜索,增加搜索到全局最优解的可能性。虽然双重搜索算法可以克服PSO算法中存在的局部收敛能力弱问题,但是PSO算法失去多样性从而导致早熟的问题依旧存在,从而影响双重搜索算法的性能。为减少PSO算法发生过早熟的几率,本文对如何提高PSO算法中群的多样性也进行了研究,并提出了几种改进的PSO算法,同时将改进的PSO和BP结合起来进行双重搜索并应用于函数逼近、分类以及基因表达谱数据分析方面,取得了优于传统算法的效果。本文主要工作如下:
(1)提出了随机粒子群算法(RPSO),该算法算法通过引入一个随机阈值和一个随机粒子来增加粒子群的运动机制的多样性和随机性,从而提高种群多样性,使算法获得持续搜索能力,降低了PSO算法的早熟收敛的发生几率。同时将RPSO算法应用到双重搜索算法中,以提高双重搜索算法的整体性能。实验结果也表明了在函数逼近和石油提炼问题上,双重搜索算法RPSO-BP的泛化性能和收敛能力优于传统的算法。
(2)提出了基于多样性引导的粒子群算法DGPSO-BP,该算法在提高粒子群多样性的同时又兼顾了算法的收敛速度,取得了传统PSO算法无法比拟的效果。在DGPSO中,每次迭代之前先判断粒子群是否陷入早熟、是否可以安全加速、是否处于正常运动状态,然后根据判断结果选择相应的驱散模式、加速模式、标准模式进行迭代。同样,将DGPSO算法与BP算法进行了结合来用于神经网络的训练,提出了基于DGPSO-BP算法。在函数逼近和IRIS分类问题上的实验表明,DGPSO-BP算法有更好的泛化能力和收敛能力。
(3)提出了耦合先验信息的双重搜索算法的基因选择和癌症分类方法。该算法首先用类内类间平方和来从备选基因集中获取先验信息,同时将提取的先验信息耦合进PSO算法中进行基因选择。在基因选择过程中,同时采用PSO对FNN的初步训练。其次,用BP算法对被PSO训练过的FNN进行进一步训练以获得最优的癌症正确诊断率。与传统的方法相比,新方法同时考虑了基因的提取和分类器的优化,还考虑进了先验信息来增强整个算法的性能。实验结果表明,与传统方法相比本文推出的算法可以提取更少的关键基因同时获得更高的正确识别率。