ppts.net
当前位置:首页>>关于matlab BP神经网络多输出怎么实现。比如输出层有4...的资料>>

matlab BP神经网络多输出怎么实现。比如输出层有4...

输出的数量取决于你的target怎么设置,比如你的输入是一个5行n列的数据,输出是一个4行n列的数据,你用这个数据初始化并且训练神经网络,得到的当然是5个输入值4个输出值的神经网络.函数怎么写的话,去看matlab 帮助,搜索newff,你就能看到用法了.

用最简单的bp网络就行,输入节点数等于变量数,输出节点数为1.在matlab里,就用newff函数建立网络即可.newff函数的格式为:net=newff(pr,[s1 s2 sn],{tf1 tf2tfn},btf,blf,pf),函数newff建立一个可训练的前馈网络.输入参数说明:pr:rx2的矩阵以定义r个输入向量的最小值和最大值;si:第i层神经元个数;tfi:第i层的传递函数,默认函数为tansig函数;btf:训练函数,默认函数为trainlm函数;blf:权值/阀值学习函数,默认函数为learngdm函数;pf:性能函数,默认函数为mse函数.

当然可以,n个输入,m个输出

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

我也遇到同样的问题,问题是输入向量和目标向量之间有问题,可以把目标向量改成行向量.必须保证输入行数目和目标列数目相等.

net=newff(输入向量,[3,1],{'tansig' 'purelin'},'traingd')

把输入转置一下 应该就可以了,这样就有10列,对应10个输出,每列的三行就对应3维

如果你的式子写对了,那出来的结果肯定和sim函数输出的结果是一样的.% 计算S1与S2层的输出A1=tansig(W1*p,B1);A2=purelin(W2*A1,B2);隐层为tansig函数,输出层简单的线性相加,再附上阈值,不可能会错的.sim函数的原理也就是如此.

神经网络直接由工具箱可用的

net=newff(minmax(p),[5,5],{'purelin' 'purelin'},'trainlm')

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