首页/文章/ 详情

基于机器学习的参数反演教程

1年前浏览1225


目录
1.简介
2.问题描述
3.软件环境
4.结果展示
5.操作步骤
6.代码获取

1.简介  

机器学习,正是风口上的猪,各个行业、许多人都想骑上这个风口的猪以期待创造出更多的价值。神经网络是机器学习的一种方法,因其强大的非线性功能在解决非线性问题领域是一个强有力手段。参数反演往往因其输入-输出之间的关系很复杂甚至没有明确的显示表达式,而神经网络进行参数识别可避开繁琐的公式,通过学习数据特征来表征输入-输出关系。

2.问题描述   

参数识别本身是很复杂的反问题,需要大量的时间,但为了演示这一过程,本文用一个简单的带有未知参数的表达式来阐述这一过程(微分方程含待求解的未知参数将在另一篇文章中分享)

         

其中a,b,c为待求解的未知参数,假设其真实值分别为3,4,0.5。测试数据使用真实值在自变量范围里等距取样10组数据。

 

3.软件环境   

Anaconda3+pycharm+pytorch

为什么选择pycharmAnaconda3+pytorch组合后,发现深度学习库的代码自动补全功能无法使用,这限制了搭建网络的效率,而pycharm正好可以自动补全深度学习库代码,很方便,就选它了!

 

4.结果展示   

图1 神经网络与真实值对比

         

2反演参数

图1为真实值与反演值对比图,可知两者吻合很一致。图2反演参数a,b,c分别为2.98,3.960.54,与真实值的最大误差为8%

         

5.操作步骤   

本案例中并没包含微分方程,因此网络搭建就会简单很多,下面将会展示如何来进行参数识别这一过程。本篇的目的不是为了收费,只是记录一下。常规算法如最小二乘法也能解决参数识别问题,用神经网络有点杀鸡焉用牛刀的感觉.

来源:仿真社
非线性
著作权归作者所有,欢迎分享,未经许可,不得转载
首次发布时间:2023-09-04
最近编辑:1年前
仿真社
硕士 ABAQUS/LS-DYNA探索者
获赞 213粉丝 531文章 92课程 5
点赞
收藏
未登录
还没有评论
课程
培训
服务
行家
VIP会员 学习 福利任务 兑换礼品
下载APP
联系我们
帮助与反馈