一种用于构建神经网络的方法和设备与流程

文档序号:11831799阅读:170来源:国知局
一种用于构建神经网络的方法和设备与流程

本公开涉及神经网络技术,更特别地涉及一种用于构建神经网络的方法和设备。



背景技术:

神经网络是一个复杂的网络系统,其是通过将大量被称作“神经元”的简单处理单元广泛地互相连接而形成的。神经网络可以反映人脑功能的许多基本特征,它是一个高度复杂的非线性动力学习系统。通常,神经网络模型由网络拓扑、节点特点和学习规则来表示。神经网络的网络拓扑包括网络的层数、各层神经元的数量以及各个神经元之间相互连接方式。神经网络已被证明是一种非常有效的方法,而且被广泛应用在预测、图像和语音模式识别及函数优化等领域。但是同时神经网络也具有与其关联的缺点,诸如关联复杂、可解释性差等。并且由于神经网络中存在很多不必要的连接及边权,可能导致训练过程既繁琐又费时。

在由Hinton等人发表的文章“Improving neural networks by preventing co-adaptation of feature detectors”CoRR,abs/1207.0580(2012)中,公开了一种神经网络的构建方法,其中在神经网络训练时,随机选择以使网络中的某些隐含层的节点的权重不工作,以便减小有连接关系隐含节点的共同作用,从而提高神经网络的性能,防止模型过拟合问题。

出于说明的目的,在图1中示出了该文章中所提出的神经网络模型训练方法的流程图。如图1所示,首先初始化神经网络的拓扑结构。这特别地可以包括在步骤S101,首先设定神经网络的输入因子、输出因子;在步骤S102,设定隐含层中的神经元的数目;以及 在步骤103,对各隐含层的神经元之间执行全连接。接着输入样本数据执行网络训练。特别地,可以在步骤S104输入样本数据,调整神经元的数目和连接关系,训练连接权重。这例如包括针对每个样本随机使得隐含层以及输入层的部分神经元不工作。在利用训练样本进行训练后神经网络训练完成,这时神经元的连接权重被确定。在该文中提供的方法特别适用于训练样本较少的情况,在样本较少的情况下可以通过消除过拟合问题来提高神经网络性能。然而,当训练样本足够多时,这种随机丢弃隐含层节点的方法却会影响到最终神经网络的预测精度。

因此,在本领域中存在一种对用于神经网络构建的技术进行改进的需求。



技术实现要素:

有鉴于此,本公开公开了一种用于构建神经网络的方法和设备,其至少部分上消除或者缓解了上述问题。

在根据本公开的第一方面中,提供了一种用于构建神经网络的方法。该方法可以包括获取目标数据与其影响因素之间的关联关系模型,所述关联关系模型表征所述目标数据与其影响因素之间的关联性;根据所述关联关系模型,设定所述神经网络的网络拓扑;以及利用样本数据对所述神经网络进行训练。

在根据本公开的第一方面的一个实施方式中,根据所述关联关系模型,设定所述神经网络的网络拓扑可以包括:基于所述关联关系模型,确定所述神经网路的输入因子和输出因子以及确定所述神经网络的输入因子和输出因子与隐含层中的神经元的连接。

在根据本公开的第一方面的另一实施方式中,确定所述神经网络的输入因子和输出因子与隐含层中的神经元的连接可以包括:根据所述关联关系模型,确定所述神经网络的各个输入因子对于各个输出因子的权重;以及根据所述权重,确定所述输入因子和输出因子与所述隐含层的神经元的连接。

在根据本公开的第一方面的又一实施方式中,根据所述关联关系模型,设定所述神经网络的网络拓扑可以包括:针对第一隐含层,添加数目与所述输出因子的数目相同的神经元,所述神经元分别与相应的输出因子连接,并且根据所述关联关系模型,将添加的所述神经元与所述输入因子相连;以及针对所添加的神经元进行复制,以在所述第一隐含层产生用于各个输出因子的设定数目的神经元。

在根据本公开的第一方面的另一实施方式中,所述方法可以进一步包括针对其他隐含层:添加与所述其他隐含层的上一隐含层中的用于各个输出因子的神经元相同的神经元,以及在所述上一隐含层中和在所述其他隐含层中的用于相同输出因子的神经元之间进行全连接。

