神经网络例子之欧阳学文创编Word文档格式.docx

上传人:b****5 文档编号:21275349 上传时间:2023-01-29 格式:DOCX 页数:7 大小:18.08KB
下载 相关 举报
神经网络例子之欧阳学文创编Word文档格式.docx_第1页
第1页 / 共7页
神经网络例子之欧阳学文创编Word文档格式.docx_第2页
第2页 / 共7页
神经网络例子之欧阳学文创编Word文档格式.docx_第3页
第3页 / 共7页
神经网络例子之欧阳学文创编Word文档格式.docx_第4页
第4页 / 共7页
神经网络例子之欧阳学文创编Word文档格式.docx_第5页
第5页 / 共7页
点击查看更多>>
下载资源
资源描述

神经网络例子之欧阳学文创编Word文档格式.docx

《神经网络例子之欧阳学文创编Word文档格式.docx》由会员分享,可在线阅读,更多相关《神经网络例子之欧阳学文创编Word文档格式.docx(7页珍藏版)》请在冰豆网上搜索。

神经网络例子之欧阳学文创编Word文档格式.docx

figure;

%在坐标中绘制测试数据点,并根据数据所对应的类别用约定的符号画出

plotpv(Q,Y1);

%在坐标中绘制分类线

plotpc(net.iw{1},net.b{1})

3.线性神经网络模型线性神经网络类似感知器,但是线性神经网络的激活函数是线性的,而不是硬线转移函数,因此,线性神经网络的输出可以是任意值,而感知器的输出不是0就是1,线性神经网络网络和感知器一样只能解决线性可分的问题.

例2.要求设计一个线性神经网络,寻找给定数据之间的线性关系

P=[1.1-1.3];

T=[0.61];

%创建一个只有一个输出,输入延迟为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;

y=sim(net,P)

%求解网络的均方误差值

E=mse(y-T)

4.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

212241 

263 

;

241 

263236;

263236161 

;

236161168 

161168 

187 

168 

148 

148193;

148193157205 

156;

 

]

代码:

%以每三个月的销售量经归一化处理后作为输入

P=[0.51520.81731.000;

0.81731.0000.7308;

1.0000.73080.1390;

0.73080.13900.1087;

0.13900.10870.3520;

0.10870.35200.000]’;

%以第四个月的销售量归一化处理后作为目标向量

T=[0.73080.13900.10870.35200.0000.3761];

%创建一个BP神经网络,每一个输入向量的取值范围为[0,1],隐含层为5个神经元,输出层有一个神经元,隐含层的激活函数为tansig,输出层的激活函数为logsig,训练函数为梯度下降函数

net=newff([01;

01;

01],[51],{‘tansig’,’logsig’},’traingd’);

net.trainParam.epochs=15000;

net.trainParam.goal=0.01;

%设置学习速率为0.1

LP.lr=0.1;

net=train(net,P,T)

5.RBF神经网络属于前向神经网络,能够以任意精度逼近任意连续函数,特别适合于解决分类问题

例4.建立一个径向基神经网络,对非线性函数y=sqrt(x)进行逼近,并作出网络的逼近误差曲线

%输入从0开始变化到5,每次变化幅度为0.1

x=0:

0.1:

5;

y=sqrt(x);

%建立一个目标误差为0,径向基函数的分布密度为0.5,隐含层神经元个数的最大值为20,每增加5个神经元显示一次结果

net=newrb(x,y,0,0.5,20,5);

t=sim(net,x);

%在以输入x和函数值与网络输出之间的差值y-t坐标上绘出误差曲线,并用“*”来标记函数值与输出值之间的差值

plot(x,y-t,’*-’)

6.自组织竞争神经网络

属于前向神经网络,特别适合于解决模式分类和识别方面的问题

例5.人口分类是人口统计中的重要指标,现有1999年共10个地区的人口出生比例情况如下:

出生男性百分比分别为:

0.55120.51230.50870.50010.60120.52980.50000.49650.51030.5003;

出生女性百分比分别为:

0.44880.48770.49130.49990.39880.47020.50000.50350.48970.4997;

建立一个自组织神经网络对上述数据分类,给定某个地区的男女出生比例分别为:

0.5,0.5,测试训练以后的自组织神经网络的性能,判断其属于哪个类别.

