MATLAB如何调用RBF神经网络工具箱 matlab神经网络工具箱_拟合

对于想学习神经网络、机器学习的小伙伴,可以了解一下Matlab的神经网络工具箱。这个工具箱可以解决四类常见问题,并提供了一些示例数据,以及最后的结果可视化效果,可方便小伙伴对神经网络有个快速的认识和学习。

在Matlab的command窗口输入nnstart,即可调出神经网络工具箱,如下图所示,四类问题包括:

建立输入-输出的拟合关系;模式识别和分类;聚类;动态时间序列预测。

MATLAB如何调用RBF神经网络工具箱 matlab神经网络工具箱_神经网络_02

Matlab的神经网络工具箱

这里我们以第一个问题“建立输入-输出的拟合关系”为例,介绍一下这个工具箱的使用步骤。点击“Fitting app”,即可调出解决拟合问题的神经网络,默认是一个两层的神经网络,一个隐藏层和一个输出层。

MATLAB如何调用RBF神经网络工具箱 matlab神经网络工具箱_神经网络_03

解决拟合问题的神经网络

点击“Next”,到选择数据的界面。

MATLAB如何调用RBF神经网络工具箱 matlab神经网络工具箱_神经网络可以我们matlab吗_04

选择数据

这里我们用它自带的示例数据,点击“Load Example Data Set”,选择Engine这组数据。这组数据的输入是Fuel rate(燃油消耗率)和Speed(车速),输出是Torque(发动机扭矩)和Nitrous oxide emissions(一氧化二氮的排放)。

训练好之后的神经网络可以根据Fuel rate(燃油消耗率)和Speed(车速),输出对应的Torque(发动机扭矩)和Nitrous oxide emissions(一氧化二氮的排放)。

MATLAB如何调用RBF神经网络工具箱 matlab神经网络工具箱_神经网络_05

Engine示例数据

MATLAB如何调用RBF神经网络工具箱 matlab神经网络工具箱_拟合_06

选择Engine数据

选择好Engine数据后,点击Next。在训练之前,我们先要对数据进行分组,一部分用来训练连,一部分用来验证,还有一部分用来测试。将数据分为三组,也是机器学习中训练神经网络时常用的处理方式。

MATLAB如何调用RBF神经网络工具箱 matlab神经网络工具箱_数据_07

数据分组

这里可以选择默认的数据分组比例,点击Next,设置隐藏层的神经元数量,这里仍以默认的10为例。

MATLAB如何调用RBF神经网络工具箱 matlab神经网络工具箱_神经网络_08

设置隐藏层神经元数量

上述设置完成后,进入到神经网络的训练界面,如下图所示,这里可以选择不同的训练算法,我们以默认的为例,然后点击“Train”。

MATLAB如何调用RBF神经网络工具箱 matlab神经网络工具箱_神经网络可以我们matlab吗_09

神经网络的训练界面

训练好之后,则会出现以下界面。包括神经网络的结构、设置的算法(数据分组算法、神经网络训练算法、神经网络性能指标等)、神经网络训练过程指标(迭代次数、时间等),以及训练结果的可视化。

MATLAB如何调用RBF神经网络工具箱 matlab神经网络工具箱_神经网络_10

神经网络训练完成

点击Performance,如下图所示,可看到神经网络的输出与实际输出之间的误差逐渐减小。

MATLAB如何调用RBF神经网络工具箱 matlab神经网络工具箱_神经网络可以我们matlab吗_11

神经网络预测结果与实际结果之间的误差变化

点击Error histogram,如下图所示,可以查看神经网络预测结果与实际结果之间的误差分布。

MATLAB如何调用RBF神经网络工具箱 matlab神经网络工具箱_神经网络_12

神经网络预测结果与实际结果之间的误差分布

最后,我们将训练好的神经网络导出,Matlab提供了不同的格式:m-function、simulink模块以及代码生成。

MATLAB如何调用RBF神经网络工具箱 matlab神经网络工具箱_数据_13

导出训练好的神经网络

MATLAB如何调用RBF神经网络工具箱 matlab神经网络工具箱_数据_14

保存训练神经网络的结果