matlab 实现BP神经网络 怎样根据隐含层和输入层的权值阈值得到输入到输出的计算公式
比如输入层有4个节点,隐含层函数是tansig,6个节点,输出层函数是purelin,1个节点net.iw{1,1}=1.53722.10420.74270.7743-1...
比如输入层有4个节点,隐含层函数是 tansig,6个节点,输出层函数是purelin,1个节点net.iw{1,1}= 1.5372 2.1042 0.7427 0.7743 -1.8324 -0.8232 0.3148 1.2855 -1.2735 2.4804 0.3112 0.5274 -0.2044 -1.4795 -1.1763 1.5682 -1.1204 2.3447 0.2937 0.5899 -2.4025 -2.0699 1.1945 0.9667net.b{1}= 2.8266 1.7080 0.4182 1.5593 0.6187 -2.1680net.lw{2,1}= 0.7389 -0.4553 -0.2288 -0.1006 -0.4778 -0.2356net.b{2}= -0.5715怎样能写出类似这样的计算公式呢?
写出来的公式代入输入就不是仿真的结果是什么原因呢? 展开
写出来的公式代入输入就不是仿真的结果是什么原因呢? 展开
1个回答
展开全部
如果你的式子写对了,那出来的结果肯定和sim函数输出的结果是一样的。
% 计算S1与S2层的输出
A1=tansig(W1*p,B1);
A2=purelin(W2*A1,B2);
隐层为tansig函数,输出层简单的线性相加,再附上阈值,不可能会错的。sim函数的原理也就是如此。
更多追问追答
追问
这里w1是权值,B1是阈值?w2是权值,B2是阈值?这样的话是说A2与sim(net,P)是相等的?可是算出来还是不一样的。
追答
注意阈值是负号,或者你可以认为b为正数,而x0=-1!
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询