P=[0.55120.51230.50870.50010.60120.52980.50000.49650.51030.5003;

0.44880.48770.49130.49990.39880.47020.50000.50350.48970.4997];

%创建一个自组织神经网络,[01;

01]表示输入数据的取值范围在[01]之间,[34]表示竞争层组织结构为3×

4,其余参数取默认值

net=newsom([01;

01],[34]);

net=train(net,P);

y=sim(net,P);

%获取训练后的自组织神经网络的权值

w1=net.IW{1,1};

%绘出训练后自组织神经网络的权值分布图

plotsom(w1,net.layers{1}.distances);

%输入测试数据

p=[0.5;

0.5];

%对网络进行测试

y_test=sim(net,p);

%将测试数据所得到的单值向量变换成下标向量

y_test=vec2ind(y_test)

7.学习向量量化(LVQ)神经网络

属于前向神经网络,在模式识别和优化领域有着广泛应用

例6.针对一组输入向量,设计一个LVQ神经网络,经过训练后,能对给定的数据进行模式识别.

%输入向量P及其对应的类别向量C

P=[-6-4-20000246;

02-212-212-20];

C=[1112222111];

%将类别向量C转换为目标向量T

T=ind2vec(C);

%绘制输入向量P,用颜色将输入向量分为两类

Plotvec(P,C,’*r’);

axis([-88-33])

%创建一个LVQ神经网络,隐含层有5个神经元,[0.60.4]表示在隐含层的权值中,有60%的列的第一行的值是1,40%的列的第一行值为1,也就是说60%的列属于第一类,40%属于第二类,网络的其他参数取默认值

net=newlvq(minmax(P),5,[0.60.4]);

net.trainParam.epoches=100;

%给定数据,输出网络的分类结果测试网络的性能

p=[01;

0.20];

y=sim(net,p);

yc=vec2ind(y)

%对给定数据,一个归为第二类,一个归为第一类

yc=

21

8.Elman神经网络

反馈神经网络,他是一种有非线性元件构成的反馈系统,其稳定状态的分析比属于前向神经网络要复杂得多

可解决旅行商问题(TSP)

例7.下表为某单位办公室七天上午9点到12点的空调负荷数据,数据已经做了归一化处理,预测方法采用前6天数据作为网络的训练样本,每3天的负荷数据作为输入向量,第4天的负荷作为目标向量,第7天的数据作为网络的测试数据

空调负荷数据表

时间

9时负荷

10时负荷

11时负荷

12时负荷

第1天

0.4413

0.4707

0.6953

0.8133

第2天

0.4379

0.4677

0.6981

0.8002

第3天

0.4517

0.4725

0.7006

0.8201

第4天

0.4557

0.4790

0.7019

0.8211

第5天

0.4601

0.4811

0.7101

0.8298

第6天

0.4612

0.4845

0.7188

0.8312

第7天

0.4615

0.4891

0.7201

0.8330

%根据预测方法得到输入向量和目标向量

P=[0.44130.47070.69530.81330.43790.46770.69810.80020.45170.47250.70060.8201;

0.43790.46770.69810.80020.45170.47250.70060.82010.45570.47900.70190.8211;

0.45170.47250.70060.82010.45570.47900.70190.82110.46010.48110.71010.8298]'

T=[0.45570.47900.70190.8211;

0.46010.48110.71010.8298;

0.46120.48450.71880.8312]'

%输入向量的取值范围为[01],用threshold来标记

threshold=[01;

01];

%创建一个Elman神经网络,隐含层的神经元的个数为17个,4个输出层神经元,隐含层激活函数为tansig,输出层激活函数为purelin

net=newelm(threshold,[17,4],{'

tansig'

'

purelin'

});

net.trainParam.epoches=3000;

P_test=[0.45570.47900.70190.82110.46010.48110.71010.82980.46120.48450.71880.8312]'

T_test=[0.46150.48910.72010.8330]'

y=sim(net,P_test)

%在测试数据下,计算网络的输出和实际目标向量之间的差值

Error=y-T_test;

%在坐标平面上画出差值曲线

Plot(1:

4,error,'

-'

9.基于遗传算法的BP神经网络

BP神经网络是人工神经网络中应用最广泛的

缺陷:

学习收敛速度太慢;

不能保证收敛到全局最小点;

网络结构不易确定

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 医药卫生 > 药学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1