2012年河南理工大学数学建模竞赛模拟训练1

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

2012年河南理工大学数学建模竞赛模拟训练1
承诺书
我们仔细阅读了中国大学生数学建模竞赛的竞赛规则.
我们完全明白,在竞赛开始后参赛队员不能以任何方式(包括电话、电子邮件、网上咨询等)与队外的任何人(包括指导教师)研究、讨论与赛题有关的问题。

我们知道,抄袭别人的成果是违反竞赛规则的, 如果引用别人的成果或其他公开的资料(包括网上查到的资料),必须按照规定的参考文献的表述方式在正文引用处和参考文献中明确列出。

我们郑重承诺,严格遵守竞赛规则,以保证竞赛的公正、公平性。

如有违反竞赛规则的行为,我们将受到严肃处理。

我们参赛选择的题号是(从A/B/C/D中选择一项填写): A
我们的参赛报名号为(如果赛区设置报名号的话):
所属学校(请填写完整的全名):河南理工大学
参赛队员(打印并签名) :1. 金保罗
2. 王闪飞
3. 李晓
指导教师或指导教师组负责人(打印并签名):
日期: 2012 年 7 月 17 日赛区评阅编号(由赛区组委会评阅前进行编号):
2012年河南理工大学数学建模竞赛模拟训练1
编号专用页
赛区评阅编号(由赛区组委会评阅前进行编号):
全国统一编号(由赛区组委会送交全国前编号):全国评阅编号(由全国组委会评阅前进行编号):
洗涤溶液的配方
摘 要
本文通过对76个产品溶液的物理属性及效果数据的分析,首先对大量数据进行了预处理,由于BP 神经网络具有可逼近任何线性和非线性函数和多输入、多输出等优点,故本文以属性为输入变量,去污效果为输出变量,采用了BP 神经网络建立了相应的线性和非线性模型,并进行了预测和比较分析。

针对问题1,通过分析BP 神经网络理论和数据特征,提出了一种基于BP 神经网络的缺失数据估计的方法,有效地解决了数据缺失的问题。

