一种小样本数据预测方法及装置与流程

文档序号:18555127发布日期:2019-08-30 22:29阅读:972来源:国知局
一种小样本数据预测方法及装置与流程

本发明涉及神经网络预测方法领域,尤其涉及一种小样本数据预测方法及装置。



背景技术:

反向传播神经网络实质上实现了一个从输入到输出的映射功能,数学理论证明三层的神经网络就能够以任意精度逼近任何非线性连续函数。这使得其特别适合于求解内部机制复杂的问题,即反向传播神经网络具有较强的非线性映射能力。神经网络在训练时,能够通过学习自动提取输出、输出数据间的“合理规则”,并自适应的将学习内容记忆于网络的权值中。即反向传播神经网络具有高度自学习和自适应的能力。所谓泛化能力是指反向传播神经网络具有将学习成果应用于新知识的能力。反向传播神经网络具有一定的容错能力,在其局部的或者部分的神经元受到破坏后对全局的训练结果不会造成很大的影响,也就是说即使装置在受到局部损伤时还是可以正常工作的。这些优点使得反向传播神经网络广泛被设计成分类和预测模型。

反向传播神经网络应用在小样本中进行预测时,存在严重的过拟合现象。即网络的训练能力很强,几乎能记住所有的训练数据,这导致网络,预测能力非常低,即出现所谓“过拟合”现象。此外,反向传播神经网络结构和神经元参数的选择至今尚无统一而完整的理论指导,只能由经验选定。但是网络结构选择过大,训练中效率不高,可能出现过拟合现象,造成网络性能低,容错性下降,若选择过小,则又会造成网络可能不收敛。

因此,如何提升小样本数据在模型预测过程中的训练能力和泛化能力,如何选择合适的网络结构,确定网络中的各种超参数,成为亟待解决的问题。



技术实现要素:

本发明实施例提供一种小样本数据预测方法及装置,用以解决现有小样本数据训练数据较少,使得小样本数据训练得到的神经网络出现“过拟合”现象,预测能力较低的缺陷,实现对数据更精确的预测。

第一方面,本发明实施例提供一种小样本数据预测方法,包括:

将待预测样本数据输入神经网络预测模型,输出待预测样本数据对应的预测值;

其中,所述神经网络预测模型是根据双立方插值后的样本数据进行训练后得到的。

第二方面,本发明实施例提供一种小样本数据预测装置,包括:

模型建立模块,用于根据双立方插值后的样本数据进行训练,获得神经网络预测模型。

模型预测模块,用于将待预测样本数据输入神经网络预测模型,输出待预测样本数据对应的预测值。

第三方面,本发明实施例提供一种电子设备,包括:

至少一个处理器、至少一个存储器、通信接口和总线;其中,

所述处理器、存储器、通信接口通过所述总线完成相互间的通信;

所述存储器存储有可被所述处理器执行的程序指令,处理器调用所述程序指令能够执行第一方面的各种可能的实现方式中任一种可能的实现方式所提供的小样本数据预测方法。

第四方面,本发明实施例提供一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行第一方面的各种可能的实现方式中任一种可能的实现方式所提供的小样本数据预测方法。

本发明实施例提供的小样本数据预测方法及装置,通过采用双立方插值的方法对小样本据进行插值处理,使得插值后的数据集完全包含原始训练集数据,并且插值数据更加符合训练集数据的规律,实现对训练集数据的有效扩充。本发明实施例将双立方插值后的样本数据进行训练后得到神经网络预测模型,提高神经网络预测模型的泛化能力,避免过拟合现象的发生。将待预测样本数据输入神经网络预测模型,输出待预测样本数据对应的预测值,实现对数据更精确的预测。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为根据本发明实施例提供的小样本数据预测方法流程示意图;

图2为根据本发明实施例提供的神经网络预测模型的构建流程示意图;

图3为根据本发明实施例提供的神经网络预测模型的训练流程示意图;

图4为根据本发明实施例提供的小样本数据预测装置的结构框图;

图5为根据本发明实施例提供的模型建立模块的结构框图;

