主要内容

配置浅层神经网络输入和输出

本主题是设计工作流程的一部分神经网络设计的工作流

在创建神经网络之后,它必须是配置。配置步骤包括检查输入和目标数据,设置网络的输入和输出尺寸以匹配数据,并选择要实现最佳网络性能的处理输入和输出的设置。当调用训练函数时,通常会自动完成配置步骤。但是,它可以通过使用配置功能手动完成。例如,要配置先前为近似正弦函数创建的网络,请发出以下命令:

p = -2:.1:2;t = sin(pi * p / 2);net1 =配置(net,p,t);

您已经提供了网络的示例集和目标(所需的网络输出)。有了这个信息,配置功能可以设置网络输入和输出大小以匹配数据。

配置后,如果在第1层和第2层之间的重量再次查看权重,则可以看到权重的维度为1到20。这是因为该网络的目标是标量。

net1.layerWeights{2,1}神经网络权重延迟:0 initFcn:(无)initConfig:.inputSize学习:true learnfccn:'learngdm'learnParam:.lr,.mc size:[1 10]weightFcn:'dotprod'weightParam:(无)userdata:(您的自定义信息)

除了为权重设置适当的尺寸外,配置步骤还定义了处理输入和输出的设置。输入处理可以位于输入子object:

net1.inputs {1}神经网络输入名称:'输入'FeedbackOutput:[] processfcns:{'removeConstantrows',mapminmax} processparams:{1x2单元格数组2 params} processsettings:{1x2单元格数组2设置} processedrange:[1x2 Double] ProcessedSize:1范围:[1x2双]尺寸:1 UserData :(您的自定义信息)

在将输入应用于网络之前,它将由两个功能进行处理:removeconstantrows.mapminmax.。这些都是完全讨论的多层浅层神经网络与反向传播训练所以我们不会在这里解决细节。这些处理功能可能有一些处理包含在子object中的参数net1.inputs {1} .processparam。这些具有默认值,可以覆盖。处理功能也可以具有配置依赖于示例数据的设置。这些包含在net1.inputs{1}.processSettings并在配置过程中设置。例如,mapminmax.处理函数使数据归一化,以便所有输入都属于[-1,1]。其配置设置包括样本数据中的最小值和最大值,需要执行正确的归一化。这将在更深入的深处进行讨论多层浅层神经网络与反向传播训练

作为一般规则,我们使用术语“参数”,如过程参数、训练参数等,来表示具有默认值的常数,这些值在创建网络时由软件指定(并且可以覆盖)。我们使用术语“配置设置”,正如在过程配置设置中一样,表示软件通过分析样本数据分配的常数。这些设置没有默认值,通常不应被覆盖。

有关更多信息,请参阅了解浅网络数据结构