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

本文介绍如何使用Matlab的linearlayer函数进行最小二乘拟合直线,通过加入噪声的数据点,演示了如何创建线性层、设置学习率、训练网络并进行仿真,最终绘制出拟合直线。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

% 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);

 

转载于:https://www.cnblogs.com/long5683/p/10513417.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值