本发明涉及数据挖掘技术领域,尤其涉及一种随机权网络泛化能力改进方法及装置。
背景技术:
随机权网络(randomweightnetwork,rwn)是一种不依赖迭代式权重更新策略的全链接前馈神经网络,与传统的基于误差反传方法的权重更新策略不同,rwn随机地选择输入层权重,通过求解隐含层输出矩阵的伪逆,进而计算出输出层权重的解析解。由于避免了迭代式的权重调整,因此,随机权网络获得了极快的训练速度,同时,万能逼近定理理论上保证了随机权网络的收敛性。
当前,大量关于随机权网络泛化能力改进的研究工作被提出,主要集中在随机权网络框架的改进上,包括输入层权重的改进,最佳隐含层节点个数的选取,多随机权网络的集成等,这些改进在一定程度上提升了随机权网络的预测表现,但是忽略了对训练数据本身所包含信息的深层次利用。换言之,现有的随机权网络改进工作是对训练数据的被动使用,仅将其作为检验改进工作效果的试验田,而不是主动挖掘训练数据内在信息用以指导如何对随机权网络的泛化能力进行改进。
技术实现要素:
本发明的主要目的在于提供一种随机权网络泛化能力改进方法及装置,旨在解决现有技术中,未实现主动挖掘训练数据内在信息用以指导如何对随机权网络的泛化能力进行改进的技术问题。
为实现上述目的,本发明第一方面提供一种随机权网络泛化能力改进方法,包括:
步骤1:利用训练样本
步骤2:从所述训练样本
步骤3:计算所述仿真样本与所述训练样本
步骤4:令r=r+1,返回所述步骤1,直至r=r时,在执行所述步骤1之后,结束训练过程,以得到改进后的随机权网络rwn(r),r为预先设置的迭代训练次数。
为实现上述目的,本发明第二方面还提供一种随机权网络泛化能力改进装置,包括:
训练模块,用于利用训练样本
选择生成模块,用于从所述训练样本
计算模块,用于计算所述仿真样本与所述训练样本
返回结束模块,用于令r=r+1,返回所述训练模块,直至r=r时,在执行所述训练模块之后,结束训练过程,以得到改进后的随机权网络rwn(r),r为预先设置的迭代训练次数。
本发明提供一种随机权网络泛化能力改进方法,该方法中,在不改变随机权网络框架结构的前提下,通过挖掘训练样本中的不确定性值最大的目标样本,生成仿真样本,并基于仿真样本通过迭代的方式对随机权网络进行训练,使得能够实现主动挖掘训练样本以对随机权网络的泛化能力进行改进的目的。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明第一实施例中随机权网络泛化能力改进方法的流程示意图;
图2为本发明第一实施例中步骤101中利用训练样本
图3为本发明第一实施例中步骤102中利用目标样本与预置的邻域控制因子生成仿真样本的细化步骤的流程示意图;
图4为本发明第一实施例的追加步骤的流程示意图;
图5为本发明第二实施例中随机权网络泛化能力改进装置的功能模块的示意图;
图6为本发明第二实施例中训练模块501的细化功能模块的示意图;
图7为本发明第二实施例的追加功能模块的示意图;
图8为本发明第二实施例中选择生成模块的细化功能模块的示意图。
具体实施方式
为使得本发明的发明目的、特征、优点能够更加的明显和易懂,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而非全部实施例。基于本发明中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
由于现有技术中,存在未实现主动挖掘训练数据内在信息用以指导如何对随机权网络的泛化能力进行改进的技术问题。
为了解决上述技术问题,本发明提出随机权网络泛化能力改进方法及装置。在不改变随机权网络框架结构的前提下,通过挖掘训练样本中的不确定性值最大的目标样本,生成仿真样本,并基于仿真样本通过迭代的方式对随机权网络进行训练,使得能够实现主动挖掘训练样本以对随机权网络的泛化能力进行改进的目的。且进一步的,本发明实施例中的随机权网络泛化能力改进方法不仅显著改进了随机权网络的泛化能力,同时具有极强的控制随机权网络过拟合的能力。
请参阅图1,为本发明第一实施例中随机权网络泛化能力改进方法的流程示意图,该方法包括:
步骤101:利用训练样本
在本发明实施例中,初始训练样本
上述的初始训练样本
其中,初始随机权网络rwn(0)的输出层输出矩阵为:
其中,随机权网络rwn(0)的隐含输入矩阵为:
其中,随机权网络rwn(0)的隐含层输出矩阵为:
其中,
其中,ωkd,bk,k=1,2,…,k为任意区间内的随机数。例如,可以是区间[0,1]内服从均匀分布的随机数。
其中,
在本发明实施例中,利用初始训练样本
其中,训练次数可以用r表示,且r的初始值为0,即一次训练之后,得到的随机权网络为rwn(1)。且rwn(r)表示第r次训练之后得到的随机权网络。
在本发明实施例中,不确定性是基于随机权网络的输出层输出矩阵的实际输出及真实输出得到的,请参阅图2,为本发明第一实施例中步骤101中利用训练样本
步骤201、利用训练样本
步骤202、将所述输出层输出矩阵作为所述训练样本的真实输出,计算所述真实输出与所述训练样本的实际输出之间的误差,将所述误差作为所述训练样本中各样本的不确定性值。
对于第r次训练得到的训练样本
将该输出层输出矩阵作为训练样本
其中,实际输出是利用测试样本得到的,利用预先设置的测试样本输入初始随机权网络rwn(0),将得到的输出层输出矩阵作为实际输出,且在迭代式的训练过程中,使用的均是该实际输出。
其中,由于输出层输出矩阵为:
即每一个样本都有一个对应的输出层矩阵值,将输出层输出矩阵中各样本的输出层值作为真实输出,计算各样本的实际输出与真实输出之间的误差,以便得到各样本的不确定性值。
其中,不确定性值为
其中,
步骤102:从所述训练样本
在本发明实施例中,在完成一次训练之后,将得到训练样本
其中,训练样本
在第r次训练时,使用的是上一次得到的训练样本
相比于不确定性值小的样本,不确定性值大的样本对随机权网络泛化能力的改进起着更加重要的作用。举一个离子,如果样本
请参阅图3,为本发明第一实施例中步骤102中利用目标样本与预置的邻域控制因子生成仿真样本的细化步骤的流程示意图,包括:
步骤301、利用所述目标样本及所述邻域控制因子,确定待生成的仿真样本的输入层输入矩阵的取值范围及输出层输出矩阵的取值范围;
步骤302、从所述输入层输入矩阵的取值范围中随机提取随机数,利用提取的随机数生成仿真样本的输入层输入矩阵;从所述输出层输出矩阵的取值范围中随机提取随机数,利用提取的随机数生成仿真样本的输出层输出矩阵。
在本发明实施例中,将基于高不确定性的目标样本,得到与该高不确定性的目标样本近似同分布的仿真样本。
具体的,利用目标样本及预先设置的邻域控制因子,确定待生成的仿真样本的输入层输入矩阵的取值范围及输出层输出矩阵的取值范围。
其中,目标样本
其中,
在得到取值范围之后,将从输入层输入矩阵的取值范围中随机提取随机数,利用提取的随机数生成仿真样本的输入层输入矩阵,并从输出层输出矩阵的取值范围中随机提取随机数,利用提取的随机数生成仿真样本的输出层输出矩阵,以得到仿真样本。
可以理解的是,在本发明实施例中设置邻域控制因子,使得能够得到与不确定性值最大的样本近似同分布的仿真样本,即在高不确定性样本的δ邻域内生成使得当前随机权网络误差降低的仿真样本。
步骤103:计算所述仿真样本与所述训练样本
步骤104:令r=r+1,返回所述步骤101,直至r=r时,在执行所述步骤101之后,结束训练过程,以得到改进后的随机权网络rwn(r),r为预先设置的迭代训练次数。
在本发明实施例中,需要计算仿真样本与训练样本
在本发明实施例中,在得到新的训练样本
其中,随机权网路rwn(r)的输出层权重矩阵为:
其中,
其中,w表示输入层权重矩阵,b为隐含层偏置。
进一步的,请参阅图4,为本发明第一实施例的追加步骤的流程示意图,包括:
步骤401、从预置的任意区间内取m个作为输入层权重的随机数及取p个作为隐含层偏置的随机数;
步骤402、计算所述m个随机数的第一平均值,按照所述第一平均值设置所述初始随机权网络rwn(0)的输入层权重,计算所述p个随机数的第二平均值,按照所述第二平均值设置所述初始随机权网络rwn(0)的隐含层偏置。
在本发明实施例中,在对初始随机权网络进行训练之前,需要设置该初始随机权网络的输入层权重及隐含层偏置,具体可以按下如下方式完成设置:
从预置的任意区间内取m个作为输入层权重的随机数及取p个作为隐含层偏置的随机数,计算该m个随机数的第一平均值,按照该第一平均值设置初始随机权网络rwn(0)的输入层权重,计算该p个随机数的第二平均值,按照该第二平均值设置该初始随机权网络rwn(0)的隐含层偏置。
例如,可以从任意区间中取100个随机数,并将该100个随机数的平均值作为输入层权重,从该任意区间中取100个随机数,并将该100个随机数的平均值作为隐含层偏置。
可以理解的是,通过取多个随机数的平均值设置输入层权重及隐含层偏置,能够有效消除输入层权重和隐含层偏置随机化对随机权网络训练的影响。
在本发明实施例中,在不改变随机权网络框架结构的前提下,通过挖掘训练样本中的不确定性值最大的目标样本,生成仿真样本,并基于仿真样本通过迭代的方式对随机权网络进行训练,使得能够实现主动挖掘训练样本以对随机权网络的泛化能力进行改进的目的。且进一步的,本发明实施例中的随机权网络泛化能力改进方法不仅显著改进了随机权网络的泛化能力,同时具有极强的控制随机权网络过拟合的能力。
可以理解的是,在通过r次训练得到随机权网络rwn(r)之后,还可以对该随机权网络rwn(r)的泛化能力进行验证,具体可以如下:
假设初始随机权网络rwn(0)在独立的测试样本的数据集上的测试误差为e(0),本发明实施例拟解决的核心问题是如何生成含有r≥1个仿真样本的数据集x(1),x(2),…,x(r),使得基于
可以理解的是,本发明实施例中的改进是对随机权网络的输出层权重的改进,通过利用仿真样本迭代式地优化随机权网络的输出层权重从而改进随机权网络的泛化能力。相对于现有技术中通过对随机权网络框架结构的改进,本发明实施例中的技术方案,是在不改变随机权网络框架结构的基础上,从训练样本入手,通过引入更多的仿真样本来达到提升随机权网络预测表现的目的,即实现了对随机权网络的输出层权重的改进。
可以理解的是,本发明实施例中的技术方案相对于现有技术主要有以下优势:不需要对随机权网络的框架结构进行任何修改,使得对随机权网络的泛化能力的改进更加简便且易于实现;具有很强的扩展性,适用于任意类型的需要基于框架结构改进的随机权网络、对训练样本所表示的知识空间进行了扩充,生成了一批与高不确定性训练样本同分布的仿真样本;以及高效的控制过拟合的能力,大大降低过拟合现象出现的概率。
请参阅图5,为本发明第二实施例中随机权网络泛化能力改进装置的功能模块的示意图,该装置包括:
训练模块501,用于利用训练样本
选择生成模块502,用于从所述训练样本
计算模块503,用于计算所述仿真样本与所述训练样本
返回结束模块504,用于令r=r+1,返回所述训练模块501,直至r=r时,在执行所述训练模块之后,结束训练过程,以得到改进后的随机权网络rwn(r),r为预先设置的迭代训练次数。
进一步的,请参阅图6,为本发明第二实施例中训练模块501的细化功能模块的示意图,包括:
网络训练模块601,用于利用训练样本
不确定性计算模块602,用于将所述输出层输出矩阵作为所述训练样本的真实输出,计算所述真实输出与所述训练样本的实际输出之间的误差,将所述误差作为所述训练样本中各样本的不确定性值。
进一步的,请参阅图7,为本发明第二实施例的追加功能模块的示意图,该追加功能模块包括:
提取模块701,用于从预置的任意区间内取m个作为输入层权重的随机数及取p个作为隐含层偏置的随机数;
均值计算模块702,用于计算所述m个随机数的第一平均值,按照所述第一平均值设置所述初始随机权网络rwn(0)的输入层权重,计算所述p个随机数的第二平均值,按照所述第二平均值设置所述初始随机权网络rwn(0)的隐含层偏置。
进一步的,请参阅图8,为本发明第二实施例中选择生成模块502的细化功能模块的示意图,该选择生成模块502包括:
选择模块801,用于从所述训练样本
范围确定模块802,用于利用所述目标样本及所述邻域控制因子,确定待生成的仿真样本的输入层输入矩阵的取值范围及输出层输出矩阵的取值范围;
样本生成模块803,用于从所述输入层输入矩阵的取值范围中随机提取随机数,利用提取的随机数生成仿真样本的输入层输入矩阵;从所述输出层输出矩阵的取值范围中随机提取随机数,利用提取的随机数生成仿真样本的输出层输出矩阵;
其中,所述输入层输入矩阵的取值范围及输出层输出矩阵的取值范围分别为:
其中,
在本发明实施例中,在不改变随机权网络框架结构的前提下,通过挖掘训练样本中的不确定性值最大的目标样本,生成仿真样本,并基于仿真样本通过迭代的方式对随机权网络进行训练,使得能够实现主动挖掘训练样本以对随机权网络的泛化能力进行改进的目的。且进一步的,本发明实施例中的随机权网络泛化能力改进方法不仅显著改进了随机权网络的泛化能力,同时具有极强的控制随机权网络过拟合的能力。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。
需要说明的是,对于前述的各方法实施例,为了简便描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其它顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定都是本发明所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其它实施例的相关描述。
以上为对本发明所提供的一种随机权网络泛化能力改进方法及装置的描述,对于本领域的技术人员,依据本发明实施例的思想,在具体实施方式及应用范围上均会有改变之处,综上,本说明书内容不应理解为对本发明的限制。