基于滑齿法的神经网络的模板匹配方法与流程

文档序号:13673079阅读:125来源:国知局
技术领域本发明涉及大数据处理技术领域,特别涉及基于滑齿法的神经网络的模板匹配方法。

背景技术:
云计算、物联网等新兴技术的快速发展促使数据的规模正以前所未有的速度增长,大数据时代已经开始到来。但是在海量的复杂的极度冗余的数据中,难以快速及时有效获取有价值的信息。因此需要能够快速、准确的发现有价值的信息,提取有效信息并将这些有价值的信息组织起来,得到一个有效的解决方案。大数据中基于神经网络的模板匹配方法是通过智能的对数据进行分析和分类,根据已知需求设定需要的信息模板,然后利用这个算法快速对海量数据进行数据的模板匹配,快速获取有效信息。然而,目前大部分模板匹配算法是根据事件重要性的顺序进行匹配搜索,由于节点需要记录多个相同的事件,从而保持排序的一致性,导致节点需要多次重复处理相似的信息,并给缓存计算带来了极大的压力导致无法应用于实时性较高的场合。

技术实现要素:
鉴于上述现有技术的不足之处,本发明提出一种基于滑齿法的神经网络的模板匹配方法,利用权值修正的滑齿法误差反向传播的神经网络的模板匹配算法对输入的数据进行分类、学习和模板数据匹配。基于滑齿法的神经网络的模板匹配方法,包括以下步骤:步骤1、根据误差反向传播的神经网络的制定规则,将网络结构分为输入层、隐藏层和输出层;步骤2、在所述隐藏层中设定第一误差范围、最大训练次数和第二误差范围并初始化,所述第一误差范围为所述神经网络可接受的误差范围,所述第二误差范围为模板匹配值可接受的误差范围;步骤3、根据数据分块机制,输入的数据进行相似性检测后被分割成多个数据块;步骤4、利用滑齿法匹配被处理的数据;步骤5、判断网络节点的误差和模板匹配的误差是否分别落在所述第一误差范围和所述第二误差范围内,或者,模板匹配的误差是否在所述第二误差范围内且达到最大训练次数;如是,则输出结果;否则执行步骤6;步骤6、修正所述输入层的网络权值;步骤7、重复执行步骤4~步骤6,直到输出结果。步骤3的具体过程为:利用相似性检测算法,计算输入节点数据与模板中相应点的绝对误差值,将各输入数据点的绝对误差值累加,直到超过设定阈值,停止累加并计算此数据块的相似性均值,此时所述相似性均值大于预期值,停止分割数据。步骤4的具体过程为:在网络训练阶段,输出信号与期望输出相比较得到误差信号,所述误差信号从所述输出层逐级反馈到所述隐藏层和所述输入层,并动态修正所述隐藏层和所述输入层的权值。本发明通过对海量数据进行数据的相似性检测,确定分割的数据块的大小;利用权值修正的滑齿法误差反向传播的神经网络的模板匹配算法对输入的数据进行分类、学习和模板数据匹配;使用平均绝对差参数确定数据匹配程度,得到模板匹配的数据信息,来加速匹配过程中的算法速度和精度,并提高算法的稳定性。进一步改善了模板匹配精度,提升了运行时间以及算法稳定性。附图说明图1为基于滑齿法的神经网络的模板匹配的网络模型;图2为基于滑齿法的神经网络的模板匹配方法实施例的流程图;图3为图2实施例阈值与收敛次数关系图;图4为图2实施例连接权值与收敛次数关系图;图5为图2实施例学习指数与收敛次数关系图;图6为图2实施例收敛次数与迭代次数的关系。具体实施方式为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。大数据中基于神经网络的模板匹配方法,首先对需要匹配的数据进行分割,进行模块化处理,这样有利于加速需要匹配的模板数据信息的速度,利用序贯相似性检测算法(SequentialSimilarityDetectionAlgorithm,SSDA)对输入的数据进行相似性检测如式1。计算输入的数据与模板中相应点的绝对误差值,将输入的数据点的误差累加。每次累加的误差若超过设定阈值,则停止累加,计算此数据块的相似性均值E值,如果相似性均值E值大于设定的预期值,则终止分割这个数据块;在相似性均值E小于预期值之前,将该部分数据段设置为一个小数据块。通过这样的实时数据计算处理,会得到很好的数据处理结果。E(u,ν)=Σi=1MΣj=1M[(S(u+i,ν+j)-S‾(u,v))-(T(i,j)-T‾(u,v))]---(1)]]>和分别代表匹配均值和数据比对的均值。S(i,j)和T(i,j)分别代表实时的数据的匹配结果值和数据比对的结果值。接着进行模板匹配,一般的误差反向传播的神经网络的非线性映射特性适用于大量的乱序数据的非结构性映射,同时神经网络的模型是影响网络学习性能的主要因素之一。本实施例利用数值信息来代替数据包,以此给神经网络的参数修正和快速学习创造条件。将输入层的数据形式设置为(x1,x2x3,…,xk,1≤k≤n),n为输入层节点个数,输出层数据的函数设置为yk=f(xk),其中f(xk)表示网络的输出函数。网络通过对样本学习训练,调整各神经元之间的连接权值来实现对模型参数的逼近,使得网络在连接权值调整的同时也进行网络结构的学习。首先利用式(2)计算误差。隐藏层误差计算采用的Sigmoid作用函数,在闭区间[0,1]上的Sigmoid函数表达式及其导数定义为式(3),其中λ决定Sigmoid函数的压缩程度,也是数据的压缩程度的,为避免陷入局部最小一般取1。J=xk-yk(2)f(x)=1(1+e-λx)f(x)=λf(x)[1-f(x)]---(3)]]>假设网络中第j个节点输出函数为yk,将其表示为式(4)yk=Σi=1nωijh(si),j=0,1,...,n---(4)]]>式中ωij为连接权值,h(si)是隐藏层的第i个神经元的输出,si是其输入的代数和:si=Σi=1nani*xk+Σm=1nbmi*ek---(5)]]>式中an为输入单元与隐藏层的连接的权值,bm为隐藏层与输出单元的连接权值。神经网络的特征参数需要动态调整,利用滑齿的方法可以快速动态调整神经网络,不需要引入额外的参数就可以有非常大的应用范围。但是滑齿方法要求最小二乘法平差(以下简称平差)服从正态分布,实际情况往往比较复杂很难满足。同时在计算预平差的矩阵时需要对预方的差向量样本值进行数据平均计算,会存在数据选择大小的选取问题。如果数据选择过小,则估计得到的预平差矩阵会存在较大的误差;相反,如果数据选择过大,会导致预平差矩阵估计值难以反映系统的瞬态特性。当目标数据的需要学习数据特征值数较大时,得到预平差和预均值都比较大,因此神经网络调整权值的幅度应相应增大。根据神经网络中心点位置和权值的大小近似计算网络系统的状态。将需要优化的离散系统的状态作为网络系统状态的输入状态。假设输入的数据是M维数据,则可以计算输入的均值是最小二乘法平差是Ak,则神经网络的系统状态Xi,k由下面公式计算得到Xi,k=x‾k,i=0x‾k+(M(1+δ2)Ax)i,i=1,2,...,Mx‾k-(M(1+δ2)Ax)i-M,i=M+1,M+2,...,2M---(6)]]>δ是由Xi,k相对于的扩散程度决定的标量,一般取值在0.001-1之间,这样有利于估计整个网络的系统状态。根据全概率和条件概率得知Xi,k|k-1=Xi,k-1,则系统预均值和预平差的计算公式如下,x‾k|k-1=Σi=02MθXi,k|k-1---(7)]]>Ak|k-1=Σi=02Mθ(Xi,k|k-1-x‾k|k-1)(Xi,k|k-1-x‾k|k-1)T---(8)]]>其中是相对于的值,Ak|k-1是Ak相对于Ak-1的值,θ=1-1/δ2,i=01/2Mδ2,i=1,2,...,2M---(9)]]>输出的误差没有达到预期效果时,反向传播反馈并修改输入数据的权值信息,动态调整学习的能力。隐藏层的每个神经元节点仅接受自身单元的反馈,各个节点之间不存在反馈联系,所以互不影响,而且使得隐藏层的节点仅接受某些特定数据(数据单元)的调整信息。同时修改权值是根据权空间的最速下降方法得到的轨迹的一种近似方法,网络状态更新权值的计算如式(10)~式(13),利用滑齿法进行网络的权值修正,动态的调整网络的学习方向并且加速算法收敛速度。Akk=h(xk)Ak|k-1h(xk)T(10)Aik=Ak|k-1h(xk)T(11)x‾=x‾k|k-1+AkkAkk-1(yk-h(sk))---(12)]]>Ak=Ak|k-1-AikAkk-1AikT---(13)]]>神经网络采用误差反向传播的结构,在网络训练阶段,BP神经网络输出信号与期望输出相比较得到误差信号,误差通过滑齿法从输出层经各中间层逐层修正网络连接权值。主要是从补偿的角度,利用神经网络的映射逼近能力和自学习能力不断调整网络权值从而不断修正结果,从而改进算法,提高模板匹配算法的计算精度和算法收敛速度。在模板匹配方法中,特征抽象算法是将需要匹配的数据进行抽象得到需要的模板匹配数据,然后利用模板匹配的数据进行与原始的大量数据进行匹配,得到相互匹配的数据信息。在匹配过程中,决定匹配质量很重要的一个参数是平均绝对差,它是计算模板匹配相似度的一个标准值。利用式(14),可以快速匹配既定的数据模板,得到与模板数据相似的数据信息。RA,B=(Σi=1SΣj=1K|ai,j-bi,j|)/(S×K)---(14)]]>ai,j是需要的模板数据,bi,j是设定的模板数据集合。在匹配大量数据的时候,会将数据分成很多个小的数据块进行处理。S×K是模板数据中每个数据块的数据流量和维度的总和。设定将模板匹配的平均绝对差的计算公式使用极坐标进行修改,将里面的数据转化为极坐标中的数据信息,RA,B=(Σρ=0r(Σθ=0πa(ρ,θ)-Σθ=0πb(ρ,θ)))/(S×K)---(15)]]>其中a(ρ,θ)是需要的模板数据,b(ρ,θ)是设定的模板数据集合。不同类型的模板数据和匹配的数据,根据起始的数据信息进行不断的修正,公式如下a′(ρ,θ)=a(ρ+1,θ)-a(ρ,θ),ρ=0,1,...,r-1(16)b′(ρ,θ)=b(ρ+1,θ)-b(ρ,θ),ρ=0,1,...,r-1(17)其中a′(ρ,θ)是需要的模板数据的微分值,b′(ρ,θ)是需要匹配的数据集的微分值。微分值是将极半径作为参数进行微分得到。在计算绝对差值的时候,由于输入数据的多样性和复杂性,需要使用微分方法来精确计算数据匹配的程度。通过该方法,可以得到精确度更加高的模板匹配的数据,使算法获得更加稳定的收敛性,并能明显减少学习次数。在仿真平台上对基于滑齿法的神经网络的模板匹配方法进行仿真分析,并与传统模板匹配算法IEBP进行对比实验。仿真分析的实验环境为一台主频3.2G,4G内存的PC,软件环境基于Eclipse4.3.2来编程实现算法功能。EBP算法的结构设置为20-50-1(输入层-隐藏层-输出层),对于每个样本,初始阈值在[1,2]之间随机变化。通过对10000组数据的多次学习,找出算法结构的最优阈值、连接权值及学习指数,并将最优解运用于模板匹配中。用算法的收敛次数、学习次数、匹配正确率和运行时间作为算法的性能评价指标。当大量的数据中的一组数据经过一次匹配,即称之为一次迭代,若误差在设定范围之内,即判定为一次收敛,相同条件下收敛次数越多算法精确性越高,获得一次最优解则称为一次学习,在同样算法运行次数下学习次数越少算法效率越高。在数据量相同的情况下,匹配正确率等于匹配正确个数与匹配个数之比,其值越高则精确度越高。针对随机产生的10000组数据,在给定初始阈值、连接权值、学习指数下通过对变量进行动态调整,多次运行改进型算法,观察算法实验的平均收敛次数,得到如图3至图6的仿真结果。图3为当阈值在[0.5,21.5]之间随机变化时,本实施例方法在经过30次运行之后得到的平均收敛次数。随着阈值的不断变化,在区间[0.95,1.1]上已能获得较好的收敛次数,但仍存在小幅波动,而在阈值为1时刻,能获得最大的收敛次数,随后呈现逐步下降趋势。因此,当阈值为1时,本实施例方法MTA-IEBP获得的平均收敛次数相比于其他时刻有较大的优势。在图4中,在数据量不断增加的情况下,由于本实施例方法在匹配过程中并不会出现较大的波动,使得算法收敛次数能维持在较稳定的水平,并不随着网络负荷的增加而减少。相比于IEBP,本实施例方法不仅能获得比较多的收敛次数,而且在数据负荷增加的情况下依然能保证算法的稳定性和可靠性。在图5中,在数据量不断增加的情况下,IEBP的学习次数存在较大的波动,而本实施例方法由于删除了冗余的神经元,因此能在较少的学习次数下就能满足原始设定的误差范围。在图6中,本实施例方法由于确定了最优学习指数,使得算法不会坠入局部最小值,因此能稳定获得90%以上的正确率,很大程度上改进了匹配准确性,而且相比于IEBP具有较好的稳定性,即正确率浮动变化范围不大。本发明方案所公开的技术手段不仅限于上述实施方式所公开的技术手段,还包括由以上技术特征任意组合所组成的技术方案。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1