图6为根据本发明实施例提供的电子设备的结构示意图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

需要说明的是,在本发明实施例的描述中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。

由于反向传播神经网络应用在小样本中进行预测时,存在严重的过拟合现象。即神经网络的训练能力很强,几乎能记住所有的训练数据,这导致网络,预测能力非常低,即出现“过拟合”现象。小样本数据的训练数据较少,训练数据缺乏代表性,通过小样本数据训练得到的神经网络模型会出现过拟合和网络泛化能力过低的问题。

因此,本发明实施例提供一种小样本数据预测方法及装置,通过采用双立方插值的方法对小样本数据进行插值处理,使得插值后的数据集完全包含原始训练集数据,并且插值数据更加符合训练集数据的规律,实现对训练集数据的有效扩充。本发明实施例将双立方插值后的样本数据进行训练后得到神经网络预测模型,提高神经网络预测模型的泛化能力,避免过拟合现象的发生。将待预测样本数据输入神经网络预测模型,输出待预测样本数据对应的预测值,实现对数据更精确的预测。

图1为根据本发明实施例提供的小样本数据预测方法流程示意图,参照图1,该方法包括:

步骤101,将待预测样本数据输入神经网络预测模型,输出待预测样本数据对应的预测值;

其中,所述神经网络预测模型是根据双立方插值后的样本数据进行训练后得到的。

具体地,由于小样本数据的训练数据较少,训练数据缺乏代表性,通过小样本数据训练得到的神经网络模型会出现过拟合和网络泛化能力过低的问题。因此,在执行步骤101之前,采用双立方插值的方法对小样本数据进行插值处理,插值处理后的小样本数据得到有效扩充,然后根据双立方插值后的样本数据对神经网络预测模型进行训练,能够提高神经网络预测模型的泛化能力。

在训练得到神经网络预测模型后,可将上述步骤101中的待预测样本数据输入至神经网络预测模型,从而输出得到待预测样本数据对应的预测值。由于上述神经网络预测模型与传统小样本数据训练得到的神经网络相比,具有更强的泛化能力,使得神经网络预测模型输出的预测值更加准确。

本发明实施例提供的小样本数据预测方法,通过采用双立方插值的方法对小样本据进行插值处理,使得插值后的数据集完全包含原始训练集数据,并且插值数据更加符合训练集数据的规律,实现对训练集数据的有效扩充。本发明实施例将双立方插值后的样本数据进行训练后得到神经网络预测模型,提高神经网络预测模型的泛化能力,避免过拟合现象的发生。将待预测样本数据输入神经网络预测模型,输出待预测样本数据对应的预测值,实现对数据更精确的预测。

图2为根据本发明实施例提供的神经网络预测模型的构建流程示意图,在步骤101将待预测样本数据输入神经网络预测模型之前,小样本数据预测方法还具体包括:

步骤201,将初始样本数据划分为训练集和测试集,对训练集的样本数据进行双立方插值。

其中,本实施例中的“初始样本数据”即是指“小样本数据”,小样本数据的样本数量较少。

具体地,首先构造矩形网格,对于给定的初始样本数据(xi,yj),i=0,1,2…n;j=0,1,2…m,则以

构建xoy平面上的矩形网格,且满足:

网格边界满足如下条件:

然后,基于所述矩形网格,构造双立方插值函数进行计算:

式中,xi表示输入数据;yj表示输出数据;a、b、c、d分别表示数据的最小值、输入数据最大值、输出数据最小值、输出数据最大值;aij表示构造的多项式的待定系数;

其中,aij通过分别连续对x与y向量取微分得到。对于网格单元的每个顶点,将局部坐标(0,0,1,0,0,1和1,1)带入这些方程,再解上述16个方程。

最后,对双立方插值后的样本数据按照原比例划分成输入样本集合和输出样本集合。

本发明实施例提供的小样本数据预测方法通过采用双立方插值的方法对小样本据进行插值处理,使得插值后的数据集完全包含原始训练集数据,并且插值数据更加符合训练集数据的规律,实现对训练集数据的有效扩充。

