使用浅层神经网络拟合数据
神经网络擅长拟合函数。事实上有证据表明,一个简单的神经网络就可以拟合任何实用函数。
例如,假设您有一家健康诊所的数据。您想要设计一个网络,该网络可以基于 13 个解剖学测量值来预测人的体脂率。您总共有 252 个人的样本,其中包括这 13 项数据和相关的体脂率。
您可以用两种方法解决此问题:
使用图形用户界面 nftool,如使用神经网络拟合中所述。
使用命令行函数,如使用命令行函数中所述。
通常最好从 GUI 开始,然后使用 GUI 自动生成命令行脚本。在使用任何方法之前,首先通过选择数据集来定义问题。每个 GUI 都可以访问许多样本数据集,您可以使用这些数据集来试验工具箱(请参阅浅层神经网络的样本数据集)。如果您有要解决的特定问题,可以将您自己的数据加载到工作区中。下一节介绍数据格式。定义问题
要为工具箱定义拟合问题,请将一组 Q 输入向量排列为一个矩阵中的列。然后,将另一组 Q 目标向量(每个输入向量的正确输出向量)排列到另一个矩阵中(有关静态和时序数据的数据格式的详细说明,请参阅数据结构)。例如,您可以使用四组由二元素输入向量和一元素目标构成的数据来定义布尔 AND 门的拟合问题:
inputs = [0 1 0 1; 0 0 1 1];
targets = [0 0 0 1];
下一节说明如何使用神经网络拟合 (nftool) 训练网络来拟合数据集。此示例使用工具箱提供的体脂数据集。使用神经网络拟合
使用以下命令打开 Neural Network Start GUI:
nnstart
点击 Fitting app 打开神经网络拟合。(您也可以使用命令 nftool。)
点击 Next 继续。
在 Select Data 窗口中点击 Load Example Data Set。将打开 Fitting Data Set Chooser 窗口。
注意
当您需要从 MATLAB® 工作区加载数据时,请使用 Select Data 窗口中的 Inputs 和 Targets 选项。
选择 Chemical,然后点击 Import。这将返回 Select Data 窗口。
点击 Next 以显示 Validation and Test Data 窗口,如下图所示。
验证和测试数据集均设置为原始数据的 15%。
通过这些设置,输入向量和目标向量将随机分成如下三组&