在根据本公开的第一方面的再一实施方式中,其中根据所述关联关系模型,设定所述神经网络的网络拓扑还可以包括:根据所述关联关系模型来设定每个隐含层的神经元的数目。

在根据本公开的第一方面的又一实施方式中,其中根据所述关联关系模型来设定每个隐含层的神经元的数目可以包括:确定与各个输出因子相关联的权重占所有权重之和的比例;以及基于确定的所述比例,确定每个隐含层中与各个输出因子相关的神经元的数目。

在根据本公开的第一方面的另一实施方式中,基于确定的所述比例,确定每个隐含层中与各个输出因子相关的神经元的数目可以包括:通过下式来确定所述神经元的数目:

<mrow> <msub> <mi>k</mi> <mi>j</mi> </msub> <mo>=</mo> <msqrt> <msub> <mi>m</mi> <mi>j</mi> </msub> <mo>+</mo> <mn>1</mn> </msqrt> <mo>+</mo> <msub> <mi>&mu;</mi> <mi>j</mi> </msub> <mi>&alpha;</mi> </mrow>

其中kj指示与第j个输出因子相关联的神经元的数目;mj指示与第j个输出因子相关联的输入因子的数目;以及μj指示与第j个输出因子相关联的权重占所有权重之和的比例;α为在1至10之间的预定常数。

在根据本公开的第一方面的一个实施方式中,所述获取目标数据及其影响因素之间的关联关系模型可以包括:使用Granger因果图模型,提取至少包含目标数据及其可能影响因素的多元时序列数据 的数据元素之间的关联关系。

在根据本公开的第一方面的另一实施方式中,可以在维持所设定的所述神经网络的网络拓扑的结构的情况下,对所述神经网络进行训练。

根据本公开的第二方面,提供了一种用于构建神经网络的设备。该设备可以包括:模型获取模块,被配置为获取目标数据与其影响因素之间的关联关系模型,所述关联关系模型表征所述目标数据与其影响因素之间的关联性;拓扑设定模块,被配置为根据所述关联关系模型,设定所述神经网络的网络拓扑;以及网络训练模块,被配置为利用样本数据对所述神经网络进行训练。

根据本公开的第三方面,提供了一种计算程序产品,其上包括有计算机程序代码,当被加载到计算机设备中时,其使得该计算机设备执行根据本公开的第一方面的方法。

根据本公开,提供了一种改进的用于构建神经网络的方法,其中通过挖掘输入输出数据之间的关联关系模型来初始设定神经网络的网络拓扑。利用该方法可以在不影响模型预测精度的情况下,大大节省网络的训练时间。

附图说明

通过对结合附图所示出的实施方式进行详细说明,本公开的上述以及其他特征将更加明显,本公开的附图中相同的标号表示相同或相似的部件。在附图中:

图1示意性地示出了现有技术中的一种用于神经网络构建的方法的示例;

图2示意性地示出了根据本公开的一个实施方式的用于构建神经网络的方法的流程图;

图3示意性地示出了根据本公开的一个实施方式的采样数据的示例;

图4示意性地示出了根据本公开的一个实施方式的目标数据及 其影响因素之间的关联关系模型的示意图;

图5A至图5C示意性地示出了根据本公开的一个实施方式的隐含层的构建的示意图;以及

图6示意性地示出了根据本公开的一个实施方式的用于构建神经网络的设备的方框图。

具体实施方式

在下文中,将参考附图详细描述本公开的各个示例性实施方式。应当注意,这些附图和描述涉及的仅仅是作为示例的优选实施方式。可以应该指出的是,根据随后的描述,很容易设想出此处公开的结构和方法的替换实施方式,并且可以在不脱离本公开要求保护的公开的原理的情况下使用这些替代实施方式。

应当理解,给出这些示例性实施方式仅仅是为了使本领域技术人员能够更好地理解进而实现本公开,而并非以任何方式限制本公开的范围。此外在附图中,出于说明的目的,将可选的步骤、模块、单元等以虚线框示出。