步骤202,引入隐藏层神经元确定参数因子,构建所述神经网络预测模型。

具体地,引入隐藏层神经元确定参数因子num确定神经网络预测模型的隐藏层神经元个数。其中,神经网络预测模型包括输入层、隐藏层和输出层;

式中,num表示隐含层神经元的数量,c=rand(1,9)表示1到9之间一个随机常数;nx表示输入样本维数,ny表示输出样本的维数,ns表示初始样本数据的样本数量。

需要说明的是,本发明实施例针对调参过程中,隐藏层神经元难以确定的问题,本发明实施例在神经网络预测模型中引入新的隐藏层确定因子,用以确定神经网络预测模型的隐藏层神经元个数,简化隐含层数量的确定过程,不必人工对隐含层数量进行测试输入。提高神经网络预测模型训练的效率。

步骤203,利用插值后的样本数据对所述神经网络预测模型进行训练,直至模型收敛。

具体地,上述步骤201中,双立方插值后的样本数据按照原比例划分成输入样本集合和输出样本集合,通过输入样本集合和输出样本集合对所述神经网络预测模型进行训练,直至模型收敛,则训练完成。

图3为根据本发明实施例提供的神经网络预测模型的训练流程示意图,参照图3,步骤203中,所述利用插值后的样本数据对所述神经网络预测模型进行训练,直至模型收敛,具体包括:

步骤301,对于任一输入样本,将所述输入样本输入神经网络预测模型,根据所述输入样本对应的实际输出和目标输出计算损失误差。

具体地,双立方插值后的样本数据包括输入样本集合和输出样本集合,对于任一输入样本,将所述输入样本输入神经网络预测模型,获得输入样本对应的预测值,即输入样本对应的实际输出。比较输入样本对应的实际输出和目标输出,计算损失误差。

步骤302,根据损失误差调整模型参数。

其中,模型参数包括神经网络预测模型的权值、偏置等。

步骤303,重复训练所述神经网络预测模型,直到所述神经网络预测模型收敛。

为了便于理解本发明实施例中根据损失误差调整模型参数的具体过程,现通过如下示例进行具体说明:

假设神经网络预测模型的输入样本集合为x=(x1,x2,…,xn)t,隐含层有h个单元,隐含层的实际输出为y=(y1,y2,…yh)t;输出层有m个单元,输出层的实际输出为z=(z1,z2,…zm)t,目标输出为t=(t1,t2,…tm)t;隐含层到输出层的传递函数为f,输出层的传递函数为g;将任一输入样本xi输入神经网络预测模型,可得:

其中,yj表示隐含层第j个神经元的输出,wij表示第i个神经元和第j个神经元之间的权重;w0j=θ,x0=-1;

式中,zk表示输出层第k个神经元的输出;wjk表示第j个神经元和第k个神经元之间的权重;此时,神经网络预测模型输出层的实际输出与目标输出的损失误差ε为:

根据损失误差调整模型参数,其中,模型参数至少包括权值;设定一个步长η,每次沿负梯度方向调整η个单位,则每次权值的调整为:

其中,η在神经网络中表示学习率;表示损失误差ε对神经元p和q之间的权值wpq进行求导;

首先调整隐含层到输出层的权值,设vk为输出层第k个神经元的输入,则:

隐含层到输出层的权值调整迭代公式为:

wjk(t+1)=wjk(t)+ηδkyj

然后调整从输入层到隐含层的权值,输入层到隐含层的权值调整迭代公式为:

wij(t+1)=wij(t)+ηδjyi

上式中,wjk(t+1)表示更新后的j和k神经元之间的权重;wjk(t)表示更新前j神经元和k神经元之间的权重;wij(t+1)表示更新后的i神经元和k神经元之间的权重;wij(t)表示更新前i神经元和j神经元之间的权重;δk表示j神经元和k神经元之间的梯度项;δj表示i神经元和k神经元之间的梯度项。

图4为根据本发明实施例提供的小样本数据预测装置的结构框图,参照图4,该装置包括模型建立模块401和模型预测模块402,其中:

