利用MATLAB进行神经网络拟合的实践 MATLAB神经网络拟合曲线实例

前言

本文介绍利用matlab的人工神经网络App进行简单的训练和拟合

对于我们来说,这是一个黑箱子,具体原理无需知晓,只要知道需要输入什么,能够得到什么就行了。

  • 需要输入数据:input和target,这是两个矩阵
  • 能够得到:input和target之间的函数关系。

有了这个映射关系,就能用任意输入数据来预测输出数据。

例如通过地理位置、时间、城市教育水平等等数据,来预测房价

房价和(地理位置、时间、城市教育水平等)就是一个函数关系。

我们通过神经网络得到的就是这个函数关系


本质上来说,就是一个拟合方法。就像最小二乘法拟合出曲线一样。只不过这个拟合方法可以拟合出任意的函数关系,不必拘泥于曲线曲面直线之类的,也不必拘泥于是否有解析式。

操作流程

1 打开MATLAB App ->Neural Net Fitting

matlab的神经网络拟合 matlab神经网络拟合曲线_拟合_02

matlab的神经网络拟合 matlab神经网络拟合曲线_拟合_03


或输入nftool

点击Next

2 导入数据

matlab的神经网络拟合 matlab神经网络拟合曲线_数据_04

数据有二:
1)输入数据
2)目标输出数据

我们导入例子的数据

matlab的神经网络拟合 matlab神经网络拟合曲线_App_05

选择预测房价那个数据

matlab的神经网络拟合 matlab神经网络拟合曲线_matlab的神经网络拟合_06


点导入之后

matlab的神经网络拟合 matlab神经网络拟合曲线_数据_07


输入数据是一个13*506的矩阵

每一列有十三行,是一个样本点。一共506行,即506个样本点。

输出数据则是1*506的矩阵
一共506列,每一列都代表输出值

3 训练(拟合过程)

matlab的神经网络拟合 matlab神经网络拟合曲线_App_08


matlab的神经网络拟合 matlab神经网络拟合曲线_数据_09

这里面的参数默认即可

traning表示用于训练的数据的比例
validation表示用于验证的数据的比例
test表示用于测试的数据的比例

还有个是隐藏层的神经网络数 默认为10

这个数越大,拟合精度会越大。但是会出现过拟合问题。也就是说太过精确让该函数关系失去了泛用性,在问题A上可以用,但是在和问题A相似的问题B上就用不了了。

选择训练算法

然后点击训练

matlab的神经网络拟合 matlab神经网络拟合曲线_数据_10

3 得到结果

方法1

matlab的神经网络拟合 matlab神经网络拟合曲线_matlab的神经网络拟合_11

点第一个,把训练得到的函数关系保存下来

得到如下函数

matlab的神经网络拟合 matlab神经网络拟合曲线_matlab的神经网络拟合_12

这个函数就是我们训练得到的函数关系了

用法也很简单
随便打开个脚本,就像用普通的函数一样用就行了
输入只需要一个,就是13列的输入数据
输出也只有一个,就是得到房价
我们随便在原始数据上改动一两个数字得到:

matlab的神经网络拟合 matlab神经网络拟合曲线_App_13

方法2

还有一种方法,就是把得到的函数关系保存成一个变量

这里叫做net1

点击 save Results

matlab的神经网络拟合 matlab神经网络拟合曲线_数据_14

工作区出现一个叫做net1的变量,这个就是函数关系

matlab的神经网络拟合 matlab神经网络拟合曲线_拟合_15

怎么用呢?

用sim(net1,输入数据)即可

matlab的神经网络拟合 matlab神经网络拟合曲线_matlab的神经网络拟合_16

评价结果(拟合的R值等)

在训练完成之后会弹出的

matlab的神经网络拟合 matlab神经网络拟合曲线_App_17


这里面Regression

就是显示R值的

matlab的神经网络拟合 matlab神经网络拟合曲线_App_18


Error Histogram就是显示误差分布的

matlab的神经网络拟合 matlab神经网络拟合曲线_matlab的神经网络拟合_19

结束

             

免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删

QR Code
微信扫一扫,欢迎咨询~

联系我们
武汉格发信息技术有限公司
湖北省武汉市经开区科技园西路6号103孵化器
电话:155-2731-8020 座机:027-59821821
邮件:tanzw@gofarlic.com
Copyright © 2023 Gofarsoft Co.,Ltd. 保留所有权利
遇到许可问题?该如何解决!?
评估许可证实际采购量? 
不清楚软件许可证使用数据? 
收到软件厂商律师函!?  
想要少购买点许可证,节省费用? 
收到软件厂商侵权通告!?  
有正版license,但许可证不够用,需要新购? 
联系方式 155-2731-8020
预留信息,一起解决您的问题
* 姓名:
* 手机:

* 公司名称:

姓名不为空

手机不正确

公司不为空