在此使用的术语“包括”、“包含”及类似术语应该被理解为是开放性的术语,即“包括/包含但不限于”。术语“基于”是“至少部分地基于”。术语“一个实施例”表示“至少一个实施例”;术语“另一实施例”表示“至少一个另外的实施例”。其他术语的相关定义将在下文描述中给出。

出于说明的目的,在具体描述本公开之前,将首先对神经网络进行简要描述。神经网络是由大量、简单的处理单元(称作神经元)广泛地相互连接而形成的复杂网络系统,它反映了人脑功能的许多基本特征,是一个高度复杂的非线性动力学系统。神经网络的拓扑结构通过包括输入层、一层或多层隐含层以及输出层。输入层负责接收输入数据(输入因子),并通过激励函数将其输出到隐含层。神经网络可以包含一个或多个隐含层,每个隐含层包括若干神经元。神经元是一个多输入单输出信息处理单元,用于对输入的信息进行 非线性处理。简而言之,隐含层负责接收输入层的输出,并经过激励函数而将其输出到输出层。需要说明的是,隐含层的神经元并不能从系统外部观察到,也就是说,从外部无法感觉到神经元的存在。输出层负责接收隐含层的输出,并通过激励函数产生整个网络的输出结果。

在下文中,将参考附图对根据本公开的实施方式的用于构建神经网络的方法进行描述。在下面的描述中,将参考诸如PM2.5、SO2的空气质量预测对本公开的实施方式进行描述。然而,需要说明的是,本公开并不仅限于此,而是也可以用于任何其他需要的场合。

图2示意性地示出了根据本公开的一个实施方式的用于构建神经网络的方法的流程图。如图1所示,首先在步骤S201,获取目标数据与其影响因素之间的关联关系模型,所述关联关系模型表征所述目标数据与其影响因素之间的关联性。

在本公开的实施方式中,将首先获取诸如PM2.5、SO2等目标数据及其影响因素之间的关联关系模型,所述关联关系模型反映所述目标数据与其影响因素之间的关联关系,即目标数据与哪些影响因素相关联以及关联程度(可选)。该关联关系模型可以通过任意适当的方式从采集数据中提取。在根据本公开的一个实施方式中,可以使用Granger因果图模型,提取至少包含目标数据及其可能影响因素的多元时序列数据的数据元素之间的关联关系。

采集数据例如可以包括气象数据和空气质量数据,并且还可以优选地包括交通数据、人口密度数据和污染源数据中的至少一项。对于收集数据,首先对数据进行预处理。例如可以将其归一化为具有相同时间尺度的数据序列,然后例如通过差分处理对其执行平稳化处理,接着例如基于时长和时间滞后约束将其转化为样本序列。此后,可以采用因果图迭代学习过程来识别多元时序列数据的数据元素之间的关联以得到因果图序列。例如,可以首先将数据序列划分为预定数目的段,得到每一段序列的因果图。然后可以通过计算整个序列中的每个样本与得到的因果图的拟合误差,而将每个样本 重新划归到与其拟合误差最小的因果图所对应的样本段中。针对新的样本更新因果图,并合并相似的因果图和对应的样本段。例如,可以基于因果图中各个时序列数据元素的权重计算欧氏距离,由此来确定相似的因果图。随后,可以确定更新的因果图与原因果图之间的变化。如果因果图没有发生变化,则认为因果图迭代收敛,并结束此因果图迭代学习过程。否则,重新计算每个样本的拟合误差并将每个样本重新划归到与其拟合误差最小的因果图所对应的样本段中,并且运行下一轮计算。在确定迭代收敛后最终得到的因果关系图即为关联关系模型。

出于说明的目的,在图3中示意性地示出了根据本公开的一个实施方式的采集数据的示例,并且在图4中示意性地示出了根据本公开的一个实施方式的目标数据及其影响因素之间的关联关系图的示意图。

如图3所示,采集数据可以包括在在不同时间点的一氧化碳数据、PM2.5数据、SO2数据、交通数据、温度数据、湿度数据、风速数据等。通过例如上面给出的关联关系提取方法,针对采集数据执行关联关系分析后,可以得到目标数据SO2和PM2.5与各个影响因素之间的关联关系模型,如图4所示。在图4中可以清楚看出,SO2与交通和温度相关,而PM2.5与交通和风速相关。在图4中下部的表格中示出了各个影响因素对于各个目标数据的权重。

