1、第8章粒子群优化算法与其在智能传感器系统中的应用 第8章粒子群优化算法与其在智能 传感器系统中的应用8.1粒子群优化算法发展与应用概况粒子群优化算法发展与应用概况8.2粒子群优化算法的基础知识粒子群优化算法的基础知识8.3粒子群优化算法的发展与改进简介粒子群优化算法的发展与改进简介8.4应用示例应用示例第8章粒子群优化算法与其在智能传感器系统中的应用8.1 粒子群优化算法发展与应用概况粒子群优化算法发展与应用概况8.1.1 群智能群智能 一只蜜蜂或蚂蚁的行动能力非常有限,它几乎不可能独立存在于自然世界中,而多个蜜蜂或蚂蚁形成的群体则具有非常强的生存能力,且这种能力不是多个个体之间的能力通过简单
2、叠加所获得的。社会性动物群体所拥有的这种特性能帮助个体很好地适应环境,通过群体内部个体之间的信息交互,个体所获得的信息远多于自身感官直接获取的信息,而且群内个体还能处理信息,并根据所获得的信息改变自身的一些行为模式和规范。第8章粒子群优化算法与其在智能传感器系统中的应用这样就使得群体涌现出一些单个个体所不具备的能力和特性,尤其是对环境的适应能力。这种对环境变化所具有的适应能力可以被认为是一种智能,也就是说动物个体通过聚集成群而涌现出了智能。因此,Bonabeau将群智能(Swarm Intelligence,SI)定义为:无智能或简单智能的主体通过任何形式的聚集协同而表现出智能行为的特性。这里
3、我们关心的不是个体之间的竞争,而是它们之间的协同。第8章粒子群优化算法与其在智能传感器系统中的应用8.1.2 群智能的主要算法群智能的主要算法蚁群优化算法(Ant Colony Optimization,ACO)由Colorni A、Dovigo M和Maniezzo V于1991年提出,是仿照蚁群在寻找食物过程中表现出来的寻优方式得到的一种优化算法,已被广泛应用于组合优化问题中。在车辆调度、机器人路径规划、路由算法设计领域均取得了良好效果,且不断取得新的成果。ACO算法具有广泛实用价值,曾一度成为群智能的代名词。第8章粒子群优化算法与其在智能传感器系统中的应用粒子群优化算法源于1987年Re
4、ynolds对鸟群社会系统的仿真研究,在1995年意大利的Kennedy和Eberhart创造性地完成了粒子群优化算法(Particle Swarm Optimization,PSO)。PSO的优势在于简单且容易实现,同时又有深刻的智能背景。短短几年时间,PSO算法获得了很大发展,并在一些领域得到应用,如PID调速、调温,液压伺服等控制系统,与各种神经网络结合(遗传、模糊、径向基、小波等)进行火灾图像识别、故障诊断等,目前已被“国际演化计算会议(CEC)”列为讨论专题之一。第8章粒子群优化算法与其在智能传感器系统中的应用8.1.3 群智能算法的特点群智能算法的特点群智能方法易于实现,算法中仅涉
5、及各种基本数学操作,其数据处理过程对CPU和内存要求不高,且该方法只需目标函数的输出值,而无需其梯度信息。发展与应用证明群智能方法是一种能够有效解决大多数全局优化问题的新方法。第8章粒子群优化算法与其在智能传感器系统中的应用总体而言,群智能算法仍然处于新兴发展与改进完善阶段。目前其算法的数学理论基础还相对薄弱,涉及的各种参数设置仍多用经验方法确定,对具体问题与应用环境的依赖性较大。提高算法的性能一直是研究者最为关心的问题之一,将两个甚至两个以上的群智能算法相结合形成群智能混合算法,或者将群智能与其他先进技术,如神经网络、模糊逻辑、紧急搜索和最小二乘支持向量机相融合,以改善其自身或相应技术方法的
6、性能正越来越受到重视。第8章粒子群优化算法与其在智能传感器系统中的应用8.2 粒子群优化算法的基础知识粒子群优化算法的基础知识自然界中各种生物体均具有一定的群体行为,而人工生命的主要研究领域之一就是探索自然界生物的群体行为从而在计算机上构建其群体模型。通常,群体行为可以由几条简单的规则进行建模。Reynolds将这种类型的个体称为boids,并使用计算机图形动画对复杂的群体行为进行仿真。他在仿真中采用了下列三条简单规则:(1)飞离最近的个体,以避免碰撞;(2)飞向目标;(3)飞向群体的中心。第8章粒子群优化算法与其在智能传感器系统中的应用Boyd和Richerson在研究人类的决策过程时,提出
7、了个体学习和文化传递的概念。根据他们的研究结果,人们在决策过程中使用两类重要的信息:一是自身的经验,二是其他人的经验。也就是说,人们根据自身的经验和他人的经验进行自己的决策。这是微粒群算法的另一基本概念。第8章粒子群优化算法与其在智能传感器系统中的应用微粒群算法最早是在1995年由美国社会心理学家James Kennedy和电气工程师Russell Eberhart 共同提出的,其基本思想是受他们早期对许多鸟类的群体行为进行建模与仿真研究结果的启发,而他们的模型及仿真算法主要利用了生物学家Frank Heppner的模型。第8章粒子群优化算法与其在智能传感器系统中的应用Frank Heppne
8、r的鸟类模型与其他类模型在反映群体行为方面有许多相同之处,所不同之处在于:鸟类被吸引飞向栖息地。在仿真中,一开始每一只鸟均无特定目标进行飞行,直到有一只鸟飞到栖息地,当设置期望栖息比期望留在鸟群中具有较大的适应值时,每一只鸟都将离开群体而飞向栖息地,随后就自然地形成了鸟群。第8章粒子群优化算法与其在智能传感器系统中的应用由于鸟类使用简单的规则确定自己的飞行方向与飞行速度(实质上,每一只鸟都试图停在鸟群中而又不相互碰撞),当一只鸟飞离鸟群而飞向栖息地时,将导致它周围的其他鸟也飞向栖息地。这些鸟一旦发现栖息地,将降落在此,驱使更多的鸟落在栖息地,直到整个鸟群都落在栖息地。第8章粒子群优化算法与其在
9、智能传感器系统中的应用由于James Kennedy和 Russell Eberhart所具有的专业背景,很容易理解他们为什么会对Heppner的鸟类模型感兴趣。鸟类寻找栖息地与对一个特定问题寻找解很类似,已经找到栖息地的鸟引导它周围的鸟飞向栖息地的方式,增加了整个鸟群都找到栖息地的可能性,也符合信念的社会认知观点。第8章粒子群优化算法与其在智能传感器系统中的应用Eberhart和Kennedy对Heppner的模型进行了修正,以使微粒能够飞向解空间并在最好解处降落。其关键在于如何保证微粒降落在最好解处而不降落在其他解处,这就是信念的社会性及智能性所在。信念具有社会性的实质在于个体向它周围的成
10、功者学习。个体与周围的其他同类比较,并模仿其优秀者的行为。将这种思想用算法实现能够形成一种新的最优化算法。第8章粒子群优化算法与其在智能传感器系统中的应用要解决上述问题,关键在于在探索(寻找一个好解)和开发(利用一个好解)之间寻找一个好的平衡。太小的探索导致算法收敛于早期所遇到的好解处,而太大的开发会使算法不收敛。另一方面,需要在个性与社会性之间寻求平衡,也就是说,既希望个体具有个性化,像鸟类模型中的鸟不互相碰撞,又希望其知道其他个体已经找到的好解并向他们学习,即社会性。Eberhart和Kennedy较好地解决了上述问题,提出了微粒群优化算法(Particle SwarmOptimizati
11、on,PSO)。第8章粒子群优化算法与其在智能传感器系统中的应用8.2.1 基本粒子群优化算法基本粒子群优化算法Kennedy和Eberhart在1995年的IEEE国际神经网络学术会议上正式发表了题为Particle Swarm Optimization的文章,标志着微粒群算法的诞生。对粒子i在第j维子空间中运动的速度,由下述基本微粒群算法进行调整:vij(t+1)=vij(t)+c1r1j(t)pij(t)xij(t)+c2r2j(t)pgj(t)xij(t)(8-1)xij(t+1)=xij(t)+vij(t+1)(8-2)第8章粒子群优化算法与其在智能传感器系统中的应用式中:i1,2,
12、M,M是该群体中粒子的总数,“i”表示第几个粒子;下标“j”表示微粒的第j维,即算法所优化的第j个参数;t表示此时优化的代数(次数);xij(t)为t时刻粒子i在j维子空间的位置;vij(t)表示t时刻粒子i在j维子空间的速度,定义为每次迭代中粒子移动的距离;c1、c2为加速因子,通常在02间取值。第8章粒子群优化算法与其在智能传感器系统中的应用其中c1称为认知参数,c2称为社会参数;r1j,r2j为两个01之间变化的相对独立的随机函数;pij(t)为粒子个体i的历史最好解(个体最优位置)的j维值,即单个粒子i在所优化的第j个参数中的历史最优解;pgj(t)=min pij(t)为所有粒子在t
13、时刻的历史最好解(群体最优位置)的j维值,即所有粒子在所优化的第j个参数中的历史最优解。第8章粒子群优化算法与其在智能传感器系统中的应用式中第二项是将当前粒子的位置与该粒子的历史最优位置之差用r1j随机函数进行一定程度的随机化,作为改变粒子当前位置向自身历史最优位置运动的调整分量。第三项是将当前粒子的位置与整个群体的历史最优位置之差用r2j随机函数进行一定程度的随机化,作为改变当前粒子位置向群体最优位值运动的调整分量。第8章粒子群优化算法与其在智能传感器系统中的应用在每一次迭代过程中,每个粒子都需要根据目标函数来计算其适应值大小,目标函数可以用均方误差、方差、标准差等形式来表示,其数值称为适应
14、值。再根据适应值来确定当前粒子最优位置pij(t)及群体最优位置pgj(t),然后根据式(8-1)、式(8-2)调整各个粒子的速度及位置。其结束条件为迭代次数达到设定值或者群体迄今为止搜索到的最优位置满足预设最小适应值。一般情况下,最大迭代次数设定为100,预设适应值为零。第8章粒子群优化算法与其在智能传感器系统中的应用设f(x)为最小化的目标函数,则微粒i的当前最好位置由下式确定:(8-3)设群体中的微粒数为M,则群体中所有微粒所经历过的最好位置pg(t),即群体最优位置可表示为:pg(t)p0(t),p1(t),pM(t)|f(pg(t)=minf(p0(t),f(p1(t),f(pM(t
15、)(8-4)第8章粒子群优化算法与其在智能传感器系统中的应用8.2.2 标准粒子群优化算法标准粒子群优化算法为了改善基本PSO算法的收敛性能,Y.Shi与R.C.Eberhart在1998年的IEEE国际进化计算学术会议上发表了题为AModifiedParticleSwarmOptimizer的论文,首次在速度进化方程中引入惯性权重,即 vij(t+1)=wvij(t)+c1r1j(t)pij(t)xij(t)+c2r2j(t)pgj(t)xij(t)(8-5)式中w为惯性权重因子,其值非负,值的大小影响整体寻优能力。第8章粒子群优化算法与其在智能传感器系统中的应用引入惯性权重w可清除基本PS
16、O算法对vmax的需要,因为w本身具有维护全局和局部搜索能力的平衡的作用。这样,当vmax增加时,可通过减少w来达到平衡搜索;而w的减少可使得所需的迭代次数变小。从这个意义上看,可以将vmax固定为每维变量的变化范围,只对w进行调节。第8章粒子群优化算法与其在智能传感器系统中的应用对全局搜索而言,好的方法通常是在前期有较高的探索能力以得到合适的种子,而在后期有较高的开发能力以加快收敛速度。为此,可将w设定为随着进化而线性减小,例如由0.9减小到0.4等。Y.Shi和R.C.Eberhart的仿真实验结果也表明,w线性减小取得了较好的实验结果。第8章粒子群优化算法与其在智能传感器系统中的应用8.
17、2.3 粒子群优化算法流程粒子群优化算法流程基本微粒群算法的流程如图8-1所示。第一步:初始化所有粒子(群体规模为M)。在允许范围内随机设置粒子的初始位置、速度及群体最优值,pij表示各粒子的起始位置,群体最优值为pgj。第二步:评价每个粒子的适应值,即分别对每个粒子计算目标函数值,目标函数可以是均方误差、方差、标准差(均方根误差)等。第8章粒子群优化算法与其在智能传感器系统中的应用第三步:对每个粒子,将其适应值f(xij)与其历史最优位置pij的适应值f(pij)进行比较,如果较好,即f(xij)f(pij),则将其作为当前最优位置pij,即令pij=xij。第四步:对每个粒子,将当前最优位
18、置pij的适应值f(pij)与群体历史最优位置pgj的适应值f(pgj)进行比较,如果优于pgj,即f(pij)f(pgj),则将其作为群体最优位置pgj,令pgj=pij,并重新设置pgj的索引号。第8章粒子群优化算法与其在智能传感器系统中的应用第五步:根据粒子群速度和位置更新方程,即式(8-1)、式(8-2),来调整粒子的速度和位置。第六步:检查终止条件(通常为达到最大迭代次数或者足够好的适应值),若满足终止条件,或者最优解停止不再变化,终止迭代,否则返回第二步。第8章粒子群优化算法与其在智能传感器系统中的应用图8-1 微粒群算法的流程图第8章粒子群优化算法与其在智能传感器系统中的应用 8
19、.3 粒子群优化算法的发展与改进简介粒子群优化算法的发展与改进简介在微粒群算法的改进方面,首先是由Kennedy和Eberhart在1997年提出的二进制PSO算法,为PSO算法与遗传算法的性能比较提供了一个有用的方式,该方法可用于神经网络的结构优化。第8章粒子群优化算法与其在智能传感器系统中的应用其次,为了提高算法的收敛性能,Shi和Eberhart于1998年对PSO算法的速度项引入了惯性权重w,并提出在进化过程中动态调整惯性权重以平衡收敛的全局性和收敛速度,该进化方程已被相关学者称之为标准PSO算法。Clerc于1999年在进化方程中引入收缩因子以保证算法的收敛性,同时使得速度的限制放松
20、。有关学者已通过代数方法对此方法进行了详细的算法分析,并给出了参数选择的指导性建议。第8章粒子群优化算法与其在智能传感器系统中的应用Angeline于1999年借鉴进化计算中的选择概念,将其引入PSO算法中。通过比较各个微粒的适应值淘汰掉差的微粒,而将具有较高适应值的微粒进行复制以产生等数额的微粒来提高算法的收敛性。而Lovbjerg等人进一步将进化计算机制应用于PSO算法,如复制、交叉等,给出了算法交叉的具体形式,并通过典型测试函数的仿真实验说明了算法的有效性。第8章粒子群优化算法与其在智能传感器系统中的应用为了提高PSO算法收敛的全局性,保证微粒的多样性是其关键。为了保证进化过程中群体中微
21、粒的多样性,Suganthan在标准PSO算法中引入了空间邻域的概念,将处于同一个空间领域的微粒构成一个子微粒群分别进行进化,并随着进化动态地改变选择阈值以保证群体的多样性。Kennedy引入邻域拓扑的概念来调整邻域的动态选择,同时引入社会信念将空间邻域与邻域拓扑中的环拓扑相结合以增加邻域间的信息交流,提高群体的多样性。Lovbjerg等人于2001年将遗传算法中的子群体概念引入PSO算法中,同时引入繁殖算子以进行子群体的信息交流。第8章粒子群优化算法与其在智能传感器系统中的应用人们在PSO算法的行为分析和收敛性分析方面进行了大量的研究工作。首先是采用代数方法对几种典型的PSO算法的运行轨迹进
22、行了分析,给出了保证收敛性的参数选择范围。在收敛性方面,Frans van den Bergh引用Solis和Wets关于随机性算法的收敛准则,证明了标准PSO算法不能收敛于全局最优解,甚至于局部最优解,同时证明了保证收敛的PSO算法能够收敛于局部最优解,而不能保证收敛于全局最优解。第8章粒子群优化算法与其在智能传感器系统中的应用PSO算法最早应用于人工神经网络的训练方法,Kennedy和Eberhart成功地将PSO算法应用于分类XOR问题的神经网络训练。随后,PSO算法在函数优化、约束优化、极大极小问题、多目标优化等问题中均得到了成功的应用,特别是在电力系统、集成电路设计、系统辨识、状态估
23、计等问题中的应用均有报导。第8章粒子群优化算法与其在智能传感器系统中的应用从国内外关于微粒群算法研究的相关文献以及进化算法领域的发展趋势的分析来看,微粒群算法目前主要有以下几个研究方向:(1)微粒群算法的改进。标准微粒群算法主要适用于连续空间函数的优化问题,如何将PSO算法应用于离散空间优化问题,特别是一类非数值优化问题,将是微粒群算法的主要研究方向。另外,充分吸引其他进化类算法的优势,以改进PSO算法存在的不足也是值得研究的问题。第8章粒子群优化算法与其在智能传感器系统中的应用(2)微粒群算法的理论分析。到目前为止,PSO算法的分析方法还很不成熟,也不够系统,存在许多不完善和未涉及到的问题。
24、如何利用有效的数学工具对PSO算法的运行行为、收敛性及计算复杂性进行分析是目前的研究热点之一。第8章粒子群优化算法与其在智能传感器系统中的应用(3)微粒群算法的生物学基础。如何根据群体进化行为完善PSO算法,同时分析群体智能行为;如何将其引入PSO算法中,以充分借鉴生物群体进化规律和进化的智能性也是目前的研究方向之一。(4)微粒群算法与其他类进化算法的比较研究。(5)微粒群算法的应用。算法研究的目的是应用,如何将PSO算法应用于更多领域,同时研究应用中存在的问题也是值得关注的热点。第8章粒子群优化算法与其在智能传感器系统中的应用 8.4 应用示例应用示例8.4.1 待优化的参数与待改善的传感器
25、待优化的参数与待改善的传感器在第5、6、7章中均以压阻式压力传感器受环境温度及工作电流波动干扰量的影响,致使传感器稳定性差为典型实例,讨论了基于多传感器数据融合建立逆模型的多种处理方法,以抑制对干扰量的交叉敏感,改善传感器的稳定性。第6章介绍的神经网络与第7 章介绍的支持向量机技术,均存在对某些参数的优化选取问题。第8章粒子群优化算法与其在智能传感器系统中的应用支持向量机法及最小二乘支持向量机算法虽然可以避免上述缺点,但其算法参数的选取会直接影响到模型的预测精度,而目前多采取试凑法或遍历优化进行参数选择,如高斯核函数在020、惩罚因子在0100000范围内优化选取,通常采用遍历试探法来进行优化
26、选取,即分别确定一系列不同步长后,按每一个从020、0100000范围内取二者不同的组合进行试算,将最佳结果时的二者组合数值确定为参数的优化结果。第8章粒子群优化算法与其在智能传感器系统中的应用1.待优化的参数最小二乘支持向量机(LS-SVM)与标准支持向量机(SVM)所不同的是,优化目标的损失函数是以误差的二范数来表示的,用等式约束代替了SVM中的不等式约束条件,提高了收敛速度。优化问题转换为(8-6)第8章粒子群优化算法与其在智能传感器系统中的应用约束条件为yi=w X+b+i,i=1,2,n (8-7)其中c为惩罚因子,控制对样本超出计算误差的惩罚程度。i为松弛因子。通过引入拉格朗日函数
27、,根据KKT条件求解可得到LS-SVM的回归函数模型为(8-8)其中ai为拉格朗日乘子;K(X,Xi)为核函数,主要完成对样本数据的内积运算。在利用LS-SVM建立回归模型的时候,需要对惩罚因子c及核函数参数进行合理选取。第8章粒子群优化算法与其在智能传感器系统中的应用2.待改善的传感器实验采用压阻式压力传感器,在2564温度变化范围内取10个标定点,在511 mA供电电流变化范围内取7个标定点。各标定点取值如下:第8章粒子群优化算法与其在智能传感器系统中的应用在上述各温度状态和供电电流条件下,测定压阻式压力传感器的输入输出特性(P-UP)。相应的三维标定值有mnw=490个,在表8-1中仅列
28、出其中的部分值。得到的压力传感器的输出电压等温曲面图如图8-2所示。第8章粒子群优化算法与其在智能传感器系统中的应用图8-2 压力传感器的等温曲面图第8章粒子群优化算法与其在智能传感器系统中的应用第8章粒子群优化算法与其在智能传感器系统中的应用由图8-2中的等温曲面可以看出,压力传感器的输出电压与供电电流及标定压力之间的非线性关系是很明显的。而且随着温度的变化,压力传感器的输出也存在一定的非线性漂移,此时压力传感器的稳定性可以用温度灵敏度系数、电流灵敏度系数和零位温度系数来衡量。第8章粒子群优化算法与其在智能传感器系统中的应用由表8-1标定实验数据可得:满量程输出值UFS=5.841V,当温度
29、的变化范围为T=39(由25至64),电流由5 mA至11 mA,变动I=6 mA时,零点值的最大变化范围U0m=0.318 V(由0.334 V至0.016 V),满量程输出值由5.841 V下降到2.719 V,输出变化范围Um=3.122 V。模型校正前压力传感器的零位温度系数a0、灵敏度温度系数(也称温度灵敏度系数)as及电流影响系数(也称电流灵敏度系数)aI分别为 第8章粒子群优化算法与其在智能传感器系统中的应用)(/1040.139841.5318.03FSOm0TUUa)(/1037.139841.5841.5719.22FSmTUUsa)(/1091.86841.5841.57
30、19.22FSmIUUIa第8章粒子群优化算法与其在智能传感器系统中的应用8.4.2 示例示例8-1遍历优化遍历优化LS-SVM模型参数模型参数优化过程如下:(1)将(c,)初始化为(0,0.01)代入LS-SVM建立传感器回归模型,根据检验样本计算模型预测结果的均方误差记为errormin,将优化参数记为(cbest,best)。(2)判断是否超出最大范围,若未超出,则将的值加1;若超出,则将重新初始化为0.01,同时将c的值加100。第8章粒子群优化算法与其在智能传感器系统中的应用(3)将改变之后的(c,)代入LS-SVM重建回归模型,将计算得到的模型预测结果的均方误差与errormin进
31、行比较,如果小于它,则将当前误差记为errormin,同时将当前参数记为(cbest,best)。(4)未达到结束条件转第(2)步。优化过程部分程序如下:第8章粒子群优化算法与其在智能传感器系统中的应用%样本输入trainin=.;%训练样本输入trainout=.;%训练样本输出 testin=.;%检验样本输入testout=.;%检验样本输出errormin=100;%设定参比误差kernel=RBF_kernel;%核函数形式type=f;%回归模型第8章粒子群优化算法与其在智能传感器系统中的应用for c=0:100:100000%c搜索范围 for delta=0.01:1:20
32、model=initlssvm(trainin,trainout,type,c,delta,kernel);%模型初始化 model=trainlssvm(model);%训练 Yt=simlssvm(model,testin);%回归 error=mse(Yt-testout);if errorerrormin第8章粒子群优化算法与其在智能传感器系统中的应用 errormin=error;cbest=c;deltabest=delta;end endend此过程的优化流程图如图8-3所示。第8章粒子群优化算法与其在智能传感器系统中的应用图8-3 遍历优化过程优化流程图第8章粒子群优化算法与其
33、在智能传感器系统中的应用此过程结束条件为预测结果均方误差为零或参数(c,)均超出最大范围。根据优化过程计算可以得到优化误差曲线如图8-4所示,横轴为优化步数,纵轴为训练样本的模型预测结果均方误差。第8章粒子群优化算法与其在智能传感器系统中的应用图8-4 遍历优化误差曲线第8章粒子群优化算法与其在智能传感器系统中的应用由图8-4可以看出,整个优化过程共需2104步才能结束。所需时间约为21 599秒,得到 c为60 801,为0.01,根据所得参数重建传感器回归模型,可得到测试样本的预测结果均方误差为2.74105。模型预测结果如图8-5所示,部分预测结果数据见表8-2。第8章粒子群优化算法与其
34、在智能传感器系统中的应用图8-5 遍历优化所得模型预测结果第8章粒子群优化算法与其在智能传感器系统中的应用第8章粒子群优化算法与其在智能传感器系统中的应用由表8-2的预测结果可以计算出经过粒子群算法优化模型校正之后,压力传感器在T=39,I=6 mA 变化范围内,模型计算零点值的最大偏差|P0m|=0.0434 MPa;满量程压力PFS=0.6 MPa,其模型计算值的最大偏差量|Pm|=0.0595 MPa,则模型校正后压力传感器的零位温度系数、温度灵敏度系数及电流灵敏度系数分别为:第8章粒子群优化算法与其在智能传感器系统中的应用)(/1085.1396.00434.03FSom0TPPa)(
35、/1054.2396.00595.03FSmTPPsa(/mA)1065.166.00595.02FSmIPPIa第8章粒子群优化算法与其在智能传感器系统中的应用8.4.3 示例8-2采用粒子群优化算法优化一个参数 (1)取实验数据中的一半作训练样本,全部数据作测试样本。(2)初始化参数,c固定取值为100,建立LS-SVM回归模型。(3)由于只优化一个参数,因此设置粒子群维数为1,粒子群中粒子的数目选取1030个为宜,在本实验中选取10个,迭代次数选为100。粒子群优化的参数为。根据优化参数的优化范围对粒子群的初始位置即及速度进行初始化。第8章粒子群优化算法与其在智能传感器系统中的应用(4)
36、设置目标函数为模型检验样本预测结果yij与LV-SVM建立的压力传感器逆模型的期望输出 的均方误差。有:jy211()lijjjyylfi=(8-9)式中fi表示第i个粒子的适应值,在本例中取值为110;l表示样本的个数,在本例中取值为490;yij是第i个粒子的第j个样本的模型预测值,即被测压力;yj是第j个样本的模型期望值,即对应的压力标定值。根据每个微粒值的大小即(c,)代入LS-SVM重建回归模型,根据检验样本的计算结果,由式(8-9)即可得到每个微粒对应的适应值。第8章粒子群优化算法与其在智能传感器系统中的应用根据式(8-3)比较各个粒子的适应值大小,即可得到当前粒子的最优位置pi(
37、t),即能够使得当前计算结果最优的的值。由式(8-4)即可得到当前群体的最优位置pg(t),即最优参数。(5)根据式(8-5)及式(8-2)调整粒子的速度及位置。(6)未达到结束条件则转第(4)步。优化过程部分程序如下:第8章粒子群优化算法与其在智能传感器系统中的应用%样本输入trainin=.;%训练样本输入trainout=.;%训练样本输出 testin=.;%检验样本输入testout=.;%检验样本输出errormin=100;%设定参比误差%将粒子的位置X及速度V随机初始化X=a+(b-a)*rand(N,D,1);第8章粒子群优化算法与其在智能传感器系统中的应用%a,b是优化参数
38、的取值范围,N是粒子个数,D是粒子维数,本例中取1V=m+(n-m)*rand(N,D,1);%m,n是速度的飞行速度限制范围fitness=fitcal(X,trainin,trainout);%计算适应值C,I=min(fitness(:,1,j);%查找适应值最小点gbest(1,:,j)=X(I,:,j);%记录当前群体最优解if B(1,1,j)=Cgbest(1,:,j)=gbest(1,:,j);%记录群体历史最优解第8章粒子群优化算法与其在智能传感器系统中的应用elsegbest(1,:,j)=gbest(1,:,I);end for p=1:NG(p,:,j)=gbest(1
39、,:,j);%记录群体最优解endfor i=1:N;C,I=min(L(i,1,:);if L(i,1,j)=Cpbest(i,:,j)=X(i,:,j);%记录各个粒子历史最优解第8章粒子群优化算法与其在智能传感器系统中的应用elsepbest(i,:,j)=X(i,:,I);endendV(:,:,j+1)=W(j)*V(:,:,j)+c1*rand*(pbest(:,:,j)X(:,:,j)+c2*rand*(G(:,:,j)X(:,:,j);%速度调整X(:,:,j+1)=X(:,:,j)+V(:,:,j+1);%微粒位置调整第8章粒子群优化算法与其在智能传感器系统中的应用funct
40、ion fitval=fitcal(pm,Ptrain,Ttrain)%适应度函数x,y,z=size(pm);for j=1:x delta=pm(j,1,z);type=f;%回归 kernel=RBF_kernel;model=initlssvm(Ptrain,Ttrain,type,100,delta,kernel);%模型初始化第8章粒子群优化算法与其在智能传感器系统中的应用model=trainlssvm(model);%训练 Yd=simlssvm(model,testin);%回归 error=mse(Yd-testout);fitval(j,1,1)=error;%记录每个粒
41、子的适应值end上述优化过程流程图如图8-6所示。第8章粒子群优化算法与其在智能传感器系统中的应用图8-6 单参数优化过程流程图第8章粒子群优化算法与其在智能传感器系统中的应用选取粒子群数目为1,粒子群中粒子数目为10个,粒子群优化代数为100,惯性权重因子w取初值为0.9,终止值为0.3进行逐代调整,学习因子取c1c22,粒子群的优化参数的优化范围为020,可得到如图8-7所示粒子群优化误差曲线。横轴为学习步数,纵轴为模型预测结果均方误差。第8章粒子群优化算法与其在智能传感器系统中的应用由图8-7可以看出,粒子群优化算法只需30多步即可找到全局最优解,收敛速度非常快。优化100步所用时间约为
42、986秒,得到的惩罚因子c为100,核函数参数为0.0523,预测结果均方误差为2.1310-5。模型预测结果如图8-8所示,部分测试结果如表8-3所示。第8章粒子群优化算法与其在智能传感器系统中的应用图8-7 粒子群优化误差曲线第8章粒子群优化算法与其在智能传感器系统中的应用图8-8 单参数校正模型预测结果第8章粒子群优化算法与其在智能传感器系统中的应用第8章粒子群优化算法与其在智能传感器系统中的应用由表8-3的预测结果可以计算出经过粒子群算法优化模型校正之后,压力传感器在T=39,I=6 mA变化范围内,模型计算零点值的最大偏差|P0m|=0.0216 MPa;满量程压力PFS=0.6 M
43、Pa,其模型计算值的最大偏差量|Pm|=0.0477 MPa,则模型校正后压力传感器的零位温度系数、温度灵敏度系数及电流灵敏度系数分别为:第8章粒子群优化算法与其在智能传感器系统中的应用)(/1023.9396.00216.04FSom0TPPa)(/1004.2396.00477.03FSmTPPsa)mA(/1032.166.00477.02FSmIPPIa第8章粒子群优化算法与其在智能传感器系统中的应用8.4.4 示例示例8-3采用粒子群优化算法优化两个参数采用粒子群优化算法优化两个参数(1)由于每个粒子群只能优化一个参数,因此设置粒子群维数为2,每维粒子群中粒子的数目选取10个,迭代次
44、数选为100。其中粒子群p1优化的参数为c,粒子群p2优化的参数为。根据两个优化参数的优化范围对两个粒子群的初始位置及速度进行初始化。第8章粒子群优化算法与其在智能传感器系统中的应用(2)设置目标函数为模型检验样本预测结果yij与LV-SVM建立的压力传感器逆模型的期望输出yj的均方误差,如式(8-9)所示。将每个微粒值的大小即(c,)代入LS-SVM重建回归模型,根据检验样本的计算结果,由式(8-9)即可得到每个微粒对应的适应值。第8章粒子群优化算法与其在智能传感器系统中的应用(3)对粒子群p1,根据式(8-3)可以确定其中适应值最小的那个粒子的值,将其记为pi1(t),即能够使得当前计算结
45、果最优的c的值;同理可以得到pi2(t),即能够使得当前计算结果最优的的值。此即为当前粒子的最优位置pij(t)。根据式(8-4)可得到当前群体的最优位置pg1(t)、pg2(t),即群体最优位置pgj(t)。(4)根据式(8-5)及式(8-2)调整粒子的速度及位置。第8章粒子群优化算法与其在智能传感器系统中的应用(5)未达到结束条件则转第(2)步。优化过程部分程序同示例8-2,只是粒子维数及适应度函数有所变化:function fitval=fitcal(pm,Ptrain,Ttrain)x,y,z=size(pm);for j=1:x c=pm(j,1,z);delta=pm(j,2,z)
46、;type=f;%回归第8章粒子群优化算法与其在智能传感器系统中的应用kernel=RBF_kernel;model=initlssvm(Ptrain,Ttrain,type,c,delta,kernel);%模型初始化 model=trainlssvm(model);%训练 Yd=simlssvm(model,testin);%回归 error=mse(Yd-testout);fitval(j,1,1)=error;%记录每个粒子适应值end上述优化过程流程图如图8-9所示。第8章粒子群优化算法与其在智能传感器系统中的应用图8-9 双参数优化过程流程图第8章粒子群优化算法与其在智能传感器系统
47、中的应用选取粒子群数目为2,粒子群中粒子数目为10个,粒子群优化代数为100,惯性权重因子w取初值为0.9,终止值为0.3进行逐代调整,学习因子取c1c22,两维粒子的优化范围分别为0100000和020。根据上述的模型优化过程计算,可得到如图8-10所示双参数粒子群优化误差曲线,横轴为学习代数,纵轴为模型预测结果均方误差。第8章粒子群优化算法与其在智能传感器系统中的应用图8-10 双参数粒子群优化误差曲线第8章粒子群优化算法与其在智能传感器系统中的应用由图8-10中可以看出,粒子群优化算法只需30多步即可找到全局最优解,收敛速度非常快。优化100步所用时间约为1676秒,得到的惩罚因子c为2
48、3 359.39,核函数参数为0.0364,预测结果均方误差为1.2510-6。模型预测结果如图8-11所示,预测结果数据见表8-4。第8章粒子群优化算法与其在智能传感器系统中的应用图8-11 双参数校正模型预测结果第8章粒子群优化算法与其在智能传感器系统中的应用第8章粒子群优化算法与其在智能传感器系统中的应用第8章粒子群优化算法与其在智能传感器系统中的应用由表8-4的预测结果可以计算出经过粒子群算法优化模型校正之后压力传感器在T=39,I=6 mA 变化范围内,零点模型计算值的最大偏差|P0m|=0.0105 MPa;满量程压力PFS=0.6 MPa,其模型计算值的最大偏差量|Pm|=0.0
49、091 MPa,则模型校正后压力传感器的零位温度系数、温度灵敏度系数及电流灵敏度系数分别为第8章粒子群优化算法与其在智能传感器系统中的应用)/(1049.4396.00105.04FSom0TPPa)(/1089.3396.00091.04FSmTPPsa)mA(/1053.266.00091.03FSmIPPIa第8章粒子群优化算法与其在智能传感器系统中的应用几种优化方法的比较见表8-5。由表8-5可见,经过遍历优化之后模型的温度灵敏度系数及电流灵敏度系数都得到明显改善,但零位温度系数并没有得到改善,而且变差了,说明此时的模型在零点的计算结果偏差过大,此时的模型参数并不是最好的。利用PSO优化一个参数之后模型的零位温度系数、温度灵敏度系数及电流灵敏度系数均得到大幅度改善,说明此时的模型比遍历优化得到的模型好,性能也得到较好改善。