然后对数据进行标准化和降维处理,得到六组输入变量)6,2,1( i x 和四组输出变量)4,3,2,1(j y 。

由各属性和去污效果的散点图,先建立多元神经网络的线性函数
)sgn(1
∑=+=i i i x w y θ,以初步确定洗涤溶液属性与功效之间的关系,将数据输入
MATLAB 程序得到结果(见附表)。

针对问题2,由于问题一中建立的线性模型预测效果不是很理想,需要对第一类模型进行进一步优化。

考虑到各测量值之间有一定的交互关系,因此问题二建立了BP 神经网络非线性模型,用x
e x
f -+=11)(作为特征函数,利用Matlab 神
经网络工具箱对模型参数进行训练和模拟。

结果表明,建立的BP 神经网络非线性模型输出结果与实测值接近,预测性较好。

针对问题3,我们考虑数据时发现数据之间有一定的相关性,而且数据量比较大。

同时采样的时候可能有误差,仅分析每一个数据并没有实际的意义。

因此我们在问题处理的过程中考虑从多个方面进行分析,例如求出数据的平均值、方差、第一四分位差、第三四分位差、极差等几个方面来分析数据的离散程度,数据间的相关性等。

针对问题4、5,我们采用误差和相对误差作为衡量模型预测精度的指标,题目中给出的从中等间距选取的10个产品作为检验模型预测精度的数据即样本,根据得到的样本与误差及样本与相对误差间的关系图,分析出模型的预测能力。

由模型预测效果的优劣进一步优化模型,进而选出最优的建模方法和最优模型。

关键词:BP 神经网络 数据处理 主成分分析 最优模型
一、问题重述
问题研究的背景:
洗涤溶液是通过其中的化学成分溶于水后改变水溶液的物理化学性质来实现去污的作用,因此通过测量洗涤产品溶于水后的溶液的一些属性就可以了解产品去污的效果。

如果能建立溶液属性和产品效果之间的模型,就可以找出能够最大化产品效果的溶液的属性,根据这些属性和化工技术知识我们就可以找出最优的配方。

试验设计及试验数据
为了研究洗涤溶液的物理属性对去污效果的影响,我们分别测量了86个不同产品溶液的物理属性和它们的去污效果的数据。

(附件一)
1.现有86个产品的物理属性及效果数据,从中等间距选取10个产品(即第
5,10,15,20,25,30,35,40,45,50个产品)作为验证模型预测精度的数据,请用剩下的76组数据来建立模型。

2.每一个产品的21个属性作为输入变量 (PP1—PP21)。

3.产品在18种污渍上的功效作为输出变量 (O1—O18)。

要求:
1.请根据现有数据拟合出一个数学模型,模型能够基于产品的属性数据对产
品的功效做出比较可靠的预测;
2.考虑所有输入变量的线性项,根据模型的需要选择它们的平方项及交互作
用项;
3.对此数据用多种不同的方法进行分析;
4.选择合适的能够反映模型预测能力的评价准则(可以根据需要提出新的准
则),并根据准则选出最优的建模方法和最优模型;
5.提供数据说明拟合出的模型的预测能力。

注意:某些产品的某些属性有缺失数据,请在文中说明你所采用的缺失数据处理方法。

说明:请参赛者提供一个预测程序,需满足如下条件
能够读取规定格式的Excel数据,并根据参赛者选出的最优模型对Excel 数据中所提供的输入变量对产品功效做出预测,并将预测结果按照一个规定的模版输出到一个新的Excel文件中
编程语言请从MATLAB、R, C中选取。

预测程序的数据输入及输出格式模版(见附件二.xls)
二、问题分析
2.1问题一、二的分析
附件1给出了洗涤溶液的物理属性及去污效果数据,但难以找到作为输
入变量的溶液属性与作为输出变量的去污功效之间的具体函数关系,并且本题具有多个输入与多个输出,BP 神经网络方法在处理这样的数据时具有优势,能逼近任意线性、非线性函数,不会出现数据有极值点的现象。

所以我们建立BP 神经网络模型。

首先将溶液属性的测量值经过处理后作为新的输入变量,并要考虑并确定测量值之间是相互独立的,还是有一定的交互关系。

接下来是函数关系的确定,先建立基础的多元神经网络的线性函数,以初步确定洗涤溶液属性与功效之间的关系,若预测效果不理想,则需要对方程进行进一步优化,考虑建立BP 网络非线性模型或其他更优模型,反复进行判断和优化,最后得到较理想的预测方程。

2.2问题三的分析
我们的考虑数据时发现数据之间有一定的相关性,而且数据量比较大。

因为采样的时候可能会有误差的存在,我们仅分析每一个数据并没有实际的意义,所以我们在问题处理的过程中考虑从多个方面进行分析,例如求出数据的平均值、方差第一四分位差、第三四分位差、极差等几个方面来分析数据的离散程度,数据间的相关性等。

2.3问题四、五的分析:
我们采用误差和相对误差作为衡量模型预测精度的指标,题目中给出的从中等间距选取的10个产品作为检验模型预测精度的数据即样本,根据得到的样本与误差及样本与相对误差间的关系图,分析出模型的预测能力。

由模型预测效果的优劣进一步优化模型,进而选出最优的建模方法和最优模型。

三、模型假设
(1).题中所给数据误差较小,有一定的准确度。

在分析允许的误差范围内。

(2).题目中所给洗涤剂的属性值与去污效果的数据吻合性较好,不会影响分析的结果。

(3).题目中所给数据均是影响去污效果的相关属性,不存在无关数据。

(4).题中所给数据中每一种洗涤剂与其他类型的洗涤剂之间互不影响。

四、符号说明
x 某种洗涤剂某种属性的属性值
_
x 某种洗涤剂某种属性的平均值
),2,1( n x i 某种洗涤剂某种属性的数值 )2,1( n y i 某种洗涤剂的去污效果值
ij w 输入层第i 个神经元与隐含层第j 个神经元之间的连接权值
jk w 表示隐含层第j 个神经元与输出层第k 个神经元之间的连接权值
j i θθ, 神经元阈值
S 样本方差
R 样本统计值极差 n 统计数
)2,1(^
n x i 统计量预测值
E 总误差
t e ^
相对误差
五、问题一的解答
5.1 数据预处理及变量降维
由于题目中的变量太多,如果直接由这么多的变量进行建模的话,非常耗费时间和精力,而且没有这么做的必要。

所以,为了精简模型,我们对这些变量进行预处理,将作用相似的变量合并为一个变量,然后进行进一步的操作。

5.1.1 补足数据
预处理的一项重要内容就是对缺失参数数据进行合理且有效地估计。

通过分析神经网络理论和数据特征,提出了一种基于BP 神经网络的缺失数据估计的方法,有效地解决了数据时缺失数据的问题。

缺失数据估计基于神经网络进行缺失数据估计的基本思想是:把同一 系统的除待估计参数以外的其它参数的数据作为网络的输入,待估计参数的数据作为输出,利用该系统中的已知数据训练网络,在网络满足要求后,把与待估计的数据同一时间的其它参数的数据输入网络,网络输出值即为缺失数据的 估计值。

利用数据检验,结果表明了这种方法是可行且有效的。

5.5.2 神经网络数据标准化处理(数据标准化结果见附表1)
神经网络根据梯度下降法调节连接权数,是误差函数最小。

在调节连接权数的过程中,当输入较大时,下一层节点转移函数的输入i x 比较大,其输出达到饱和,接近1,为了满足BP 网络的输入要求,必须对输入数据进行归一化。

数据的标准化:为了消除不同因子之间由于量纲和数值大小的差异而造成的误差, 以及由于输入数值过大造成学习溢出, 首先需要对数据进行标准化处理. 标准化处理的方法是用Z- Score 变换, 即先求出变量数据的均值和标准差S , 然后用变量值减去其均值, 再除以变量的标准差, 即得标准化后的数值, 用公式表示为: s x x x )('-= ;
标准化后,使得所有样本的输入信号其均值接近于0或与其均方差相比很小。

5.5.3 数据降维
对于后面的76组数据,我们去掉PP1用Matlab 得到了自变量的散点图(图一),可以看出大部分点还是集中在一块的,由此可建立BP 神经网络的线性函数模型对该问题进行求解。

图一 各属性之间相关关系的散点图
图二 各污渍之间相关关系的散点图
由变量间的相关性检验我们看出在21个输入变量的相关性检验中,有些变量之间存在明显的相关关系,在第六个属性之后变化很小,所以我们在这21种属性中我们可以只取前六项。

由此,得出新生成的6组输入变量)6,,2,1( =i x i (见表1)。

由于观察到18个去污指标中,有些指标相似度比较高,因此同样的道理,在这18种污渍中,有些污渍是同类污渍.所以,在之后的洗衣产品去污能力的实验中,就可以仅取此类污渍中的一种我们又得到4组输出变量)4,3,2,1(=y y j (见表二)。

其中,对输入变量的4组分类可以看成是对4种不同种类污渍的功效。

(处理后的完整见附表2)










表二 处理后的输出变量
5.2 BP 神经网络模型的建立
神经网络BP 算法用于多层网络, 网络中不仅有输入层节点及输出层节点, 而且还有一层至多层隐含层节点.本文采用具有多输入节点和多个输出节点的三层BP 神经网络, 含有三层隐含层. BP 神经网络模型拓扑结构如图1 所示.
1
x 2
x
3
x
4
x
4
x
5
x
1 0.13 0.07
0.73 0.08 0.17 0.27 2 0.94 0.01 0.40 0.82 0.13 0.54 3 0.70 0.23 0.36 0.19 0.22 0.16 4 0.85 0.52 0.29 0.45 0.11 0.21 5 0.21 0.46 0.87 0.01 0.14 0.22 ... ... ... ... ... ... ... 75 0.68 0.14 0.70 0.45 0.93 0.14 76 0.07 0.53 0.46 0.52 0.31 0.24
输入层 输出层
图2 中ij w 表示输入层第i 个神经元与隐含层第j 个神经元之间的连接权值,jk w 表示隐含层第j 个神经元与输出层第k 个神经元之间的连接权值.若权值为零, 说明相连的两个神经元不发生作用若为负, 说明相连的两个神经元之间相互抑制. 此外, 对于隐含层及输出层的各神经元而言, 它还有一个阈值, 其作用是调节神经元的兴奋水平.当有信息向网络输入时, 信息首先由输入层传至隐含层节点, 经特性函数作用后, 再传输出层输出, 其间每经过一层都要由相应的特性函数进行变换.
假设测量值之间是相互独立的,本程序要用神经网络线形函数
b ax x f +=)( ;
)s g n (1

=+=i i i x w y θ 使用MATLAB 软件编程实现的BP 算法步骤见附表1。

5.3 神经网络的训练与测试
选用1~76组数据作为训练样 本,经过训练停止,均方差小于0.000 2。

程序在执行完之后,根据产生的结果,我们将输入变量PP1至PP21划分为6组,划分情况如下:
5.4 模型求解结果
MATLAB 编程的BP 神经网络程序见附表 输出结果为:
Weight=-0.2831 0.5785 0.2009 -0.2839 0.000 0.0000
0.2475 0.1035 0.4806 -0.4019 0.000 0.000 -0.1376 -0.1115 0.1722 -0.4691 0.2808 0.1856 -0.2524 0.1287 0.1777 0.1950 0.1754 0.0000
1
2345678910
样本
函数输出
BP 网络预测输出
六:问题二的解答
6.1 模型的进一步优化
问题一建立基础的线性函数,以初步确定洗衣粉属性与功效之间的关系,但预测效果不理想,我们考虑输入变量和输出变量之间的函数关系并不一定如初始假设一样符合线性函数关系,也可能是更复杂的非线性模型,并且输出变量之间也许存在一些线性项,平方项以及
交互作用项。

各变量之间还有一定的交互关系,所以需要对方程进行进一步优化,考虑建立非线性方程模型或其他更优模型,反复进行判断和优化,最后得到较理想的预测方程。

并用一定的评价标准对得出的预测方程进行判定,最后,用实验数据对模型预测的精度进行验证。

所以选用S 型函数, 本文选用x
e x
f -+=11
)( 作为特性函数.
6.2 优化模型的建立
针对各变量之间还有一定的交互关系,探讨了属性对污渍的影响。

利用BP 神经网络建立了属性与污渍之间的非线性关系模型,采用Matlab 神经网络工具箱对模型参数进行训练和模拟。

初始数据的选择与处理由于系统是非线性的,为达到局部最小和能收敛,希望初始权在输入累加时,使每个神经元的状态值趋近于零。

权数一般取随机数,而且权值要求比较小,这可保证每个神经元在开始时都在它的转换函数变化最大的地方进行·算题实践证明,不 可将权值取相同数值,否则计算将无法进行下去,并避免“假饱和现象”,一旦出现此现象,意味着权值增量太小,应调整对于输入样本要求进行归一,使比较大的输入仍落在神经元转换函数梯度较大的那些地方,以便保证计算顺利进行。

优化模型选用x
e x
f -+=11)( 作
为特性函数.
具体步骤为:
(1) 连接权值ij w ,jk w 和神经元阈值j θ、k θ取随机值; (2) 从训练样本中取一样本, 把输入信息I X 输入到网络中; (3) 由网络分别计算各层节点的输出o ; ij n
i ij j o w net ∑==1
)(j j ij net f o θ+= (4) 计算神经元的误差;
对于输出层: );1()(^
k k k k k y y y y --=δ 对于隐含层: .)1(1ij q
k k j j j w o o ∑=-=δδ
(5) 调整连接权值和连接阈值: .,j j j i j ij ij o w w βδθθαδ-=-=、
(6) 输入下一个学习样本, 返回(3) , 直到全部学习样本训练完毕, 计算总误差E :
.)(212
11
^
∑∑==-=p i q j pq pq Y Y p E 以上式中,i o 为节点i 的输出; j net 为节点j 的输入;ij w 为从节点i 到节点j 的
连接权值; j θ为节点j 的连接阈值; j δ为节点j 的误差; \k y k y ^
分别为输出层上节点k 的实际输出(即由网络计算得到的输出) 及期望输出. p 为训练样本的个数, q 为输出单元个数. 如果E 小于预先设定的某一精度ζ, 则训练结束, 否则重新进行样本学习, 直到E ζ<为止.训练结束后, 预测模型就建立起来了, 可以用它来进行预测。

6.3 优化模型的求解
按照附录3的BP 网络模型的程序,将数据输入,用BP 神经网络得出权数:
result =
Columns 1 through 7
53.3844 90.4920 48.0176 30.5829 31.0777 37.6003 42.7503
Columns 8 through 14
45.2744 42.0096 39.5123 36.8972 38.8652 48.1628 43.1128
Columns 15 through 18
44.5820 40.9918 41.2594 41.4873
weight =
-3.2090 0.6523 0.6784 3.1567
bias =
-13.2014
BP 网络输出图为:
2
4
6
8
10
12
14
16
18
020406080100120140160180200:
024681012141618
20
40
60
80
100
120
140
160
024681012141618
40
60
80
100
120
140
160
180
024681012141618
20406080100120140160
根据输出结果,第一、三、四种污渍的优化模型的预测能力为优,第二种污渍的优化模型的预测能力为良,但由于该值较接近优等级的临界值,故认为该模型的四类非线性回归方程均有较好的预测能力。

七:问题三的解答
通过对数据的分析可以知道在附件一给出的数据中每一种洗涤剂的相同属性值有一定的相关性,这主要表现在数据的变化趋势是相同的,下图是PP3—PP21属性值的散点图(因为前三种属性值与其他的属性值的差别很大,所以我们在分析的时候只有暂不考虑前三列)
有上图可以看出给出的数据中有一部分数据之间的差别非常小,这也就启发我们属性值进行方差分析,来确定一些属性之间的关系。

因为方差体现的是数据之间的离散程度,另外根据常识也可以知道大部分的洗涤剂是有一定的相同或相似的属性。

下表是21种不同洗涤剂相同属性值的方差,因为有一部分数据时缺失的,
度,而常见的离散量数统计量有全距、标准差、异众比率、四分位差等。

其中标准差、异众比率、四分位差分别于平均数、众数、中位数相对应。

(1) 全距(range )。

全距又叫极差,它是一组数据中最大值与最小值之差。

全距的意义在于:一组数据的全距越大,在一定程度上说明这组数据的离散量数越大,而集中量数统计量的代表性就越差;反之一组数据的全距越小则说明这组数据的离散量越小,数据越集中。

其计算公式为:)()(i i x MIN x MAX R -= ;
从上表可以看出从PP10—PP21这12个属性值的全距很小:8.66 6.29 7.27 9.22 7.19 7.26 10.05 7.34 6.4 7.3 7.44 6.89
均小于10.1,说明各种洗涤剂在此中属性上的值离散性不高 (2)标准差
标准差的定义是:一组数据对其平均数的偏差平方的算术平均数的平方根。

它是用的最多的离散量数统计量,其计算公式为 n
X X S ∑-=
2
_
)
( ;
同样的我们观察到在每种洗涤剂的各种属性值中不同洗涤剂的PP10—PP21属性值的方差为:1.5574 1.3255 1.4268 1.9175 1.2706 1.3252 1.9863 1.4579 1.2561 1.5261 1.2380 1.2163,均是小于2,说明离散程度很低, (3)第一四分位差
第一四分位差(sample st 1 quartile )是指:当把数据集划分为两个部分时其中小于等于此时的数据约占整个数据集的25%,大于等于此数的数据约占整个数据集的75%。

它的计算公式是:首先将样本按照从小到大的顺序排好,即其中第i 名
者为)(i x 。

对于给定的n ,先求出41
+n ,齐整数部分记为k ,其小数部分记为f
(当然10<≤f )。

)()()1()(1k k k x x f x Q -+=+ ;
又有对于给出的数据进行分析时发现:同一种洗涤剂的PP10—PP21的属性值在数量层次上具有以下趋势:
所以,我们可以将这是项指标看为线性项;
(5)主成分分析
主成分分析是数学上对数据降维的一种方法。

其基本思想是设法将原来众多 的具有一定相关性的指标 1X ,2X ,…,p X (比如 p 个指标) ,重新组合成一组较 少个数的互不相关的综合指标m F 来代替原来指标。

那么综合指标应该如何去提 取,使其既能最大程度的反映原变量 p X 所代表的信息,又能保证新指标之间保 持相互无关(信息不重叠)。

根据统计学软件可以很容易的进行主成分分析,分析所得结果如下图,同样是满足我们上面所做的分析,即在这21个不同的属性值中有5个主要作用项,即前
八 :问题四、五的解答
8.1衡量预测精度(测量预测误差)指标
预测得到的一组预测值同实际值对应比较后,即可得知预测结果的精度如何。

衡量预测值精度程度的指标称为预测精度。

预测精度有很多不同的定义,主要取决于如何“比较”预测值与实际值。

现设一组预测值为:^1x ^2,x ^3,x ,, ^
,n x 对应的实际值为,1x ,,,,32n x x x 并记t x 与^
t x 之差为,t e .,,2,1n t =
在本文中,我们采用相对误差作为衡量预测精度的指标。

相对误差即误差t
e 在t x 中所占的百分比,其定义式为:^
t e ,^
t
t
t t t x x x x e -==
.,,2,1n t = 题目中给出的从中等间距选取10个产品(即第5,10,15,20,25,30,35,
40,45,50个产品)作为检验模型预测精度的数据,将其作为样本代入问题二优化后的模型,得到预测输出与期望输出。

将题目中作为检验模型预测精度的数据记为:.,,101x x 根据误差定义式:^
t t x e =,t x - .,,2,1n t =
取.10,,1 =t 得到样本与误差的关系,见图6。

BP 网络预测误差
误差
样本
神经网络预测误差百分比
再由相对误差的定义式: ^
t e t
t
x e =
, .,,2,1n t = 取.10,2,1 =t 得到误差百分比,见图7.
分析上述三个图可知,样本点9,7,6,5,2(即第10,25,30,35,45产品)误差值较小,误差百分比绝对值也较小,说明第10,25,30,45产品预测效果较好,而样本点.10,8,4,3,1(即第5,15,20,40,50产品)预测效果相对较差,所以模型需要进一步的优化。

在问题三中,由主成分分析方法得到解释误差百分比较重的属性,即主成分为PP1,PP2,PP3,PP4,PP5。

将其作为问题二BP 神经网络方法的数学模型的输入层节点,重新确定初始权数和阀值,再次依据BP 学习算法步骤及网络训练,得到进一步优化的模型。

然后重复上述计算误差和相对误差的过程,再次得到样本与误差的关系和误差百分比,见图8,图9。

012345678910
样本与误差
012345678910
-0.4
-0.2
0.2
0.4
0.6
0.8
1
样本与误差百分比
分析上述两个表可知,十个样本点的误差值和误差百分比绝对值都相对较
小,说明预测效果较好,因此用因子分析法处理初始数据,建立BP神经网络模型是最优的模型。

结果表明,利用神经网络建立的模型仿真结果与实测值接近,预测性较好。

九:模型的评价
优点:
(1 )解决了传统的数学方法不能解决的问题,说明BP网络具有高度非线性映射性能。

(2)不需要预先假定系统模型,只需利用已知的数据训练神经网络后,就可直接估计出缺失数据的数值,有较好的应用前景。

(3)与传统的回归分析法(一般统计方法) 相比, BP神经网络提供的数据较好,分类错误的次数很少。

(4)确定的网络模型结构是合理的,具有推广能力强的特点.
(5)BP神经网络模型有较好的拟合性,比逐步回归预测模型的预测精度高,而且预测结果稳定。

缺点:
由于BP 网络具有:1) 学习过程收敛慢;2) 神经网络初始权值的随机性和
网络结构确定过程中所带来的网络振荡等缺点,所以模型不是很让人满意。