模型建立模块用于根据双立方插值后的样本数据进行训练,获得神经网络预测模型。模型预测模块用于将待预测样本数据输入神经网络预测模型,输出待预测样本数据对应的预测值。

具体地,由于小样本数据的训练数据较少,训练数据缺乏代表性,通过小样本数据训练得到的神经网络模型会出现过拟合和网络泛化能力过低的问题。因此,模型建立模块401采用双立方插值的方法对小样本数据进行插值处理,插值处理后的小样本数据得到有效扩充,然后根据双立方插值后的样本数据对神经网络预测模型进行训练,能够提高神经网络预测模型的泛化能力。

在训练得到神经网络预测模型后,模型预测模块402将待预测样本数据输入至神经网络预测模型,从而输出得到待预测样本数据对应的预测值。由于上述神经网络预测模型与传统小样本数据训练得到的神经网络相比,具有更强的泛化能力,使得神经网络预测模型输出的预测值更加准确。

本发明实施例提供的小样本数据预测装置,通过采用双立方插值的方法对小样本据进行插值处理,使得插值后的数据集完全包含原始训练集数据,并且插值数据更加符合训练集数据的规律,实现对训练集数据的有效扩充。本发明实施例将双立方插值后的样本数据进行训练后得到神经网络预测模型,提高神经网络预测模型的泛化能力,避免过拟合现象的发生。将待预测样本数据输入神经网络预测模型,输出待预测样本数据对应的预测值,实现对数据更精确的预测。

图5为根据本发明实施例提供的模型建立模块的结构框图,参照图5,模型建立模块包括双立方插值单元501、模型构建单元502和模型训练单元503,其中:

双立方插值单元501用于将初始样本数据划分为训练集和测试集,对训练集的样本数据进行双立方插值。模型构建单元502用于引入隐藏层神经元确定参数因子,构建所述神经网络预测模型。模型训练单元503用于利用插值后的样本数据对所述神经网络预测模型进行训练,直至模型收敛。

具体地,双立方插值单元501构造矩形网格,对于给定的初始样本数据(xi,yj),i=0,1,2…n;j=0,1,2…m,则以

构建xoy平面上的矩形网格,且满足:

网格边界满足如下条件:

基于所述矩形网格,构造双立方插值函数进行计算:

式中,xi表示输入数据;yj表示输出数据;a、b、c、d分别表示数据的最小值、输入数据最大值、输出数据最小值、输出数据最大值;aij表示构造的多项式的待定系数;

其中,aij通过分别连续对x与y向量取微分得到。对于网格单元的每个顶点,将局部坐标(0,0,1,0,0,1和1,1)带入这些方程,再解上述16个方程。

对双立方插值后的样本数据按照原比例划分成输入样本集合和输出样本集合。

模型构建单元502引入隐藏层神经元确定参数因子,构建所述神经网络预测模型。

具体地,引入隐藏层神经元确定参数因子num确定神经网络预测模型的隐藏层神经元个数。其中,神经网络预测模型包括输入层、隐藏层和输出层;

式中,num表示隐含层神经元的数量,c=rand(1,9)表示1到9之间一个随机常数;nx表示输入样本维数,ny表示输出样本的维数,ns表示初始样本数据的样本数量。

需要说明的是,本发明实施例针对调参过程中,隐藏层神经元难以确定的问题,本发明实施例在神经网络预测模型中引入新的隐藏层确定因子,用以确定神经网络预测模型的隐藏层神经元个数,简化隐含层数量的确定过程,不必人工对隐含层数量进行测试输入。提高神经网络预测模型训练的效率。

模型训练单元503利用插值后的样本数据对所述神经网络预测模型进行训练,直至模型收敛。

具体地,上述步骤201中,双立方插值后的样本数据按照原比例划分成输入样本集合和输出样本集合,通过输入样本集合和输出样本集合对所述神经网络预测模型进行训练,直至模型收敛,则训练完成。

在上述各实施例的基础上,

模型训练单元503利用插值后的样本数据对所述神经网络预测模型进行训练,直至模型收敛的过程具体包括:

