- 在线时间
- 10 小时
- 最后登录
- 2012-9-21
- 注册时间
- 2012-5-30
- 听众数
- 5
- 收听数
- 0
- 能力
- 0 分
- 体力
- 248 点
- 威望
- 0 点
- 阅读权限
- 30
- 积分
- 112
- 相册
- 0
- 日志
- 0
- 记录
- 0
- 帖子
- 78
- 主题
- 2
- 精华
- 0
- 分享
- 0
- 好友
- 7
升级   6% TA的每日心情 | 难过 2012-9-21 11:07 |
|---|
签到天数: 19 天 [LV.4]偶尔看看III
- 自我介绍
- good
 |
程序如下,求教:这里的B10=cat(2,B1,B1);是什么作用,矩阵的维数怎么变成了S1*Q了?我查了一下,B10=cat(2,B1,B1);的话,维数应该是S1*R*2了啊?求教高手指点
4 O- J7 a: S t+ f9 Y7 h3 h0 U- u. I0 s( o: h% ?( D
clear$ S8 m5 _4 e9 l$ p5 I
clc
( z1 l+ R! n: R6 A. G, G+ s7 p7 k%eg1_2 三层神经网络输出5 J6 x# S! F, S d( p5 L
P=[0.1,0.5;0.3,-0.2];%已知输入矢量数据
& a( J1 G/ q/ `) w: o+ X1 D# W[R,Q]=size(P); %已知各层节点数# J0 N* |, t e6 ~0 H- R( r
S1=2;S2=3;S3=5; %求出输入矢量的行和列
& f t5 N8 i8 Y. B! O0 G( B. W[W1,B1]=rands(S1,R); %给第一隐含层权值赋(-1,1)之间的随机值: V4 D6 C" ?% z$ P. }( O C3 }4 _! f
[W2,B2]=rands(S2,S1);%给第二隐含层权值赋(-1,1)之间的随机数& a' }* c+ |& p3 f& Y
[W3,B3]=rands(S3,S2);%给输出层权值赋(-1,1)之间的随机值; o, V/ [% _/ e4 ]+ ~5 G: j2 L. G: u
B10=cat(2,B1,B1); %通过B10=[B1,B1]将S1*1的B1矩阵合成为一个S1*Q的矩阵以便进行下面的加法运算' }- L: L1 i" j$ v# @
A1=hardlims(W1*P+B10);%计算第一层输出表达式0 ~( l4 h6 D9 E- D4 e9 P! W& e, O
B20=cat(2,B2,B2); %用两个S2*1的B2矩阵组成一个S2*Q矩阵
: E; w! f& P$ b |, v4 t0 g, AA2=logsig(W2*A1+B20); %计算第二层输出; h# h# z. A. }0 T' C7 }
B30=cat(2,B3,B3); %用两个S3*1的B3矩阵组成一个S3*Q矩阵+ e# J6 d6 {9 p. n
A3=purelin(W3*A2+B30) %计算第三层输出# b* L8 v- J5 J l4 y% C
|
zan
|