文本分类入门(六)训练Part 3
SVM算法支持向量机(Support Vector Machine)是Cortes和Vapnik于1995年首先提出的,它在解决小样本、非线性及高维模式识别中表现出许多特有的优势,并能够推广应用到函数拟合等其他机器学习问题中[10]。支持向量机方法是建立在统计学习理论的VC 维理论和结构风险最小原理基础上的,根据有限的样本信息在模型的复杂性(即对特定训练样本的学习精度,Accuracy)和学
SVM算法支持向量机(Support Vector Machine)是Cortes和Vapnik于1995年首先提出的,它在解决小样本、非线性及高维模式识别中表现出许多特有的优势,并能够推广应用到函数拟合等其他机器学习问题中[10]。
支持向量机方法是建立在统计学习理论的VC 维理论和结构风险最小原理基础上的,根据有限的样本信息在模型的复杂性(即对特定训练样本的学习精度,Accuracy)和学习能力(即无错误地识别任意样本的能力)之间寻求最佳折衷,以期获得最好的推广能力[14](或称泛化能力)。
SVM 方法有很坚实的理论基础,SVM 训练的本质是解决一个二次规划问题(Quadruple Programming,指目标函数为二次函数,约束条件为线性约束的最优化问题),得到的是全局最优解,这使它有着其他统计学习技术难以比拟的优越性。 SVM 分类器的文本分类效果很好,是最好的分类器之一。同时使用核函数将原始的样本空间向高维空间进行变换,能够解决原始样本线性不可分的问题。其缺点是核函数的选择缺乏指导,难以针对具体问题选择最佳的核函数;另外SVM 训练速度极大地受到训练集规模的影响,计算开销比较大,针对SVM 的训练速度问题,研究者提出了很多改进方法,包括Chunking 方法、Osuna 算法、SMO 算法和交互SVM 等等[14]。
SVM分类器的优点在于通用性较好,且分类精度高、分类速度快、分类速度与训练样本个数无关,在查准和查全率方面都优于kNN及朴素贝叶斯方法[8]。
与其它算法相比,SVM算法的理论基础较为复杂,但应用前景很广,我打算专门写一个系列的文章,详细的讨论SVM算法,stay tuned!
介绍过了几个很具代表性的算法之后,不妨用国内外的几组实验数据来比较一下他们的优劣。
在中文语料上的试验,文献[6]使用了复旦大学自然语言处理实验室提供的基准语料对当前的基于词向量空间文本模型的几种分类算法进行了测试,这一基准语料分为20个类别,共有9804篇训练文档,以及9833篇测试文档。在经过统一的分词处理、噪声词消除等预处理之后,各个分类方法的性能指标如下。
其中F1 测度是一种综合了查准率与召回率的指标,只有当两个值均比较大的时候,对应的F1测度才比较大,因此是比单一的查准或召回率更加具有代表性的指标。
由比较结果不难看出,SVM和kNN明显优于朴素贝叶斯方法(但他们也都优于Rocchio方法,这种方法已经很少再参加评测了)。
在英文语料上,路透社的Reuters-21578 “ModApt´e”是比较常用的测试集,在这个测试集上的测试由很多人做过,Sebastiani在文献[23]中做了总结,相关算法的结果摘录如下:
分类算法 | 在Reuters-21578 “ModApt´e”上的F1测度 |
Rocchio | 0.776 |
朴素贝叶斯 | 0.795 |
kNN | 0.823 |
SVM | 0.864 |
仅以F1测度来看,kNN是相当接近SVM算法的,但F1只反映了分类效果(即分类分得准不准),而没有考虑性能(即分类分得快不快)。综合而论,SVM是效果和性能均不错的算法。
前面也提到过,训练阶段的最终产物就是分类器,分类阶段仅仅是使用这些分类器对新来的文档分类而已,没有过多可说的东西。
下一章节是对到目前为止出现过的概念的列表及简单的解释,也会引入一些后面会用到的概念。再之后会谈及分类问题本身的分类(绕口),中英文分类问题的相似与不同之处以及几种特征提取算法的概述和比较,路漫漫……
参考:
http://www.blogjava.net/zhenandaci/category/31868.html
[1]李晓明,闫宏飞,王继民,“搜索引擎——原理、技术与系统”.科学出版社,2004
[2]冯是聪, "中文网页自动分类技术研究及其在搜索引擎中的应用," 北京大学,博士论文, 2003
[3]Y. Yang and X. Liu, "A re-examination of text categorization methods" presented at Proceedings of ACM SIGIR Conference on Research and Development in Information Retrieval (SIGIR'99), 1999.
[4]F. Sebastiani, "A tutorial on Automated Text Categorization", Proceedings of ASAI-99, 1st Argentinian Symposium on Artificial Intelligence, Buenos Aires, AR, 1999
[5]王涛:文本自动分类研究,图书馆学研究,2007.12
[6]周文霞:现代文本分类技术研究,武警学院学报,2007.12
[7]奉国和:自动文本分类技术研究,情报杂志,2007.12
[8]崔彩霞,张朝霞:文本分类方法对比研究,太原师范学院学报(自然科学版),2007.12
[9]吴军:Google黑板报数学之美系列,http://googlechinablog.com
[10]刘霞,卢苇:SVM在文本分类中的应用研究,计算机教育,2007.1
[11]都云琪,肖诗斌:基于支持向量机的中文文本自动分类研究,计算机工程,2002,28(11)
[12]周昭涛,卜东波:文本的图表示初探,中文信息学报,第19卷 第2期
[13]Baeza-Yates,R.and Ribeiro-Neto:Modern Information Retrieval,1st ed.Addison Wesley Longman,Reading,MA,1999
[14]唐春生,张磊:文本分类研究进展
[15]李莼,罗振声:基于语义相关和概念相关的自动分类方法研究,计算机工程与应用,2003.12
[16]单松巍,冯是聪,李晓明:几种典型特征选取方法在中文网页分类上的效果比较,计算机工程与应用,2003.22
[17]Yiming Yang,Jan O Pedersen:A comparative Study on Feature Selection in Text Categorization, Proceedings of the Fourteenth International Conference on Machine Learning(ICML~97),l997
[18]董振东:知网简介,知网,http://www.keenage.com/zhiwang/c_zhiwang.html
[19]Tom M.Mitchell,”Machine Learning”,McGraw Hill Companies,1997
[20] Edda Leopold, Jorg Kindermann,“Text Categorization with Support Vector Machines:How to Represent Texts in Input Space?”, Kluwer Academic Publishers,2002
[21] Thorsten Joachims,”Text Categorization with Support Vector Machines: Learning with Many Relevant Features”
[22]Nello Cristianini,An Introduction to Support Vector Machines and Other Kernel-based Learning Methods,Cambridge University Press,2000
[23]F. Sebastiani, "MACHINE LEARNING IN AUTOMATED TEXT CATEGORIZATION", ACM Computing Surveys, Vol. 34, No. 1, 2002
[24]TRS公司,TRS文本挖掘基础件白皮书
[25]苏金树,张博锋:基于机器学习的文本分类技术研究进展,Journal of Software,2006.9
更多推荐
所有评论(0)