正在加载图片...
68 智能系统学报 第2卷 PSO算法在搜索的初期收敛速度很快,但在后 行大范围搜索,⊙较小适于进行小范围挖掘.对全局 期却易于陷入局部极优点,尤其当解空间为非凸集 搜索,通常较好的方法是在前期有较高的探索能力 时,这是PSO算法的主要缺点.针对这一缺点,本文 以得到合适的种子,而在后期有较高的开发能力以 在用PSO算法搜索解空间的同时加入了梯度信息, 加快收敛速度.因此,可将ω设为随时间或者迭代 从而帮助算法摆脱易于陷入局部最优点的束缚,同 次数的增加而减小.一般可用下式来确定:ω= 时又保持搜索速度快的特性,并经过仿真测试验证 Clnax Conin 了该算法的优越性 4x~最大迭代次数迭代次数,式中:4、4分 别为开始时和结束时的权重,一般取x=0.9 1粒子群算法基本原理 n=0.4. 使用PSO方法解决优化问题,即把问题的潜在 注意:粒子在第d(1≤d≤D)维的位置变化范 解定义为搜索空间中的一个“粒子”,用适应度值来 围为[-Xaa,Xmxa],速度变化范围[-Vmxw 评价这个粒子的好坏,适应度值是由目标函数唯一 Vxu],迭代中若位置和速度超过边界范围,则取边 确定的.粒子群优化算法依靠个体间的信息交换来 界值.设定较大的Vmx,可以保证粒子种群的全局搜 达到整个群体的共同演化. 索能力,V,较小则粒子种群的局部搜索能力加 首先,粒子群初始化为可行解空间的一组初始 强.通常VmxH=k Xmaxd,0.1≤k.0. 值1,然后通过迭代找到最优解.在每一次迭代中」 Maurice Clere!和F.V.D.Berght71对于PSo 粒子通过跟踪2个“极值”来更新自己:一个是该粒 的收敛性和稳定性作了初步分析,并给出一些保证 子经历过的最好位置(有最好的适应度值),即该粒 PSO算法收敛的参数条件】 子本身所找到的最优解,这个解叫做个体极值,用 PSO算法流程图如图1所示,具体步骤如下: P来表示;另一个是群体中所有粒子经历过的最 1)设定种群规模,给定求解精度和最大迭代次 数 好位置(有最好的适应度值),即整个种群目前所找 2)随机初始化粒子种群:初始化种群中所有粒 到的最优解,这个解叫做全局极值,用Gt来表示. 子的速度和位置(即可行解); 假设在一个D维的目标搜索空间中,有m个粒 3)使用根据优化问题目标定义的适应度函数对 子组成一个群体,其中第i个粒子(1=1,2,m)的 所有粒子进行评价; 位置为X,表示为X=(xm,xn,,xo)T.因为每 4)对每个粒子i,将其适应度与其经历过的最 个粒子的位置Pe,=(pe1,pea,peo)T,就 好位置P,的适应度作比较,如果较好,则将X,作 是一个潜在解,将X代入目标函数就可以计算出其 为当前的最好位置Pe,; 适应度值,根据适应度值的大小衡量其优劣.设该粒 5)对每个粒子i,将其适应度与其经历过的最 子经历过的最好位置Pe,=(peh,Pee,“ 好位置G的适应度作比较,如果较好,则将X,作 Peo)T,整个群体所有粒子经历过的最好位置为 为当前所有粒子的最好位置Gt; Get=(ge1,ge2,,gen)T,粒子i的速度表示 6根据式(1)和式2)更新粒子的速度和位置; 为V:=(a,a,)T,那么粒子i根据下面的规 7)检查是否满足迭代终止条件,若是,则终止迭 律更新自己的速度和位置: 代,求得最优值:若否,转至3),直到满足算法的迭 i=a点+arand(pe点-x) + 代终止条件为止.迭代终止条件根据具体问题设定 c rand吃(ge晴-xia), 1) 一般选为是否达到预定最大迭代次数或和)粒子群 x括=x点+结 (2) 目前为止搜索到的最优位置是否满足预定最小适应 式中:i=1,2,m;d=1,2,D:k为当前迭代次 阈值 数;rand,rand是/0,lJ区间均匀分布的随机数; 是粒子i在第k次迭代中第d维的速度:pe是粒 2 CNNE模型的粒子群算法实现 子1在第k次迭代中第d维的位置;pet是粒子i 参照文献[1]可知对CNNE模型训练的最终结 在第k次迭代中第d维的个体极值点的位置(即坐 果是得到一组最佳系数W、B1、V、B2,即待优化问 标);g音是整个种群在前k次迭代中第d维的全 题的一组最优解.而在PS0算法中,把粒子看作是 局极值点的位置.Q,Q是加速系数(或称学习因 待优化问题的潜在解,所以在用粒子群算法实现 子),分别调节向全局最好粒子和个体最好粒子方向 CNNE模型的时候,每个粒子是由系数W、B1、V、 飞行的最大步长,若太小,则粒子可能远离目标区 B2构成的 域,若太大,则会导致突然向目标区域飞去,或飞过 在CNNE模型中,取隐层节点数为6(K=6) 目标区域,合适的α,口可以加快收敛且不易陷入 可以确定权系数W为1×6维向量[w1,w2, 局部最优.ω称为惯性因子,ω较大适于对解空间进 w6],隐层偏差B1为16维向量[b1,b2,b6], 1994-2009 China Academic Journal Electronic Publishing House.All rights reserved.http://www.cnki.netPSO 算法在搜索的初期收敛速度很快 ,但在后 期却易于陷入局部极优点 ,尤其当解空间为非凸集 时 ,这是 PSO 算法的主要缺点. 针对这一缺点 ,本文 在用 PSO 算法搜索解空间的同时加入了梯度信息 , 从而帮助算法摆脱易于陷入局部最优点的束缚 ,同 时又保持搜索速度快的特性 ,并经过仿真测试验证 了该算法的优越性. 1 粒子群算法基本原理 使用 PSO 方法解决优化问题 ,即把问题的潜在 解定义为搜索空间中的一个“粒子”,用适应度值来 评价这个粒子的好坏 ,适应度值是由目标函数唯一 确定的. 粒子群优化算法依靠个体间的信息交换来 达到整个群体的共同演化. 首先 ,粒子群初始化为可行解空间的一组初始 值[5 ] ,然后通过迭代找到最优解. 在每一次迭代中 , 粒子通过跟踪 2 个“极值”来更新自己 :一个是该粒 子经历过的最好位置 (有最好的适应度值) ,即该粒 子本身所找到的最优解 ,这个解叫做个体极值 ,用 Pbest来表示 ;另一个是群体中所有粒子经历过的最 好位置(有最好的适应度值) ,即整个种群目前所找 到的最优解 ,这个解叫做全局极值 ,用 Gbest来表示. 假设在一个 D 维的目标搜索空间中 ,有 m 个粒 子组成一个群体 ,其中第 i 个粒子( i = 1 ,2 , …, m) 的 位置为 Xi ,表示为 Xi = ( xi1 , xi2 , …, xiD ) T . 因为每 个粒子的位置 Pbest i = ( pbest i1 , pbest i2 , …, pbest iD ) T ,就 是一个潜在解 ,将 Xi 代入目标函数就可以计算出其 适应度值 ,根据适应度值的大小衡量其优劣. 设该粒 子经 历 过 的 最 好 位 置 Pbest i = ( pbest i1 , pbest i2 , … pbest iD ) T ,整个群体所有粒子经历过的最好位置为 Gbest = ( gbest 1 , gbest 2 , …, gbest D ) T ,粒子 i 的速度表示 为 Vi = ( vi1 , vi2 , …, viD ) T ,那么粒子 i 根据下面的规 律更新自己的速度和位置 : v k+1 id = ωv k id + c1 rand k 1 ( pbest k id - x k id ) + c2 rand k 2 ( gbest k d - x k id ) , (1) x k+1 id = x k id + v k+1 id . (2) 式中 :i = 1 ,2 , …, m ; d = 1 ,2 , …, D ; k 为当前迭代次 数;rand k 1 ,rand k 2 是[0 ,1 ]区间均匀分布的随机数; v k id 是粒子 i 在第 k 次迭代中第 d 维的速度; pbest k id 是粒 子 i 在第 k 次迭代中第 d 维的位置; pbest k id 是粒子 i 在第 k 次迭代中第 d 维的个体极值点的位置(即坐 标) ; gbest k d 是整个种群在前 k 次迭代中第 d 维的全 局极值点的位置. c1 , c2 是加速系数 (或称学习因 子) ,分别调节向全局最好粒子和个体最好粒子方向 飞行的最大步长 ,若太小 ,则粒子可能远离目标区 域 ,若太大 ,则会导致突然向目标区域飞去 ,或飞过 目标区域 ,合适的 c1 , c2 可以加快收敛且不易陷入 局部最优.ω称为惯性因子 ,ω较大适于对解空间进 行大范围搜索 ,ω较小适于进行小范围挖掘. 对全局 搜索 ,通常较好的方法是在前期有较高的探索能力 以得到合适的种子 ,而在后期有较高的开发能力以 加快收敛速度. 因此 ,可将ω设为随时间或者迭代 次数的增加而减小. 一般可用下式来确定 :ω = ωmax - ωmax - ωmin 最大迭代次数 ×迭代次数 ,式中 :ωmax 、ωmin 分 别为开始时和结束时的权重 , 一般取 ωmax = 019 , ωmin = 014. 注意 :粒子在第 d (1 ≤d ≤D) 维的位置变化范 围为 [ - Xmax id , Xmax id ] , 速度变化范围 [ - V max id , V max id ] ,迭代中若位置和速度超过边界范围 ,则取边 界值. 设定较大的 V max id 可以保证粒子种群的全局搜 索能力 , V max id 较小则粒子种群的局部搜索能力加 强. 通常 V max id = k Xmax id ,01 1 ≤k ≤110. Maurice Clere [ 6 ]和 F. V. D. Bergh [7 ] 对于 PSO 的收敛性和稳定性作了初步分析 ,并给出一些保证 PSO 算法收敛的参数条件. PSO 算法流程图如图 1 所示 ,具体步骤如下 : 1) 设定种群规模 ,给定求解精度和最大迭代次 数 ; 2) 随机初始化粒子种群 :初始化种群中所有粒 子的速度和位置(即可行解) ; 3) 使用根据优化问题目标定义的适应度函数对 所有粒子进行评价 ; 4) 对每个粒子 i ,将其适应度与其经历过的最 好位置 Pbest i的适应度作比较 ,如果较好 ,则将 Xi 作 为当前的最好位置 Pbest i ; 5) 对每个粒子 i ,将其适应度与其经历过的最 好位置 Gbest的适应度作比较 ,如果较好 ,则将 Xi 作 为当前所有粒子的最好位置 Gbest ; 6) 根据式(1) 和式(2) 更新粒子的速度和位置; 7) 检查是否满足迭代终止条件 ,若是 ,则终止迭 代 ,求得最优值;若否 ,转至 3) ,直到满足算法的迭 代终止条件为止. 迭代终止条件根据具体问题设定 , 一般选为是否达到预定最大迭代次数或(和) 粒子群 目前为止搜索到的最优位置是否满足预定最小适应 阈值. 2 CNN E 模型的粒子群算法实现 参照文献[1 ]可知对 CNN E 模型训练的最终结 果是得到一组最佳系数 W 、B1、V 、B2 ,即待优化问 题的一组最优解. 而在 PSO 算法中 ,把粒子看作是 待优化问题的潜在解 ,所以在用粒子群算法实现 CNN E 模型的时候 ,每个粒子是由系数 W 、B1、V 、 B2 构成的. 在 CNN E 模型中 ,取隐层节点数为 6 ( K = 6) . 可以确定权系数 W 为 1 ×6 维向量 [ w1 , w2 , …, w6 ] ,隐层偏差 B1 为 1 ×6 维向量[ b11 , b12 , …, b16 ] , ·68 · 智 能 系 统 学 报 第 2 卷
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有