接着在步骤S202,根据所述关联关系模型,设定所述神经网络的网络拓扑。

与传统方法中基于经验预先设定神经网络的网络拓扑不同,在本公开的实施方式中,基于关联关系模型来设定神经网络的网络拓扑。例如可以确定神经元网络的输入层中的输入因子、输出层的输出因子以及所述输入因子和输出因子与隐含层中的神经元的连接关系。隐含层的个数可以根据通过工程试验或者通过经验确定,而每层中的神经元的数据可以根据经验公式确定或者根据关联关系模型来确定。下面将对此进行详细描述。

根据关联关系模型所表征的目标数据与其影响因素之间的关联关系,可以确定出神经网络的输入层中的输入因子和输出层中的输出因子。特别地,对于关联关系模型中表征的目标数据和与其具有关联性的影响因素,可以将他们分别确定为输出因子和输入因子。例如,根据图4中示出的关联关系模型,可以确定输出因子是PM2.5和SO2,而输入因子是交通数据、温度数据和风速数据。通过确定输入因子和输出因子,可以确定出输入层中的神经元接收的数据和输出层中的神经元输出的数据。因此,在根据本公开的实施方式中,基于从采集数据中提取的目标数据及其影响因素之间的关联关系模型来确定输入因子和输出因子,而非基于经验关系来设定。通过这种方式可以在保证预测精度的情况下,减少不必要的输入数据,这将有助于节省网络训练的时间。

此外,进一步,可以确定神经网络的各个输入因子对于各个输出因子的权重,如图4中的下部表格所示,该权重反映出各个输入因子对于输出因子的影响程度或者重要性。所述权重可以在随后的步骤中用于确定所述输入层、所述输出层与所述隐含层的神经元的连接。

对于神经网络的拓扑结构而言,除了输入层和输出层外,每个隐含层中的神经元的数目也是需要设定的。在本公开的实施方式中,每个隐含层中的神经元的数目可以按照多种方式确定。例如,可以根据经验公式确定,或者替代地同样根据关联关系模型来确定该数目。

例如,在根据本公开的一个实施方式中,每个隐含层中的神经元的数目采用下述经验公式来确定:

<mrow> <mi>k</mi> <mo>=</mo> <msqrt> <mi>m</mi> <mo>+</mo> <mi>n</mi> </msqrt> <mo>+</mo> <mi>&alpha;</mi> </mrow> (式1)其中k指示一个隐含层中的神经元的数目;m指示输出因子的数目,n指示输入因子的数目,α为在1至10之间的预定常数。例如,在两个输出因子、三个输入因子以及α为设为5的情况下,k为7。即,每个隐含层中的神经元的总数为7。可以确定神经元在第一输出因子 和第二输出因子之间进行划分,例如可以基本上均分。在k为7的情况下,例如可以三个用于第一输出因子,四个用于第二输出因子,反之亦然。而对于总数为偶数(例如8个)的神经元,则可以针对每个输出因子分配4个神经元。

此外,也可以基于图4中示出的关联关系模型来进行划分。例如,可以根据关联关系模型,确定与各个输出因子相关联的权重占所有权重之和的比例;然后基于确定的所述比例,在所述第一输出因子和第二输出因子之间分配所述神经元。例如与第一输出因子SO2和第二输出因子PM2.5相关联的权重占所有权重之和的比例μ1和μ2分别为:

<mrow> <msub> <mi>&mu;</mi> <mn>1</mn> </msub> <mo>=</mo> <mfrac> <mrow> <mn>0.21</mn> <mo>+</mo> <mn>0.11</mn> </mrow> <mrow> <mn>0.21</mn> <mo>+</mo> <mn>0.11</mn> <mo>+</mo> <mn>0.18</mn> <mo>+</mo> <mn>0.31</mn> </mrow> </mfrac> <mo>&ap;</mo> <mn>0.4</mn> </mrow> (式2)

