实验3线性神经网络实验指导.docVIP

  • 6
  • 0
  • 约2.09千字
  • 约 8页
  • 2017-04-22 发布于重庆
  • 举报
实验3线性神经网络实验指导

PAGE  PAGE - 8 - 实验三、线性神经网络 一、实验目的及要求 1、掌握线性神经网络的基本概念和训练方法。 2、掌握线性神经网络的基本应用。 3、掌握Matlab对线性神经网络的构建与训练方法。 4、掌握利用程序设计语言对线性神经网络进行实现的方法。 二、实验原理 1、线性神经网络模型  = 1 \* GB2 ⑴ 拓扑结构 对于一个样本: 网络输入: 网络输出: 实际输出、 期望输出(导师信号) 网络权值: 阈值: (2)转移函数 (线性函数) (3)学习规则(Widrow-Hoff) 又称最小均方误差(Least Mean Square Error)学习规则,由美国斯坦福大学B.Widrow和B.Hoff提出,属于有导师学习规则。 设训练样本集: 个样本 表示第个样本输入网络 表示第个样本输入网络所期望的输出 表示第个样本输入网络实际的输出 表示第个样本输入网络后的误差向量 网络输入: 期望输出: 实际输出: 网络的均方误差 目标:通过调节网络权值和阈值,使逐渐缩小到许可的范围。 对于单个神经元的误差 ,逐渐缩小则一定缩小。 所以权值的变化量 即: 为学习率,可以调整学习的速度,但如果过大会导致网络稳定性的降低。 要使误差减小即: 2、Matlab对线性神经网络的构建与训练 例一、为了测定刀具的磨损速度,做这样的实验:经过一定时间(如每隔一小时),测量一次刀具的厚度,得到一组实验数据如下: 时间01234567刀具厚度27.026.826.526.326.125.725.324.8试根据上面的实验数据建立一个大体合适的神经网络。 解: t=[0 1 2 3 4 5 6 7]; y=[27.0 26.8 26.5 26.3 26.1 25.7 25.3 24.8]; plot(t,y,*); net=newlind(t,y); %根据t和y设计一个具有最小均方误差的线性神经网络 O=sim(net,t); %用输入t来仿真该网络 plot(t,O,t,y,*); e=y-O %期望输出-实际输出 mse = mse(y-O) %网络的均方误差值 w=net.iw{1,1} %权值 b=net.b{1,1} %阈值 时间01234567期望输出27.026.826.526.326.125.725.324.8实际输出27.1326.8226.5226.2125.9125.6125.3025.00偏差-0.13-0.02-0.020.090.190.09-0.00-0.20网络权值:-0.3036 网络阈值:27.1250 网络均方误差:0.0135 所拟合的直线:y=-0.3036*t+27.1250 例二、已知一输入信号T=sin(time*pi),其中time=0:0.1:5,构建一个神经网络,利用该组信号的5个过去值预测信号的将来值。 解: clc;%清空命令窗口 clear;%清空内存 time=0:0.1:5; T=sin(time*pi); Q=length(T); X=zeros(5,Q);%X中存储信号T的前5次值,作为网络输入。 X(1,2:Q)=T(1,1:(Q-1)); X(2,3:Q)=T(1,1:(Q-2)); X(3,4:Q)=T(1,1:(Q-3)); X(4,5:Q)=T(1,1:(Q-4)); X(5,6:Q)=T(1,1:(Q-5)); plot(time,T);%绘制信号T曲线 xlabel(时间); ylabel(目标信号); title(待预测信号); net=newlind(X,T); O=sim(net,X); figure; plot(time,T,time,O,r); xlabel(时间); ylabel(输出-目标); title(输出信号和目标信号); e=T-O; mse = mse(T-O) w = net.iw{1,1} b = net.b{1,1} figure; plot(time,e); 预测T=sin(time*p)信号的神经网络 网络权值:1.8808 -0.9808 -0.0021 0.0161 -0.0193 网络阈值:0.0066 网络均方误差:0.0018 3、程序设计语言实现感知器网络的类图 三、原理实现与结果 1、将上述代码自行敲入Matlab编程环??,切勿采用拷贝方式,否则效果很差!观察实验结果将自身感受写入实验报告中。 2、根据类图写出实现代码并对以下数据进行线性拟合。 X01234567Y27.026.826.526.326.125.

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档