CN103559541A - 一种大数据中面向乱序数据流的反向传播方法 - Google Patents

一种大数据中面向乱序数据流的反向传播方法 Download PDF

Info

Publication number
CN103559541A
CN103559541A CN201310524206.XA CN201310524206A CN103559541A CN 103559541 A CN103559541 A CN 103559541A CN 201310524206 A CN201310524206 A CN 201310524206A CN 103559541 A CN103559541 A CN 103559541A
Authority
CN
China
Prior art keywords
output
node
sample
training
network
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201310524206.XA
Other languages
English (en)
Inventor
王堃
卓林超
孙雁飞
吴蒙
郭篁
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nanjing Post and Telecommunication University
Nanjing University of Posts and Telecommunications
Original Assignee
Nanjing Post and Telecommunication University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nanjing Post and Telecommunication University filed Critical Nanjing Post and Telecommunication University
Priority to CN201310524206.XA priority Critical patent/CN103559541A/zh
Publication of CN103559541A publication Critical patent/CN103559541A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Feedback Control In General (AREA)

Abstract

一种大数据中面向乱序数据流的反向传播方法,针对大数据中的乱序数据流难以获取关联规则的问题,提出了一种动态调整的改进型BP算法IBPDA(ImprovedBackPropagationAlgorithmBasedonDynamicalAdjustment),运用了动态自适应结构调整机制,根据环境要求自适应调整网络训练结构,自动删除无效训练节点,优化迭代训练过程;并在网络学习过程中动态调整神经网络三因子,即学习指数、动量因子、比例因子,来达到加快学习响应速度、增强网络稳定性的目的。仿真结果表明,通过动态自适应调整结构、动态调整三因子的神经网络,能够获得更多的收敛次数,并能有效的提高收敛率,进而提高整体网络性能。

Description