<mrow> <msub> <mi>&mu;</mi> <mn>2</mn> </msub> <mo>=</mo> <mfrac> <mrow> <mn>0.18</mn> <mo>+</mo> <mn>0.31</mn> </mrow> <mrow> <mn>0.21</mn> <mo>+</mo> <mn>0.11</mn> <mo>+</mo> <mn>0.18</mn> <mo>+</mo> <mn>0.31</mn> </mrow> </mfrac> <mo>&ap;</mo> <mn>0.6</mn> </mrow>

这样,就可以根据确定的比例确定出每个隐含层中用于第一输出因子的神经元节点为3(0.4*7≈3)而用于第二输出因子的神经元的节点为4(0.6*7≈4)。

在根据本公开的另一实施方式中,可以根据关联关系模型利用另一方式来确定每个隐含层中的神经元的数目。例如,可以根据关联关系模型,确定与各个输出因子相关联的权重占所有权重之和的比例;然后基于确定的所述比例,确定每个隐含层中与各个输出因子相关的神经元的数目。特别地,在一个特定实例中,可以基于通过下式来确定所述神经元的数目:

<mrow> <msub> <mi>k</mi> <mi>j</mi> </msub> <mo>=</mo> <msqrt> <msub> <mi>m</mi> <mi>j</mi> </msub> <mo>+</mo> <mn>1</mn> </msqrt> <mo>+</mo> <msub> <mi>&mu;</mi> <mi>j</mi> </msub> <mi>&alpha;</mi> </mrow> (式3)

其中kj指示与第j个输出因子相关联的神经元的数目;mj指示与第j个输出因子相关联的输入因子的数目;以及μj指示与第j个输出因子相关联的权重占所有权重之和的比例;α为在1至10之间的预定常数。例如,对于图4示出的关联关系模型,可以将与第一输出因子SO2和和第二输出因子PM2.5相关联的权重分别占所有权重之和的比例μ1和μ2分别确定为0.4和0.6,如式2所示。接着,根据上 面给出的式3,可以确定在隐含层中用于第一输出因子和第二输出因子的节点数目分别为

<mrow> <msub> <mi>k</mi> <mn>1</mn> </msub> <mo>=</mo> <msqrt> <mn>2</mn> <mo>+</mo> <mn>1</mn> </msqrt> <mo>+</mo> <mn>0.4</mn> <mo>*</mo> <mn>5</mn> <mo>=</mo> <mn>4</mn> </mrow>

<mrow> <msub> <mi>k</mi> <mn>2</mn> </msub> <mo>=</mo> <msqrt> <mn>2</mn> <mo>+</mo> <mn>1</mn> </msqrt> <mo>+</mo> <mn>0.6</mn> <mo>*</mo> <mn>5</mn> <mo>=</mo> <mn>5</mn> </mrow>

通过这样的方式,就可以确定出每个隐含层总共包括9个节点,其中4个是用于第一输出因子SO2,5个用于第二输出因子PM2.5。

在确定了隐含层数目之后,可以执行神经网络的隐含层构造。例如对于第一隐含层,可以首先添加数目与输出因子的数目相同的神经元,并将所述神经元分别与相应的输出因子连接。接着,根据所述关联关系模型所表示的输入因子与输出因子之间的关联关系,将与输出因子连接的神经元连接到与该输出因子有关联关系的输入因子。图5A示出了在添加神经元并将其与输入因子和输出因子连接后神经网络的图示。如图5A所示,其中添加了与第一输出因子SO2和第二输出因子PM2.5对应的两个神经元,其中利用以点填充的圆示出针对第一输出因子SO2添加的神经元,并利用以十字格填充的圆来示出针对第二输出因子PM2.5添加的神经元。在图5A中,所添加的神经元其中一个与第一输出因子SO2连接,并且依据图4示出的关联关系模型,将该神经元与交通和温度输入因子连接,而另一个神经元与第二输出因子PM2.5连接,并且依据图4示出的关联关系模型,该神经元还与交通和风速输入因子连接。

接下来,可以针对所添加的神经元进行复制,以在所述第一隐含层产生用于各个输出因子的设定数目的神经元。对于上述4个神经元是用于第一输出因子SO2以及5个神经元用于第二输出因子PM2.5的情况,可以另外复制三个与上面针对第一输出因子SO2所添加的神经元节点,并复制四个与上面针对第二输出因子PM2.5添加的神经元节点。复制的这些节点与被复制的节点与输入因子和输出因子具有相同的连接关系。如图5B所示。

