一种基于t混合因子分析的分布式手写数字识别方法_2

文档序号:9274933阅读:来源:国知局
训练数据得到 的对应模型tMFA(S卩:用训练收敛时的参数0表示)。重复上述步骤10次, 从而得到10个数字各自对应的tMFA模型,为了表示方便,并加以区分,用
,W= 〇.l.….刃表示数字d对应的tMFA模型。分布式训 练完成。
[0055] 步骤3:分布式识别;当网络中的任一计算机采集到新的用于识别的手写数字时, 首先由步骤(1)得到其对应特征,表示为s',而后计算关于? (d)(d= 0, 1,...,9)的对数似 然logp(s' | ? (d))(d= 0, 1,? ? ?,9):
[0056]
[0057] 将最大对数似然值对应的序号作为s'的识别结果d' :
[0058]
[0059] 本发明的分布式识别方法的具体流程如图2所示。
[0060] 有益效果:
[0061] 1.本发明中所采用的t混合因子分析,对数据中存在的离群点具有较高的鲁棒 性,并且可以更好地描述高维数据,从而更好的获得与数据对应的模型,从而也可以获得更 好的训练与识别性能。
[0062] 2.本发明中所采用的基于t混合因子分析模型的分布式训练过程,使得网络中的 各个计算机节点可以充分利用其它计算机节点采集到的数据中所包含的信息,从而训练处 更加精确的模型。
[0063] 3.本发明中所采用的基于t混合因子分析模型的分布式训练过程,在计算机节点 协作过程中,交换局部统计量而不是直接传输原始数据,由于局部统计量的数量和维度远 小于数据,因此这种方式一方面节省了通信的开销,另一方面,有利于充分保护数据中的隐 私信息,提高了采用本方法的系统的安全性能。
[0064] 4.本发明中所采用的基于t混合因子分析模型的分布式识别过程,可以在网络中 的任意一台计算机节点处采集新的数据,都可以获得相同的识别结果。
【附图说明】
[0065] 图1为本发明的网络中节点m的邻居节点集Rm,以及节点之间收发局部统计量的 示意图。
[0066] 图2为本发明涉及的基于t混合因子分析的分布式手写数字识别方法的流程图。
[0067] 图3为本发明的方法和集中式tMFA,无协作tMFA方法识别结果对应的混淆矩阵 (艮P:ConfusionMatrix)hinton不意图。
[0068] 图4为本发明的方法和集中式tMFA,无协作tMFA方法的识别正确率的均值和方差 示意图。
【具体实施方式】
[0069] 下面结合说明书附图对本发明创造作进一步的详细说明。
[0070] 为了更好地说明本发明涉及的一种基于t混合因子分析的分布式手写数字识别 方法。我们以一个具体的应用实例来描述。
[0071] (1)数据的采集与特征提取:设总共有44人,每人每个数字手写25次,总共为 25*10*44 = 11000个原始数据。网络中的总共20台计算机/节点(M= 20),每个节点的 邻居节点数为3,任意两个节点间都有直接或多跳路径互通。将其中30人的手写数字的原 始数据(250*30 = 7500个)用于分布式训练,将其平均分成20份,随机分配到20个节点 中。对于每个原始数据,在其轨迹上等间隔地取8个点的坐标(七,乃,作为该原始数据所 对应的特征数据s,共16维。为了表示方便,设节点m处经过特征提取得到的数字d的训练 数据集为Sf= {Og-W= 〇,1,…,9),其中表示节点m处,用于训练的手写数字d的 第n个特征数据,维度为p= 16, 为数字d的训练数据个数。
[0072] (2)分布式训练:步骤(1)完成后,开始分布式训练。这里以数字d的训练为例, 用tMFA来建模特征数据的分布(m=l,...,M),训练过程如图2所示,其具体步骤如下:
[0073] (2-1)初始化:设定tMFA中的混合成分数I= 5。根据I和数据的维度p来设定MFA 中参数的初始值。其中,各节点处的 …乂)= 从该节点采集到的数据中随机选取;和{叫,...,叫,...,叱}中的每个元素都 从标准正态分布N(0, 1)中生成;vf=…=…=vf=3。此外,每个节点1 (1 = 1,...,M) 将其采集到的数据个数广播给其邻居节点。当某个节点m收到它的所有邻居节点广播 来的数据个数之后,该节点计算权重clm:
[0074]
[0075] 该权重的含义为用于衡量节点m的各邻居节点1 (1GRm)每次传输的信息在节点 m处的重要性。初始化完成后,迭代计数器iter= 1,开始迭代过程。
[0076] (2-2)计算局部统计量并广播:此步骤不需要邻居节点的信息。在每个节 点1处,基于其采集到的数据Sf,首先计算出中间变量gi,旬^,%二,〈z=〉和