一种大数据中面向乱序数据流的反向传播方法
技术领域
本发明是一种面向乱序数据流的改进型反向传播方法,属于大数据中的数据处理领域。
背景技术
大数据(Big Data),或称巨量资料,其所涉及的资料量规模巨大,无法通过目前主流软件工具在合理时间内获得乱序数据中的数据关联规则。传统的数据处理模式是人类主动、数据被动的,采集到的数据首先存储在数据库管理系统中,然后用户主动进行查询,得到最终答案,而对于海量、无止尽的实时数据流这种方式并不合适。而反向传播算法(BackPropagation,BP),简称BP算法,是一种有效的学习预测算法,能进行大规模并行信息处理,对非线性系统具有很强的模拟能力,可以有效预测出大数据流中的数据关联性,找出关联规则。但传统BP算法仍存在着一些不足之处,在具体应用中,网络的学习速率往往是固定不变的,在迭代次数增加的情况下,网络性能会变差,这样就使得算法的学习速度和网络稳定性之间产生很大的矛盾。此外,BP算法中还存在其固有缺陷,例如:网络结构难以确定、隐层结构往往通过经验来确定、训练时间长、收敛速度慢、易陷入局部最小、预测效果不佳等。
传统的BP算法主要包括以下几个方面的问题:(1)由于迭代次数的增多导致的调整速率相对缓慢。(2)学习过程中容易陷入局部最小值。(3)收敛速率和收敛精度的缺陷。(4)人工神经网络中的结构化参数的选择及学习速率问题。(5)BP算法通常会应用Sigmoid函数,而当Sigmoid函数进入饱和区域时,在权值修正公式中的权值修正量就变得微乎其微,这样就使得网络的训练陷入了饱和状态,大大降低了学习效率。
发明内容
技术问题:针对大数据中的乱序数据流难以获取关联规则的问题,本发明提出了一种大数据中面向乱序数据流的反向传播方法,该方法是一种动态调整的改进型BP算法IBPDA(Improved Back Propagation Algorithm Based on Dynamical Adjustment),引入新的神经元数量的选取方法,运用神经元动态优化方法,根据环境要求自适应调整网络训练结构,自动删除无效训练节点,优化迭代训练过程;并在网络学习过程中采用自适应调整机制,动态调整神经网络三因子,即连接权值、学习指数、动量因子,来达到加快学习响应速度、增强网络稳定性的目的。仿真结果表明,通过动态自适应调整结构、动态调整三因子的神经网络,能够获得更多的收敛次数,并能有效的提高收敛率,进而提高整体网络性能。
技术方案:本发明的一种大数据中面向乱序数据流的反向传播方法具体为:
神经元数量的确定
在BP算法中,神经元的数量一般由经验值来选取,但由于输入的样本数量不可能总是固定不变,这样就导致了在训练迭代过程中,网络的神经元数量不可能总在人为的进行变化。一旦神经元的数量固定下来,网络学习模型就固定不变。若神经元数量过多,则必定导致有些节点是冗余的,这将导致神经网络性能下降;若神经元数量太少,则会使算法的学习过程可能不收敛,学习精度大大下降。因此,在网络学习的开始阶段,设定一个动态自适应的神经元数量选取方法,能很大程度提高算法效率。
设网络结构中输入层节点的输出等于其输入,输出层有L个输出节点,网络中的隐含层有Q个节点,隐含层和输出层节点的输入是前一层节点输出的加权和,每个节点的激励程度由Sigmoid激励函数决定。在训练网络的学习阶段,设有N个训练样本,先假定用其中的某一固定样本中的输入输出模式对网络进行训练,若网络输出与期望输出值不一致,则将其误差信号从输出端反向传播,并在传播过程中对加权系数修正,使在输出层节点上得到的输出结果尽可能接近期望输出值。对样本完成加权系数的调整后,确定神经网络中隐层神经单元数量NH,可由公式(1)确定:
N H = N I * N O + N P / 2 - - - ( 1 )
其中N1代表输入神经元的数量,NO代表输出神经元的数量,NP代表训练样本数。利用Sigmoid函数计算各层误差,并与学习停止条件对比,直到完成样本的训练学习为止。
神经元的优化选取
神经元数量在通过公式(1)确定后,仍不可避免的存在无效或相似相关节点,仍是导致算法效率不高的原因,因此提出一种新式神经元优化方法,现通过假设说明。
假定有如下样本输入:
(1)有一组对应的学习样本组:(x1,t1),(x2,t2),…,(xn,tn),这里的xs,1≤s≤n代表第s个输入,ts,1≤s≤n代表其相应的输出;
(2)在输入层有m个输入节点;
(3)在输出层仅仅有一个输出节点;
(4)前一层的输出成为后一层的输入,并且不同层有不同数量的节点和不同种类的激活函数。设有n个学习样本数,opi是隐含层中第i个节点的学习第P个样本时的输出,opj是隐含层中第j个节点学习第P个样本的输出。
定义1第P个样本输出
o i ‾ = 1 n Σ p = 1 n o pi o j ‾ = 1 n Σ p = 1 n o pj - - - ( 2 )
则学习样本可由公式(3)表示。
x p = o pi - 1 n Σ p = 1 n o pi = o pi - o i ‾ t p = o pj - 1 n Σ p = 1 n o pj = o pj - o j ‾ - - - ( 3 )
进而opi和opj两者之间的相关系数可用公式(4)表示。
R ij = Σ p = 1 n x p t p Σ p = 1 n x p 2 × Σ p = 1 n t p 2 - - - ( 4 )
显而易见:-1≤Rij≤1,于是opi和opj两者之间的线性相关性随着Rij的模趋近于1而增加,与此同时,opi和opj两者之间的离散性随着Rij的模趋近于1而减少。
定义2相关系数(CorrelationCoefficient)
ρ ij = | R ij | = Σ p = 1 n x p t p Σ p = 1 n x p 2 × Σ p = 1 n t p 2 - - - ( 5 )
相关系数是描述隐含层中节点之间的相关程度的函数。这里的ρij代表隐含层中第i个节点和第j个节点之间的相关系数。如果ρij的值超过了预先设定的门限值,则代表第i个节点和第j个节点的功能相同,因此可以将这两个神经元合并为一个节点。
定义3离散度(DecentralizationCoefficient)
S i = 1 n Σ 1 n O pi 2 - O i ‾ 2 - - - ( 6 )
Si为离散度是描述隐含层中节点之间的离散程度的函数,如果Si的值非常小,则它代表第i个神经元的输出变化非常小,其对网络的训练无效,因此这个节点应该被删剪掉。
利用定义1、2、3,可以有效的删减或者合并隐层中的节点数量,减少了重复训练、学习次数,有效的将误差控制在合理范围内,使得样本总误差平滑减少,提高收敛率。由于在一个训练周期期间,权值和阈值保持不变;待所有样本训练一次之后,根据总误差均值反向修改神经元各节点相关系数以及离散度,修改完毕再进行下一周期训练,采用这种方式可减少训练误差。
基于自适应调整机制
在自适应调整机制中,利用公式(3)将学习样本输入至已确定的网络匹配模型中,进行迭代计算。在计算过程中,运用公式(7)来计算隐层节点性能均方差,并将训练的结果误差值传播至输出层,在输出层中继续利用公式(8)来计算各节点误差值;将所计算出的误差反向传播至隐层,利用公式(9)继续迭代,直到满足预设条件。隐层节点性能均方差e(p)定义如下:
e ( p ) = 1 2 Σ p ∈ output ( t p - x p ) 2 - - - ( 7 )
其中,tp(p=l,2,…,n)是样本的期望输出值,xp是输出层中第p个节点的实际输出值,由此,输出层中节点误差
Figure BDA0000404791900000042
为:
e ^ p = e ( p ) ( 1 - x p ) ( t p ′ - x p ) - - - ( 8 )
其中,t'p(p=l,2,…,n)是输出层的期望输出值。将所计算出的误差反向传播至隐层,利用公式(9)继续迭代,直到满足预设误差停止条件。
e ^ p ′ = e ^ p ( 1 - x p ) Σ p ∈ output ω ij - - - ( 9 )
其中,ωij为输出层与隐层间的阈值(Threshold),为反向传播误差。由于阈值的选取直接导致各误差的传播速度,因此,我们需要一个自适应变化的阈值来加快传播速度。为此,我们利用公式(10)来对阈值进行修正。
ω ij = α ( p ) β ( p ) e ^ p - - - ( 10 )
其中,α(p)是初始学习因子,β(p)是初始动量因子。训练开始阶段,要求连接权值较大以加快学习速度。而当学习接近优化区时,阈值就必须相应的变小,否则将产生振荡而不收敛,进而影响网络的稳定性。每一层动量因子的修正都与BP网络的学习速率有关,因此在改变动量因子的同时保证学习指数随其变化,使得神经网络学习传播模型能自适应变化,以适应数据量的增加,而不会坠入局部最小值。于是我们利用公式(11)来自适应调整学习因子,用公式(12)来调整动量因子。
α ( p + 1 ) = α ( p ) * E ( p ) E ( p - 1 ) - - - ( 11 )
β ( p + 1 ) = β ( p ) * E ( p ) E ( p - 1 ) - - - ( 12 )
其中,E(p)为第p个节点的梯度,即xp的一阶导数。当ωij与设定的学习目标值相差存在较大的误差时,则α的值就增加,反之则β减少。通过自适应学习因子和动量因子,能获得更加稳定的收敛性和更高的学习效率。
本发明的一种大数据中面向乱序数据流的反向传播算法,其特征在于所述的动态调整的改进型反向传播算法IBPDA(Improved Back Propagation Algorithm Based on DynamicalAdjustment),引入新的神经元数量的选取方法;运用神经元动态优化方法,根据环境要求自适应调整网络训练结构,自动删除无效训练节点,优化迭代训练过程;并在网络学习过程中动态调整神经网络三因子,使收敛更稳定,算法具体步骤如下:
输入:样本期望输出值、样本输出值和训练样本输入值,神经元节点个数。
输出:满足条件的样本训练值。
步骤1:设定一个学习模式,利用BP网络的无监督模式执行算法;
步骤2:初始化各层参数,将权学习指数、动量因子、阈学习指数均默认设为1.5;
步骤3:设定学习最大次数以及误差范围,为保证算法精确度,误差范围设为0.001;
步骤4:动态修正隐层与输出层的连接权及阈值,并计算各单元误差ε,将所得误差与误差范围进行对比,满足条件则停止学习计算,否则转入步骤5;
步骤5:动态调整权学习指数、动量因子、阈学习指数,并继续计算各单元误差;
步骤6:将步骤5所得各单元误差与学习停止条件进行比较,当达到预设条件时,学习结束;步骤7:输出输出层的最后训练结果。
所述的神经元数量选取方法,过程如下:设网络结构中输入层节点的输出等于其输入,网络中的隐含层有Q个节点,隐含层和输出层节点的输入是前一层节点输出的加权和,每个节点的激励程度由S型函数(Sigmoid激励函数)决定。在训练网络的学习阶段,设有NP个训练样本,先假定用其中的某一固定样本中的输入输出模式对网络进行训练,若网络输出与期望输出值不一致,则将其误差信号从输出端反向传播,并在传播过程中对加权系数修正,使在输出层节点上得到的输出结果尽可能接近期望输出值。对样本完成加权系数的调整后,确定神经网络中隐层神经单元数量NH,可由公式(1)确定:
N H = N I * N O + N P / 2 - - - ( 1 )
其中NI代表输入神经元的数量,NO代表输出神经元的数量,NP代表训练样本数。利用Sigmoid函数计算各层误差,并与学习停止条件对比,直到完成样本的训练学习为止。
神经元动态优化方法,根据环境要求自适应调整网络训练结构,自动删除无效训练节点,优化迭代训练过程,现通过假设说明:
假定有如下样本输入:
(1)有一组对应的学习样本组:(x1,t1),(x2,t2),…(xs,ts),…(xn,tn),其中xs代表第s个样本的输入,ts代表其相应的输出,1≤s≤n,n为学习样本数;
(2)在输入层有m个输入节点;
(3)在输出层仅仅有一个输出节点;
(4)前一层的输出成为后一层的输入,并且不同层有不同数量的节点和不同种类的激活函数。设有n个学习样本,输出均值定义如下:
o i ‾ = 1 n Σ p = 1 n o pi o j ‾ = 1 n Σ p = 1 n o pj - - - ( 2 )
其中opi是隐含层中第i个节点的学习第p个样本时的输出,opj是隐含层中第j个节点学习第p个样本的输出,n为学习样本数,为第i个节点的输出均值,为第j个节点的输出均值。
则第p个样本的输入输出可由公式(3)表示:
x p = o pi - o i ‾ = o pi - 1 n Σ p = 1 n o pi t p = o pj - o j ‾ = o pj - 1 n Σ p = 1 n o pj - - - ( 3 )
其中xp代表第p个样本的输入,tp代表第p个样本的输出。根据样本的输入输出计算相关系数和离散度,通过相关系数对功能相同的神经元进行合并,通过离散度删除无效节点。
所述的动态调整神经网络三因子,隐层节点性能均方差e(p)定义如下:
e ( p ) = 1 2 Σ p ∈ output ( t p - x p ) 2 - - - ( 4 )
其中,tp(p=l,2,…,n)是样本的期望输出值,xp是输出层中第p个节点的实际输出值,由此,输出层中节点误差为:
e ^ p = e ( p ) ( 1 - x p ) ( t p ′ - x p ) - - - ( 5 )
其中,t'p(p=l,2,…,n)是输出层的期望输出值。将所计算出的误差反向传播至隐层,利用公式(6)继续迭代,直到满足预设误差停止条件。
e ^ p ′ = e ^ p ( 1 - x p ) Σ p ∈ output ω ij - - - ( 6 )
其中,ωij为输出层与隐层间的阈值(Threshold),为反向传播误差。由于阈值的选取直接导致各误差的传播速度,因此,我们需要一个自适应变化的阈值来加快传播速度。为此,我们利用公式(7)来对阈值进行修正。
ω ij = α ( p ) β ( p ) e ^ p - - - ( 7 )
其中,α(p)是初始学习因子,β(p)是初始动量因子。训练开始阶段,要求连接权值较大以加快学习速度。而当学习接近优化区时,阈值就必须相应的变小,否则将产生振荡而不收敛,进而影响网络的稳定性。每一层动量因子的修正都与BP网络的学习速率有关,因此在改变动量因子的同时保证学习指数随其变化,使得神经网络学习传播模型能自适应变化,以适应数据量的增加,而不会坠入局部最小值。于是我们利用公式(8)来自适应调整学习因子,用公式(9)来调整动量因子。
α ( p + 1 ) = α ( p ) * E ( p ) E ( p - 1 ) - - - ( 8 )
β ( p + 1 ) = β ( p ) * E ( p ) E ( p - 1 ) - - - ( 9 )
其中,E(p)为第p个节点的梯度,即xp的一阶导数。当ωij与设定的学习目标值相差存在较大的误差时,则α的值就增加,反之则β减少。通过自适应学习因子和动量因子,能获得更加稳定的收敛性和更高的学习效率。
所述的通过相关系数对功能相同的神经元进行合并,相关系数定义如下:
R ij = Σ p = 1 n x p t p Σ p = 1 n x p 2 × Σ p = 1 n t p 2 - - - ( 10 )
opi和opj两者之间的相关系数可用公式(10)表示,相关系数是描述隐含层中节点之间的相关程度的函数。这里的Rij代表隐含层中第i个节点和第j个节点之间的相关系数,显而易见:-1≤Rij≤1,于是opi和opj两者之间的线性相关性随着Rij的模趋近于1而增加,与此同时,opi和opj两者之间的离散性随着Rij的模趋近于1而减少。如果Rij的值超过了预先设定的门限值,则代表第i个节点和第j个节点的功能相同,因此可以将这两个神经元合并为一个节点。
所述的通过离散度删除无效节点,离散度定义如下:
S i = 1 n Σ p = 1 n O pi 2 - O i ‾ 2 - - - ( 11 )
Si为离散度是描述隐含层中节点之间的离散程度的函数,如果Si的值非常小,则它代表第i个神经元的输出变化非常小,其对网络的训练无效,因此这个节点应该被删剪掉。
有益效果:本发明针对大数据中的乱序数据难以获取数据间的关联规则问题,提出了一种基于动态调整的BP改进型算法IBPDA。该算法考虑了BP算法中神经元数量对于网络性能的影响,引入了新的确定方法,提出了一种新式神经元优化方法。并采用动态自适应调整机制,在学习迭代过程中对三因子进行动态调整,以此来提高学习响应速度,并增强网络的学习稳定性,以此来获取乱序数据流中的关联规则。仿真结果表明,三因子在初始值相同的条件下,分别动态改变各参数对于算法收敛性的均有很大程度的提升,同时变化三因子则更能在迭代次数不多、运行时间很短的情况下就达到所需要的收敛性。通过与传统BP算法的比较,本发明具有更快的收敛速度和精度,具有更好的网络性能。
附图说明
图1是动态调整的改进型反向传播算法流程图,
图2是原始数据离散分布数据点,
图3是权学习指数对于收敛次数的影响对比图,
图4是动量因子对于收敛次数的影响对比图,
图5是阈学习指数对于收敛次数的影响对比图,
图6是改进型算法在收敛时间上的对比图。
具体实施方式
仿真实验中将本文提出的IBPDA算法与传统的BP算法进行比较。本节将对算法性能进行仿真分析,我们采用Matlab7.0编程实现BP算法功能。仿真实验环境设置如表1所示:
表1仿真环境
Figure BDA0000404791900000091
在传统算法中,权学习指数、动量因子、阈学习指数三因子一经初始化就不再变化,不随着迭代次数的增加而变化。为了讨论IBPDA的算法效率,本文利用收敛次数及收敛时间作为算法性能的评价指标。当所有样本训练一个周期之后,若误差在设定范围之内,即判定为一次收敛,收敛计数器加一,收敛计数器的值越高说明收敛次数越多,算法性能越好。
为了分析出改进型算法对数据分析的性能,我们对20组随机数据集进行仿真实验,依次分别对动量因子、阈学习指数、权学习指数三因子进行动态变化,对比显示出IBPDA在收敛次数上的优势。最后通过动态变化三因子,在收敛时间上与传统算法进行了对比,来显示出IBPDA较高的算法效率。
运用rand()函数随机产生20组数据集,训练前的原始数据离散分布数据点如图2所示。
实验1:针对随机产生的数据,在给定相同的初始动量因子、阈学习指数、权学习指数下,仅动态调整权学习指数,对比传统BP算法和改进型BP算法在收敛次数上的差异,仿真结果图3所示:
图3中横坐标表示神经网络在训练中的收敛次数,纵坐标表示权学习指数的变化范围,而折线斜率代表算法的收敛率。对比两条收敛曲线可知,算法在初始条件下对于收敛次数以及收敛率并无太大区别,但在下降到一定程度(如图中收敛次数为50)时,改进型算法能更早的在权学习指数进一步下降之前达到较好的收敛次数,但随着权学习指数的进一步下降两算法在收敛次数及收敛率上又趋于一致,说明权学习指数在收敛次数不多的情况下,会对神经网络收敛性产生影响。
实验2:执行BP算法,针对随机产生的数据,在给定相同的初始动量因子、阈学习指数、权学习指数下,仅动态改变动量因子,对比传统BP算法和改进型BP算法在收敛次数上的差异,仿真结果图4所示:
图4中横坐标表示神经网络在训练中的收敛次数,纵坐标表示动量因子的变化范围,而折线斜率代表算法的收敛率。对比两条收敛曲线可知,在相同初始条件下,IBPDA算法和传统算法在收敛次数和收敛率上保持一致,并无优势可言。但随着动量因子的逐步减小,IBPDA较之传统算法能获得更多的收敛次数,收敛率也相对于传统算法更高,并且最终能够在较大的动量因子的情况下就能趋于稳定。
实验3:针对随机产生的数据,在给定相同的初始动量因子、阈学习指数、权学习指数下,动态改变阈学习指数,对比传统BP算法和改进型BP算法在收敛次数上的差异,仿真结果如图5所示:
图5中横坐标表示神经网络在训练中的收敛次数,纵坐标表示阈学习指数的变化范围,而折线斜率代表算法的收敛率。对比两条收敛曲线可知,IBPDA能更早的在阈学习指数减小的情况下达到更多的收敛次数,但在收敛率上相对于传统算法没有明显优势。
实验4:针对随机产生的数据,在给定相同的初始动量因子、阈学习指数、权学习指数下,同时动态变化三因子,对比传统BP算法和IBPDA在收敛时间上的差异,得出仿真结果图6所示:
图6中横坐标表示神经网络在训练中的收敛次数,纵坐标表示收敛时间,而折线斜率代表算法的收敛率。蓝色Goal曲线表示目标收敛点,算法执行后越趋于蓝色目标函数值表明算法越有效。对比两条收敛曲线可知,IBPDA能用更短的时间、更少的收敛次数就达到所需的收敛性。通过运行BP算法来使数据收敛,执行算法后的数据点离原始数据越近说明算法越有效。通过仿真实验,改进型算法能有效的使离散数据收敛,误差范围在训练次数增多的情况下可以控制在合理的范围内,并且有良好的收敛性,但得为此付出时间为代价。运用动态调整三因子,能更好的达到学习停止条件,获得更好的网络性能。