进一步,在神经网络还具有其他隐含层的情况下,可以针对其他隐含层:添加与该其他隐含层的上一隐含层中的用于各个输出因子 的神经元相同的神经元。而在上一隐含层中和在该其他隐含层中的用于相同输出因子的神经元之间进行全连接。例如对于第二隐含层,可以添加与第一隐含层中的神经元数目相同的神经元,即共计9神经元,并且其中4个用于第一输出因子SO2,5个用于第二输出因子PM2.5。所添加的第二隐含层的神经元代替第一层神经元与输入因子连接,而在第一隐含层和第二隐含层的用于相同输出因子的神经元之间执行全连接,如图5C所示。对于第三或更上层的隐含层,可以采用类似方式确定,此处出于简化目的,不再进行详细说明。此处,需要说明的是,尽管每个隐含层中的节点与其他隐含层的节点数目是类似的,但是各个隐含层中的神经元中的激励函数并不一定是相同。也就是说,根据实际应用或者需要可以将这些神经元设置为具有相同的激励函数,或者设置为具有不同的激励函数。

通过上面所述的操作,可以形成初始的神经网络拓扑结构,如图5C所示,其中具有两个隐含层。此外,从该图5C也可以清楚看出,并未在各个隐含层的所有神经元之间进行全连接,而是仅在各个隐含层中用于相同输出因子的神经元之间执行全连接。在根据本公开的方法中,通过关联关系模型减少了隐含层之间的不必要的连接,因此这将会加快神经网络的训练,同时不会影响预测精度。

接着在步骤S203,利用样本数据对所述神经网络进行训练。训练方法可以采用现有技术中的任何方法,例如较常用的监督学习方法,其将样本数据中的对应输出因子作为期望值输出值,并将该期望输出至于实际输出值进行比较来调整权重,直至实际输出值与期望输出值的差别最小或者低于预定的阈值。在训练过程中,可以对于每个样本数据,使神经网络的拓扑结构均保持不变。即,并不改变初始设定的神经网络中的神经元的数目及其连接关系。这样可以进一步的消除因改变连接关系或者随机使一些神经元不同工作而造成的预测精度降低问题。

根据本公开,提供了一种改进的用于构建神经网络的方法,其中通过挖掘输入输出数据之间的关联关系模型来初始设定神经网络的 网络拓扑。利用该方法可以在不影响模型预测精度的情况下,显著节省网络的训练时间。

此外,在本公开中,还提供了一种用于构造神经网络的设备,下面将参考图6对其进行详细描述。

如图6所示,设备600可以包括模型获取模块610、拓扑设定模块620以及网络训练模块630。该模型获取模块610可以被配置为获取目标数据与其影响因素之间的关联关系模型,所述关联关系模型表征所述目标数据与其影响因素之间的关联性。该拓扑设定模块620可以被配置为根据所述关联关系模型,设定所述神经网络的网络拓扑。网络训练模块630可以被配置为利用样本数据对所述神经网络进行训练。

在根据本公开的一个实施方式中,所述拓扑设定模块620可以包括因子及连接确定模块621。该因子及连接确定模块622可以被配置为基于模型获取模块619所提供的关联关系模型,确定所述神经网路的输入因子以及输出因子以及确定输入层和输出层与隐含层中的神经元的连接。特别地,所述因子及连接确定模块被进一步配置为确定神经网络的各个输入因子对于各个输出因子的权重;以及根据所述权重,确定所述输入因子和输出因子与隐含层的神经元的连接。

在根据本公开的一个实施方案中,所述拓扑设定模块620包括隐含层构造模块624。所述隐含层构造模块624可以被配置为:针对第一隐含层,添加数目与输出因子的数目相同的神经元,所述神经元分别与相应的输出因子连接,并且根据所述关联关系模型,将添加的所述神经元与所述输入因子相连;以及针对所添加的神经元进行复制,以在所述第一隐含层产生用于各个输出因子的设定数目的神经元。进一步地,所述隐含层构造模块624可以被配置为针对其他隐含层:添加与所述其他隐含层的上一隐含层中的用于各个输出因子的神经元相同的神经元,以及在所述上一隐含层中和在所述其他隐含层中的用于相同输出因子的神经元之间进行全连接。

