发明名称 一种用于在线学的样本集训练方法
摘要 本发明公开了一种用于在线学的样本集训练方法。该方法将初始样本集划分成若干个样本子集,再将每个样本子集根据权重分布随机划分成训练集和测试集。对于训练集,先求取壳向量集,并将其作为新的训练集来进行支持向量机的训练。若生成的支持向量机不满足收敛条件,则丢弃该支持向量机并重新训练。最后将所有支持向量机利用权重投票方式产生一个集成的支持向量机。本发明在样本集上引入了一定的随机性,从而间接地提高了支持向量机的多样性,使得集成后的支持向量机能克服自身“灾难性遗忘”缺陷,起到支持在线学的目的。同时在不影响分类精度的情况下,还能大幅减少支持向量机的训练时间。
申请公布号 CN103886340A 申请公布日期 2014.06.25
申请号 CN201410069210.6 申请日期 2014.02.27
申请人 浙江大学 发明人 沈海斌;卞桂龙
分类号 G06K9/66(2006.01)I;G06F15/18(2006.01)I 主分类号 G06K9/66(2006.01)I
代理机构 杭州求是专利事务所有限公司 33200 代理人 杜军
主权项 1.一种用于在线学习的样本集训练方法,其特征在于该方法包括以下步骤:步骤(1)准备一个初始样本集S,并将其分成K个样本子集S<sub>k</sub>,其中k=1,2,…,K;每个样本子集S<sub>k</sub>有m个样本(x<sub>i</sub>,y<sub>i</sub>),i=1,2,…,m,并且都需要进行T<sub>k</sub>次迭代;步骤(2)针对每个样本子集S<sub>k</sub>,按照下列步骤依次进行T<sub>k</sub>次迭代:步骤(2.1)对样本子集S<sub>k</sub>的样本权值进行初始化,其中权值w<sub>1</sub>(i)=D<sub>1</sub>(i)=1/m;步骤(2.2)设t的初始值为1,执行完下列步骤后t值自加一,直至t值大于T<sub>k</sub>;步骤(2.2.1)对样本权值w<sub>t</sub>进行归一化,建立分布<img file="FDA0000470757200000011.GIF" wi="365" he="134" />步骤(2.2.2)根据分布D<sub>t</sub>随机选择训练集TR<sub>t</sub>和测试集TE<sub>t</sub>;利用Qhull算法求取训练集TR<sub>t</sub>的壳向量集<img file="FDA0000470757200000012.GIF" wi="130" he="77" />其中<img file="FDA0000470757200000013.GIF" wi="439" he="88" />并将其作为新的训练集;步骤(2.2.3)在训练集<img file="FDA0000470757200000014.GIF" wi="102" he="77" />上训练支持向量机,得到支持向量机h<sub>t</sub>:X→Y;步骤(2.2.4)计算支持向量机h<sub>t</sub>在训练集TR<sub>t</sub>和测试集TE<sub>t</sub>上的错误率:<maths num="0001"><![CDATA[<math><mrow><msub><mi>&epsiv;</mi><mi>t</mi></msub><mo>=</mo><munder><mi>&Sigma;</mi><mrow><mi>i</mi><mo>:</mo><msub><mi>h</mi><mi>t</mi></msub><mrow><mo>(</mo><msub><mi>x</mi><mi>i</mi></msub><mo>)</mo></mrow><mo>&NotEqual;</mo><msub><mi>y</mi><mi>i</mi></msub></mrow></munder><msub><mi>D</mi><mi>i</mi></msub><mrow><mo>(</mo><mi>i</mi><mo>)</mo></mrow><mi>on</mi><msub><mi>TR</mi><mi>t</mi></msub><mo>+</mo><msub><mi>TE</mi><mi>t</mi></msub><mo>;</mo></mrow></math>]]></maths>如果ε<sub>t</sub>>1/2,则令t=t-1,删除支持向量机h<sub>t</sub>,跳转到步骤(2.2.2);否则计算正规化错误率:β<sub>t</sub>=ε<sub>t</sub>/(1-ε<sub>t</sub>);步骤(2.2.5)通过权重投票方式产生集成的支持向量机H<sub>t</sub>:<maths num="0002"><![CDATA[<math><mrow><msub><mi>H</mi><mi>t</mi></msub><mo>=</mo><munder><mrow><mi>arg</mi><mi>max</mi></mrow><mrow><mi>y</mi><mo>&Element;</mo><mi>Y</mi></mrow></munder><munder><mi>&Sigma;</mi><mrow><mi>t</mi><mo>:</mo><msub><mi>h</mi><mi>t</mi></msub><mrow><mo>(</mo><mi>x</mi><mo>)</mo></mrow><mo>=</mo><mi>y</mi></mrow></munder><mi>log</mi><mrow><mo>(</mo><mn>1</mn><mo>/</mo><msub><mi>&beta;</mi><mi>t</mi></msub><mo>)</mo></mrow><mo>;</mo></mrow></math>]]></maths>并计算集成误差<maths num="0003"><![CDATA[<math><mrow><msub><mi>E</mi><mi>t</mi></msub><mo>=</mo><msub><mi>&Sigma;</mi><mrow><mi>i</mi><mo>:</mo><msub><mi>H</mi><mi>t</mi></msub><mrow><mo>(</mo><msub><mi>x</mi><mi>i</mi></msub><mo>)</mo></mrow><mo>&NotEqual;</mo><msub><mi>y</mi><mi>i</mi></msub></mrow></msub><msub><mi>D</mi><mi>t</mi></msub><mrow><mo>(</mo><mi>i</mi><mo>)</mo></mrow><mo>=</mo><msubsup><mi>&Sigma;</mi><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mi>m</mi></msubsup><msub><mi>D</mi><mi>t</mi></msub><mrow><mo>(</mo><mi>i</mi><mo>)</mo></mrow><mo>[</mo><mo>|</mo><msub><mi>H</mi><mi>t</mi></msub><mrow><mo>(</mo><msub><mi>x</mi><mi>i</mi></msub><mo>)</mo></mrow><mo>&NotEqual;</mo><msub><mi>y</mi><mi>i</mi></msub><mo>|</mo><mo>]</mo><mo>;</mo></mrow></math>]]></maths>如果E<sub>t</sub>>1/2,删除此集成的支持向量机H<sub>t</sub>,并令t=t-1,跳转到步骤(2.2.2);步骤(2.2.6)设集成正规化错误率B<sub>t</sub>=E<sub>t</sub>/(1-E<sub>t</sub>),修改样本子集中样本的权值:<img file="FDA0000470757200000021.GIF" wi="739" he="239" />步骤(3)将所有集成的支持向量机H<sub>t</sub>采用权重投票的方式产生最终输出:<maths num="0004"><![CDATA[<math><mrow><msub><mi>H</mi><mi>final</mi></msub><mo>=</mo><mi>arg</mi><msub><mi>max</mi><mrow><mi>y</mi><mo>&Element;</mo><mi>Y</mi></mrow></msub><munderover><mi>&Sigma;</mi><mrow><mi>k</mi><mo>=</mo><mn>1</mn></mrow><mi>K</mi></munderover><msub><mi>&Sigma;</mi><mrow><mi>t</mi><mo>:</mo><msub><mi>H</mi><mi>t</mi></msub><mrow><mo>(</mo><mi>x</mi><mo>)</mo></mrow><mo>=</mo><mi>y</mi></mrow></msub><mi>log</mi><mrow><mo>(</mo><mfrac><mn>1</mn><msub><mi>&beta;</mi><mi>t</mi></msub></mfrac><mo>)</mo></mrow><mo>.</mo></mrow></math>]]></maths>
地址 310027 浙江省杭州市西湖区浙大路38号