Particle-Swarm-Optimization-PSO-_C----

粒子群算法:http://zh.wikipedia.org/wiki/%E5%BE%AE%E7%B2%92%E7%BE%A4%E7%AE%97%E6%B3%95

##PSO是通过模拟鸟群觅食行为而发展起来的一种基于群体协作的随机搜索算法。通常认为它是群集智能 (Swarm intelligence, SI)的一种。

PSO初始化为一群随机粒子(随机解),然后通过迭代找到最优解,在每一次叠代中,粒子通过跟踪两个“极值”来更新自己。第一个就是粒子本身所找到的最优解,这个解叫做个体极值pBest,另一个极值是整个种群目前找到的最优解,这个极值是全局极值gBest。另外也可以不用整个种群而只是用其中一部分最优粒子的邻居,那么在所有邻居中的极值就是局部极值。

##最优极值根据实际需要为粒子所定义的适应度函数所计算得到的适应度值来选择,即适应度值最大的即为当前最优解。当到达规定的目标适应度值,或给定的迭代次数之后,最优的全局最优解即为优化结果。

##应用:比如在故障预测领域常用于各种预测模型的参数优化:比如GM模型的背景值优选;对高维特征向量优选出近最优子集,从而达到降维的目的等。