在根据本公开的一个实施方式中,所述拓扑设定模块620还可以 包括神经元数目设定模块626。该神经元数目设定模块可以如前所述根据经验公式来设定每个隐含层中的神经元的数目,也可以被配置为根据所述关联关系模型来设定每个隐含层的神经元的数目。特别地,所述神经元数目设定模块626进一步被配置为通过下述操作来确定每个隐含层的神经元的数目:确定与各个输出因子相关联的权重占所有权重之和的比例;以及基于确定的所述比例,确定每个隐含层中与各个输出因子相关的神经元的数目。具体地,所述神经元数目设定模块可以进一步被配置为通过下式来确定所述神经元的数目:

<mrow> <msub> <mi>k</mi> <mi>j</mi> </msub> <mo>=</mo> <msqrt> <msub> <mi>m</mi> <mi>j</mi> </msub> <mo>+</mo> <mn>1</mn> </msqrt> <mo>+</mo> <msub> <mi>&mu;</mi> <mi>j</mi> </msub> <mi>&alpha;</mi> </mrow>

其中kj指示与第j个输出因子相关联的神经元的数目;mj指示与第j个输出因子相关联的输入因子的数目;以及μj指示与第j个输出因子相关联的权重占所有权重之和的比例;α为在1至10之间的预定常数。

在根据本公开的另一实施方式中,所述网络训练模块630进一步被配置为在维持所设定的所述神经网络的网络拓扑的结构的情况下,对所述神经网络进行训练。即,在训练过程中,并不改变初始设定的神经网络中的神经元的数目及其连接关系。这样可以进一步的消除因改变连接关系或者随机使一些神经元不同工作而造成的预测精度降低问题。

在上面的描述中,主要参考空气质量预测的实施方式对本公开进行了描述;然而需要说明的是,本公开也有可能应用在其他预测场合。此外,在上面的描述中,参考图3和图4对采用数据和关联关系模型进行了描述,然而本公开并不仅限于此,在实际应用中关联关系模型可能更为复杂。在上文中描述了用于提取关联关系模型的采用数据和用于训练神经网络的样本数据;需要说明的是,这两组数据可以是相同的数据或部分相同的数据,也可以是完全不同的数据,只要他们能够用于关联关系提取和网络训练目的即可。在上面关联关系模型的提取的描述中参考了特定方式,然而需要说明的是, 也有可能采用任何其他用于提取关联关系模型的方式对关联关系模型进行提取。另外,基于关联关系模型来确定隐含层中的神经元数目的方式也不仅限于上面给出是实例,实际上还可以采用任何其他适当的方式。

另外还需理解的是,本公开的实施方式可以以软件、硬件或者软件和硬件的结合来实现。硬件部分可以利用专用逻辑来实现;软件部分可以存储在存储器中,由适当的指令执行系统,例如微处理器或者专用设计硬件来执行。本领域的普通技术人员可以理解上述的方法和设备可以使用计算机可执行指令和/或包含在处理器控制代码中来实现,例如在诸如磁盘、CD或DVD-ROM的载体介质、诸如只读存储器(固件)的可编程的存储器或者诸如光学或电子信号载体的数据载体上提供了这样的代码。本实施例的设备及其组件可以由诸如超大规模集成电路或门阵列、诸如逻辑芯片、晶体管等的半导体、或者诸如现场可编程门阵列、可编程逻辑设备等的可编程硬件设备的硬件电路实现,也可以用由各种类型的处理器执行的软件实现,也可以由上述硬件电路和软件的结合例如固件来实现。

虽然已经参考目前考虑到的实施方式描述了本公开,但是应该理解本公开不限于所公开的实施方式。相反,本公开旨在涵盖所附权利要求的精神和范围内所包括的各种修改和等同布置。以下权利要求的范围符合最广泛解释,以便包含所有这样的修改及等同结构和功能。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1