发明名称 用于在大规模数据分类问题中训练SVM分类器的方法
摘要 本发明属于统计机器学技术领域,具体涉及一种用于在大规模数据分类问题中训练SVM分类器的方法。该方法首先训练样本的聚类,根据聚类结果,把具有相同标签的样本分别拟合成高斯模型,作为训练的基本信息单元;然后根据K个高斯模型建立K×K的核矩阵,并建立带约束的二次规划问题,用数值方法求解之;最后利用该二次规划问题的解得到分类器的决策函数,使用该决策函数对测试样本进行预测。本发明方法对时间复杂度和空间复杂度都大有降低;可广泛应用于多媒体信息检索、生物信息识别、金融信息处理等领域。
申请公布号 CN101127029A 申请公布日期 2008.02.20
申请号 CN200710045242.2 申请日期 2007.08.24
申请人 复旦大学 发明人 李斌;池明旻;薛向阳
分类号 G06F15/18(2006.01);G06F17/30(2006.01);G06K9/62(2006.01) 主分类号 G06F15/18(2006.01)
代理机构 上海正旦专利代理有限公司 代理人 陆飞;盛志范
主权项 1.一种用于在大规模数据分类问题中训练SVA分类器的方法,其特征在于具体步骤如下:(1)训练样本的聚类给定一个包含N=N++N-个训练样本的集合<math><mrow><mi>L</mi><mo>=</mo><msub><msup><mrow><mo>{</mo><mrow><mo>(</mo><msub><mi>x</mi><mi>i</mi></msub><mo>,</mo><msub><mi>y</mi><mi>i</mi></msub><mo>)</mo></mrow><mo>}</mo></mrow><mi>N</mi></msup><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow></msub><mo>,</mo></mrow></math>其中N+表示正样本数,N-表示负样本数,样本xi∈RD,其中D为输入空间的维数,标签yi∈{1,-1};在分类器的训练阶段,对N+个正样本和N-个负样本首先分别进行聚类,得到K+个正集群和K-个负集群,共计K=K++K-个集群;然后,按照聚类结果的集群标签,把具有相同标签的样本拟合成高斯模型,这样,共得到K+个正样本高斯模型和K-个负样本高斯模型,表示为C={(Θk,yk)}Kk=1,其中生成模型Θk=(Pk,μk,∑k)包含了第k个高斯模型的先验概率Pk、均值μk、以及协方差矩阵∑k,yk则表示该高斯模型的标签;这里,作为训练基本单元的高斯模型的先验概率按照如下公式计算:Pk+=Nk+/N+,其中Nk+表示正样本中第k个高斯模型包含的样本数,N+表示正样本的总数;负样本高斯模型的先验概率按照同样方法计算,即Pk-=Nk-/N-;(2)核矩阵的构建使用步骤(1)中得到的K个高斯模型构建一个K×K的核矩阵,其中每个元素根据公式(2)或公式(3)计算得到:<math><mrow><mi>&kappa;</mi><mrow><mo>(</mo><msub><mi>&Theta;</mi><mi>k</mi></msub><mo>,</mo><msub><mi>&Theta;</mi><mi>l</mi></msub><mo>)</mo></mrow><mo>=</mo><msub><mi>P</mi><mi>k</mi></msub><msub><mi>P</mi><mi>l</mi></msub><munder><mo>&Integral;</mo><msup><mi>R</mi><mi>D</mi></msup></munder><mi>p</mi><mrow><mo>(</mo><mi>x</mi><mo>|</mo><msub><mi>&mu;</mi><mi>k</mi></msub><mo>,</mo><msub><mi>&Sigma;</mi><mi>k</mi></msub><mo>)</mo></mrow><mi>p</mi><mrow><mo>(</mo><mi>x</mi><mo>|</mo><msub><mi>&mu;</mi><mi>l</mi></msub><mo>,</mo><msub><mi>&Sigma;</mi><mi>l</mi></msub><mo>)</mo></mrow><mi>dx</mi></mrow></math> <math><mrow><mo>=</mo><msub><mi>P</mi><mi>k</mi></msub><msub><mi>P</mi><mi>l</mi></msub><msup><mrow><mo>(</mo><mn>2</mn><mi>&pi;</mi><mo>)</mo></mrow><mrow><mo>-</mo><mfrac><mi>D</mi><mn>2</mn></mfrac></mrow></msup><msup><mrow><mo>|</mo><msup><mrow><mo>(</mo><msubsup><mi>&Sigma;</mi><mi>k</mi><mrow><mo>-</mo><mn>1</mn></mrow></msubsup><mo>+</mo><msubsup><mi>&Sigma;</mi><mi>l</mi><mrow><mo>-</mo><mn>1</mn></mrow></msubsup><mo>)</mo></mrow><mrow><mo>-</mo><mn>1</mn></mrow></msup><mo>|</mo></mrow><mfrac><mn>1</mn><mn>2</mn></mfrac></msup><msup><mrow><mo>|</mo><msub><mi>&Sigma;</mi><mi>k</mi></msub><mo>|</mo></mrow><mrow><mo>-</mo><mfrac><mn>1</mn><mn>2</mn></mfrac></mrow></msup><msup><mrow><mo>|</mo><msub><mi>&Sigma;</mi><mi>l</mi></msub><mo>|</mo></mrow><mrow><mo>-</mo><mfrac><mn>1</mn><mn>2</mn></mfrac></mrow></msup></mrow></math> <math><mrow><mi>exp</mi><mrow><mo>(</mo><mo>-</mo><mfrac><mn>1</mn><mn>2</mn></mfrac><mrow><mo>(</mo><msubsup><mi>&mu;</mi><mi>k</mi><mi>T</mi></msubsup><msubsup><mi>&Sigma;</mi><mi>k</mi><mrow><mo>-</mo><mn>1</mn></mrow></msubsup><msub><mi>&mu;</mi><mi>k</mi></msub><mo>+</mo><msubsup><mi>&mu;</mi><mi>l</mi><mi>T</mi></msubsup><msubsup><mi>&Sigma;</mi><mi>l</mi><mrow><mo>-</mo><mn>1</mn></mrow></msubsup><msub><mi>&mu;</mi><mi>l</mi></msub><mo>-</mo><msup><mover><mi>&mu;</mi><mo>~</mo></mover><mi>T</mi></msup><msup><mover><mi>&Sigma;</mi><mo>~</mo></mover><mrow><mo>-</mo><mn>1</mn></mrow></msup><mover><mi>&mu;</mi><mo>~</mo></mover><mo>)</mo></mrow><mo>)</mo></mrow><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>2</mn><mo>)</mo></mrow></mrow></math> 其中<math><mrow><msup><mover><mi>&Sigma;</mi><mo>~</mo></mover><mrow><mo>-</mo><mn>1</mn></mrow></msup><mo>=</mo><msup><mrow><mo>(</mo><msubsup><mi>&Sigma;</mi><mi>k</mi><mrow><mo>-</mo><mn>1</mn></mrow></msubsup><mo>+</mo><msubsup><mi>&Sigma;</mi><mi>l</mi><mrow><mo>-</mo><mn>1</mn></mrow></msubsup><mo>)</mo></mrow><mrow><mo>-</mo><mn>1</mn></mrow></msup><mo>,</mo></mrow></math><math><mrow><mover><mi>&mu;</mi><mo>~</mo></mover><mo>=</mo><msubsup><mi>&Sigma;</mi><mi>k</mi><mrow><mo>-</mo><mn>1</mn></mrow></msubsup><msub><mi>&mu;</mi><mi>k</mi></msub><mo>+</mo><msubsup><mi>&Sigma;</mi><mi>l</mi><mrow><mo>-</mo><mn>1</mn></mrow></msubsup><msub><mi>&mu;</mi><mi>l</mi></msub><mo>,</mo></mrow></math>上标T表示矩阵或者向量的转置。<math><mrow><mi>&kappa;</mi><mrow><mo>(</mo><msub><mi>&Theta;</mi><mi>k</mi></msub><mo>,</mo><msub><mi>&Theta;</mi><mi>l</mi></msub><mo>)</mo></mrow><mo>=</mo><mfrac><mrow><msub><mi>P</mi><mi>k</mi></msub><msub><mi>P</mi><mi>l</mi></msub></mrow><mrow><munderover><mi>&Pi;</mi><mrow><mi>d</mi><mo>=</mo><mn>1</mn></mrow><mi>D</mi></munderover><msqrt><mn>2</mn><mi>&pi;</mi><mrow><mo>(</mo><msup><mrow><mo>(</mo><msubsup><mi>&sigma;</mi><mi>k</mi><mrow><mo>(</mo><mi>d</mi><mo>)</mo></mrow></msubsup><mo>)</mo></mrow><mn>2</mn></msup><mo>+</mo><msup><mrow><mo>(</mo><msubsup><mi>&sigma;</mi><mi>l</mi><mrow><mo>(</mo><mi>d</mi><mo>)</mo></mrow></msubsup><mo>)</mo></mrow><mn>2</mn></msup><mo>)</mo></mrow></msqrt></mrow></mfrac><mi>exp</mi><mo>{</mo><mo>-</mo><mfrac><mn>1</mn><mn>2</mn></mfrac><munderover><mi>&Sigma;</mi><mrow><mi>d</mi><mo>=</mo><mn>1</mn></mrow><mi>D</mi></munderover><mfrac><msup><mrow><mo>(</mo><msubsup><mi>&mu;</mi><mi>k</mi><mrow><mo>(</mo><mi>d</mi><mo>)</mo></mrow></msubsup><mo>-</mo><msubsup><mi>&mu;</mi><mi>l</mi><mrow><mo>(</mo><mi>d</mi><mo>)</mo></mrow></msubsup><mo>)</mo></mrow><mn>2</mn></msup><mrow><msup><mrow><mo>(</mo><msubsup><mi>&sigma;</mi><mi>k</mi><mrow><mo>(</mo><mi>d</mi><mo>)</mo></mrow></msubsup><mo>)</mo></mrow><mn>2</mn></msup><mo>+</mo><msup><mrow><mo>(</mo><msubsup><mi>&sigma;</mi><mi>l</mi><mrow><mo>(</mo><mi>d</mi><mo>)</mo></mrow></msubsup><mo>)</mo></mrow><mn>2</mn></msup></mrow></mfrac><mo>}</mo><mo>.</mo><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>3</mn><mo>)</mo></mrow></mrow></math> 这里,σk(d),σl(d)分别为高斯型协方差矩阵∑k和∑l的第d个对角线元素;(3)目标函数的优化使用步骤(2)中得到的核矩阵建立带约束的二次规划问题,即公式(9),使用数值方法求解该二次规划问题,得到系数αk,k=1,...,K的值:<math><mrow><munder><mi>max</mi><mi>&alpha;</mi></munder><munderover><mi>&Sigma;</mi><mrow><mi>k</mi><mo>=</mo><mn>1</mn></mrow><mi>K</mi></munderover><msub><mi>&alpha;</mi><mi>k</mi></msub><mo>-</mo><mfrac><mn>1</mn><mn>2</mn></mfrac><munderover><mi>&Sigma;</mi><mrow><mi>k</mi><mo>=</mo><mn>1</mn></mrow><mi>K</mi></munderover><munderover><mi>&Sigma;</mi><mrow><mi>l</mi><mo>=</mo><mn>1</mn></mrow><mi>K</mi></munderover><msub><mi>y</mi><mi>k</mi></msub><msub><mi>y</mi><mi>l</mi></msub><msub><mi>&alpha;</mi><mi>k</mi></msub><msub><mi>&alpha;</mi><mi>l</mi></msub><mi>&kappa;</mi><mrow><mo>(</mo><msub><mi>&Theta;</mi><mi>k</mi></msub><mo>,</mo><msub><mi>&Theta;</mi><mi>l</mi></msub><mo>)</mo></mrow><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>9</mn><mo>)</mo></mrow></mrow></math> s.t.0≤αk≤PkC,k=1,...,K<math><mrow><munderover><mi>&Sigma;</mi><mrow><mi>k</mi><mo>=</mo><mn>1</mn></mrow><mi>K</mi></munderover><msub><mi>&alpha;</mi><mi>k</mi></msub><msub><mi>y</mi><mi>k</mi></msub><mo>=</mo><mn>0</mn><mo>.</mo></mrow></math> (4)决策函数的建立把从步骤(3)中得到的系数αk,k=1,...,K,代入公式(10),即可得到分类器的决策函数,使用该决策函数对测试样本X进行预测:<math><mrow><mi>f</mi><mrow><mo>(</mo><mi>x</mi><mo>)</mo></mrow><mo>=</mo><mi>sgn</mi><mrow><mo>(</mo><munderover><mi>&Sigma;</mi><mrow><mi>k</mi><mo>=</mo><mn>1</mn></mrow><mi>K</mi></munderover><msub><mi>&alpha;</mi><mi>k</mi></msub><msub><mi>y</mi><mi>k</mi></msub><msub><mi>P</mi><mi>k</mi></msub><mi>p</mi><mrow><mo>(</mo><mi>x</mi><mo>|</mo><msub><mi>&mu;</mi><mi>k</mi></msub><mo>,</mo><msub><mi>&Sigma;</mi><mi>k</mi></msub><mo>)</mo></mrow><mo>+</mo><mi>b</mi><mo>)</mo></mrow><mo>.</mo><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>10</mn><mo>)</mo></mrow><mo>.</mo></mrow></math>
地址 200433上海市邯郸路220号