- 6
- 0
- 约5.34千字
- 约 9页
- 2022-04-12 发布于广东
- 举报
.
.
精品
精品
.
精品
神经网络
单层感知器数据分类输出为0和1解决线性可分的分类模型例1.从待分类的数据中取出一部分数据及其对应的类别作为样本数据,设计并训练一个能对分类数据进行分类的单层感知器神经网络
代码:%给定训练样本数据P=[-.4 -.5 .6;.9 0 .1];%给定样本数据所对应的类别,用0和1来表示两种类别T=[1 1 0];%创建一个有两个输入、样本数据的取值范围都在[-1 1]之间,并且网络只有一个神经元的感知器神经网络net=newp([-1 1;-1 1],1);
%设置网络的最大训练次数为20次
net.trainParam.epochs=20;
%使用训练函数对创建的网络进行训练
net=train(net,P,T);
%对训练后的网络进行仿真
Y=sim(net,P)
%计算网络的平均绝对误差,表示网络错误分类
E1=mae(Y-T)
%给定测试数据,检测训练好的神经网络的性能
Q=[0.6 0.9 -0.1;-0.1 -0.5 0.5];
%使用测试数据,对网络进行仿真,仿真输出即为分类的结果
Y1=sim(net,Q)
%创建一个新的绘图窗口
figure;
.
.
精品
精品
.
精品
%在坐标中绘制测试数据点,并根据数据所对应的类别用约定的符号画出
plotpv(Q,Y1);
%在坐标中绘制分类线
plotpc(net.iw{1},net.b{1})
线性神经网络模型线性神经网络类似感知器,但是线性神经网络的激活函数是线性的,而不是硬线转移函数,因此,线性神经网络的输出可以是任意值,而感知器的输出不是0就是1,线性神经网络网络和感知器一样只能解决线性可分的问题.
例2.要求设计一个线性神经网络,寻找给定数据之间的线性关系
代码:
P=[1.1 -1.3];
T=[0.6 1];
%创建一个只有一个输出,输入延迟为0,学习速率为0.01的线性神经网络,minmax(P)表示样本数据的取值范围
net=newlin(minmax(P),1,0,0.01);
%对创建的神经网络进行初始化,设置权值和阈值的初始值
net=init(net);
net.trainParam.epochs=500;
%设置网络训练后的目标误差为0.0001
net.trainParam.goal=0.0001;
net=train(net,P,T);
y=sim(net,P)
%求解网络的均方误差值
E=mse(y-T)
BP神经网络预测
能逼近任意非线性函数
.
.
精品
精品
.
精品
例3.表2-4为某药品的销售情况,现构建一个如下的BP神经网络对药品的销售进行预测:输入层为三个结点,隐含层结点数为5,隐含层的激活函数为tansig(双曲正切S型传递函数);输出层结点数为1,输出层的激活函数为logsig(S型的对数函数),并利用此网络对药品的销售量进行预测,预测的方法采用滚动预测方式,即用前三个月的销售量来预测第四个月的销售量,如用1、2、3月的销售量为输入预测第4个月的销售量,用2、3、4月的销售量为输入预测第5个月的销售量。如此反复直至满足预测精度要求为止。
月份
1
2
3
4
5
6
销量
2056
2395
2600
2298
1634
1600
月份
7
8
9
10
11
12
销量
1873
1478
1900
1500
2046
1556
212 241? 263?;
241? 263 236 ;
263 236 161? ;
236 161 168?;
161 168? 187?;
168? 187? 148?;
187? 148 193;
148 193 157 205? 156;?]
代码:
%以每三个月的销售量经归一化处理后作为输入
P=[0.5152 0.8173 1.000;
0.8173 1.000 0.7308;
1.000 0.7308 0.1390;
0.7308 0.1390 0.1087;
0.1390 0.1087 0.3520;
0.1087 0.3520 0.000]’;
.
.
精品
精品
.
精品
%以第四个月的销售量归一化处理后作为目标向量
T=[0.7308 0.1390 0.1087 0.3520 0.000 0.3761];
%创建一个BP神经网络,每一个输入向量的取值范围为[0,1],隐含层为5个神经元,输出层有一个神经元,隐含层的激活函数为tansig,输出层的激活函数为logsig,训练函数为梯度下降函数
net=newff([0 1; 0 1; 0 1],[5 1],{‘tansig’,’logsig’},’traingd’);
net.trainParam.epochs=15000;
原创力文档

文档评论(0)