发明名称 基于并行投影方法的L1正则化核学机的分布式训练方法
摘要 基于并行投影方法的L1正则化核学机的分布式训练方法,属于无线传感器网络中数据融合技术领域。本发明针对无线传感器网络下已有核学机训练方法存在的高通信代价问题,在节点本地模型与邻居节点间的局部最优模型相一致的约束下,利用并行投影方法构建和求解基于L1正则化的核学机的分布式训练优化问题,利用交替方向乘子法对节点本地的L1正则化核学机优化问题进行稀疏模型求解;仅依靠相邻节点间传输稀疏模型的方式进行协作以进一步优化节点局部模型;当各节点收敛到局部稳定模型后,利用平均一致性算法实现各节点模型的全局一致。
申请公布号 CN104954972A 申请公布日期 2015.09.30
申请号 CN201510293837.4 申请日期 2015.06.01
申请人 北京工业大学 发明人 侯义斌;及歆荣;侯琴
分类号 H04W4/00(2009.01)I;H04W84/18(2009.01)I 主分类号 H04W4/00(2009.01)I
代理机构 北京思海天达知识产权代理有限公司 11203 代理人 沈波
主权项 基于并行投影方法的L1正则化核学习机的分布式训练方法,本方法在核学习机训练过程中包括四个重要机制;机制1:节点本地核学习机优化问题求解方法在节点本地模型与邻居节点间的局部最优模型相一致的约束下,利用并行投影方法构建和求解基于L1正则化的KMSE的分布式训练优化问题;机制2:节点本地稀疏模型求解;利用交替方向乘子方法(Alternating Direction Method of Multipliers,ADMM)对节点本地的L1正则化KMSE训练优化问题进行稀疏模型求解;机制3:邻居节点间的协作机制;为求解邻居节点间的局部最优模型、加快节点本地模型收敛和减少节点间数据传输量,相邻节点间以传输稀疏模型的方式进行协作,并将接收到的稀疏模型中携带的样本信息加入到本地样本集;机制4:节点模型一致性;当各节点都收敛到稳定模型后,仅依靠相邻节点间传输稀疏模型的方式进行协作,使每个节点上都接收到网络中所有其他节点的模型,然后各节点本地对所有模型进行平均以得到一致模型;基于机制1、机制2、机制3和机制4的L1正则化核学习机的分布式训练方法有五个阶段,分别是:1.节点本地初始化;2.节点本地稀疏模型求解和发送;3.节点接收邻居节点发送过来的稀疏模型,计算局部最优模型预测值;4.节点本地模型收敛条件判定;5.节点模型一致性;基于并行投影的L1正则化核学习机的分布式训练方法,其是在以下前提条件下进行的:a.网络中每个节点都有唯一的ID号;b.网络结构稳定且连通;c.网络中各节点仅与其单跳邻居节点通信;;d.网络中各节点使用相同的核函数和相同的参数值;其特征在于:该L1正则化核学习机的分布式训练方法的步骤如下,步骤1:节点本地初始化步骤1.1:各节点初始化网络规模J、邻居节点集合B<sub>j</sub>、本地训练样本集合S<sub>j</sub>:={(x<sub>jn</sub>,y<sub>jn</sub>),n={1,2,…,N<sub>j</sub>}},<img file="FDA0000729392120000011.GIF" wi="166" he="70" />确定核函数k(x<sub>i</sub>,x<sub>j</sub>)并初始化核参数σ和正则系数λ;其中,B<sub>j</sub>是由节点j及其邻居节点构成的集合;x<sub>jn</sub>∈R<sup>p</sup>是节点j的第n个训练样本jn的特征向量,p为特征向量维数,y<sub>jn</sub>∈Y:={1,‑1}是训练样本jn对应的类别标签,N<sub>j</sub>是训练样本数量;k(x<sub>i</sub>,x<sub>j</sub>)中x<sub>i</sub>和x<sub>j</sub>是两个训练样本,其作用是计算两个训练样本之间的距离,核参数σ是核函数中的一个常量参数,正则系数λ是L1正则项的一个常量参数,用于调节正则项在整个损失中的比例;步骤1.2:各节点利用y=(x‑xmin)/(xmax‑xmin)将本地训练样本的特征信息归一化到[0,1]区间;各节点为归一后的训练样本增加标识字段node_ID和example_ID以唯一标识每个训练样本,增加发送标识字段is_sended标识该样本是否已经发送过,以避免重复发送;其中,x为训练样本的某一个特征信息,xmax和xmin分别为训练样本该特征信息的最大值和最小值,y为训练样本特征信息x归一处理后的结果;步骤2:节点本地稀疏模型求解和发送步骤2.1:各节点在本地模型和邻居节点间的局部最优模型相一致约束下,利用并行投影方法构建和求解基于L1正则化的KMSE的分布式训练优化问题,构建的优化问题形式如式(1),相应的求解迭代形式如式(2)‑式(3);<maths num="0001" id="cmaths0001"><math><![CDATA[<mrow><mi>min</mi><mfrac><mn>1</mn><msub><mi>N</mi><mi>j</mi></msub></mfrac><munderover><mi>&Sigma;</mi><mrow><mi>n</mi><mo>=</mo><mn>1</mn></mrow><msub><mi>N</mi><mi>j</mi></msub></munderover><msup><mrow><mo>(</mo><msub><mi>y</mi><mi>jn</mi></msub><mo>-</mo><msub><mi>f</mi><mi>j</mi></msub><mrow><mo>(</mo><msub><mi>x</mi><mi>jn</mi></msub><mo>)</mo></mrow><mo>)</mo></mrow><mn>2</mn></msup><mo>+</mo><mi>&lambda;</mi><msub><mrow><mo>|</mo><mo>|</mo><msub><mi>f</mi><mi>j</mi></msub><mo>|</mo><mo>|</mo></mrow><mn>1</mn></msub><mo>+</mo><mfrac><mn>1</mn><mn>2</mn></mfrac><msubsup><mrow><mo>|</mo><mo>|</mo><msub><mi>f</mi><mi>j</mi></msub><mrow><mo>(</mo><msub><mi>x</mi><mi>jn</mi></msub><mo>)</mo></mrow><mo>-</mo><msub><mi>f</mi><msub><mi>B</mi><mi>j</mi></msub></msub><mrow><mo>(</mo><msub><mi>x</mi><mi>jn</mi></msub><mo>)</mo></mrow><mo>|</mo><mo>|</mo></mrow><mn>2</mn><mn>2</mn></msubsup><mo>,</mo><mo>&ForAll;</mo><mi>j</mi><mo>&Element;</mo><mi>J</mi><mo>,</mo><mi>n</mi><mo>=</mo><mn>1</mn><mo>,</mo><mo>.</mo><mo>.</mo><mo>.</mo><mo>,</mo><msub><mi>N</mi><mi>j</mi></msub><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>1</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000729392120000021.GIF" wi="1678" he="149" /></maths><maths num="0002" id="cmaths0002"><math><![CDATA[<mrow><msup><msub><mi>f</mi><mi>j</mi></msub><mrow><mi>k</mi><mo>+</mo><mn>1</mn></mrow></msup><mrow><mo>(</mo><msub><mi>x</mi><mi>jn</mi></msub><mo>)</mo></mrow><mo>=</mo><mi>arg</mi><mi>min</mi><mo>{</mo><mfrac><mn>1</mn><msub><mi>N</mi><mi>j</mi></msub></mfrac><munderover><mi>&Sigma;</mi><mrow><mi>n</mi><mo>=</mo><mn>1</mn></mrow><msub><mi>N</mi><mi>j</mi></msub></munderover><msup><mrow><mo>(</mo><msub><mi>y</mi><mi>jn</mi></msub><mo>-</mo><msub><mi>f</mi><mi>j</mi></msub><mrow><mo>(</mo><msub><mi>x</mi><mi>jn</mi></msub><mo>)</mo></mrow><mo>)</mo></mrow><mn>2</mn></msup><mo>+</mo><mi>&lambda;</mi><msub><mrow><mo>|</mo><mo>|</mo><msub><mi>f</mi><mi>j</mi></msub><mo>|</mo><mo>|</mo></mrow><mn>1</mn></msub><mo>+</mo><mfrac><mn>1</mn><mn>2</mn></mfrac><msubsup><mrow><mo>|</mo><mo>|</mo><msub><mi>f</mi><mi>j</mi></msub><mrow><mo>(</mo><msub><mi>x</mi><mi>jn</mi></msub><mo>)</mo></mrow><mo>-</mo><msup><msub><mi>f</mi><msub><mi>B</mi><mi>j</mi></msub></msub><mrow><mi>k</mi><mo>+</mo><mn>1</mn></mrow></msup><mrow><mo>(</mo><msub><mi>x</mi><mi>jn</mi></msub><mo>)</mo></mrow><mo>|</mo><mo>|</mo></mrow><mn>2</mn><mn>2</mn></msubsup><mo>}</mo><mo>,</mo><mo>&ForAll;</mo><mi>j</mi><mo>&Element;</mo><mi>J</mi><mo>,</mo><mi>n</mi><mo>=</mo><mn>1</mn><mo>,</mo><mo>.</mo><mo>.</mo><mo>.</mo><mo>,</mo><msub><mi>N</mi><mi>j</mi></msub><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>2</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000729392120000022.GIF" wi="1821" he="159" /></maths><maths num="0003" id="cmaths0003"><math><![CDATA[<mrow><msup><msub><mi>f</mi><msub><mi>B</mi><mi>j</mi></msub></msub><mrow><mi>k</mi><mo>+</mo><mn>1</mn></mrow></msup><mrow><mo>(</mo><msub><mi>x</mi><mi>jn</mi></msub><mo>)</mo></mrow><mo>=</mo><mfrac><mrow><msubsup><mi>&Sigma;</mi><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><msub><mi>B</mi><mi>j</mi></msub></msubsup><msubsup><mi>f</mi><mi>i</mi><mrow><mi>k</mi><mo>+</mo><mn>1</mn></mrow></msubsup><mrow><mo>(</mo><msub><mi>x</mi><mi>jn</mi></msub><mo>)</mo></mrow></mrow><mrow><mi>Num</mi><mrow><mo>(</mo><msub><mi>B</mi><mi>j</mi></msub><mo>)</mo></mrow></mrow></mfrac><mo>,</mo><mo>&ForAll;</mo><mi>j</mi><mo>&Element;</mo><mi>J</mi><mo>,</mo><mi>n</mi><mo>=</mo><mn>1</mn><mo>,</mo><mo>.</mo><mo>.</mo><mo>.</mo><mi>n</mi><msub><mi>N</mi><mi>j</mi></msub><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>3</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000729392120000023.GIF" wi="1343" he="151" /></maths>在式(1)‑式(3)中,f<sub>j</sub>(x<sub>jn</sub>)是节点j的本地模型对本地样本的预测值,<img file="FDA0000729392120000024.GIF" wi="159" he="77" />为节点j及其邻居节点间的局部最优模型对节点j上训练样本的预测值;式(1)和式(2)中,λ||f<sub>j</sub>||<sub>1</sub>是对本地模型的L1正则化项,用于本地模型的稀疏求解,<img file="FDA0000729392120000025.GIF" wi="473" he="120" />为节点本地模型和局部最优模型相一致的并行投影形式;Num(B<sub>j</sub>)是包括j在内的邻居节点数量;步骤2.2:各节点利用核函数k(x<sub>i</sub>,x<sub>j</sub>)对本地归一化后的训练样本进行核矩阵计算和增广,得到增广矩阵K<sub>j</sub>;步骤2.3:各节点利用ADMM对式(2)的优化问题进行稀疏模型求解,对应的优化问题形式如式(4),求解迭代形式如式(5)‑式(7);<maths num="0004" id="cmaths0004"><math><![CDATA[<mrow><mi>min</mi><mfrac><mn>1</mn><msub><mi>N</mi><mi>j</mi></msub></mfrac><msup><mrow><mo>(</mo><msub><mi>Y</mi><mi>j</mi></msub><mo>-</mo><msub><mi>K</mi><mi>j</mi></msub><msub><mi>&alpha;</mi><mi>j</mi></msub><mo>)</mo></mrow><mi>T</mi></msup><mrow><mo>(</mo><msub><mi>Y</mi><mi>j</mi></msub><mo>-</mo><msub><mi>K</mi><mi>j</mi></msub><msub><mi>&alpha;</mi><mi>j</mi></msub><mo>)</mo></mrow><mo>+</mo><mfrac><mn>1</mn><mn>2</mn></mfrac><msubsup><mrow><mo>|</mo><mo>|</mo><msub><mi>K</mi><mi>j</mi></msub><msub><mi>&alpha;</mi><mi>j</mi></msub><mo>-</mo><msub><mi>f</mi><msub><mi>B</mi><mi>j</mi></msub></msub><mrow><mo>(</mo><msub><mi>x</mi><mi>j</mi></msub><mo>)</mo></mrow><mo>|</mo><mo>|</mo></mrow><mn>2</mn><mn>2</mn></msubsup><mo>+</mo><mi>&lambda;</mi><msub><mrow><mo>|</mo><mo>|</mo><msub><mi>z</mi><mi>j</mi></msub><mo>|</mo><mo>|</mo></mrow><mn>1</mn></msub><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>4</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000729392120000026.GIF" wi="1644" he="135" /></maths>s.t.α<sub>j</sub>‑z<sub>j</sub>=0<maths num="0005" id="cmaths0005"><math><![CDATA[<mrow><msup><msub><mi>&alpha;</mi><mi>j</mi></msub><mrow><mi>k</mi><mo>+</mo><mn>1</mn></mrow></msup><mo>=</mo><mo>[</mo><mrow><mo>(</mo><mfrac><mn>2</mn><msub><mi>N</mi><mi>j</mi></msub></mfrac><mo>+</mo><mn>1</mn><mo>)</mo></mrow><msup><msub><mi>K</mi><mi>j</mi></msub><mi>T</mi></msup><msub><mi>K</mi><mi>j</mi></msub><mo>+</mo><mi>&rho;I</mi><msup><mo>]</mo><mrow><mo>-</mo><mn>1</mn></mrow></msup><mo>[</mo><msup><msub><mi>K</mi><mi>j</mi></msub><mi>T</mi></msup><mrow><mo>(</mo><mfrac><mn>2</mn><msub><mi>N</mi><mi>j</mi></msub></mfrac><msub><mi>Y</mi><mi>j</mi></msub><mo>+</mo><msup><msub><mi>cf</mi><msub><mi>B</mi><mi>j</mi></msub></msub><mi>k</mi></msup><mrow><mo>(</mo><msub><mi>x</mi><mi>j</mi></msub><mo>)</mo></mrow><mo>)</mo></mrow><mo>+</mo><mi>&rho;</mi><mrow><mo>(</mo><msup><msub><mi>z</mi><mi>j</mi></msub><mi>k</mi></msup><mo>+</mo><msup><msub><mi>u</mi><mi>j</mi></msub><mi>k</mi></msup><mo>)</mo></mrow><mo>]</mo><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>5</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000729392120000027.GIF" wi="1617" he="133" /></maths>z<sub>j</sub><sup>k+1</sup>:=S<sub>λ/ρ</sub>(α<sub>j</sub><sup>k+1</sup>+u<sub>j</sub><sup>k</sup>)           (6)u<sub>j</sub><sup>k+1</sup>:=u<sub>j</sub><sup>k</sup>+α<sub>j</sub><sup>k+1</sup>‑z<sub>j</sub><sup>k+1</sup>          (7)在式(4)和式(5)中,K<sub>j</sub>是本地训练样本的增广核矩阵,Y<sub>j</sub>本地训练样本的类别标签向量,I为本地样本量加1,即N<sub>j</sub>+1维的单位矩阵,α<sub>j</sub>是要求解的本地训练样本的权重向量,z<sub>j</sub>是利用ADMM增加的辅助向量,辅助α<sub>j</sub>求解;在式(5)‑式(7)中,ρ是约束α<sub>j</sub>‑z<sub>j</sub>=0的增广系数,是一个正常数,u<sub>j</sub>为约束α<sub>j</sub>‑z<sub>j</sub>=0的乘子系数向量,S为软阈值操作符,其定义如式(8),<maths num="0006" id="cmaths0006"><math><![CDATA[<mrow><msub><mi>S</mi><mi>k</mi></msub><mrow><mo>(</mo><mi>a</mi><mo>)</mo></mrow><mo>=</mo><mfenced open='{' close=''><mtable><mtr><mtd><mi>a</mi><mo>-</mo><mi>k</mi></mtd><mtd><mi>a</mi><mo>></mo><mi>k</mi></mtd></mtr><mtr><mtd><mn>0</mn></mtd><mtd><mo>|</mo><mi>a</mi><mo>|</mo><mo>&le;</mo><mi>k</mi></mtd></mtr><mtr><mtd><mi>a</mi><mo>+</mo><mi>k</mi></mtd><mtd><mi>a</mi><mo>&lt;</mo><mo>-</mo><mi>k</mi></mtd></mtr></mtable></mfenced><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>8</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000729392120000031.GIF" wi="1328" he="206" /></maths>步骤2.4:将解α<sub>j</sub><sup>k+1</sup>中非零项和对应的样本信息提取出来作为节点j∈J本地的稀疏模型,如式(9)所示:<maths num="0007" id="cmaths0007"><math><![CDATA[<mrow><msup><msub><mi>f</mi><mi>j</mi></msub><mrow><mi>k</mi><mo>+</mo><mn>1</mn></mrow></msup><mrow><mo>(</mo><msub><mi>x</mi><mi>jm</mi></msub><mo>)</mo></mrow><mo>=</mo><msup><msub><mi>&alpha;</mi><mi>j</mi></msub><mrow><mi>k</mi><mo>+</mo><mn>1</mn></mrow></msup><mi>k</mi><mrow><mo>(</mo><mi>x</mi><mo>&CenterDot;</mo><msub><mi>x</mi><mi>jn</mi></msub><mo>)</mo></mrow><mo>,</mo><mo>&ForAll;</mo><mi>j</mi><mo>&Element;</mo><mi>J</mi><mo>,</mo><mi>n</mi><mo>=</mo><mn>1</mn><mo>,</mo><mo>.</mo><mo>.</mo><mo>.</mo><mo>,</mo><msub><mi>N</mi><mi>j</mi></msub><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>9</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000729392120000032.GIF" wi="1486" he="85" /></maths>步骤2.5:节点整理本地稀疏模型,如果稀疏模型中训练样本的is_sended字段为0,表示该样本还没有被发送过,此时需要将该训练样本的原始特征信息保留在模型中;如果is_sended字段为1,代表该训练样本的原始特征信息已经发送过,此时只将该样本的标识字段信息保留在模型中;步骤2.6:节点将本地整理好的稀疏模型发送给其单跳邻居节点B<sub>j</sub>;步骤3:节点接收邻居节点发送过来的稀疏模型,计算局部最优模型预测值;步骤3.1:节点j∈J接收邻居节点发送过来的稀疏模型f<sub>i</sub><sup>k+1</sup>(x<sub>i</sub>),i∈B<sub>j</sub>,并将每个稀疏模型中携带的样本信息不重复的加入到本地训练样本集;步骤3.2:节点j∈J利用接收到的各稀疏模型对本地训练样本进行预测,利用并行投影方法求解局部最优模型预测值公式,式(3),求出本地训练样本的局部最优模型预测值<img file="FDA0000729392120000034.GIF" wi="196" he="73" />步骤4:节点本地模型收敛条件判定步骤4.1:节点本地判断模型是否满足收敛条件,收敛条件为节点本地样本集稳定并且节点前后两次得到的模型相同;当所有节点都满足收敛条件时,执行步骤5,否则转步骤4.2;步骤4.2:节点本地按照阶段2、阶段3的顺序进行优化求解;步骤5:节点模型一致性步骤5.1:节点j∈J将本地稀疏模型f<sub>j</sub><sup>*</sup>(x<sub>j</sub>)发送给单跳邻居节点B<sub>j</sub>;步骤5.2:节点j∈J接收邻居节点发送过来的稀疏模型f<sub>i</sub><sup>*</sup>(x<sub>i</sub>),i∈B<sub>j</sub>,将模型保存在本地并去重处理;步骤5.3:节点j∈J将新接收到的模型f<sub>i</sub><sup>*</sup>(x<sub>i</sub>),i∈B<sub>j</sub>转发给单跳邻居节点B<sub>j</sub>;步骤5.4:当各节点都得到所有节点的稀疏模型后,利用式(10)在节点本地进行平均,得到一致模型;<maths num="0008" id="cmaths0008"><math><![CDATA[<mrow><msup><mi>f</mi><mo>*</mo></msup><mrow><mo>(</mo><mi>x</mi><mo>)</mo></mrow><mo>=</mo><mfrac><mrow><msubsup><mi>&Sigma;</mi><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mi>J</mi></msubsup><msubsup><mi>f</mi><mi>i</mi><mo>*</mo></msubsup><mrow><mo>(</mo><mi>x</mi><mo>)</mo></mrow></mrow><mi>J</mi></mfrac><mo>=</mo><mfrac><mrow><msubsup><mi>&Sigma;</mi><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mi>J</mi></msubsup><msup><msub><mi>&alpha;</mi><mi>j</mi></msub><mo>*</mo></msup><mi>k</mi><mrow><mo>(</mo><mi>x</mi><mo>&CenterDot;</mo><msub><mi>x</mi><mi>j</mi></msub><mo>)</mo></mrow></mrow><mi>J</mi></mfrac><mo>,</mo><mo>&ForAll;</mo><mi>j</mi><mo>&Element;</mo><mi>J</mi><mo>,</mo><mi>n</mi><mo>=</mo><mn>1</mn><mo>,</mo><mo>.</mo><mo>.</mo><mo>.</mo><mo>.</mo><mo>,</mo><msub><mi>N</mi><mi>j</mi></msub><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>10</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000729392120000033.GIF" wi="1555" he="139" /></maths>最终使每个节点得到与集中训练方法相当的预测效果,并且得到比较稀疏的预测模型,更为重要的是可以显著降低核学习机训练过程中的数据通信代价。
地址 100124 北京市朝阳区平乐园100号