求教大神samp1.9

贴段代码出来,搞不懂到底为什么权值不朝正确的方向走,请教大神【神经网络吧】_百度贴吧
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&签到排名:今日本吧第个签到,本吧因你更精彩,明天继续来努力!
本吧签到人数:0成为超级会员,使用一键签到本月漏签0次!成为超级会员,赠送8张补签卡连续签到:天&&累计签到:天超级会员单次开通12个月以上,赠送连续签到卡3张
关注:2,506贴子:
贴段代码出来,搞不懂到底为什么权值不朝正确的方向走,请教大神收藏
%% 清理clear all clc %% 引入鲍鱼年龄数据DataStruction = importdata('abalone.txt')[traind,trainl,testd,testl] = AbaloneDivide(DataStruction.data)%% 设置参数rng('default')rng(0)nTrainNum = 2784;nSampDim = 7;%% 构造网络net.nIn = 7;net.nHidden = 8;net.nOut = 1;w = 2*(rand(net.nHidden,net.nIn)-1/2);b = 2*(rand(net.nHidden,1)-1/2); net.w1 = [w,b];W = 2*(rand(net.nOut,net.nHidden)-1/2); B = 2*(rand(net.nOut,1)-1/2);
net.w2 = [W,B];%% 训练数据归一化mm=mean(traind); % 均值平移for i=1:7
traind_s(:,i)=traind(:,i)-mm(i); end% 方差标准化%ml(1) = std(traind_s(:,1));%ml(2) = std(traind_s(:,2));for i=1:7
ml(i) = std(traind_s(:,i));endfor i=1:7
traind_s(:,i)=traind_s(:,i)/ml(i); end%% 训练代码SampInEx = [traind_s';ones(1,nTrainNum)]; expectedOut=trainl';expectedOut = mapminmax(expectedOut, 0, 1);eb = 0.01;
% 误差容限 eta = 0.6;
% 学习率 mc = 0.8;
% 动量因子 maxiter = 200;
% 最大迭代次数 iteration = 0;
% 第一代errRec = zeros(1,maxiter); outRec = zeros(nTrainNum, maxiter); NET=[]; % 记录% 开始迭代for i = 1 : maxiter
hid_input = net.w1 * SampInEx;
% 隐含层的输入
hid_out = logsig(hid_input);
% 隐含层的输出
ou_input1 = [hid_ones(1,nTrainNum)];
% 输出层的输入
ou_input2 = net.w2 * ou_input1;
out_out = logsig(ou_input2);
% 输出层的输出
outRec(:,i) = out_out';
% 记录每次迭代的输出
err = expectedOut - out_
sse = sumsqr(err);
errRec(i) =
% 保存误差值
fprintf('第 %d 次迭代
%f\n', i, sse);
iteration = iteration + 1;
% 判断是否收敛
if sse&=eb
% 误差反向传播
% 隐含层与输出层之间的局部梯度
DELTA = err.*dlogsig(ou_input2,out_out);
% 输入层与隐含层之间的局部梯度
delta = net.w2(:,1:end-1)' * DELTA.*dlogsig(hid_input,hid_out);
% 权值修改量
dWEX = DELTA*ou_input1';
dwex = delta*SampInEx';
修改权值,如果不是第一次修改,则使用动量因子
net.w2 = net.w2 + eta * dWEX;
net.w1 = net.w1 + eta *
net.w2 = net.w2 + (1 - mc)*eta*dWEX + mc * dWEXO
net.w1 = net.w1 + (1 - mc)*eta*dwex + mc * dwexO
% 记录上一次的权值修改量
dWEXOld = dWEX;
百度深度学习平台PaddlePaddle——是并行分布式全功能深度学习框架,易学易用,高效灵活,支持海量图像识别分类,机器翻译和自动驾驶等多个领域的业务需求,现已全面开源.
各位麻烦给看看 误差均方从第三次迭代就不懂了 调了好久还是不知道为什么 matlab用的太不熟了
登录百度帐号推荐应用

我要回帖

更多关于 samp0.3.7 的文章

 

随机推荐