关于量子粒子群算法的杂七杂八1关于PSO说到GPSO,必须要说到它的源头,也就是PSO,也就是粒子群算法按照北京航空航天大学的王小川老师说法,粒子群优化算法(Particleswarmoptimization,PSO)是模拟鸟群捕食行为的优化算法。不同于遗传算法(GeneticAlogrithm,GA),粒子群算法是有记忆的,之前迭代过程中的最优位置和最优方向都会保留下来并作用于粒子群的更新。这个算法的应用太广了,如果学习了一段时间的机器学习,即将迈入深度学习的阶段,一定要迈过去的两个坎,一个是RBM,就是受限玻尔兹曼机,另一个就是PSO1.1相关的名词解释粒子群长度:粒子群长度等于每一个参数取值范围的大小。粒子群维度:粒子群维度等于待寻优参数的数量。这个根据项目的具体要求可以十分容易的敲定粒子群位置:粒子群位置包含参数取值的具体数值。粒子群方向:粒子群方向表示参数取值的变化方向。个人感觉这里也可以理解成想原本的粒子(或者是cluster中的拥有实际含义的矩阵)的方向向量进行进一步的分解,从某种意义上说,其实它加大了分解出来的向量之间的联系,算是在某种程度上对于数据的维度进行了一定的扩充。适应度函数:表征粒子对应的模型评价指标。关于适应度函数的取值其实不止一个算法或者是模型中提到了关于适应度函数的具体含义与在具有特定条件与背景之下可能有效的适应度函数的取法,经典的如北京航空航天大学的王小川老师在他的著作中认为可以将适应度函数的取值设定为cluster中的单个样本的值对应的总的cluster的mean值的均方差的倒数,当然这个说法并不唯一,而且是在不同的条件下取值并不完全相同。《43个案例分析》中单只要是涉及到函数的拟合的,适应度函数的取值都为待拟合的函数的取值的倒数。目前尚无较为肯定的经验公式或者是对应的参照物图表可以归纳所有情况。pbest:(局部最优)pbest的长度等于粒子群长度,表示每一个参数取值的变化过程中,到目前为止最优适应度函数值对应的取值。gbest:(全局最优)gbest的长度为1,表示到目前为止所有适应度函数值中最优的那个对应的参数取值。1.2关于粒子的更新在对于具有实际含义的矢量进行了分解之后,使用不同的矢量表示出原本的矢量,写成坐标的形式设定出取随机数在某种意义上也是为了代际过多的时候规避可能会出现的局部极小值问题,相当于使用了别的可能造成系统重新进行选路操作的算法进行优化,当然了,这种算法必然存在一定的随机性。这种情况下粒子的更新变量为2由此衍生而来的GPSO2.1前言PSO算法的缺点:1、需要设定的参数(惯性因子局部学习因子和全局学习因子)太多,不利于找到待优化模型的最优参数。但是我感觉这个其实不算很明显的确定,只是对于新手而言不那么友好2、粒子位置变化缺少随机性,容易陷入局部最优的陷阱。这个确实是制约PSO的一个地方,这个时候可以介入第三方算法对于这种陷入局部极小值的情况进行路线的修正。有的修正是局部的修正,必要的时候也可以进行全局的修正,不过进行全局的修正的时候需要慎重。2.2改进的地方量子粒子群优化(QuantumParticleSwarmOptimization,QPSO)算法取消了粒子的移动方向属性,粒子位置的更新跟该粒子之前的运动没有任何关系,这样就增加了粒子位置的随机性比较明显的史诗级更新在于其引入了一个新的量mbest:表示pbest的平均值,即平均的粒子历史最好位置。其实强调粒子的平均位置这个更加属于贝叶斯风格的分析问题的方式,与频率方式分析机器学习问题的方式差别更大2.3具体计算步骤2.3.1首先计算mbest2.3.2进行位置的更新