精华内容
下载资源
问答
  • 自适应权重粒子群算法
  • 粒子群算法,又称粒子群优化算法(Partical Swarm Optimization),缩写为 PSO, 是近年来发展起来的一种新的进化算法(Evolutionary Algorithm - EA),由Eberhart 博士和kennedy 博士于1995年提出,其源于对鸟群...
  • 为求解大规模的空车调配方案的最优解,提出了一种混沌自适应变异粒子群算法。该算法利用混沌的遍历性来初始化粒子群以增强群体的多样性,根据群体适应度方差调整变异概率的大小,并通过调整惯性权重因子以提高整个...
  • 【优化求解】基于非线性动态自适应惯性权重粒子群算法(IPSO)Matlab源码.md
  • 基于改进自适应权重多目标粒子群算法的分布式电源优化配置
  • 已有的混沌粒子群算法多使用Logistic混沌映射,但Logistic混沌映射产生的混沌序列不够均匀,影响了混沌粒子群算法的性能。提出在混沌粒子群算法中引入均匀性更好的An混沌映射,利用An混沌映射初始化粒子群的位置和...
  • 针对粒子群优化进入后期得到解的精度低,不稳定的问题,提出了一种改进的自适应算法,采用惯性权重线性减小,对成功的加速系数产生记忆,并于下一代更新中以一定概率唤醒记忆,通过仿真实验,表明可以有效的解决了...
  • 文件包括带压缩因子的粒子群算法,权重改进的粒子群算法自适应权重法,随机权重法,变学习因子的粒子群算法,异步变化的学习因子,二阶粒子群算法,二阶振荡粒子群算法,混沌粒子群算法,混合粒子群算法,杂交粒子...
  • 提出一种自适应进化粒子群优化算法(AEPSO),以提高多目标优化PSO 算法的性能。 AEPSO 算法把非支配排序技术、自适应惯性权重和特殊的变异操作引入到PSO 算法中,来提高 算法的全局搜索能力和粒子的多样性。与常用的...
  • 针对标准粒子群算法在进化过程中种群多样性降低而早熟的问题 ,提出一种动态改变惯性权重自适应粒子群算法.
  • 支持向量机是机器学习中常见的一种算法,特别是软间隔的支持向量机在解决非线性的分类与回归问题时特别常见,其相比硬间隔的支持向量机而言,增添了松弛变量,能够允许一些错误的发生,通过参数惩罚因子c衡量松弛...
    • 支持向量机SVM为什么需要优化?

      支持向量机是机器学习中常见的一种算法,特别是软间隔的支持向量机在解决非线性的分类与回归问题时特别常见,其相比硬间隔的支持向量机而言,增添了松弛变量,能够允许一些错误的发生,通过参数惩罚因子c衡量松弛变量,当惩罚因子变大,要求松弛变量的值尽量小,对错误的容忍度减小,但这就牵扯到一个参数c的如何选取,这与最终SVM模型的泛化能力挂钩
      同时我们知道在做非线性问题时,我们需要用到核技巧,将低维的线性不可分数据映射到高维直到线性可分,如果我们一直向高维进发,我们是有能力将数据完全线性划分开,但是这样就可能会引发过拟合,也会影响最终SVM模型的泛化能力,因此我们在做核技巧时也需考虑一些影响模型泛化能力的因素;我们通常使用的非线性核——高斯核(RBF),而高斯核有一个参数gamma(简称g),参数g主要是对低维的样本进行高度度映射,gamma值越大映射的维度越高,训练的结果越好,但是越容易引起过拟合,即泛化能力低,也就是我们之前提到的问题
      综上两个方面,我们有必要考虑SVM模型的泛化能力,毕竟我们需要的是一个具有鲁棒性的泛化模型;而不是一份训练集数据的"COPY",因此我们需要考虑如上两个参数c与g的选取,那么如何选取这两个参数呢,我们采用的是一种随机局部搜索策略——粒子群算法

    • 基础版的粒子群算法(PSO)

      粒子群算法通俗的解释,其实就是一堆的粒子,跟随着其中离目标最近的粒子在搜索空间中跑来跑去搜索;就像其中一个粒子说俺旁边就是目标,于是乎一大堆粒子都蜂拥而至向着靠近,离目标的远近通过适应度函数衡量,这也是所有智能群算法的套路,用到的公式如下:
      在这里插入图片描述
      其中每一个粒子都具有速度属性Vi,与位置Xi;在每一次迭代过程中,速度与位置的更新公式如上;速度的更新是依据两个方面进行,首先是个体认知方面,首先它有一个个体认知的加速度c1参数,它作为根据个体历史最优值更新速度时的参数;社会认知方面,它有一个社会认知加速度c2,它作为根据社会(全局)历史最优值更新速度时的参数;如上公式的表达已经很清楚,Pbesti(Personal)即是个体历史最优,Gbesti(Global)即是社会(全局)历史最优,Xi即是当次迭代粒子的位置;而最后一个参数w,即为惯性因子w,与原速度相乘,顾名思义可以理解为保持原速度的量化标准;关于位置的更新就没什么好说的,公式清晰明了
      但是基础的粒子群算法具有的缺点还是很明显的,面临的两个最大的问题是收敛的速度和陷入局部最小值;这是很致命的,特别是在搜索的后期一大堆的粒子都聚集在一起,移动速度还慢,聚集在最优解附近算运气好,但是聚集在局部最优时跑都跑不出去,于是乎有人提出了改进的粒子群算法,自适应的粒子群算法

    • 自适应的粒子群算法(APSO)

      自适应的粒子群算法,在原有的基础上,它增加了3个改进的方面:

      ① 进化状态评估(ESE)
      每一次粒子群移动后,都有一个全局的状态记录,目的是为了收敛的状态进行评估和划分,为后面自适应参数(c1,c2,w)提供基础

      状态的划分步骤:

      步骤一:计算每个粒子i的相对于其他粒子的平均距离(欧式距离),与其他粒子都计算一遍距离,最后求平均值;公式如下:
      在这里插入图片描述

      其中N是种群的大小,D为问题的维数,在我们优化SVM问题中,问题的维数为2,因为我们只优化2个参数(c,g)

      步骤二:在众多di中选取dg,g为当前最优粒子的下标, 故dg代表了当前最优粒子与其他粒子的平均距离;同时选取中dmax与dmin,最大与最小平均距离;计算进化因子f;公式如下:
      在这里插入图片描述

      步骤三:根据进化因子f,选择当前隶属于哪一种状态,如下图,采用有规则基准的方式:
      在这里插入图片描述
      在提出该算法的论文中,对于这部分的描述我不是很理解,但根据该图来理解还是很直观的:
      我们将状态划分为四类:
      S1探索(Exploration)、S2发现(Exploitation)、S3收敛(Convergence)、S4跳出(Jumping-out)
      我们通过上图,即可判断当前应该选择哪一种状态:

      (1) f < 0.3
      我们可以看见上图在0.2~0.3部分是有两种状态S1与S2交织的,如果f落在该范围,我们需要选择其中一个,那么我们需要判断之前是什么状态,如果之前状态是S1(即在图中位于S2之后),那么此时状态可以改变为S2,否则状态要变化为S1;这样做是由于不能过度切换状态,需要保持划分的稳定性,因此在f<0.3还是划分到S1


      (2) 0.3 <= f < 0.6
      与上面同样的分析方式,在重叠部分0.4~0.6,也是需要判断上一次状态是否是S4,如果是,那么状态可以变化到S1;否则状态为S2


      (3) 0.6 <= f < 0.8
      在重叠部分0.7~0.8,需要判断上一次状态是否是S3,如果是,那么状态可以变化到S4;否则状态为S1


      (4) f >= 0.8
      均是划分为状态S4

      综上,虽然说在有重叠部分的划分依据看起来很玄学,但是其实可以直接用以下一个序列表达:S1=>S2=>S3 =>S4 => S1
      如果位于分段中的重叠部分,需要判断是变化为分段中占大面积的状态还是占小面积的状态,只需要观察以上序列中,上一次的状态是否是小面积状态的前驱,如果是则变化为小面积状态,否则变化为大面积状态;比如,当前位于0.3 <= f < 0.6段,大比例状态是S2,小比例状态是S1;如果上一次状态是S4(S4 => S1,S4是S1的前驱),那么此时变化为S1;否则变化为S2

      ②自适应参数(AP)
      惯性因子w自适应:惯性权重是PSO算法中平衡全局和局部的搜索能力,w应该在探索阶段很大,而在开发阶段减小;w不是单纯的随着时间变化的,而应该随着进化状态的而变化,故w应该与进化因子f有如下的关系:
      在这里插入图片描述
      本文中w初始化设定是0.7,在跳出状态和探索状态下,较大的f和较大的w更有利于全局搜索,相反在开发状态和收敛状态下f较小,w会减小更有利于局部的搜索
      加速度参数的控制
      (1) 参数c1:个体认知加速度,促进该粒子获得它历史上最好的位置,有利于开发局部中最好的解,增加粒子群的多样性
      (2) 参数c2:社会认知加速度,它能推进粒子向全局中最好的区域收敛,加快收敛速度

      关于加速度参数的自适应变化,可以根据不同状态施以不同策略:

      策略1在探索状态下,我们可以增大个体认知加速度c1,增加粒子个体们分散在搜索空间中的搜索广度,进行开始阶段的泛搜;帮助粒子探索自身的最好个体,强调个体认知的过程,避免粒子过早聚集在最好粒子周围,陷入局部最优;相反地,弱化社会认知,减小社会加速度c2,不宜在搜索阶段就让粒子们过早地聚集起来,否则可能会滞留在局部最优中


      策略2在发现状态下,我们选择轻微增加个体认知加速度c1,轻微减小c2;这个状态下,粒子使用局部信息,种群朝着可能的局部最优区域移动,因此,轻微增加c1可以使c1维持在一个较大的值,可以强调在pBesti(个体最优)周围的搜索和开发。全局最优的粒子gBesti并不一定在这个状态处在真正的最优区域。所以轻微减小c2可避免算法过早收敛,陷入局部最优值


      策略3在收敛状态下,轻微增加c1与c2;在收敛状态下,群体似乎找到了全局的最优区域,因此,增加c2主要为了引领其他粒子向可能的全局最优区域移动。此时c1的值应该减小,这样有利于加速算法的收敛,但是这样的策略会使两个参数过早的到值达上下边界(会在下文中介绍边界的大小定义)这样可能会出现一种情况:即局部最优区域被当成全局最优区域,迅速收敛,最终陷入局部最优解;所以在此状态下,应该对c1 和c2都进行轻微的增加


      策略4在跳出状态下,减小c1并增加c2;此时粒子们跳出局部最优,跳出原先的聚类,此时急需朝着更优的方向前进,即原先聚在一起的粒子们会向某一个更优的粒子领导者前进,需要尽可能快地到达该领导者周围,因此,需要大一些的社会认知加速度c2,同时弱化个体认知加速度c1,放一放各自手头的工作,先响应号召

      关于加速度参数的上下边界:

      (1) 加速度率δ:为了使每一次变化c1与c2不太突兀,因此引入了加速度率δ,即每一次c1与c2变化不能超过δ,而δ的取值从[0.05,0.1]中随机产生;如果是轻微变化,则就不能超过0.5δ


      (2) 归一化:应该保证每一次c1+c2不能超过4,因此需要对c1与c2进行归一化,使其和不超过4

      ③ 精英学习策略(ELS):
      在实验中的有些情况下,单纯使用ESE来动态更新w和c1和c2,出现了算法不收敛的情况下,因此ELS是用于帮助全局最优粒子gBest在收敛状态时跳出局部最优区域;推进tgBest向着一个潜在最好区域前进
      ELS选择了目标问题的其中随机一个维度进行变化,加入高斯扰动,过程如下:
      在这里插入图片描述其中σ是精英学习率,随着进化的代数而变化:
      在这里插入图片描述其中σmax、σmin根据经验显示分别为1与0.1

    • APSO & SVM

      在文章的最后会给出APSO优化SVM的代码,由于我们只需优化两个参数,其实问题的维度只有2维,即每一个粒子的位置向量只有2维,在APSO优化算法中我们只需嵌入一个计算适应度的函数;那么如何选取这个适应度函数呢?即如何评判参数的好坏呢?我们选用的方法是K-CV,即使用某一组c,g的SVM对训练数据集进行K折交叉验证,得到的评分结果,作为我们的适应度值;那么适应度函数实际上就是一次SVM的训练;我们使用matlab能够很简单的调用svmtrain作为我们的适应度函数;我使用的是10折交叉验证

    • 相关代码(matlab代码)

      APSO_SVM代码

    展开全文
  • 针对粒子群优化算法容易出现早熟收敛和稳定性低的现象,提出一种自适应调节的粒子群算法。算法中通过自适应调节适应度值的均匀分布保持种群的多样性,该策略能够提高算法的全局搜索能力,同时可避免阈值对算法稳定性的...
  • 自适应粒子群算法APSO

    千次阅读 2020-06-01 11:46:44
    自适应粒子群算法代码

    自适应粒子群算法代码
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    展开全文
  • 针对标准粒子群算法在进化过程中种群多样性降低而早熟的问题,提出一种动态改变惯性权重自适应粒子群算法.采用种群中平均粒子相似程度作为种群多样性的测度,并用于平衡算法的全局探索和局部开发.基于对惯性权重...
  • 在优化过程中,惯性权重随迭代次数非线性变化,改进的算法能使粒子自适应地改变搜索速度进行搜索,并与基本粒子群算法以及其他改进的粒子群算法进行了比较。实验结果表明,该算法在搜索精度和收敛速度等方面有明显...
  • #资源达人分享计划#
  • 粒子群算法改进蝙蝠算法,引入自适应权重,具有很好的收敛速度和收敛精度
  • 为提高粒子群算法的寻优精度,提出一种将单纯形法(SM)与粒子群(PSO)算法相结合的自适应混合粒子群优化(AHPSO)算法。该算法根据进化需要动态调整粒子的惯性权重,并在进化停滞时使用SM优化。通过仿真实验证明了AHPSO...
  • 为提高粒子群算法的寻优精度,提出一种将单纯形法(SM)与粒子群(PSO)算法相结合的自适应混合粒子群优化(AHPSO)算法。该算法根据进化需要动态调整粒子的惯性权重,并在进化停滞时使用SM优化。通过仿真实验证明了AHPSO的...
  • 胡旺等人在2007年提出了一种简化粒子群优化算法,基于他的思想,我们给出一个简化自适应粒子群优化算法,在该算法中权重采用标准粒子群算法自适应权重公式,但是权重的最大值根据解的进化情况不断更新,解改进的...
  • 对基本粒子群优化算法作了一些改进:通过去掉速度因子简化算法结构,引入指数...通过与其他改进的粒子群算法的数值实验对比分析,表明提出的新算法能够有效地避免早熟收敛问题,并能较大幅度地提高收敛速度和收敛精度。
  • 为了提高基本PSO算法搜索性能和个体寻优能力,加快收敛速度,提出一种新的云自适应粒子群优化算法(CPSO)。此算法利用云滴具有随机性、稳定倾向性等特点,结合不同粒子与全局最优点的距离动态变化的性质,提出云...
  • 为了解决粒子群算法惯性权重自适应问题,提出一种基于蚁群系统的惯性权重自适应粒子群算法(AS- PSO).AS-PSO首先将惯性权重取值区间离散化,各个惯性权重子区间在初期赋予相同的信息素;然后,粒子群算法中的各个...
  • 为了克服传统粒子群算法(PS田的早熟和局部最优问题,提出了一种新的自适应惯性权重的混沌粒子群算法(ACP-SO算法)。该算法采用分段Logistic混沌映射的方法产生初始种群,并根据种群的进化状态来动态调整惯性权重。在...
  • 为了提高粒子群算法的寻优速度和精度,提出一种改进的云自适应粒子群算法(MCAPSO)。算法中根据粒子适应度值把种群分为三个子群,分别采用不同的惯性权重生成策略和进化策略,普通子群粒子采用云自适应惯性权重,...
  • 引入粒子群算法来解决这一问题,受到惯性权重 c0在进化过程中所起作用的启发,引入自适应惯性权重 cadp对 粒子群算法进行改进,使其不再易于陷入局部极小。对比实验结果表明,该算法在解的性能和收敛速度上均优于相 关...
  • 针对标准PSO算法求解高维非线性问题时存在的大量无效迭代(经过一轮迭代后全局最优位置保持不变),提出了一种自适应惯性权重的改进粒子群算法。基于单次迭代中单粒子运动状态的分析,提出并证明了论点:上一轮迭代...
  • 针对粒子群算法在寻优时容易陷人...将该算法运用于6个测试函数,并与惯性权重粒子群算法、收缩因子粒子群算法以及差分进化算法进行了比较,结果表明:AMDPSO能在寻优过程中让粒子跳出局部最优,保持种群多样性,具有更好的收
  • 为解决粒子群优化算法前期搜索盲目,后期搜索速度慢且易陷入局部极值的问题,对算法中粒子更新方式和惯性权重进行了改进,提出了一种基于引导策略的自适应粒子群优化算法(improved particle swarm optimization ...
  • 针对矿井通风网络分支风量优化问题,以矿井通风网络的总功率最小为目标,结合矿井模型中风量平衡方程、风压平衡方程、分支阻力方程以及风机特性曲线方程等约束条件,提出一种多种群自适应粒子群优化算法(MA-PSO)对矿井...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 638
精华内容 255
关键字:

自适应权重粒子群算法