Claims (6)

1.一种大数据中面向乱序数据流的反向传播方法,其特征在于该方法运用神经元动态优化方法,根据环境要求自适应调整网络训练结构,自动删除无效训练节点,优化迭代训练过程;并在网络学习过程中动态调整神经网络三因子,使收敛更稳定,该方法具体步骤如下:
输入样本期望输出值、样本输出值和训练样本输入值,神经元节点个数,
输出满足条件的样本训练值,
步骤1:设定一个学习模式,利用BP网络的无监督模式执行算法;
步骤2:初始化各层参数,将权学习指数、动量因子、阈学习指数均默认设为1.5;
步骤3:设定学习最大次数以及误差范围,为保证算法精确度,误差范围设为0.001;
步骤4:动态修正隐层与输出层的连接权及阈值,并计算各单元误差ε,将所得误差与误差范围进行对比,满足条件则停止学习计算,否则转入步骤5;
步骤5:动态调整权学习指数、动量因子、阈学习指数,并继续计算各单元误差;
步骤6:将步骤5所得各单元误差与学习停止条件进行比较,当达到预设条件时,学习结束;步骤7:输出输出层的最后训练结果。
2.根据权利要求1所述的一种大数据中面向乱序数据流的反向传播算法,其特征在于所述的神经元数量选取方法,过程如下:设网络结构中输入层节点的输出等于其输入,网络中的隐含层有Q个节点,隐含层和输出层节点的输入是前一层节点输出的加权和,每个节点的激励程度由激励函数Sigmoid决定;在训练网络的学习阶段,设有NP个训练样本,先假定用其中的某一固定样本中的输入输出模式对网络进行训练,若网络输出与期望输出值不一致,则将其误差信号从输出端反向传播,并在传播过程中对加权系数修正,使在输出层节点上得到的输出结果尽可能接近期望输出值;对样本完成加权系数的调整后,确定神经网络中隐层神经单元数量NH,由公式(1)确定:
N H = N I * N O + N P / 2 - - - ( 1 )
其中NI代表输入神经元的数量,NO代表输出神经元的数量,NP代表训练样本数,利用Sigmoid函数计算各层误差,并与学习停止条件对比,直到完成样本的训练学习为止。
3.根据权利要求1所述的一种大数据中面向乱序数据流的反向传播算法,其特征在于所述的神经元动态优化方法,根据环境要求自适应调整网络训练结构,自动删除无效训练节点,优化迭代训练过程,
设:有如下样本输入,
(1)有一组对应的学习样本组:(x1,t1),(x2,t2),…(xs,ts),…(xn,tn),其中xs代表第s个样本的输入,ts代表其相应的输出,1≤s≤n,n为学习样本数;
(2)在输入层有m个输入节点;
(3)在输出层仅仅有一个输出节点;
(4)前一层的输出成为后一层的输入,并且不同层有不同数量的节点和不同种类的激活函数。设有n个学习样本,输出均值定义如下:
o i ‾ = 1 n Σ p = 1 n o pi o j ‾ = 1 n Σ p = 1 n o pj - - - ( 2 )
其中opi是隐含层中第i个节点的学习第p个样本时的输出,opj是隐含层中第j个节点学习第p个样本的输出,n为学习样本数,
Figure FDA0000404791890000022
为第i个节点的输出均值,
Figure FDA0000404791890000023
为第j个节点的输出均值;
则第p个样本的输入输出可由公式(3)表示:
x p = o pi - o i ‾ = o pi - 1 n Σ p = 1 n o pi t p = o pj - o j ‾ = o pj - 1 n Σ p = 1 n o pj - - - ( 3 )
其中xp代表第p个样本的输入,tp代表第p个样本的输出。根据样本的输入输出计算相关系数和离散度,通过相关系数对功能相同的神经元进行合并,通过离散度删除无效节点。
4.根据权利要求1所述的一种大数据中面向乱序数据流的反向传播算法,其特征在于所述的动态调整神经网络三因子,即连接权值、学习指数、动量因子,来达到加快学习响应速度、增强网络稳定性的目的;隐层节点性能均方差e(p)定义如下:
e ( p ) = 1 2 Σ p ∈ output ( t p - x p ) 2 - - - ( 4 )
其中,tp是样本的期望输出值,p=l,2,…,n,xp是输出层中第p个节点的实际输出值,由此,输出层中节点误差为:
e ^ p = e ( p ) ( 1 - x p ) ( t p ′ - x p ) - - - ( 5 )
其中,t'p是输出层的期望输出值,将所计算出的误差反向传播至隐层,利用公式(6)继续迭代,直到满足预设误差停止条件,
e ^ p ′ = e ^ p ( 1 - x p ) Σ p ∈ output ω ij - - - ( 6 )
其中,ωij为输出层与隐层间的阈值Threshold,
Figure FDA0000404791890000029
为反向传播误差;由于阈值的选取直接导致各误差的传播速度,因此,需要一个自适应变化的阈值来加快传播速度,为此,利用公式(7)来对阈值ωij进行修正,
ω ij = α ( p ) β ( p ) e ^ p - - - ( 7 )
其中,α(p)是初始学习因子,β(p)是初始动量因子;训练开始阶段,要求连接权值较大以加快学习速度,而当学习接近优化区时,阈值就必须相应的变小,否则将产生振荡而不收敛,进而影响网络的稳定性;每一层动量因子的修正都与BP网络的学习速率有关,因此在改变动量因子的同时保证学习指数随其变化,使得神经网络学习传播模型能自适应变化,以适应数据量的增加,而不会坠入局部最小值;利用公式(8)来自适应调整学习因子,用公式(9)来调整动量因子
α ( p + 1 ) = α ( p ) * E ( p ) E ( p - 1 ) - - - ( 8 )
β ( p + 1 ) = β ( p ) * E ( p ) E ( p - 1 ) - - - ( 9 )
其中,E(p)为第p个节点的梯度,即xp的一阶导数,当ωij与设定的学习目标值相差存在较大的误差时,则α的值就增加,反之则β减少;通过自适应学习因子和动量因子,能获得更加稳定的收敛性和更高的学习效率。
5.根据权利要求3所述的一种大数据中面向乱序数据流的反向传播算法,其特征在于所述的通过相关系数对功能相同的神经元进行合并,相关系数定义如下:
R ij = Σ p = 1 n x p t p Σ p = 1 n x p 2 × Σ p = 1 n t p 2 - - - ( 10 )
opi和opj两者之间的相关系数可用公式(10)表示,相关系数是描述隐含层中节点之间的相关程度的函数,这里的Rij代表隐含层中第i个节点和第j个节点之间的相关系数,显而易见:-1≤Rij≤1,于是opi和opj两者之间的线性相关性随着Rij的模趋近于1而增加,与此同时,opi和opj两者之间的离散性随着Rij的模趋近于1而减少;如果Rij的值超过了预先设定的门限值,则代表第i个节点和第j个节点的功能相同,因此可以将这两个神经元合并为一个节点。
6.根据权利要求3所述的一种大数据中面向乱序数据流的反向传播算法,其特征在于所述的通过离散度删除无效节点,离散度定义如下:
S i = 1 n Σ p = 1 n O pi 2 - O i ‾ 2 - - - ( 11 )
Si为离散度是描述隐含层中节点之间的离散程度的函数,如果Si的值非常小,则它代表第i个神经元的输出变化非常小,其对网络的训练无效,因此这个节点应该被删剪掉。
CN201310524206.XA 2013-10-30 2013-10-30 一种大数据中面向乱序数据流的反向传播方法 Pending CN103559541A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310524206.XA CN103559541A (zh) 2013-10-30 2013-10-30 一种大数据中面向乱序数据流的反向传播方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310524206.XA CN103559541A (zh) 2013-10-30 2013-10-30 一种大数据中面向乱序数据流的反向传播方法

