yhkn.net
当前位置:首页 >> mAtlAB实现Bp神经网络 >>

mAtlAB实现Bp神经网络

matlab编写BP神经网络很方便的,这个工作不用像编程序的C什么的那样还要编写算法.这个算法早已经在软件的库里提供了.你只要用一条语句就出来了.把参数,深度和节点固定的往里一代数就可以了.还有一点,注意最后结果的收敛性,神经网络发展一直是曲折前进的,为什么这样,现在不太给力,因为面临着一个收敛的问题,实现起来效果不好.这些程序网上有很多,你借一本基本的神经网络的书里面也有.望采纳.

一种启发式的改进就是,为学习速率选用自适应值,它依赖于连续迭代步骤中的误差函数值. 自适应调整学习速率的梯度下降算法,在训练的过程中,力图使算法稳定,同时又使学习的步长尽量地大,学习速率则是根据局部误差曲面作出相应的调整.

所有BP神经抄网络的训练方法都是相似的,仅仅是将样本和网络结构进行修改.你这种情况,只需要将输入P与输出T进行修改,并将输入节点数设为3,输出节点数设为1,即可.请参考附件的代码bai.newff函数的格式为:net=newff(PR,[S1 S

当你用newff的时候,里面有一个参数可以控制层数,比如说:P = [0 1 2 3 4 5 6 7 8 9 10]; T = [0 1 2 3 4 3 2 1 2 3 4]; net = newff(P,T,5); %这样表示有1个隐藏层,里面那个5表示神经元的个数 net = newff(P,T,[5,10]); %这样表示有2个隐藏层 net = newff(P,T,[5 10 8]); %这样表示有3个隐藏层,以此类推,明白吧?

我给你写几步:threshold=[0 1;0 1;0 1;0 1;0 1;]; net=newff(threshold,[15,1],{'tansig','logsig'},'traingdx'); net.trainParam.epochs=1000; net.trainParam.goal=0.001; net=init(net); 有啥不清楚,你继续问就行!

你需要的功能比较简单,可以考虑直接使用MATLAB提供的神经网络图形用户界面(Neural Network Graphic User Interface)的功能.在Matlab命令窗口敲nntool命令调出来,打开Network/Data管理器窗口,再点击New,按步骤操作即可.在里面可以设置哪些是训练数据样本,哪些是验证网络泛化能力的样本.

#include<stdio.h> #include<conio.h> #define RUN 1 void swap(int *a, int *b) { int temp; temp = *a; *a = *b; *b = temp; } void change(int *p) { int i; int j; int *pmax = p, *pmin = p; for (i = 0 ; i < 5 ; i++) { for (j = 0 ; j < 5 ; j++) { if (*pmax < *(p + 5*i + j)) { pmax

如果假设输入是1-28的话x=1:1:28y=你的数据nnstart就会跳出神经网络训练的GUI,里面有BP算法.matlab比较新的版本都有nntool自带BP算法.

用BP神经网络可以对任意阶乘的训练向量进行训练.然后输出目标向量,最后预测未来的量.例如:已知55个数据 ,用5*40向量数据作为训练向量,然后输出1*40的数据向量(即对5-45序列进行预测),最后,再对46-66序列进行预测.实现

如何快速学习matlab BP神经网络我不知道你是要深入的了解其原理,还是只是用用而已……对于我来说,我基本上是着眼于BP神经网络的应用,分类啊,拟合(预测)啊.而对于原理,我只能说我不是很了解,看过一些,但是似懂非懂.综合,我推荐《MATLAB神经网络43个案例分析》这本书吧,大部分是着眼于应用,即直接调用MATLAB的函数来实现神经网络的搭建,训练,应用,而这本书的第一章给出了自己实现BP神经网络的例子和程序(不调用MATLAB的神经网络方面的函数)要深入原理的话,读原码最好了, 不过读matlab工具箱的原码比较繁杂,你可以看这个简化版的:

网站首页 | 网站地图
All rights reserved Powered by www.yhkn.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com