MATLAB——神经网络构造线性层函数linearlayer

% example5_7.m
x=-5:5;
y=3*x-7;
randn(state,2);            % 设置种子,便于重复执行
y=y+randn(1,length(y))*1.5;        % 加入噪声的直线
plot(x,y,o);
P=x;T=y;
lr=maxlinlr(P,bias)            % 计算最大学习率

net=linearlayer(0,lr);            % 用linearlayer创建线性层,输入延迟为0
tic;net=train(net,P,T);toc        % 用train函数训练  tic和toc是用来记录matlab命令执行的时间  tic用来保存当前时间,而后使用toc来记录程序完成时间。
new_x=-5:.2:5;
new_y=sim(net,new_x);               % 仿真
hold on;plot(new_x,new_y);
title(linearlayer用于最小二乘拟合直线);
legend(原始数据点,最小二乘拟合直线);
xlabel(x);ylabel(y);
s=sprintf(y=%f * x + %f, net.iw{
          
   1,1}, net.b{
          
   1,1})

text(-2,0,s);
% example5_7.m x=-5:5; y=3*x-7; randn(state,2); % 设置种子,便于重复执行 y=y+randn(1,length(y))*1.5; % 加入噪声的直线 plot(x,y,o); P=x;T=y; lr=maxlinlr(P,bias) % 计算最大学习率 net=linearlayer(0,lr); % 用linearlayer创建线性层,输入延迟为0 tic;net=train(net,P,T);toc % 用train函数训练 tic和toc是用来记录matlab命令执行的时间 tic用来保存当前时间,而后使用toc来记录程序完成时间。 new_x=-5:.2:5; new_y=sim(net,new_x); % 仿真 hold on;plot(new_x,new_y); title(linearlayer用于最小二乘拟合直线); legend(原始数据点,最小二乘拟合直线); xlabel(x);ylabel(y); s=sprintf(y=%f * x + %f, net.iw{ 1,1}, net.b{ 1,1}) text(-2,0,s);
% example5_7.m x=-5:5; y=3*x-7; randn(state,2); % 设置种子,便于重复执行 y=y+randn(1,length(y))*1.5; % 加入噪声的直线 plot(x,y,o); P=x;T=y; lr=maxlinlr(P,bias) % 计算最大学习率 net=linearlayer(0,lr); % 用linearlayer创建线性层,输入延迟为0 tic;net=train(net,P,T);toc % 用train函数训练 tic和toc是用来记录matlab命令执行的时间 tic用来保存当前时间,而后使用toc来记录程序完成时间。 new_x=-5:.2:5; new_y=sim(net,new_x); % 仿真 hold on;plot(new_x,new_y); title(linearlayer用于最小二乘拟合直线); legend(原始数据点,最小二乘拟合直线); xlabel(x);ylabel(y); s=sprintf(y=%f * x + %f, net.iw{ 1,1}, net.b{ 1,1}) text(-2,0,s);
经验分享 程序员 微信小程序 职场和发展