2022年神经网络与回归方法分析 .pdf
《2022年神经网络与回归方法分析 .pdf》由会员分享,可在线阅读,更多相关《2022年神经网络与回归方法分析 .pdf(25页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、1 多元回归与神经网络的应用摘要本文主要是通过整理分析数据,以得出题目中所给出的ix与jy 的函数关系.由于数据并不是很充足,我们选择了所有数据为样本数据和部分数据为验证数据。我们首先采用了多元回归方法,由于数据之间并没有明显的线性或者其它函数关系,模型很难选择,得到的结论对于1y来说残值偏大,效果很差,于是我们引用了 BP神经网络,经过选择合适的参数,多次训练得到合适的网络,拟合得到了相对精确的结果,并进行了验证,最后将三种模型进行了对比。关键字:多元线性回归多元非线性回归最小二乘法牛顿法 BP 神经网络1.问题重述现实生活中,由于客观事物内部规律的复杂性及人们认识程度的限制,人们常收集大量
2、的数据,基于数据的统计分析建立合乎基本规律的数学模型,然后通过计算得到的模型结果来解决实际问题.回归分析法和神经网络是数学建模中常用于解决问题的有效方法.本文要解决的主要问题是:通过对所给数据的分析,分别用回归方法或神经网络来确立xi与yi之间的函数关系,并验证结论。2.问题分析题目要求我们使用 神经网络或回归方法来做相关数据处理,相比较之下,我们对回归方法比较熟悉,所以首先选取了回归方法。得到相关函数,并分析误差,再利用神经网络模型建立合理的网络,进行误差分析并和前者比较,得出合理的结论。3.符号说明mx的自变量个数回归系数残差Q 偏差平方和名师资料总结-精品资料欢迎下载-名师精心整理-第
3、1 页,共 25 页 -1 2,X Y分别为两个变量序列,iiXY的均值w(t)ij第一层网络与第二层网络之间的权值(t)ijB第二层神经元的阈值(t)jkw第二层与第三层之间的权值(t)jkB第三层神经元的阈值jkw第二层与第三层权值调整量jkB第二层与第三层阈值调整量ijw第一层与第二层权值调整量ijB第一层与第二层阈值调整量 Logsig 函数xey11Tansig 函数1-)e+(12x2-Q偏差平方和y观察值y回归值估计参数hS回归平方和1hS(p-1)个变量所引起的回归平方和(即除去ix)iQ偏回归平方和4.模型建立与求解名师资料总结-精品资料欢迎下载-名师精心整理-第 2 页,共
4、 25 页 -1 3 4.1 多元回归方法它是研究某个变量与另一些变量的函数关系.主要内容是从一组样本数据出发,通过合理分析得到正确的函数关系,建立相应的表达式,并通过相关软件处理得到相应的系数。4.1.1 多元线性回归方法1.回归模型的一般形式为:Y=01122.mmXXX其中01,.,m是待估计参数,e 是随机误差即残差。残差服从均数为 0,方差为2的正态分布。这就是线性回归的数学模型。12Yyy,X1114491494501504111xxxxxx,01234,12,那么多元线性回归数学模型可也写成矩阵形式:YX其中的分量是独立的。2.参数的最小二乘估计.为了估计参数,我们采用最小二乘估
5、计法.设014,.,b bb分别是参数014,.,的最小二乘估计,则回归方程为01144.ybb xb x由最小二乘法知道,014,.,b bb应使得全部观察值y与回归值y的偏差平方和 Q达到最小,即使2Qyy=最小名师资料总结-精品资料欢迎下载-名师精心整理-第 3 页,共 25 页 -1 4 所以 Q是014,.,b bb的非负二次式,最小值一定存在。根据微积分中的极值原理,014,.,b bb应是下列正规方程组的解:020,20,jjQQyybyy xb显然,正规方程组的系数矩阵是对称矩阵,用A来表示,则AX X,则其右端常数项矩阵 B亦可以用矩阵 X和 Y来表示:BX Y,所以可以得到
6、回归方程的回归系数:11bABX XX Y3.由于利用偏回归方程和iQ可以衡量每个变量在回归中所起的作用大小(即影响程度),设hS是 p 个变量所引起的回归平方和,1hS是(p-1)个变量所引起的回归平方和(即除去ix),则偏回归平方和iQ为12*0pjjhjijiiijhbQbSSb BBc就是去掉变量ix后,回归平方和所减少的量。4.建立模型453423121xbxbxbxbbyi5.模型的求解我们通过 MATLAB,求得其回归系数,并最终得到ix与iy的函数关系:1234112342339.849916.811411.548967.541415.5485,164.55800.18741.
7、797629.972812.4426,yxxxxyxxxx同时通过 MATLAB 可以得出ix与iy的误差结果如下:名师资料总结-精品资料欢迎下载-名师精心整理-第 4 页,共 25 页 -1 5 由此,我们可得出结论,采用多元线性回归得出的函数关系对于1y残差太大,效果很差,对于2y的拟合也并不是很完美。4.1.2 非线性回归方法1.数据标准化我们选用的是非线性模型LSE 的 Gauss-Newton 算法:采用 Z-score 标准化法,即对序列12,.,mx xx进行变换:iisxxy,(1其中,11NiiNxx,2111NisiNxx,则构成新序列,均值为0,方差为 1.。首先考虑单参
8、数的非线性回归模型:,iiifxY其残差平方和函数为名师资料总结-精品资料欢迎下载-名师精心整理-第 5 页,共 25 页 -1 6 21,NiSiifYX要使S取极小值,则令其一阶导数为0,来求.一个近似的方法是用Taylor 近似展开来代替。设的初值为1,则在1点附近函数有近似Taylor 展式:111,iiidfffdXXX可以求的其导数值,简记为:11,iidfdXZ则221111111,.NNiiSiiiiifYXZYZ即为线性回归11.iiiZY的残差和.上式被称为拟线性模型.其最小二乘估计是)()()()()()()(111112111112YZZZZZYniiniii如果我们有
9、的初值,就可以得到另一个新值,进而可以得到一个序列,写出一个迭代表达式,即1n与n的关系。若在迭代过程中有1n=n,即S的一阶导数为0,此时S取得一个极值。为了避免迭代时间过长或迭代来回反复,可以引入进步长控制函数nt,11Z()Z()nnnnnndStd12 Z()Z()()Y(X,)nnnnnntZfnt由计算机程序根据误差自动调整.上述算法一般称为Gauss-Newton 算法.名师资料总结-精品资料欢迎下载-名师精心整理-第 6 页,共 25 页 -1 7 2.建立非线性回归模型:采用多元二次多项式函数设函数:22011223344516127138149210231221124123
10、1334144ybb x b xb xb xb xb x xb x x b x xb xb x xb x xb xb x xb x通过Gauss-Newton 算法和MATLAB 计算最终得出以下结果:212341121221314223243342412212575.940129.457127.81901597.99601695.57780.87100.466535.30932.15491.289824.79770.912131.894694.336757.08592483.447814.59885.8585yxxxxxx xx xx xxx xx xxx xxyxx234112221314
11、223243342412.5802302.89100.48880.09558.72100.49710.21233.04590.141024.69235.203310.1871xxxx xx xx xxx xx xxx xx通过 MATLAB 编写相应程序所得结果如下:12,y y的残差图名师资料总结-精品资料欢迎下载-名师精心整理-第 7 页,共 25 页 -1 8 由图可以明显看出误差很大,拟合效果不好。综合多元非线性和多元线性这两种模型,我们可以发现y1并不适合这两种模型,y2模拟相对较好,但误差并没有足够小,不再我们的预期效果之内。于是我们采用了BP神经网络。4.2 神经网络4.2.1
12、模型的原理 BP(Back Propagation)神经网络是一种多层前馈神经网络。其由输入层、中间层、输出层组成的阶层型神经网络,中间层可扩展为多层。相邻层之间各神经元进行全连接,而每层各神经元之间无连接,网络按有教师示教的方式进行学习,当一对学习模式提供给网络后,各神经元获得网络的输入响应产生连接权值(Weight),隐含层神经元将传递过来的信息进行整合,通常还会在整合过程添加一个阈值,这是模仿生物学中神经元必须达到一定阈值才会触发的原理。输入层神经元数量由输入样本的维数决定,输出层神经元数量由输出样本的维数决定,隐藏层神经元合理选择。然后按减小希望输出与实际输出误差的方向,从输出层经各中
13、间层逐层修正各连接权,回到输入层。此过程反复交替进行,直至网络的全局误差趋向给定的极小值,即完成学习的过程。BP 网络的核心是数学中的“负梯度下降”理论,即BP的误差调整方向总是沿着误差下降最快的方向进行。.相关传递函数(或激励函数):阈值型(一般只用于简单分类的MP模型中)0,0()1,0 xf xx线性型(一般只用于输入和输出神经元)()f xx S型(常用于隐含层神经元)1()1xf xe或1()1xxef xeBP神经网络模型名师资料总结-精品资料欢迎下载-名师精心整理-第 8 页,共 25 页 -1 9 通常还会在激励函数的变量中耦合一个常数以调整激励网络的输出幅度。4.2.2 模型
14、的建立与求解步骤 1、准备训练网络的样本我们此次的 BP网络是一个 4 输入 2 输出的网络,如下表所示:序号X1 X2 X3 X4 Y1 Y2 1 8 10 0.5 14 41.32 14.3 2 8 14 0.7 15 725.67 0.0053 3 8 18 1 16 113.78 12.14 4 8 22 1.2 17 867.16 0.005 5 8 26 1.5 18 905.63 0.003 6 10 10 0.7 16 5.52 71.68 7 10 14 1 17 100.4 1 8 10 18 1.2 18 329.85 0.42 9 10 22 1.5 14 24.02
15、57.32 10 10 26 0.5 15 191.13 3.89 11 13 10 1 18 3.88 77.4 12 13 14 1.2 14 36.83 19.57 13 13 18 1.5 15 217.93 9.06 14 13 22 0.5 16 258.35 0.0041 15 13 26 0.7 17 398.46 0.0058 16 15 10 1.2 15 2.24 85.32 17 15 14 1.5 16 29.24 15.74 18 15 18 0.5 17 296.98 7 19 15 22 0.7 18 207.52 0.036 20 15 26 1 14 204
16、.86 0.706 21 18 10 1.5 17 3.16 85.5 22 18 14 0.5 18 15.92 36.32 23 18 18 0.7 14 49.4 29.52 24 18 22 1 15 149.6 0.51 25 18 26 1.2 16 255 0.05 26 8 28 1.2 18 69.3 86.32 27 8 20 1 18 58.9 81.9 28 8 17 0.7 18 125.5 98.39 29 8 15 0.5 18 85.1 95.2 名师资料总结-精品资料欢迎下载-名师精心整理-第 9 页,共 25 页 -1 10 30 8 13 1.5 18 1
17、15.3 97.75 31 10 28 1 18 15.5 35.44 32 10 20 0.7 18 18.8 42.4 33 10 17 0.5 18 17.3 41.98 34 10 15 1.5 18 66.4 83.58 35 10 13 1.2 18 58.6 82.52 36 13 28 0.7 18 18.1 42.48 37 13 20 0.5 18 21.8 50.7 38 13 17 1.5 18 77.1 87.58 39 13 15 1.2 18 62 82.24 40 13 13 1 18 36.2 66.06 41 15 28 0.5 18 26.9 62.04
18、42 15 20 1.5 18 135.3 98.15 43 15 17 1.2 18 61.3 84.26 44 15 15 1 18 36.3 68.88 45 15 13 0.7 18 17.7 45.72 46 18 28 1.5 18 184.9 99.2 47 18 20 1.2 18 80.5 90.58 48 18 17 1 18 41.9 69.6 49 18 15 0.7 18 21.2 48.84 50 18 13 0.5 18 8 22.74 步骤 2、确定网络的初始参数参数数值最大训练次数50000 隐含层神经元数量8 网络学习速率0.033 训练的目标误差30.65
19、 10步骤 3、初始化网络权值和阈值因为是 4个输入因子 8个隐含层神经元,则第一层与第二层之间的权值w(t)ij为8 4 的随机数矩阵:-0.044 0.325-0.099 0.149-0.031 0.180 0.332 0.350 0.2393 0.364 0.206 0.187 0.1475 0.248 0.394 0.322 名师资料总结-精品资料欢迎下载-名师精心整理-第 10 页,共 25 页 -1 11-0.005 0.191 0.163 0.269 0.1475 0.307 0.139 0.192-0.026 0.339 0.300 0.023-0.072 0.394 0.01
20、3 0.233 神经网络的阈值是用来激活神经元而设置的一个临界值,有多少个神经元就会有多少个阈值,则第二层神经元的阈值(t)ijB为8 1 的矩阵:-0.058 0.212 0.230 0.264 0.345 0.391 0.284 0.190T同理,第二层与第三层之间的权值(t)jkw为 2 8 的随机数矩阵:0.364-0.091 0.331 0.322 0.176-0.084 0.081 0.144 0.190-0.039 0.142 0.004 0.214 0.20-0.075-0.003 同理,第三层阈值(t)jkB为 2 1 的矩阵:-0.038 0.002 步骤 4、计算第一层神
21、经元的输入与输出假设第一层神经元中放置的是线性函数,所以网络第一层输入和输出都等于实际输入样本的值,所以第一层输出值1O=X。但是,因为输入和输出样本的量纲以及量级都不相同,所以须进行归一化处理。步骤 5、计算第二层神经元的输入对于第二层,神经元的输入是第一层所有的神经元的值与阈值的和,即2ijijIwXBones,其中ones是一个全为 1 的矩阵,所以2I是一个 8 50的矩阵,很容易得出2I。步骤 6、计算第二层神经元的输出假设第二层神经元激励函数为单极S型函数,即为1f(x)1xe,所以第二层神经元的输出2211IOe.所以第二层输出也是一个8 50 的矩阵。步骤 7、计算第三层的输入
22、和输出第三层输入与第二层输入相似,即32jkjkIwOBones,所以3I是一个250 的矩阵。步骤 8、计算能量函数 E能量函数,即网络输出与实际输出样本之间的误差平方和,其目的是在达到名师资料总结-精品资料欢迎下载-名师精心整理-第 11 页,共 25 页 -1 12 预定误差就可以停止训练网络。Y 是归一化处理后的实际输出样本。则:23(YO)136.9006E步骤 9、计算第二层与第三层之间的权值和阈值调整量权值调整量:32(YO)OjkjkEww,jkw是一个 2 8 的矩阵-33.644-39.7786 -38.55-40.2511-41.395-41.33 -37.804 -38
23、.256-11.433-11.8610-12.38-12.077-12.935-13.32 -12.509-12.633 同理,阈值调整量:3B(YO)jkjkEonesB,jkB是一个 2 1矩阵:-67.628 -22.343 步骤 10、计算第一层与第二层之间的权值和阈值调整量因为对于传递函数1f(x)1xe,有(x)(x)1(x)fff,故权值调整量:322(Y)(1)ijjkijEwwOOOXw所以ijw是一个 84 的矩阵:-0.183 0.482 0.710 -3.319 0.056-0.135 -0.193 0.769-0.099 0.547 0.615 -2.893-0.13
24、8 0.635 0.438 -2.696-0.072 0.132 0.615 -1.432 0.0764 -0.39 0.320 0.728-0.062 0.251 -0.066-0.730-0.101 0.323 0.1105-1.263 同理,阈值调整量:322B(Y)(1)ijjkijEwOOOonesB所以ijB为8 1 的矩阵:-7.113 1.674-6.119-5.1014-3.945 0.2310-0.9220 -2.335T步骤 11 计算调整之后的权值和阈值名师资料总结-精品资料欢迎下载-名师精心整理-第 12 页,共 25 页 -1 13(t 1)(t)w+(t)(t 1
25、)(t)+B(t)(t1)(t)w+(t)(t 1)(t)+B(t)jkjkjkjkjkjkjkjkjkjkijijijijijijijijijijEwwwwEBBBBEwwwwEBBBB此算法是让网络沿着E 变化量最小的方向搜索,所以经过一段时间的训练之后,神经网络会慢慢蜷缩收敛,直到完全拟合成目标输出值或接近目标输出值。下面是 y1 的神经网络训练动态图:步骤 12 还原网络输出的值因为在训练网络时,将输入和输出的样本经过了归一化的处理,所以要将3O还原成原始数据的量级。根据此算法,我们编出了matlab 程序,最终拟合结果如下:名师资料总结-精品资料欢迎下载-名师精心整理-第 13 页,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022年神经网络与回归方法分析 2022 神经网络 回归 方法 分析
限制150内