请问谁有利用PSO优化BP神经网络初始权值和阈值的程序,最好是matlab的,可以运行的,急求,万分感谢!

请问谁有利用PSO优化BP神经网络初始权值和阈值的程序,最好是matlab的,可以运行的,急求,万分感谢!,第1张

粒子算法,也称粒子群优化算法(Particle Swarm Optimization),缩写为 PSO, 是近年来发展起来的一种新的进化算法(Evolutionary Algorithm - EA)。PSO 算法属于进化算法的一种,和模拟退火算法相似,它也是从随机解出发,通过迭代寻找最优解,它也是通过适应度来评价解的品质,但它比遗传算法规则更为简单,它没有遗传算法的“交叉”(Crossover) 和“变异”(Mutation) *** 作,它通过追随当前搜索到的最优值来寻找全局最优。这种算法以其实现容易、精度高、收敛快等优点引起了学术界的重视,并且在解决实际问题中展示了其优越性。粒子群算法是一种并行算法。

输入层、隐层的神经元激励函数选为S型函数,输出层采用线性函数purelin。各层的节点数分别为3、10、2,训练步数选为1500次。在Matlab中进行BP神经网络的建立、训练、仿真,结果如下:

T=[0.23 0.23]目标输出值

P=[-04953 -0.4915 0.4889 0.61600.3708 0.4535]输入矩阵三行两列

net=newff(minmax(P),[5,12,1],{'tansig','tansig','purelin'},'traingd')网络建立、训练

net.trainParam.epochs=1500训练步数

net.trainParam.goal=0.00001均方误差

[net,tr]=train(net,P,T)进行训练

y=sim(net,P)输出的结果


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/11928419.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-19
下一篇 2023-05-19

发表评论

登录后才能评论

评论列表(0条)

保存