版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
15蜜源指数预测系统MLP模型优化学习目标是掌握MLP模型优化方法;掌握MLP模型测试方法132知识思政技能会优化MLP模型会保存模型培养学生科学探索精神逻辑思维能力设计步骤蜜源地指数预测系统先读取csv格式的训练集,然后对数据进行归一化处理,第三步搭建深度神经网络MLP模型,并应用深度学习优化算法训练出最优模型,最后应用最优模型预测蜜源地指数。具体设计步骤如图所示。六、
优化模型对于深度神经网络而言,增加隐藏层节点数和隐层个数对提高模型性能是有帮助的。于是,将网络结构在原有基础上再增加一个隐层。第一个隐层神经元数为10,使用Relu激活函数计算输出,第二个隐层神经元个数为18。具体重构神经网络的代码如下:六、
优化模型classMLPmodel(nn.Module):def__init__(self):super(MLPmodel,self).__init__()self.hidden=nn.Sequential(nn.Linear(13,10),#第1个全连接层nn.ReLU(),#第1个ReLU激活函数层nn.Linear(10,18),#第2个全连接层,隐层神经元个数为18个nn.ReLU()#第2个ReLU激活函数层)self.regression=nn.Linear(18,1)#输出层defforward(self,x):x=self.hidden(x)#计算隐层输出output=self.regression(x)#计算输出层returnoutput#返回输出结果net=MLPmodel()#定义网络net对于优化算法,原来选择的是SGD,经实验发现效果不好,换一种优化算法RMSprop再次实验,代码如下trainer=torch.optim.RMSprop(net.parameters(),lr=0.003)只需要更改优化算法名称就可以了。六、
优化模型再次训练模型,查看均方误差和loss曲线图,此处列出50轮误差。epoch:1loss:732.12158203125epoch:2loss:524.2017822265625epoch:3loss:640.1437377929688epoch:4loss:620.833740234375epoch:5loss:482.09564208984375epoch:6loss:575.7644653320312epoch:7loss:844.6163940429688……epoch:41loss:37.200096130371094epoch:42loss:17.66580581665039epoch:43loss:13.759908676147461epoch:44loss:27.945093154907227epoch:45loss:13.111113548278809epoch:46loss:19.256546020507812epoch:47loss:25.50996208190918epoch:48loss:22.524211883544922epoch:49loss:24.971452713012695epoch:50loss:11.871813774108887
这一次训练结果较好。第一轮误差为732,到第50轮,已经降到11,而且误差整体趋于收敛。六、
优化模型画出Loss曲线,如图所示。本次Loss曲线显示从第1轮到第25轮误差急剧降低,从第50轮到第200轮误差趋于稳定,曲线平滑,收敛于0左右。六、
优化模型通过以上分析,此时的MLP,共3层结构,输入层13个节点、第1个隐层10个节点、第2个隐层18个节点,输出层1个节点;学习率使用0.003,使用ReLU激活函数。网络模型参数如表3-1所示。模型契合数据,达到最佳分析效果。表1最优MLP模型参数六、
优化模型七、
测试最优模型得出最优模型后,将模型用于测试集,以测试该模型的优劣。3.1节讲到,本系统用的8000行蜜源地数据,6000行用于训练模型,2000行用于测试模型。下面使用测试数据test.csv完成模型的测试。测试步骤的数据处理部分与训练过程一致,不同之处在于直接使用训练好的模型计算特征值对应的标签,也就是蜜源地指数预测值。具体步骤为:1、导入测试集test_data=pd.read_csv('miyuanzhishu-test.csv')2、取出测试集中的特征test_X=test_data.iloc[:,4:-1]3、数据归一化test_X=test_X.apply(lambdax:(x-x.mean())/(x.std()))4、数据张量化处理test_features=tourch.tensor(test_X.values,dtype=torch.float325、使用3得出的最优MLP,代入第4步的数据,计算出预测值。preds=net(test_features).detach().numpy()#将预测结果preds向量转换为numpy的格式。6、输出预测值
preds7、将预测值preds格式化为数值导出test_data[‘蜜源指数’]=pd.Series(preds.reshape(1,-1)[0])#预测结果为1维数组,列名为蜜源指数8、输出预测结果result=test_data[[‘蜜源地名称’,‘经度’,‘纬度’,‘蜜源指数’]]#输出预测结果和蜜源地名称、经度、纬度七、
测试最优模型显示2000条预测数据的部分数据,如下图3.9所示,最右侧列为模型计算出的蜜源地指数。左图显示MLP模型预测出的蜜源地指数。以第一行为例,模型预测出的位于陕西省西安市的经度为116、纬度为34的一块蜜源指数为31.8,位于江苏省徐州市的经度为120、纬度为37的一块蜜源指数为37.5等。七、
测试最优模型预测模型属于回归问题。对于回归模型常用均方误差MeanSquareError(MSE)来评价预测性能。均方误差是对平均绝对误差求平方根,在计算时,先对真实值与预测值的距离平方后求和,再取平均值。按公式,编写本系统均方误差的代码为:defsquared_loss(y_pred,y_true):return(y_pred-y_true.reshape(y_pred.shape))**2/2蜜源地指数真实值在[7-45]区间,最终预测系统的均方误差约为0.011,说明模型较为准确。七、
测试最优模型八、保存MLP模型经过以上训练、调参,最终得到最契合本预测系统的MLP模型,把它保存起来,方便以后直接加载使用。PyTorch的模型和参数是分开的,可以分别保存或加载模型和参数。因此,PyTorch有两种模型保存方式:保存整个神经网络的的结构信息和模型参数信息,save的对象是网络net;或者只保存神经网络的训练模型参数,save的对象是net.state_dict()。在网络比较大的时候,第一种方法会花费
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 齐齐哈尔市拜泉县招聘幼儿教师考试真题2025
- 2026年山东省中考物理试卷附答案
- 2025年厦门市同安区所属卫生事业单位招聘专业技术岗位人员真题
- 阳江市阳春市人民医院招聘考试真题2025
- 《Python编程基础》实训任务-10 智能进程监控终端-任务文档
- 事业编面试题库精-选及答案
- 机关依申请公开制度
- 陵水新村红树林保护区巡护路项目环境影响报告表
- 暑假纠错特训|小学语文偏旁部首易混知识点深度辨析复习课
- 全栈开发工程师掌握微服务架构与容器化部署指导书
- 2026年本溪市明山区事业编单位人员招聘考试备考试题及答案详解
- 夏日游泳馆内秩序与安全管理 P课件
- 高铁桥梁施工方案及技术措施
- 2026年广西公需科目全套1卷《人工智能国家战略与政策通识》
- 2026年云南省中考语文试卷(含答案及解析)
- 2026年幼儿园生态教育
- 2026年新版事故应急处置卡模板(新版27类事故分类依据YJT 32-2025要求编制)
- 施工相邻建筑物保护措施方案
- 2026全球及中国MLCC用碳酸钡行业供需态势及前景动态预测报告
- (2026年)内蒙古赤峰市公务员遴选考试题及答案
- 20S515 钢筋混凝土及砖砌排水检查井
评论
0/150
提交评论