求解优化神经网络权值除了bp算法还有什么? 举报 理由 举报 取消 bp算法容易收敛到局部最优,普遍通用的做法避免收敛到局部最优的方法是什么呢?通常做神经网络优化是用bp算法吗?为什么不用粒子群呢? 2017年11月15日 5 条回复 847 次浏览 人工智能,学习,工程师,数据挖掘,机器,神经网络,算法
回复 ( 5 )
模拟退火是最典型的方法了,仅限于工程实际应用,就像Steven说的,这个不能从理论上确保一定能得到全局最优。再加上现在有些pre训练的方法,也能从实用角度避免局部最优,比如RBM模型
粒子群一样容易收敛到局部最优。
除了凸优化问题,似乎没有什么太好的方法能保证收敛到全局最优,如何转化成凸优化问题那是另外一个问题了。
如果是在公司解决工程问题,题主可以多次循环使用粒子群或者GA, 记得每次循环后将上次的最优解保存下来迭代继续使用。
如果是学术问题,那我也没什么好办法,要是能有好办法我就去发论文了。
老老实实用bp吧,别的算法都不靠谱。其实题主你没注意到吗,现在根本没太多人大力研究避免局部最优的问题,这说明局部最优不是什么大问题。或者,至少当前有更多值得研究的问题。
建议用pso算法,确实比 bp算法强。 为什么要老老实实用bp,如果都这样 科研价值何在?
多多尝试吧!
matlab神经网络工具箱里就提供的包括bp在内的若干种算法。有几种效率明显高于bp,跳出局部最优的能力也更强,你可以试试。