Publications (1)

Publication Number Publication Date
CN103559541A true CN103559541A (zh) 2014-02-05

Family

ID=50013782

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310524206.XA Pending CN103559541A (zh) 2013-10-30 2013-10-30 一种大数据中面向乱序数据流的反向传播方法

Country Status (1)

Country Link
CN (1) CN103559541A (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107063349A (zh) * 2017-04-17 2017-08-18 云南电网有限责任公司电力科学研究院 一种诊断变压器故障的方法及装置
CN107301454A (zh) * 2016-04-15 2017-10-27 北京中科寒武纪科技有限公司 支持离散数据表示的人工神经网络反向训练装置和方法
CN110264272A (zh) * 2019-06-21 2019-09-20 山东师范大学 一种移动互联网劳务众包平台任务最优定价预测方法、装置及系统
CN112639888A (zh) * 2018-08-09 2021-04-09 祖克斯有限公司 程序世界生成
CN113271652A (zh) * 2021-04-13 2021-08-17 复旦大学 基于反向传播算法的中继网络性能优化方法

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107301454A (zh) * 2016-04-15 2017-10-27 北京中科寒武纪科技有限公司 支持离散数据表示的人工神经网络反向训练装置和方法
CN107301454B (zh) * 2016-04-15 2021-01-22 中科寒武纪科技股份有限公司 支持离散数据表示的人工神经网络反向训练装置和方法
CN107063349A (zh) * 2017-04-17 2017-08-18 云南电网有限责任公司电力科学研究院 一种诊断变压器故障的方法及装置
CN112639888A (zh) * 2018-08-09 2021-04-09 祖克斯有限公司 程序世界生成
CN110264272A (zh) * 2019-06-21 2019-09-20 山东师范大学 一种移动互联网劳务众包平台任务最优定价预测方法、装置及系统
CN113271652A (zh) * 2021-04-13 2021-08-17 复旦大学 基于反向传播算法的中继网络性能优化方法

Similar Documents

Publication Publication Date Title
CN104900063B (zh) 一种短程行驶时间预测方法
CN103559541A (zh) 一种大数据中面向乱序数据流的反向传播方法
CN104317195B (zh) 一种基于改进极限学习机的非线性逆模型控制方法
CN110223517A (zh) 基于时空相关性的短时交通流量预测方法
CN108959728A (zh) 基于深度学习的射频器件参数优化方法
CN103886395A (zh) 一种基于神经网络模型的水库优化调度方法
CN101968629A (zh) 基于rbf辨识的弹性积分bp神经网络的pid控制方法
CN103559537B (zh) 一种乱序数据流中基于误差反向传播的模板匹配方法
CN103679139A (zh) 基于粒子群优化bp网络的人脸识别方法
CN109725537A (zh) 一种改进的线性最优半主动控制方法
CN107705556A (zh) 一种基于支持向量机和bp神经网络结合的交通流预测方法
CN102682345A (zh) 基于双最优学习率快速学习神经网络的交通流预测方法
CN103544528A (zh) 一种基于Hadoop的BP神经网络分类方法
CN103106535A (zh) 一种基于神经网络解决协同过滤推荐数据稀疏性的方法
CN106774379A (zh) 一种智能超螺旋强鲁棒姿态控制方法
CN105096007A (zh) 基于一种改进的神经网络的油井产量预测方法及其装置
CN104616072A (zh) 一种基于区间优化的提高谷氨酸发酵产物浓度的方法
CN108416178A (zh) 一种机械弹性车轮结构参数优化设计方法
CN105184400A (zh) 一种烟田土壤水分预测方法
CN109635938A (zh) 一种自主学习脉冲神经网络权值量化方法
Garrido et al. Event and time driven hybrid simulation of spiking neural networks
CN109800517B (zh) 一种改进的磁流变阻尼器逆向建模方法
CN103065191A (zh) 一种快速的神经网络学习方法
Abraham et al. Is neural network a reliable forecaster on earth? a MARS query!
CN109886405A (zh) 一种抑制噪声的基于人工神经网络结构优化方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
C12 Rejection of a patent application after its publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20140205