MATLAB——线性神经网络

 这个函数默认使用最小二乘,所以不需要训练

% example5_1.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;
net=newlind(P,T);                % 用newlind建立线性层
new_x=-5:.2:5;                    % 新的输入样本
new_y=sim(net,new_x);                % 仿真
hold on;plot(new_x,new_y);
legend('原始数据点','最小二乘拟合直线');
net.iw                        % 权值为2.9219

% ans = 
% 
%     [2.9219]

net.b                        % 偏置为-6.6797

% ans = 
% 
%     [-6.6797]

title('newlind用于最小二乘拟合直线');

% example5_2.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;
net=newlin(minmax(P),1,[0],maxlinlr(P));    % 用newlin创建线性网络 minmax(P)得到矩阵P的最小和最大值(找到每行的最小和最大,有多少行就有多少对最小和最大);
tic;net=train(net,P,T);toc    % 训练。与newlind不同,newlin创建的网络需要调用训练函数
new_x=-5:.2:5;
new_y=sim(net,new_x);           % 仿真
hold on;plot(new_x,new_y);
legend('原始数据点','最小二乘拟合直线');
title('newlin用于最小二乘拟合直线');
net.iw

% ans = 
% 
%     [2.9219]

net.b

% ans = 
% 
%     [-6.6797]

 

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值