用于在大规模数据分类问题中训练svm分类器的方法

文档序号:6572774阅读:339来源:国知局
专利名称:用于在大规模数据分类问题中训练svm分类器的方法
技术领域
本发明属于统计机器学习技术领域,具体涉及一种分类器的训练方法,主要解决大规 模数据分类问题中快速有效地训练分类器的问题。 技术背景随着计算机网络技术与存储设备的迅速发展,各应用领域的信息化程度不断提高, 例如政府、企业、学校都在使用大规模数据库来管理与存储信息化数据。然而,除了简 单地对数据进行管理与存储操作,人们更希望从这些海量的数据库中挖掘出一些有意义 的规则或知识,例如门户网站希望自动对文档或图片进行分类。然而,在实际应用中, 数据库中数据量通常是非常庞大的,其数量级通常会达到太字节(TB)以上,如果把所 有样本都作为训练数据来训练分类器,其时空复杂性将无比巨大。对于大规模数据的分类问题,国内外研究者己经做过大量工作,他们从不同角度提 出了许多解决方案,比如分解技术[16, 12, 17, 3, 13]通过将原有大规模分类器学习 问题分解为较小的子问题进行迭代学习,每次只对一个工作子集进行训练,并利用该次 训练的结果指导选择下一个工作子集用于训练;增量技术[2, 8, 14]每次仅读入一个样本, 对分类器进行增量式更新;并行技术[4, 9]一般使用集成方法,先把总体样本平分为多个 样本子集,并把得到的样本子集作为独立的任务交给不同的处理器进行训练,最后把各 处理器得到的结果通过某种技术合并为一个总的分类器;近似技术[7, 15]则使用近似的 计算公式降低原有算法的复杂性。以上这些技术需要对所有样本都进行训练,其复杂度 难以降低。还有一类技术通过在原数据集中选取代表点训练分类器,其思想在于使用一定的方 式,在原有大规模数据集中选取小部分的代表性样本训练分类器,以达到降低训练样本 数量的目的。较典型的方法包括"主动学习"[18]通过启发式地选取代表点;CB-SVM[22] 通过层次化聚类选取类中心作为代表点;[19]选取聚类超球表面的样本作为代表点;CVM[20]使用"核心集"作为代表点;[1, 23]则选取聚类中心作为代表点。由于代表点的选取技术大多基于不同的假设,并不适合所有的应用场景,并且会丢失原数据集的统计信息。经过大量观察以及实际应用,我们发现现有的针对大规模数据分类问题的分类器训练方法都在不同程度上存在以下一些局限性(1)在训练阶段所需要的时间复杂性和空 间复杂性极高;(2)丢失部分原数据集的统计信息;(3)基于较强的假设条件与前提条 件;(4)对于硬件设备与资源的要求相当高;(5)算法实现非常复杂。以上分析说明,如果用大规模训练样本进行训练,其时间复杂性必然会居高不下, 即使通过各种优化与近似手段后,依然无法奏效;如果使用代表点技术,即基于一定的 假设条件在原大规模数据中抽取一部分代表样本进行训练,又必定会丢失部分统计信息, 影响分类器的性能。如果有一种方法既能使样本数量减少,又能使原有的统计信息尽量不丢失,则可以 达到在保持与现有分类器相似的分类准确率的条件下,显著降低训练阶段时空复杂性—— 本发明就是通过事先把训练样本聚类成高斯模型作为分类器训练的基本信息单元,从而 达到既减少样本数量又能保持原有统计信息的目的;同时,本发明设计出的一种兼容的 核函数使训练阶段得到的支撑高斯模型可以直接用于测试阶段,线性组合成最终的分类器0参考文献<formula>formula see original document page 5</formula> Graf, H. P., Cosatto, E., Bottou, L., Durdanovic, I., and Vapnik, V., Parallel Support Vector Machines: The Cascade SVM,爿6 rawced 7Vrara/ r/wa"o/7 Prace^wg 5y他脂,2004, Cambridge, MA: MIT Press.间Hartigan, J. A. and Wong, M. A., A K-Means Clustering Algorithm, 5W/幼'cy, 1979,vol. 28, pp. 100-108.i l] Jebara, T., Kondor, R., and Howard, A,, Probability Product Kemels, 《/ Mac/uwi esearcA, 2004, vol. 5, pp. 819-844. [12〗Joachims, T., Making Large-scale SVM Learning Practical, In B. Schoelkopf, C. J. C.Burges, and A.丄Smola (Eds.),爿rfTOWC^ z/ 尺er/ e/ Me^zo^ - Sw/7/ oW Ke加r Z^armwg,1999, pp. 169-184, Cambridge, MA: MIT Press. [13] Keerthi, S. S., Shevade, S. K., Bhattacharyya, C., and Murthy, K. R. K., Improvements toPlatt,s SMO Algorithm for SVM Classifier Design, Afewra/ Co附p齒rio", 2001, vol. 13, pp.637-649.問Laskov, P., Gehl, C., Krueger, S., and Mueller, K., Incremental Support Vector Learning: Analysis, Implementation and Applications, J o/MscWwe iearw/wg 7 e^an:/z, 2006, vol. 7, pp. 1909-1936.[15〗Lee, Y. and Mangasarian, O. L., RSVM: Reduced Support Vector Machines, In5X4M/wf7 Cow/Ztoa Mfm'"g, 2001. [16] Osuna, E., Freund, R., and Girosi, F., An Improved Training Algorithm for Support VectorMachines, In /Voc.7997fforfo/zo/ A^wr"/ A^/worfo/or /Vocew/wg,1997, pp. 276-285.[17] Piatt, J,, Fast Training of Support Vector Machines using Sequential Minimal Optimization, In B. Schodkopf, C. J. C. Burges, and A. J. Smola (Eds.), Wvawces ferwe/附ef/ ocfe — ra/ poW vecfor /ean /wg, 1999, pp. 185-208. Cambridge, MA: MIT Press.[18Schohn, G. and Cohn, D., Less is More: Active Learning with Support Vector Machines, In /Voc. o/&e 7/^ 7 Cow/M"c/w力e丄e" rowg, 2000.[19] Sun, S., Tseng, C. L., Chen, Y. H., Chuang, S. C., and Fu, H. C., Cluster-based SupportVector Machines in Text-independent Speaker Identification, In Prac.f/ze 7n/ 7 Ja/wf Cbw/ iVewra/ 7Ve/MwA;, 2004.[20] Tsang, I. W., Kwok, J, T., and Cheung, P., Core Vector Machines: Fast SVM Training onVery Large Data Sets, /M"c/nwe Zearw/wg i^rarc/z, 2005, vol. 6, pp. 363-392. [21] Vapnik, V., Statistical Learning Theory, 1998, John Wiley.[22] Yu, H., Yang, J., and Han, J., Classifying Large Data Sets Using SVMs with Hierarchical Clusters, In /Vw.爿CM57GAZ)Z) CV w/ Zfecover} Z)她M論g, 2003, pp. 306-315. Zhang, T., Ramakrishnan, R., and Livny, M., BIRCH: An Efficient Data Clustering Method for Very Large Databases, In JVoc./996v4CM57GMDZ) /w/17 Cw /" Ma7 ageme"f o,Z)丰1996, pp. 103-114.发明内容本发明的目的在于提出一种在大规模数据分类问题中快速有效地训练SVM分类器 的方法。本发明提出的训练分类器的方法,遵循了 Vapnik提出的经典统计学习框架[21],并 在核空间中解决了高斯模型与特征向量可比性的难题。本发明的主要思想如下首先对于用于训练的大规模样本集进行聚类,并根据聚类 结果把具有相同标签的样本分别拟合成高斯模型作为训练的基本信息单元,而测试样本仍然保留特征向量的形式用于测试。在训练与测试阶段,同时都需要使用一个兼容的核 函数,该核函数不仅可以在训练阶段衡量两个高斯模型之间的相似度,并且可以在测试 阶段衡量高斯模型与单个向量之间的相似度。因此,在训练阶段得到的支撑高斯模型可 以直接用于决策函数的构造。本发明所提出的分类器训练方法包括如下步骤(1)训练样本的聚类;(2)核矩阵 的计算;(3)目标函数的优化;(4)决策函数的建立。下面详细介绍卜-述步骤(l)训练样本的聚类给定一个包含^ = ^+ + ^.个训练样本的集合£={(^,)} =1,其中A^表示正样本数, 见表示负样本数,样本(特征向量)XiER^其中D为输入空间的维数,标签为£{1,-1}。 在分类器的训练阶段,对JV+个正样本和见个负样本首先分别进行聚类,得到《+个正集群和个负集群,共计《=夂+ +个集群。然后,按照聚类结果的集群标签,把具 有相同标签的样本拟合成高斯模型,这样,共得到K+个正样本高斯模型和个负样本高斯模型,表示为。={(0 4,》)}^=!,其中生成模型0「(A,^&)包含了第A个高斯模型 的先验概率A (权重)、均值^、以及协方差矩阵w则表示该高斯模型的标签。这里需要指出的是作为训练基本单元的高斯模型的先验概率按照如下公式计算iV =A^/W+,其中A^+表示正样本中第/t个高斯模型包含的样本数,W+表示正样本的总数;负 样本高斯模型的先验概率按照同样方法计算,即iV = AV/见。在本发明提出的方法中,聚类技术并没有任何限制,聚类算法仅是用来压缩原大规 模训练数据的一种降采样手段,任何现有的聚类技术都可以用于训练样本的聚类,如,K
均值(K-means) [10],期望最大化算法(Expectation Maximization) [5],层次聚类 (Hierarchical Clustering) [24],阈值顺序依赖(Threshold Order-Dependent) [6]等。生成 的聚类结果也无需一定要把样本的密度拟合得很好_一在大规模数据分类问题中,最重 要的是降低计算复杂性。因此,任何高效的聚类技术,只要能够准确地描述出数据在输 入空间中的布局(layout),就可以适用于本发明提出的方法。在说明书的示例中,仅以 阈值顺序依赖(Threshold Order-Dependent)算法,简称TOD算法为例。 (2)核矩阵的构建在对训练样本进行聚类后,需要构建一个^X/C的核矩阵,该矩阵中的任意一项元 素K&则为以第/个与第7'个高斯模型作为变量的核函数值。本发明所设计的核函数由概 率积核(Probability Product Kernel) [ll]演化而来。因此,首先简要介绍在高斯分布下的概率积核。概率积核函数对于分布化和p;有如下形式定义其中 (^,p/)正定(positive definite),而指数/ 如果取不同的值则可以得到一系列候选核。 在此,以满足构造兼容核函数的需要。当分布W和都为高斯分布时,即A = AP(x I ,p,=尸/p(x I ,核函数Kh,P,)可以写成K( t, /),表示为两个生成模型的函数。K(0A,0/)可以使用两个高斯模型的 参数直接计算(l),从而避免了在整个输入空间中对概率分布进行积分其中£—、(2^+2:71) , ^K、 + S7、,上标T表示矩阵或者向量的转置。在实际应用中,可以仅使用高斯模型协方差矩阵的对角线元素进行计算,即diag((Q(1))2, ... ,(^(D))2),以此达到避免在公式(2)中计算逆矩阵的目的。当仅使用协方差矩阵对角线元素时,核函数变为<formula>formula see original document page 8</formula> 本发明中提出的兼容核函数不仅能够衡量高斯模型之间的相似度,还能够衡量高斯 模型与单个向量之间的相似度。在决策函数中,测试样本X可以看作是高斯分布的一个 极端情况,即其协方差矩阵为零矩阵,而先验概率为常量l。在这种情况下,有如下结论给定两个高斯模型e^和0/,如果尸,=1,并且协方差矩阵i:/趋向于零矩阵,即i:,—0,则核函数(2)的极限变为^在高斯分布 *下的后验概率一—u 啦, (4)=々"IhA)其中H,表示以Jl/为中心的s开邻域。把公式(4)中的0/替换为测试样本0x,可以得到如下用于决策函数的核函数氛A),(xl") (5)为了在实际应用中更加简便,公式(5)也可以仅使用协方差矩阵的对角线元素进行近似表达If x呵、(6)(3)目标函数的优化核矩阵构造完之后,就需要把其代入目标函数并对目标函数进行优化。在训练的基 本单元为高斯模型的情况下,所有用于训练的高斯模型必须满足如下约束条件-h(wV(0t)++l-&, hl,…,K (7)其中0(.)表示映射函数,该函数可以把生成模型映射到无限维的概率分布空间,常数6 为线性函数的偏置(bias)。与支撑向量机[21]类似,本发明提出的方法同样遵循结构化风险最小化(SRM)准 则。该准则通过把一个正则化项引入代价函数达到最小化VC维的目的,这又等价于最 大化正负高斯模型训练集之间的边界1 k^w'w+ci;私 (8)'^ z 疋=1其中常数C为结构化风险最低(Structural Risk Minimization)目标函数的权衡(tradeoff) 参数,松弛变量^乘上权重A (第A个高斯模型的先验概率)的目的为使错分的高斯模 型得到与它所包含样本数量等比例的惩罚,即包含样本较多的高斯模型一旦分错将会得 到更多的惩罚。
综合约束条件(7)以及如下约束条件&>0, A:=l,...,K,代价函数(8)可以表示为带 约束的优化问题,即原始拉格朗日(Primal Lagrangian)问题。然后,原始拉格朗日问题 可以转化成对偶表示(DualRepresentation),其表达形式为<formula>formula see original document page 10</formula>至此,分类器目标函数的优化问题已经转化为一个常见的带约束的二次规划问题,可以使 用多种数值方法进行求解,求解后可以得到一组系数&, *=1,...,《的值,其中非负值 即对应为支撑高斯模型,可用于决策函数的建立。(4)决策函数的建立在上一步解决目标函数的优化问题后,可以得到系数序列a;t, A=l,...,/:。在决策函数中,测试样本(向量)x可看作为高斯模型e^在极端条件下的情况,即其协方差矩阵退化为零矩阵,参数表示为0x:(Pf1, fix=x,Ex=0)。然后,测试样本x就可以使用如 下决策函数进行预测(即为x在高斯分布6^下的后验概率)<formula>formula see original document page 10</formula>(10)根据上述思想,本发明提出的分类器训练方法,具体步骤如下(1) 、训练样本的聚类。对于用于训练的大规模样本进行聚类,根据聚类结果,把具 有相同标签的样本分别拟合成高斯模型,作为训练的基本信息单元;而测试样本仍然保持向量的形式用于测试。(2) 、核矩阵的构建。使用步骤(i)中得到的《个高斯模型构建一个KxK的核矩阵,其中每个元素根据公式(2)或公式(3)计算得到。(3) 、目标函数的优化。使用步骤(2)中得到的核矩阵建立带约束的二次规划问题,即 公式(9),使用数值方法求解该二次规划问题,可得到系数&, 4=1,...,《的值。(4) 、决策函数的建立。把从步骤(3)中得到的系数c^, ,代入公式(10), 即可得到分类器的决策函数,使用该决策函数对测试样本X进行预测。。本发明所提出的分类器训练方法主要针对于大规模数据分类问题中的应用。对于时间 复杂性,目前用于大规模数据分类器训练的方法在训练阶段的时间复杂度一般处于0(1og^V A^)到O(Y)之间,而本发明所提出的方法在训练阶段可以把时间复杂度降低到0(A +iC3), 其中W为训练集总样本数,iC为训练样本经过聚类后所得到的高斯模型数,并且《<<^。 例如,如果//=10000, X=100,则其它方法的时间复杂度为0(101())到0(1012)之间,而本发 明所提出的方法仅为0(106)。而且,本方法在时间复杂性上的优势会随着iV数量级的增大 越来越显著。在测试阶段,由于一般情况下该方法训练所得到的支撑高斯模型数会比支撑 向量机所得到的支撑向量数少很多,所以本方法在测试阶段的时间复杂性也会在一定程度 上降低。对于空间复杂性, 一般分类器(不使用分解、增量技术)都需要存储一个WXiV 的矩阵,即空间复杂度为O(iV2》而本发明所提出的方法在训练阶段可以把空间复杂度降低到o(《2), w与x定义同前。例如,如果w-ioooo, a:=ioo,并且存储矩阵的数据类型为双精度型(8个字节),则一般方法需要约800M的内存,在真实应用场景中,样本数远不 止这些,这就意味着, 一般的PC机根本就无法胜任分类器的训练任务;而本方法则只需 要80K的内存。本发明方法可应用于多个领域,如多媒体信息检索、生物信息识别、金融信息处理等。
具体实施方式
为了演示本发明中所提出的分类器训练方法的直观效果,并且说明该方法的有效性, 这里使用该方法对一个在二维空间中生成的模拟数据集进行训练(见附

图1)。该模拟数 据集根据预定义的某高斯混合模型的分布生成2500个正样本(用符号"+"表示)和2500 个负样本(用符号"x"表示)。分类器的具体训练步骤如下1、 使用TOD聚类算法分别对正样本集与负样本集分别聚类,得到25个正样本集群 和25个负样本集群,并根据集群标签把具有相同标签的样本拟合成高斯模型,并分别计 算其权重、均值、以及协方差矩阵(图中椭圆形即表示作为基本训练单元的高斯模型, 其大小与权重成正比,其中心位置为均值,其形状表示协方差矩阵)。2、 基于步骤1中得到的50个高斯模型构造一个50X50的核矩阵,矩阵中的第z'行 第J列中的元素为第z'行个与第y个高斯模型的相似度由公式(3)计算得到。3、 把步骤2中得到的核矩阵代入公式(9),求解带约束的二次规划问题,得到系数 序列W, /t=l,...,《。图中黑体椭圆表示支撑高斯模型,它们所对应的a值均大于零。4、 使用步骤3中得到的支撑高斯模型根据公式(10)构建决策函数。把坐标系中的 所有点代入,计算得到的结果如图1所示,淡灰色区域为-l《/x)0,深灰色区域为0《Ax) 《1。从这个例子可以看出,通过将样本事先聚类并使用得到的高斯模型作为训练的基本 单元,可以显著降低样本数量,同时保持原有的统计信息。另外,该方法由于同样遵循 了边界最大化准则,其分类面与其它同类分类器一样尽量拉开正负样本之间的边界。
权利要求
1、一种用于在大规模数据分类问题中训练SVA分类器的方法,其特征在于具体步骤如下(1)训练样本的聚类给定一个包含N=N++N-个训练样本的集合<math-cwu><![CDATA[<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>]]></math-cwu><!--img id="icf0001" file="A2007100452420002C1.gif" wi="123" he="20" img-content="drawing" img-format="tif"/-->其中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)计算得到
全文摘要
本发明属于统计机器学习技术领域,具体涉及一种用于在大规模数据分类问题中训练SVM分类器的方法。该方法首先训练样本的聚类,根据聚类结果,把具有相同标签的样本分别拟合成高斯模型,作为训练的基本信息单元;然后根据K个高斯模型建立K×K的核矩阵,并建立带约束的二次规划问题,用数值方法求解之;最后利用该二次规划问题的解得到分类器的决策函数,使用该决策函数对测试样本进行预测。本发明方法对时间复杂度和空间复杂度都大有降低;可广泛应用于多媒体信息检索、生物信息识别、金融信息处理等领域。
文档编号G06F17/30GK101127029SQ20071004524
公开日2008年2月20日 申请日期2007年8月24日 优先权日2007年8月24日
发明者斌 李, 池明旻, 薛向阳 申请人:复旦大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1