十、参考文献
[1]张宏亭,李学仁,孔韬,BP神经网络在缺失数据估计中的应用,空军工程大学工程学院,陕西西安710038
[2]苏博,刘鲁,杨方廷, GM( 1 , N) 灰色系统与BP 神经网络方法的粮食产量预测比较研究北京航空航天大学经济管理学院, 北京100083 ; 21 北京航天二院国家仿真中心
[3]姜启源,谢金星,大学数学实验,北京:清华大学出版社,2005.
[4]风笑天,现代社会调查方法,武汉:华中科技大学出版社,2008.11
[5]龚纯,王正林,MATLAB语言常用算法程序集,北京:电子工业出版社,2008.6
附录:
附录一
x=[68.7 66.6 5610 19.2;
89.9 90.8 4500 11.8;
120.8 120.6 6800 20.6;
169 40.4 6160 40.6;
180.8 69.8 7330 33.4;
190.3 130.2 7320 31.6;
109.8 151.1 5754 86.1;
33.2 61.4 8255 22.6;
111.7 126.6 7040 13.6;]
for i=1:4
x1(i,:)=(x(i,:)-min(x(i,:)))/(max(x(i,:))-min(x(i,:))) end
附录二:(部分)
结果:
Columns 1 through 8
0.2260 0.3609 0.5576 0.8644 0.9395 1.0000 0.4876 0
0.2367 0.4553 0.7245 0 0.2656 0.8112 1.0000 0.1897
0.2956 0 0.6125 0.4421 0.7537 0.7510 0.3340 1.0000
0.0996 0 0.1184 0.3876 0.2907 0.2665 1.0000 0.1454 Column 9
0.4997
0.7787
0.6764
0.0242
rand =
2
22
1
3
10
11
31
12
29
28
Y =
Columns 1 through 9
66.2337 63.8274 72.4369 62.8321 58.7141 46.2904 55.9684 85.3554 58.1594
90.1704 85.8753 90.1850 95.0580 91.7308 84.4376 98.5001 92.3698 93.8768
87.1175 84.0292 88.1499 93.2487 86.1665 80.5444 92.9338 90.5605 88.4600
69.2198 61.9791 83.2707 74.7684 61.8807 51.4977 76.3051 85.9586 73.0736
48.0652 48.7364 64.7080 72.3936 34.8564 46.6875 71.3708 74.3853 47.0677
53.1129 49.9161 46.3519 67.4545 57.8831 57.3830 56.3620 68.1366 58.1417
75.4621 72.4049 75.6312 88.9296 77.5980 71.3883 88.8167 84.4784 81.6620
89.7712 85.6404 90.3289 92.8653 88.5811 84.8291 93.8817 89.6928 89.2562
68.3116 59.5825 70.2349 77.4157 50.6924 52.5390 69.2446 79.8893 68.1703
29.9042 29.2438 41.7297 40.8913 22.6875 20.4115 57.1197 51.4346 29.8798
20.4716 24.6499 44.3995 36.8198 16.6655 18.1577 58.9674 50.8282 16.6017
31.5933 26.5568 52.2450 41.8318 26.4268 16.8067 58.0664 63.3244 27.0743
37.4150 19.1520 40.4045 61.5813 20.9524 8.0091 64.6345 69.9632 30.1643
42.6950 27.0591 55.1443 75.5825 33.6301 24.5537 78.8839 71.6931 41.7634
52.4111 47.4934 48.6444 55.3896 49.9395 47.7196 49.4757 49.1515 50.4756
51.0245 45.7363 61.9671 51.1775 42.6009 44.1020 52.1661 53.7930 49.8352
24.6891 18.2240 23.4121 43.1110 23.3330 16.6271 34.9860 26.1077 19.9574
18.1601 11.6088 19.5506 27.1312 9.5049 9.9000 25.4739 20.2045 11.9755
平均残差百分比:0.12853.
附录三
T=1:1:18;
%输入样本和目标输出
p=[102.74 187.51 48.01 49.65 42.57 16.52 42.81 44.41 44.68 44.84 47.49 46.93 40.51 43.72 43.96 44.92 47.41 47.33;
90.74 158.03 46.81 49.78 57.14 21.90 43.00 45.97 45.63 44.04 48.50 49.53 41.27 44.67 44.36 44.79 47.46 46.00;
96.01 167.87 51.72 52.42 71.26 47.84 44.52 48.30 47.93 43.51 47.39 48.42 45.19 45.38 46.28 45.86 49.23 48.73;
86.15 154.73 47.41 42.79 30.18 18.08 42.79 43.79 43.18 43.83 43.94 43.56 42.38 43.30 43.88 43.72 45.06 45.46];
t=[42.91 92.38 86.54 63.78 28.84 31.48 75.10 87.94 43.43 23.50 24.37 27.89 19.35 27.74 41.01 47.75 14.53 17.52];
s1=4;s2=4;s3=1;%输入层,隐层以及输出层各层的神经元数
[R,Q]=size(p);
[S,Q]=size(t);
w1=[-13.2406 -8.8883 1.2111 -2.1919;0.4954 0.20729 0.21402 0.10116;-0.34757 -0.13691 -0.15081 -0.07379;-0.39188 -0.15828 -0.1692 -0.079797];%输入层到隐层的权值
b1=ones(4,18);%给输入层到隐层的阈值赋全一
[w2,b2]=rands(s3,s2);
b2=ones(1,18);%给隐层到输出层的阈值赋全一
n1=w1*p+b1;
a1=tansig(n1);%隐层的输出
n2=w2*a1+b2;
a2=purelin(n2);%输出层的输出
net = newff(minmax(p),[4,1],{'tansig' 'purelin'},'traingd');% 创建一个新的前向神经网络
% 设置训练参数
net.trainParam.lr= 0.15;
net.trainParam.show= 25;
net.trainParam.epochs=170000;
net.trainParam.goal=0.001;
% 对BP 网络进行仿真
Y=sim(net,p);
% 调用TRAINGD 算法训练BP 网络
net = train(net,p,t);
% 计算仿真误差
E = t- Y;
MSE=mse(E)
plot(T,t,'r+');
grid on;
hold on
plot(T,Y);
grid on;
hold off;
pause。

相关文档
最新文档