我理解粒子群优化算法的工作原理并在几篇文章中已经阅读过。值得注意的是,大多数关于PSO的文章都侧重于优化单方程函数。在Pedersen的粒子群优化参数中,他给出了18个结果,这些结果来自于他对大约10个基准问题的元优化PSO,具有7个维数(从2到100)。
我想用PSO优化多层感知器。我已经在Matlab中成功完成了一些相当小的MLP,但没有我想要的那么大。 (对于单方程函数,100维度是巨大的,但它在神经网络中的重量和偏差数量是多少 - 我希望需要大约800,000个权重和偏差 - 维度 - 在我的最终节目。)
我的问题,据我所知,我无法找到一个简单的解释,说明如何选择w
,c1
和c2
*这样的值可以优化任何尺寸的任何功能。 (我确信它的要求太多了,但至少有一个功能,虽然它有阶梯不连续性,大规模地类似于平滑,并且没有白噪声。)
或者,对于神经网络,有没有任何元优化的PSO?
答案 0 :(得分:1)
在所有类型的基于人口的方法中,如何选择参数的问题是一个具有挑战性的问题。它主要通过测试多组参数然后为任务选择最佳集合来完成。幸运的是,PSO的目标是收敛到最佳位置,而Engelbrecht已经证明并非所有参数集合都能收敛。 Here是一篇有解释的论文。 收敛条件列于第945和947页。我确定您还可以找到幻灯片中列出的参考文献中发布的论文。除了这种缩小之外,您只需找到适合您特定问题的探索和开发平衡。
另外,我想告诉您,根据我使用PSO进化神经网络的经验,只要您使用一般的反向传播方法,只要您的数据是静态的,就没那么有效了。如果您在动态环境中工作,则量子/带电PSO是更好的选择。
我希望这会缩小您对参数的搜索范围,并为您提供一些额外的见解。
编辑:
用带有类似图表的纸张替换链接 注意:
包含图表的论文:
"粒子群优化粒子轨迹的研究" F. van den Bergh,A.P。Engelbrecht