[0083] 其中...,为上一次迭代完成之后得到的参数值(首次迭代 时为参数的初始值{〇?,M°,D>;%=1....., >。<^>表示节点1处第n个数据属于第i个类 (混合成分)的概率,为<=的期望值。
[0084] 有了上述中间变量的计算结果,节点计算出局部统计量 (LS) LS, ^{LSfmLSri/LLSM/.LLSrmLSM^^
[0090] 最后,每个节点1将计算好的局部统计量LSJ^播扩散给其邻居节点,如图1所示。
[0091] (2-3)计算联合统计量:当节点m(m= 1,...,M)收到来自其所有邻居节点 1 (1e 节点m计算出联合统计量CS" = {CSllmcCm.CStmCStWXStwL,:
[0097] (2-4)估计模型中的各参数:节点m(m= 1,. . .,M)根据上一步计算出的CSm,估计 出 0 = ,其中,{iii,= 估计过程如下:
[0100] 对于{A,_,D丄=1 T的估计,过程如下:
[0104] 此外,对于, T,通过解下面的方程来得到:
[0105]
[0106] 其中步(?)为标准的digamma函数,一般用牛顿法解上述方程。
[0107](2-5)判断是否收敛:节点m(m= 1,...,M)计算当前迭代iter下的对数似然值:
[0108] _1 \ ?-i
y
[0109] 如果log/KSriepiog/KSifl?,^,则算法收敛,停止迭代;否则执行步骤 (2-2),开始下一次迭代(iter=iter+1 ;)。其中0表示当前迭代估计出的参数值,0°ld 表示上一次迭代中估计的参数值。即,相邻两次迭代的对数似然值小于阈值e,算法收敛。 e取10_5~1(T6中的任意值。值得注意的是,由于网络中各节点是并行处理数据,因此所 有不可能在一次迭代中同时收敛。例如,当节点1已经收敛而节点m尚未收敛时,贝1」节点1 不再发送LSl,也不再接收邻居节点传输的信息。节点m则用最后一次收到的节点1发来的 L&更新其CSm。未收敛的节点继续迭代,直至网络中所有节点都收敛。
[0110] 经过上述步骤(2-1)~(2-5)之后,由手写数字d的训练数据得到的对应模型 tMFA(用训练收敛时的参数0表示)。重复上述步骤10次,从而得到10个数字各自对应的 tMFA模型,为了表示方便,并加以区分,用丨W= 0丄...,9) 表示数字d对应的tMFA模型。分布式训练完成。
[0111] (3)分布式识别:当网络中的任一计算机采集到新的用于识别的手写数字时,首 先由步骤(1)得到其对应特征,表示为s',而后计算关于0(d)(d= 0,1,...,9)的对数似然 logp(s' | @ (d))(d= 0, 1,. . . ,9):
[0112] \i=i
y
[0113] 将最大对数似然值对应的序号作为s'的识别结果d' :
[0114]
[0115] 本发明的分布式识别流程如图2所示。
[0116] 性能评价:
[0117]由于待识别的数字真实值已知,将采
当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1