《2023年葡萄酒的评价大学生数学建模竞赛.doc》由会员分享,可在线阅读,更多相关《2023年葡萄酒的评价大学生数学建模竞赛.doc(49页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、葡萄酒评价大学生数学建模竞赛论文高教社杯全国大学生数学建模竞赛高教社杯全国大学生数学建模竞赛承承 诺诺 书书咱们仔细阅读了中华人民共和国大学生数学建模竞赛竞赛规则.咱们完全明白,在竞赛开始后参赛队员不能以任何方式(涉及电话、电子邮件、网上征询等)与队外任何人(涉及指引教师)研究、讨论与赛题关于问题。咱们懂得,抄袭别人成果是违反竞赛规则,假如引用别人成果或其她公开资料(涉及网上查到资料),必要按照规定参照文献表述方式在正文引用处和参照文献中明确列出。咱们郑重承诺,严格遵守竞赛规则,以保证竞赛公正、公平性。如有违反竞赛规则行为,咱们将受到严厉解决。咱们授权全国大学生数学建模竞赛组委会,可将咱们论文
2、以任何形式进行公开展示(涉及进行网上公示,在书籍、期刊和其她媒体进行正式或非正式刊登等)。咱们参赛选取题号是(从 A/B/C/D 中选取一项填写):A咱们参赛报名号为(假如赛区设立报名号话):所属学校(请填写完整全名):西南科技大学参赛队员(打印并署名):1.周 立2.李 婧3.赖永宽指引教师或指引教师组负责人(打印并署名):杨学南、王丽、倪英俊日期:年9 月 10 日赛区评阅编号(由赛区组委会评阅迈进行编号):高教社杯全国大学生数学建模竞赛高教社杯全国大学生数学建模竞赛编编 号号 专专 用用 页页赛区评阅编号(由赛区组委会评阅迈进行编号):赛区评阅记录(可供赛区评阅时使用):评阅人评分备注全
3、国统一编号(由赛区组委会送交全国前编号):全国评阅编号(由全国组委会评阅迈进行编号):葡萄酒评价葡萄酒评价摘要摘要酿酒葡萄好坏与所酿葡萄酒质量有直接关系,本文重要探讨酿酒葡萄与葡萄酒质量联系。问题一:(1)对于两组评酒员评价成果有无明显性差别,采用基于成对数据 t 检查法,从而得出两组评提成果无明显差别。(2)对于两组评提成果哪一种更可信,从两方面考虑,一方面通过求出总方差和大小来鉴定其稳定性;另一方面采用克龙巴赫信度系数,分别求出两组评分信度系数。综合考虑这两个方面,得出第二组评分较为可信。问题二:(1)为了简化酿酒葡萄理化指标,采用主成分分析法,得出酿酒葡萄八个重要成分,这八个重要成分涵盖
4、信息量超过了理化指标总信息量 85%。(2)为了划分酿酒葡萄级别,将酿酒葡萄主成分与葡萄酒评分采用多元线性回归模型进行拟合,由于拟合出评分与实际评分之间仍存在一定误差,因此取拟合值和实际值平均值作为酿酒葡萄最后评分,最后再依照评分来划分葡萄级别。问题三:对于酿酒葡萄和葡萄酒理化指标之间关系,采用 BP 神经网络模型,对酿酒葡萄重要成分作为输入层,相相应葡萄酒理化指标作为输出层,进行多达上万次训练拟合,得出训练值与实际值非常吻合,其相对误差在 0.06%如下。问题四:(1)对于探讨酿酒葡萄和葡萄酒理化指标对葡萄酒质量影响,一方面咱们假设葡萄酒质量与酿酒葡萄和葡萄酒理化指标、酿酒葡萄和葡萄酒芳香物
5、质这四个方面因素关于,采用 BP 神经网络模型,最后得出相对误差不大于 0.5%。接下来取消酿酒葡萄和葡萄酒芳香物质对葡萄酒质量影响,其她条件不变,最后得出酿酒葡萄和葡萄酒理化指标对葡萄酒质量影响很大。(2)对于论证能否用葡萄和葡萄酒理化指标来评价葡萄酒质量,定义了酿酒葡萄和葡萄酒理化指标对葡萄酒质量影响限度,最后得出,其最小影响限度不不大于89%,即芳香物质对葡萄酒质量影响较小,因此可以运用酿酒葡萄和葡萄酒理化指标来评价葡萄酒质量。核心词:核心词:t 检查信度系数主成分分析BP 神经网络GA 优化 BP 神经网络一、问题重述一、问题重述如何评判葡萄酒质量好坏普通是通过聘请一批资深评酒员,每个
6、评酒员在对葡萄酒进行品尝后对其分类指标打分,然后求和得到其总分,从而拟定葡萄酒质量。酿酒葡萄好坏与所酿葡萄酒质量有直接关系,葡萄酒和酿酒葡萄检测理化指标会在一定限度上反映葡萄酒和葡萄质量。附件中给出了两组评酒员对所抽到葡萄酒样品在进行品尝后得分状况以及各酿酒葡萄和葡萄酒理化指标,咱们需要解决问题有如下四个:问题一:分析两组评酒员评价成果有无明显性差别,哪一组给成果更可信。问题二:依照酿酒葡萄理化指标和葡萄酒质量对这些酿酒葡萄进行分级。问题三:分析酿酒葡萄与葡萄酒理化指标之间联系。问题四:分析酿酒葡萄和葡萄酒理化指标对葡萄酒质量影响,并论证能否用葡萄和葡萄酒理化指标来评价葡萄酒质量。二、问题分析
7、二、问题分析针对问题一:(1)对于两组评酒员评酒成果有无明显差别,咱们可以先求出每组葡萄酒整体评价平均分,通过作图来初步观测两组差别性,再进一步采用基于成对数据 t 检查法来判断两组评分有无明显差别。(2)对于两组评分哪一组更可信,从两个方面来考虑,一方面从每构成员评分之间稳定性来考虑,这就需要计算出每组针对每种样品酒整体评分方差,从而拟定哪一组更稳定;另一方面,咱们采用克龙巴赫系数来评估其可信度,分别算出每组评分信度系数,通过比较得出哪一组评分较为可信。针对问题二:酿酒葡萄级别划分与酿酒葡萄理化指标和葡萄酒样品质量有关,本文综合考虑如下两个方面:(1)对于酿酒葡萄,将其理化指标中二级指标归纳
8、到一级指标中,这样理化指标就剩 29 个,但指标还是太多,计算起来非常麻烦,因此先用主成分分析法求出相对较少,但涉及了理化指标 85%以上信息量主成分。(2)将得出酿酒葡萄主成分与葡萄酒样品评分进行线性回归分析,得出酿酒葡萄主成分评价分数表达式。针对问题三:对于分析酿酒葡萄与葡萄酒理化指标之间联系,采用 BP 神经网络,将问题二中酿酒葡萄理化指标分析出主成分作为输入,把葡萄酒理化指标作为输出,从而建立起两者之间关系。针对问题四:咱们可先假设葡萄酒质量不仅与酿酒葡萄和葡萄酒理化指标关于,并且与附件三所给出酿酒葡萄与葡萄酒芳香物质关于,采用 BP 神经网络模型,将这四个方面因素作为输入层,葡萄酒质
9、量作为输出层,得出训练值与实际值分布图,并分析其之间误差。接下来保存上述模型中各方面因素评价系数,而将酿酒葡萄和葡萄酒芳香物质对葡萄酒质量影响看做零,把酿酒葡萄和葡萄酒理化指标作为输入层,输出层不变,得出训练值与实际值分布,再分析两者之间误差。得出酿酒葡萄和葡萄酒理化指标对葡萄酒质量影响分数;最后定义一种酿酒葡萄和葡萄酒理化指标对葡萄酒质量影响限度表达式,来拟定这两方面因素对葡萄酒质量影响率,从而可以鉴定能否用酿酒葡萄和葡萄酒理化指标来评价葡萄酒质量。三、模型假设及符号阐明三、模型假设及符号阐明3.1 模型假设模型假设1假设葡萄酒质量评分分布服从正态分布;2假设葡萄酒酿制时人为因数基本相似;3
10、.假设样本数据抽取是随机,样本分布与主体分布相似;4.假设本题所给数据都是真实可靠;3.2 符号阐明符号阐明n总样品数(红葡萄酒 n=27;白葡萄酒 n=28)I葡萄酒样品数(红葡萄酒 i=1,227;白葡萄酒 i=1,2,328)Di两组评分员针对第 i 种样品葡萄酒打分均值之差dD1,D2Di 均值S两组评分员针对所有样品酒打分均值差原则差2xS表达检测葡萄酒样品总方差2iS表达第 i 种葡萄酒样品方差iF主成分分析法求到第 i 主成分y采用线性回归模型中评价分数ia线性回归中系数T酿酒葡萄和葡萄酒理化指标对葡萄酒质量影响率X考虑综合四个方面因素时 BP 训练得出质量评分。x考虑四个因素时
11、所得评价系数不变,即在X系数基本上只考虑前两个方面时得出质量评分。四、模型建立与求解四、模型建立与求解4.1 问题一模型建立及求解问题一模型建立及求解4.1.1 两组评价成果差别性判断两组评价成果差别性判断一方面求出第一组和第二组针对每个样品酒整体打分平均值,然后用 Matable 画出两组数据具体分布状况,如下图:图一:第一、二组对所抽样红葡萄酒整体评价平均分图二:第一、二组对所抽样白葡萄酒整体评价平均分结论:从图一和图二咱们很难客观判断两组评分之间差别性。进一步咱们再采用 t 检查1来鉴定两组数据之间有无明显差别:(1)针对第一、二组红葡萄酒样品评分 t 检查,作如下假设:010,:0DD
12、HH:针对红葡萄酒 n=27,/20.005(26)2.7787(0.01)tt即知回绝域为2.7787/dtsn(1)通过计算得到:2.58,6.35ds;2.11152.7787t,该 t 值不在回绝域,因此两组对红葡萄酒打分其成果无显差别。(2)第一、二组针对白葡萄酒样品评分 t 检查,作如下假设:010,:0DDHH:针对白葡萄酒 n=28;/20.005(26)2.7707(0.01)tt即知回绝域为2.7707/dtsn(2)可以计算得到:2.43333,6.4474ds;1.96112.7707t,因此 t 值在回绝域,因此对白酒打提成果无明显差别。综上所述,咱们得出结论是:两组
13、评酒员评价成果无明显差别。4.1.2 第一、二组可信度评价第一、二组可信度评价一方面分别对两组评酒员之间评分稳定性来衡量其可信度,求出第一组和第二组评酒员针对每个样品整体评分方差,用 Matlab 画出两组数据针对红、白葡萄酒评分方差分布图。如下图:图三:第一、二组分别对所抽样红葡萄酒整体评价方差图四:第一、二组分别对所抽样白葡萄酒整体评价方差从上图可观测出第二组评分方差较小,即第二组评酒员评分波动性较小,因此,从稳定性来考虑,可判断第二组评酒员评分相对较稳定。接下来采用信度系数法来计算两组评分可信度,克龙巴赫系数2计算公式如下:22=(1)1ixSnnS(3)红葡萄酒:n=27,i=1,2,
14、327白葡萄酒:n=28,i=1,2,328经计算得出:第一组红酒=0.8822;第一组白酒=0.9701;第二组红酒=0.9238;第二组白酒=0.9614;综上所述:通过考虑两组评分稳定性和信度系数,咱们认为第二组数据更为可信。4.2 问题二模型建立及求解问题二模型建立及求解4.2.1 针对酿酒葡萄理化指标主成分分析针对酿酒葡萄理化指标主成分分析一方面针对酿酒葡萄理化指标(X1,X2,XP)将其简化合并为 29 个,接下来采用主成分分析3重新组合一组较少互不有关综合指标 Fm,其具体计算环节如下:(1)计算协方差矩阵:=(sij)pp,其中11()()1nijkiikjjksxxxxni,
15、j=1,2,29(4)(2)接下来求出该矩阵特性值i及相应特性向量ia(见附录)。则第 i 个主成分 Fi 为:1piijjjFaX(5)主成分方差(信息)奉献率i为:1/miiii(6)(3)选取主成分:当前 m 个主成分合计奉献率到达 85%以上时,就认为这 m 个主成分大体可以反映该信息,G(m)表达式表述为:11()/pmikikG m(7)将附件 2 中数据代入以上模型中(具体程序见附录),分别得出酿酒葡萄主成分分析图如下:图五:红葡萄酒所用酿酒葡萄主成分分布图从上图中选用 m=8,即选用 F1 到 F8 为重要成分,其信息量可以达成总理化指标85.38%85%。具体主成分分布见表
16、1:红酒主成分F1F2F3F4F5F6F7F8信息奉献率24.5617.7413.098.5887.105.764.913.64表 1:酿红葡萄酒所用酿酒葡萄主成分分布图六:白葡萄酒所用酿酒葡萄主成分分布图从上图中选用 m=8,即选用 F1 到 F8 为重要成分,其信息量可以达成总理化指标95.28%85%,具体主成分分布见表 2:白酒主成分名称F1F2F3F4F5F6F7F8白酒主成分所比重%67.9510.364.884.153.463.002.221.96表 2:酿白葡萄酒所用酿酒葡萄主成分分布4.2.2 针对酿酒葡萄主成分与葡萄酒得分之间多元线性回归模型针对酿酒葡萄主成分与葡萄酒得分之
17、间多元线性回归模型酿酒葡萄在一定限度上影响了葡萄酒质量,本文将酿酒葡萄主成分和较为可信第二组评酒员评分联系起来,采用多元线性回归模型,把主成分分析得到主成分看做线性回归因子来模仿葡萄酒样品分数。最后得出酿酒葡萄初步得分状况。酿酒葡萄评价分数表达式为:80iiiyFa(8)(1)针对酿酒葡萄线性回归分析以及级别评判用 Matlab 软件求解得出酿制红葡萄酒所用葡萄评价分数表达式以及红葡萄酒得分与酿酒葡萄之间线性回归分析图如下:酿酒葡萄评分表达式可表达为:1234567856.30.000760.01190.47950.038450.18010.21120.0081749.534yFFFFFFFF
18、(9)图七:线性回归拟合值与实际值(红葡萄酒评分)比较图八:线性回归拟合值与实际值之间误差分布从图七和图八中可以看出多元线性回归成果和实际值之间差值相对不太大,为了进一步减小误差,咱们采用取两者均值方式作为酿酒葡萄整体评价得分(见附录)。综合红葡萄酒所用酿酒葡萄整体评价打分状况,得出其分数区间为65.575,82.33。将此区间 4 等分,得出四个区间65.575,69.764、(69.764,73.952、(73.952,78.141、(78.141,82.33。由此得出葡萄四个级别,如下表:分数区间65.575,69.764(69.764,73.952(73.952,78.141(78.1
19、41,82.33酿酒葡萄级别差中良优表 3:级别划分原则(红)酿酒葡萄级别划提成果如下表:酿酒葡萄样品序号123456789最后得分68.0475.3477.1370.5571.8267.8665.5768.8782.33级别差良良中中差差差优酿酒葡萄样品序号101112131415161718最后得分71.4166.9267.6673.2473.3366.2170.974.766.5级别中差差中中差中良差酿酒葡萄样品序号192021222324252627最后得分72.52575.474.7171.4980.8369.5672.2970.7372.555级别中良良中优差中中中表 4:(红)酿
20、酒葡萄级别划分表(2)针对白葡萄酒酿酒葡萄线性回归分析以及级别评判用 Matlab 软件求解得出酿制红葡萄酒所用葡萄评价分数表达式以及红葡萄酒得分与酿酒葡萄之间线性回归分析图九、十:51234567877.264 1.051 100.009593.4490.9750.3030.0360.00125.050yFFFFFFFF(10)图九:线性回归拟合值与实际值(白葡萄酒评分)比较图十:线性回归拟合值与实际值之间误差分布从图九和图十中可以看出多元线性回归成果和实际值之间差值相对不大,为进一步减小误差,咱们采用取两者均值方式作为酿酒葡萄整体评价得分(见附录)。综合白葡萄酒所用酿酒葡萄整体得分状况,得
21、出其分数区间为69.545,80.805。(同红葡萄酒酿酒葡萄解决办法)由此得出葡萄四个级别,如下表:分数区间69.545,72.36(72.36,75.175(75.175,77.99(77.99,80.805葡萄级别差中良优表 5:划分级别原则(白)酿酒葡萄级别划提成果如下表:酿酒葡萄样品序号12345678最后得分77.6675.9876.9176.86580.80576.8774.8172.275级别良良良良优良中差酿酒葡萄样品序号910111213141516最后得分77.94577.86573.23574.58575.1976.70576.8469.545级别良良中中良良良差酿酒葡
22、萄样品序号1718192021222324最后得分79.5276.09576.0377.96578.8578.6577.11576.11级别优良良良优优良良酿酒葡萄样品序号25262728最后得分77.7974.4178.3278.1级别良中优优表 6:(白)酿酒葡萄级别划分表4.3 问题三模型建立及求解(问题三模型建立及求解(BP 神经网络算法)神经网络算法)本文针对问题三采用 BP 神经网络算法,将酿酒葡萄主成分作为输入,葡萄酒理化指标作为输出建立 BP 算法,可以得出酿酒葡萄与葡萄酒理化指标之间联系。4.3.1 红葡萄酒红葡萄酒 BP 神经网络模型神经网络模型4一方面将问题二中运用主成分
23、分析法得出 8 个主成分作为输入,将附件二中给出红葡萄酒 9 个理化指标作为输出,建立四层 BP 算法。本 BP 算法输入层为 8 个节点,输出层为 9 个节点,内部具有两个隐含层,隐含层节点数都是 12 个。(程序见附录,本算法学习效率是 0.05,通过 100000 次运算整体误差达成 0.0543%)一方面针对单宁进行 BP 运算,得到 BP 训练值和葡萄酒理化指标实际值,比较成果如图十一、十二:(注示:节点处为“”曲线代表实际值,节点处为“”曲线代表 BP 训练值)图十一:BP 训练值与红葡萄酒中单宁实际值对比图十二:BP 训练值与单宁实际值相对误差分布接下来咱们把所有指标都进行考虑,
24、得出酿酒葡萄主成分 BP 运算值和葡萄酒中所有理化指标实际值,比较成果如下图:(注示:节点处为“”曲线代表实际值,节点处为“”曲线代表 BP 训练值)图十三:BP 训练值和所有理化指标实际值对比图十四:BP 训练值和所有理化指标实际值相对误差分布结论:从上图咱们可以看出,运用 BP 神经网络算法得到训练值与实际值非常吻合,通过 100000 次运算,其误差只有 0.0543%。4.3.2 白葡萄酒白葡萄酒 BP 神经网络模型神经网络模型本文在此一方面将酿酒白葡萄运用主成分分析法中得出 8 个主成分作为输入,将附件二中给出白葡萄酒 8 个理化指标作为输出,建立四层 BP 算法。本 BP 算法输入
25、层为 8 个节点,输出层为 8 个节点,内部具有两个隐含层,隐含层节点数都是 12 个。(程序见附录,本算法学习效率是 0.05,通过 27817 次运算整体误差达成 0.01%)本文一方面针对单宁进行 BP 运算,得到 BP 训练值和葡萄酒理化指标实际值,比较成果如下图:(注示:节点处为“”曲线代表实际值,节点处为“”曲线代表 BP 训练值)图十五:BP 训练值与白葡萄酒中单宁实际值对比图十六:BP 训练值与单宁实际值相对误差分布接下来咱们把所有指标都进行考虑,得出酿酒葡萄主成分 BP 运算值和葡萄酒中所有理化指标实际值,比较成果如下图:(注示:节点处为“”曲线代表实际值,节点处为“”曲线代
26、表 BP 训练值)图十七:BP 训练值和所有理化指标实际值对比图十八:BP 训练值和所有理化指标实际值相对误差分布结论:从上图咱们可以看出,运用 BP 神经网络算法得到训练值与实际值非常吻合,通过 27817 次运算,其整体误差只有 0.01%。综合红葡萄酒和白葡萄酒 BP 神经网络算法,咱们可以看出该模型得出成果与实际值非常接近,两者之间误差很小,特别是对于白葡萄酒,BP 训练值与实际值在通过27817 次运算整体误差就已经小到 0.01%。因此该模型对于解决此问题起到了非常好效果。4.4 问题四模型建立及求解问题四模型建立及求解4.4.1 BP 神经网络模型建立神经网络模型建立一方面假设葡
27、萄酒质量与酿酒葡萄理化指标、葡萄酒理化指标、酿酒葡萄芳香物质及葡萄酒芳香物质四个因素关于,采用 BP 神经网络算法,将酿酒葡萄经主成分分析后得到 8 个主成分、葡萄酒理化指标(在此只考虑一级指标,红葡萄酒理化指标有 9个,白葡萄酒有 8)、酿酒葡萄所含芳香物质总量、葡萄酒所含芳香物质总量作为输入层,将第二组评酒员针对葡萄酒评分作为输出层,来分析 BP 训练值与实际值之间差别。输入层中红葡萄有 19 个节点,白葡萄有 18 个节点;本网络共有四层,两个隐含层都是 8 个节点。训练精度是 0.01%,学习速度 0.05,运算次数 375。以红酒为例得出如下一系列图形,白酒状况见附录。图十九:综合考
28、虑四方面因素 BP 训练评分与实际评分对比(红)图二十:综合考虑四方面因素 BP 训练评分相对误差分布(红)从上图得出,考虑四方面因素 BP 训练分数与实际值吻合效果非常好,其误差最大不超过 0.5%。接下来咱们令上述得出各因素评价系数不变,采用 BP 神经网络模型,将酿酒葡萄主成分和葡萄酒理化指标作为输入层,将酿酒葡萄芳香物质和葡萄酒芳香物质对葡萄酒评分质量影响用零来代替,将葡萄酒评分质量作为输出层。输入层中红葡萄有 19 个节点,白葡萄有 18 个节点;本网络共有四层,两个隐含层都是 8 个节点。训练精度是0.01%,学习速度 0.05,运算次数 375。以红酒为例得出如下一系列图形,白酒
29、状况见附录。图二十一:酿酒葡萄和葡萄酒理化指标 BP 训练得到评分与实际评分对比图二十二:酿酒葡萄和葡萄酒理化指标 BP 训练得到评分与实际评分误差分布从上图看出,在保存系数不变状况下,只考虑酿酒葡萄和葡萄酒理化指标这两个因素,经 BP 训练得出分数与实际值吻合效果较好,两者相对误差率在 14%之内。4.4.2 酿酒葡萄和葡萄酒理化指标对葡萄酒质量影响限度计算酿酒葡萄和葡萄酒理化指标对葡萄酒质量影响限度计算为了求出酿酒葡萄和葡萄酒理化指标对葡萄酒质量影响限度,咱们定义其影响限度用下列式子来表达:-=1-x XTX(11)-x XX是指x对于X偏离限度,偏离限度越大则影响限度越低。用 Matla
30、b 软件作图得出酿酒葡萄与葡萄酒理化指标对葡萄酒影响率如下图:图二十三:(红)酿酒葡萄和葡萄酒理化指标对葡萄酒质量影响限度从图中分析得出:酿酒葡萄和葡萄酒理化指标对葡萄酒质量影响限度较大,最小时其影响限度达成 89%。综上所述,咱们可以得出葡萄酒和酿酒葡萄理化指标对葡萄酒质量也起到了决定性作用,而酿酒葡萄和葡萄酒芳香物质对葡萄酒质量有少量影响,因此可以运用酿酒葡萄和葡萄酒理化指标来评价葡萄酒质量。五、模型检查及改善五、模型检查及改善5.1 BP 模型检查模型检查本文在此以第四问中白酒为例:图二十四:综合考虑四方面因素 BP 训练评分与实际评分对比(白)图二十五:综合考虑四方面因素 BP 训练评
31、分相对误差分布(白)从白酒实际打分值和 BP 训练值比较图以及 BP 训练值相对误差可以明显得出白酒实际打分值与 BP 训练值是十分接近。阐明本文 BP 模型是十分精确可靠。5.2 BP 模型改善模型改善由于 BP 神经网络容易浮现陷入局部极小值状况,为了求得一种比较抱负全局值,本文在此引入遗传算法对 BP 神经网络进行优化。在代码实现方面本文重要分为三个方面,1.、GA 训练 BP 权值主函数,2、适应值函数,3、编解码函数。遗传优化 BP 模型成果如下:图二十六:遗传优化 BP 模型训练值与实际值比较图图二十七:遗传优化 BP 模型训练值与实际值相对误差通过度析上面两幅图形,可以看出遗传优
32、化 BP 模型训练成果与实际值是十分接近,并且在达成相似精度状况下,遗传优化 BP 模型所需要时间远不大于 BP 神经网络时间。本文第四问中红葡萄 BP 神经网络用了 5s,而达成相似精度下遗传优化 BP 模型耗时趋近于 0s。显然,通过改善后 BP 神经网络模型具有很强优势。六、模型评价六、模型评价长处长处:1.本模型运用 BP 神经网络,办法新奇,精确度极高;2.本模型能较好分析数据之间关系;3.本模型操作简朴,实用性高;4.本模型具有较好可移植性,能广泛运用于其他方面;缺陷缺陷:5.本模型考虑参数时也许浮现了漏掉状况;6.本模型采用 BP 神经算法,对于相似数据不同步候计算会有一点差别;
33、七、参照文献七、参照文献1盛骤 谢式千 潘承毅,概率论与数理记录,出版地:高等教导出版社,.6。2关守义,克龙巴赫 A 系数研究述评,心理科学,卷期号:32(3),685-687 页,。3吴海建,主成分分析基本思想及应用实例,河南省情与记录,30-31 页,.4。4卓进武,Matlab 在数学建模中应用,出版地:北京航空航天大学出版社,.4。八、附录八、附录9.1 问题一代码及数据:问题一代码及数据:9.1.1 问题一代码:问题一代码:(1)用 matlab 软件求解红葡萄酒整体评价平均分gr_rw1=62.780.380.468.673.372.271.572.381.574.570.153
34、.974.67358.774.979.360.178.679.277.177.285.67869.273.873;gr_rw2=68.17474.671.272.166.365.36678.268.861.668.368.872.665.769.974.565.472.675.872.271.677.171.568.27271.5;figure(Color,111);title(红葡萄酒整体评价);holdon;gridon;plot(gr_rw1,r+);plot(gr_rw2,b*);xlabel(红葡萄酒标号);ylabel(整体评价平均分);legend(第一组,第二组);(2)用 M
35、atlab 软件求解红葡萄酒整体评价方差er_rw1=92.90 39.79 45.82 108.04 62.01 59.73 103.61 44.01 32.94 30.40 89.7979.66 44.93 36.00 85.57 18.10 88.01 47.21 47.38 26.04 116.10 50.62 32.4974.89 64.62 31.29 49.78;er_rw2=81.88 16.22 30.71 41.29 13.66 21.12 62.68 65.11 25.73 36.18 38.0425.12 15.29 23.16 41.34 20.10 9.17 50.
36、27 55.16 39.07 35.51 24.27 24.7710.72 43.73 41.34 41.34;figure(Color,1 1 1);title(红葡萄酒整体评价方差,fontsize,18);hold on;grid on;plot(er_rw1,r+);plot(er_rw2,b*);xlabel(红葡萄酒标号,fontsize,14);ylabel(整体评价方差,fontsize,14);legend(第一组,第二组,fontsize,14);9.1.2 t 检查数据检查数据:第一、二组平均分差值:序号样品1样品2样品3样品4样品5样品6样品7样品8样品 9差值 Di5
37、.46.35.82.61.25.96.26.33.3序号样品10样品11样品12样品13样品14样品15样品16样品17样品18差值 Di5.78.514.45.80.4754.85.3序号样品19样品20样品21样品22样品23样品24样品25样品26样品27差值 Di63.44.95.68.56.511.81.5表:第一、二组对所抽样红葡萄酒整体评价平均分之差序号样品1样品2样品3样品4样品5样品6样品7样品8样品9样品10差值Di4.11.69.72.510.57.13.30.97.55.5序号样品样品样品样品样品样品样品样品样品样品11121314151617181920差值Di0.9
38、9.185.166.31.53.64.21.2序号样品21样品22样品23样品24样品25样品26样品27样品28差值Di2.88.41.52.82.4712.21.7表:第一、二组对所抽样白葡萄酒整体评价平均分之差9.2 问题二代码问题二代码9.2.1 用用 Matlab 求解主成分分析求解主成分分析clear;clc;load dataset;std1=corrcoef(dataset);vec,val=eig(std1);newval=diag(val);eigenvalue=newval;per=100*eigenvalue/sum(eigenvalue);%求出成分载荷矩阵per=p
39、er;cumsum(per);%列出各主成分累积奉献率figure(Color,1 1 1);hold on;pareto(per);%将奉献率绘成直方图title(酿制红葡萄酒用葡萄主成分分析,fontsize,18);xlabel(序号,fontsize,14);ylabel(分数,fontsize,14);legend(分数直方图,前 N 项分数和);92.2 多元线性回归代码多元线性回归代码clear;clc;load grape;grape_r=62.7 80.3 80.4 68.6 73.3 72.2 71.5 72.3 81.5 74.2 70.1 53.9 74.673.0 5
40、8.7 74.9 79.3 60.1 78.6 79.2 77.1 77.2 85.6 78.0 69.2 73.8 73.0;%进行多元线性回归算法grade=ones(length(grape_r),1),.grape(:,1),grape(:,2),grape(:,3),grape(:,4),grape(:,5),grape(:,6),grape(:,7),grape(:,8);b,bint,r,rint,stats=regress(grape_r,grade);%将得到系数 b 代入yy=0;n m=size(b);for ii=1:n;yy=yy+b(ii).*grade(:,ii)
41、;end;resoult=yy;figure(Color,1 1 1);hold on;grid on;title(红酒多元线性回归分析,fontsize,18);plot(yy,*);plot(grape_r,o);xlabel(样品序号,fontsize,14);ylabel(葡萄酒总分数,fontsize,14);legend(多元线性回归成果,实际值,fontsize,14);figure(Color,1 1 1);hold on;grid on;title(红酒多元线性回归相对误差,fontsize,18);plot(yy-grape_r)./grape_r,*);xlabel(样品
42、序号,fontsize,14);ylabel(相对误差,fontsize,14);9.3 问题三代码:问题三代码:9.3.1 用用 Matlab 求解求解 BP 神经网络算法神经网络算法clear;clc;load p.mat;load t.mat;%load ptest.mat;p=p;ptest=p;t=t;pn,minp,maxp,tn,mint,maxt=premnmx(p,t);%将数据归一化NodeNum1=12;%隐层第一层节点数%NodeNum2=8;%隐层第二层节点数%,NodeNum2TypeNum=12;%输出维数TF1=tansig;TF2=tansig;TF3=tan
43、sig;TF3=purelin;a=minmax(pn);net=newff(minmax(pn),NodeNum1 TypeNum 9,TF1 TF2 TF3,traingdx);%网络创建 traingdmnet.trainParam.show=1000;net.trainParam.epochs=100000;%训练次数设立net.trainParam.goal=1e-4;%训练所要达成精度net.trainParam.lr=0.05;%学习速率net=train(net,pn,tn);p2n=tramnmx(ptest,minp,maxp);%测试数据归一化an=sim(net,p2n
44、);%训练好后由输出端求输入端值a=postmnmx(an,mint,maxt);%数据反归一化,即最后想得到预测成果n,m=size(p);error=t-a;%误差向量figure;grid on;plot(1:length(t),t(1,:),-o,1:length(t),a(1,:),-x);title(o 表达实际值-*表达 BP 训练值);figure;grid on;error_xd=error./t;plot(1:length(error),error_xd(1,:);title(相对误差变化图);figure;grid on;plot(1:length(t),t,-o,1:l
45、ength(t),a,-*);title(o 表达实际值-*表达 BP 训练值);figure;grid on;error_xd=error./t;plot(1:length(error),error_xd,o);title(相对误差变化图);9.4 问题四代码及图像:问题四代码及图像:9.4.1 问题四代码:用问题四代码:用 Matlab 软件求解软件求解 BP 神经网络算法神经网络算法clear;clc;load pr4.mat;load tr4.mat;%load ptest.mat;p=p;ptest=p;t=t;pn,minp,maxp,tn,mint,maxt=premnmx(p,
46、t);%将数据归一化NodeNum1=8;%隐层第一层节点数%NodeNum2=8;%隐层第二层节点数%,NodeNum2TypeNum=8;%输出维数TF1=tansig;TF2=tansig;TF3=tansig;TF3=purelin;a=minmax(pn);net=newff(minmax(pn),NodeNum1 TypeNum 1,TF1 TF2 TF3,traingdx);%网络创建 traingdmnet.trainParam.show=1000;net.trainParam.epochs=100000;%训练次数设立net.trainParam.goal=1e-4;%训练所
47、要达成精度net.trainParam.lr=0.05;%学习速率net=train(net,pn,tn);p2n=tramnmx(ptest,minp,maxp);%测试数据归一化an=sim(net,p2n);%训练好后由输出端求输入端值a=postmnmx(an,mint,maxt);%数据反归一化,即最后想得到预测成果n,m=size(p);error=t-a;%误差向量figure;grid on;plot(1:length(t),t(1,:),-o,1:length(t),a(1,:),-x);title(实际分数与 BP 训练分数对比图,fontsize,18);xlabel(红
48、葡萄酒样品序号,fontsize,14)ylabel(分数,fontsize,14)figure;grid on;error_xd=error./t;plot(1:length(error),error_xd(1,:),-o);title(BP 训练分数相对误差,fontsize,18);xlabel(红葡萄酒样品序号,fontsize,14);ylabel(相对误差,fontsize,14);%figure;grid on;%plot(1:length(t),t,-o,1:length(t),a,-*);%title(o 表达实际值-*表达 BP 训练值);%figure;grid on;%
49、error_xd=error./t;%plot(1:length(error),error_xd,o);%title(相对误差变化图);9.4.2 白葡萄酒用白葡萄酒用 BP 神经网络求解成果图示神经网络求解成果图示图:综合考虑四方面因素 BP 训练评分与实际评分对比图:BP 训练评分与实际评分误差分布图:只考虑酿酒葡萄和葡萄酒理化指标所得到 BP 训练评分和实际评分对比图:只考虑两个因素时 BP 训练值与实际值误差分布图图:(白)酿酒葡萄和葡萄酒理化指标对葡萄酒质量影响限度9.5 用遗传算法改善用遗传算法改善 BP 神经网络模型代码神经网络模型代码function net=GABPNET(X
50、X,YY)%-%GABPNET.m%使用遗传算法对 BP 网络权值阈值进行优化,再用 BP 算法训练网络%-%数据归一化预解决nntwarn offXX=XX;YY=YY;A=XX;B=YY;XX,minXX,maxXX,YY,minYY,maxYY=premnmx(XX,YY);%XX=premnmx(XX);%YY=premnmx(YY);%创建网络net=newff(minmax(XX),19,25,1,tansig,tansig,purelin,trainlm);%下面使用遗传算法对网络进行优化P1=XX;T1=YY;R=size(P1,1);S2=size(T1,1);S1=25;%