对于任一输入样本,将所述输入样本输入神经网络预测模型,根据所述输入样本对应的实际输出和目标输出计算损失误差。

可以理解的是,双立方插值后的样本数据包括输入样本集合和输出样本集合,对于任一输入样本,将所述输入样本输入神经网络预测模型,获得输入样本对应的预测值,即输入样本对应的实际输出。比较输入样本对应的实际输出和目标输出,计算损失误差。

根据损失误差调整模型参数。其中,模型参数包括神经网络预测模型的权值、偏置等。

重复训练所述神经网络预测模型,直到所述神经网络预测模型收敛。

为了便于理解本发明实施例中根据损失误差调整模型参数的具体过程,现通过如下示例进行具体说明:

假设神经网络预测模型的输入样本集合为x=(x1,x2,…,xn)t,隐含层有h个单元,隐含层的实际输出为y=(y1,y2,…yh)t;输出层有m个单元,输出层的实际输出为z=(z1,z2,…zm)t,目标输出为t=(t1,t2,…tm)t;隐含层到输出层的传递函数为f,输出层的传递函数为g;将任一输入样本xi输入神经网络预测模型,可得:

其中,yj表示隐含层第j个神经元的输出,wij表示第i个神经元和第j个神经元之间的权重;w0j=θ,x0=-1;

式中,zk表示输出层第k个神经元的输出;wjk表示第j个神经元和第k个神经元之间的权重;此时,神经网络预测模型输出层的实际输出与目标输出的损失误差ε为:

根据损失误差调整模型参数,其中,模型参数至少包括权值;设定一个步长η,每次沿负梯度方向调整η个单位,则每次权值的调整为:

其中,η在神经网络中表示学习率;表示损失误差ε对神经元p和q之间的权值wpq进行求导;

首先调整隐含层到输出层的权值,设vk为输出层第k个神经元的输入,则:

隐含层到输出层的权值调整迭代公式为:

wjk(t+1)=wjk(t)+ηδkyj

然后调整从输入层到隐含层的权值,输入层到隐含层的权值调整迭代公式为:

wij(t+1)=wij(t)+ηδjyi

上式中,wjk(t+1)表示更新后的j和k神经元之间的权重;wjk(t)表示更新前j神经元和k神经元之间的权重;wij(t+1)表示更新后的i神经元和k神经元之间的权重;wij(t)表示更新前i神经元和j神经元之间的权重;δk表示j神经元和k神经元之间的梯度项;δj表示i神经元和k神经元之间的梯度项。

本发明实施例提供的小样本数据预测方法及装置,通过采用双立方插值的方法对小样本据进行插值处理,使得插值后的数据集完全包含原始训练集数据,并且插值数据更加符合训练集数据的规律,实现对训练集数据的有效扩充。本发明实施例将双立方插值后的样本数据进行训练后得到神经网络预测模型,提高神经网络预测模型的泛化能力,避免过拟合现象的发生。将待预测样本数据输入神经网络预测模型,输出待预测样本数据对应的预测值,实现对数据更精确的预测。

本发明实施例提供了一种电子设备,图6为根据本发明实施例提供的电子设备的结构示意图,如图6所示,该电子设备包括:

至少一个处理器(processor)601、通信接口(communicationsinterface)304、至少一个存储器(memory)602和通信总线603,其中,至少一个处理器301,通信接口604,至少一个存储器602通过通信总线603完成相互间的通信。至少一个处理器601可以调用至少一个存储器602中的逻辑指令,以执行如下小样本数据预测方法,例如包括:将待预测样本数据输入神经网络预测模型,输出待预测样本数据对应的预测值;其中,所述神经网络预测模型是根据双立方插值后的样本数据进行训练后得到的。

本发明实施例还提供了一种非暂态计算机可读存储介质,非暂态计算机可读存储介质存储计算机指令,该计算机指令使计算机执行对应实施例所提供的小样本数据预测方法,例如包括:将待预测样本数据输入神经网络预测模型,输出待预测样本数据对应的预测值;其中,所述神经网络预测模型是根据双立方插值后的样本数据进行训练后得到的。

以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。

最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

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