MATLAB 神经网络预测工具箱

神经网络

  • 神经网络预测,在使用上,类似一个黑盒子,输入一些自变量,输出一些因变量。
    在这里插入图片描述
  • 如图,从 Input 到 Output 中间有两个层,我们不需要知道他是怎么工作的,只需要知道我们需要设置哪些变量,如何使用就好了。

神经网络工具箱

  • 我们先从神经网络工具箱说起,工具箱的可视化界面和设计好的步骤有助于我们理解。
  • 首先输入 nnstart 选择 fitting start 或者从App里直接找到 fitting start
  • 点击 next 会出现如下画面
    在这里插入图片描述
clear
x1 = [7 1 11 11 7 11 3 1 2 21 1 11];
x2 = [26 29 56 31 52 55 71 31 54 47 40 66];
x3 = [6 15 8 8 6 9 17 22 18 4 23 9];
x4 = [60 52 20 47 33 22 6 44 22 26 34 12];
y = [78.5 73.4 104.3 87.6 95.9 109.2 102.7 72.5 93.1 115.9 83.9 113.3];
X = [x1' x2' x3' x4'];
y = y';
  • 其中数据如上所示,通常我们每一列是一个变量的多组数据,所以我们要选择 Matrix rows
    在这里插入图片描述
  • 接着会出现上图,选择训练、调整、测试的比例。其中训练、调整是机器学习过程,在学习中会自动调整参数,而测试只是用测试数据和原始数据进行比较,判断预测的准确度,并不会改变网络参数。
    在这里插入图片描述
  • 如上图,输如隐藏层参数(输出层参数是和Output 维度相同的),这个参数是影响我们网络精度的重要参数,建议多试几次进行比较。
    在这里插入图片描述
  • 接着我们要选择网络函数,有三个函数可选,不同特点的数据最优函数是不一样的,这也是影响网络精度的选择。同样,我们可以多试几次比较。点击 train 开始训练。
    在这里插入图片描述
  • 如图,即为训练后的窗口,此时网络已经训练完成,参数英文名说的很清楚了,就不赘述了。

神经网络评价

  • 建立完神经网络后,我们要对神经网络进行评价,判断网络拟合的效果如何。
  • 如上图,在 Plots 里面有五个按钮,点击可以自动作图。根据这些可视化的图可以判断网络效果。我经常用的是 Error Histogram 和 Regression
  • Error Histogram

在这里插入图片描述

  • 如图,误差分布图,很好的预测模型,误差集中在0附近,且基本呈正态分布。本例数据少,可见效果很不好。如果是大量数据,效果会很明显,下图是某次建模时画出的误差图。
    在这里插入图片描述
  • Regression

在这里插入图片描述

  • 如图,四个图分别是训练、调整、测试、所有数据的四张图。
  • 横坐标是原始值,纵坐标是预测值,所以我们希望点都在虚线(y = x)上,根据偏离程度可以看出误差。粗直线是根据这些点拟合的回归直线。R是相关度,越接近1表示越好(本例数据过少,有两个图只有两个数据点,出现了 R = 1 的情况)
  • 如下图是某次建模时做出的 Regression 图,可以看出,当数据很多时效果会很好。
    在这里插入图片描述

神经网络预测

  • 在评价网络满意之后,点击 next 到下图
    在这里插入图片描述
    即可以将得到的结果存在工作区中
  • 将网络命名为 net 存入工作区,再用 sim 函数即可预测。
    在这里插入图片描述

总结

  • 影响网络的参数有:隐藏层参数;训练、调整、测试比例;训练函数。当然,由于训练数据是随机的,所以每一次都会有差距。
  • 当我们要寻找最佳参数,或者有很多组网络需要构建时,用工具箱就会很麻烦,这时候就需要掌握用代码控制上述步骤。

猜你喜欢

转载自blog.csdn.net/qq_43575267/article/details/90145680
今日推荐