基于支持向量机的文本分类算法的研究与实现

基于支持向量机的文本分类算法的研究与实现
基于支持向量机的文本分类算法的研究与实现

学号:2009030114

哈尔滨师范大学

学士学位论文

题目基于支持向量机的文本分类算法研究与实现

学生李慧颖

指导教师李红宇副教授

年级2009级

专业计算机科学与技术

系别计算机科学与技术

学院计算机科学与信息工程

学士学位论文

题目基于支持向量机的文本分类算法研究与实现学生李慧颖

指导教师李红宇副教授

年级2009级

专业计算机科学与技术

系别计算机科学与技术

学院计算机科学与信息工程

哈尔滨师范大学

2013年5月

摘要:随着计算机与通讯技术的飞速发展,互联网上的电子文档信息急剧增加。这就使得文本的自动分类越来越受人们的重视,而支持向量机和文本分类问题有着良好的结合点,从而使得基于支持向量机的文本分类成为这个领域的研究热点。支持向量机是一种基于结构风险最小化准则的分类学习机模型,它的应用十分广泛。虽然支持向量机算法的性能在许多实际问题的应用中得到了验证,但是还存在着一些需要改进的地方,如:训练算法速度慢、测试阶段运算量大等。

关键词:支持向量机;文本分类;学习机模型

目录

第一章引言 (1)

1.1研究背景及意义 (1)

1.2 国内外研究现状 (1)

1.2.1 文本分类研究现状 (1)

1.2.2 SVM研究现状 (2)

1.3 文本内容研究 (3)

第二章文本分类 (4)

2.1 文本自动分类概述 (4)

2.2 文本分类所涉及的技术领域 (4)

2.2.1 文本分类与自然语言处理 (4)

2.2.2 文本分类与文本挖掘 (5)

2.2.3 文本分类与机器学习 (5)

2.2.4 文本分类与模式识别 (5)

2.3 文本分类的关键技术 (6)

2.3.1 文本表示 (6)

2.3.2 特征选择 (7)

2.3.3 权重计算 (9)

2.3.4 常用的文本分类算法 (9)

2.4 文本分类的应用 (11)

第三章支持向量机 (13)

3.1 支持向量机简介 (13)

3.2 支持向量分类机 (14)

3.2.1 线性可分问题 (14)

3.2.2 近似线性可分问题 (15)

3.2.3 线性不可分问题 (15)

3.3 支持向量机的应用步骤 (16)

3.4基于支持向量机文本分类方法的优势 (17)

3.5基于支持向量机文本分类方法中存在的问题 (17)

第四章小波变换在支持向量机分类中的应用 (19)

4.1 问题的提出 (19)

4.2降维相关的研究工作 (19)

4.3 小波分析 (20)

4.3.1 离散小波变换 (20)

4.3.2 小波的定义 (21)

4.4 一维哈尔小波变换 (21)

4.4.1 哈尔基函数 (22)

4.4.2 哈尔小波函数 (22)

4.4.3 函数的规范化 (23)

4.4.4 哈尔基的结构 (24)

4.5 哈尔小波变换的应用 (24)

4.5.1 哈尔小波变换的过程 (24)

4.5.2 哈尔小波变换的应用 (24)

4.6 哈尔小波变换在本文中的应用 (26)

4.6.1 小波变换的应用 (27)

4.7 实验及结果分析 (28)

4.7.1 实验平台及环境 (28)

4.7.2 实验步骤 (28)

4.7.3 实验目的 (29)

4.7.4 结果分析 (29)

第五章总结 (33)

5.1 文本总结 (33)

5.2 工作展望 (33)

参考文献: (34)

Absatrct: . (35)

第一章引言

1.1研究背景及意义

所谓的文本自动分类,最初是应信息检索(Information Retrieval,IR)系统的要求出现的。信息检索系统要操纵许多的数据,而文本信息库可能是相当庞大的,并且,用来表示文本内容的词汇数量又是成千上万的。因此,在这种情况下,如果能够提供文本集良好的组织与结构,就能一定程度上简化文本的操纵。

文本自动分类系统的目的就是对文本集进行有序组织,把相似的、文本组织在一起。它作为知识的组织工具,为信息检索提供了更高效的搜索策略和更准确的查询结果。其中,高效性来自于用户可以首先确定查询的可能类别,以减小需进一步匹配的文本数量。有效性在于相似的文本很可能与相同的查询相关。这样,检索的查全率和准确率都得到了提高。

随着全球计算机与通讯技术的飞速发展、互联网络的普及与应用,文本自动分类对于信息处理的意义变得更加重要。在互联网中,电子文档信息每天都在急剧的增加,通过网络,人们可以很方便地共享巨大的信息资源。但网络信息的快速膨胀使得给人们进行信息查找的信息资源无法很有效的加以利用。面对网上的海量信息,传统的做法是对网上信息进行人工分类,并加以组织和整理,为人们提供一种相对有效的信息获取手段。但是,这种人工分类的做法存在着许多弊端:一是耗费大量的时间和精力。二是存在分类结果不精准。即使分类人的语言素质较高,但其分类结果仍然不尽相同。网络信息的激增不仅增加了对于快速、自动文本分类的迫切需求,而且又为基于机器学习的文本分类方法准备了充分的准备。

支持向量机是由Vapnik领导的AT&TBell实验室研究小组在1995年提出的一种新的非常有潜力的分类技术,SVM是一种基于统计学习理论的模式识别方法,主要应用于模式识别领域。由于当时这些研究尚不十分完善,在解决模式识别问题中往往趋于保守,且数学上比较艰涩,这些研究一直没有得到充分的重视。直到90年代,统计学习理论 (Statistical Learning Theory,SLT)的实现和由于神经网络等较新兴的机器学习方法的研究遇到一些重要的困难,比如如何确定网络结构的问题、过学习与欠学习问题、局部极小点问题等,使得SVM迅速发展和完善,在解决小样本、非线性及高维模式识别问题中表现出许多特有的优势,并能够推广应用到函数拟合等其他机器学习问题中。从此迅速的发展起来,现在已经在许多领域(生物信息学,文本和手写识别等)都取得了成功的应用。

SVM的主要思想可以概括为两点:⑴它是针对线性可分情况进行分析,对于线性不可分的情况,通过使用非线性映射算法将低维输入空间线性不可分的样本转化为高维特征空间使其线性可分,从而使得高维特征空间采用线性算法对样本的非线性特征进行线性分析成为可能。⑵它基于结构风险最小化理论之上在特征空间中建构最优分割超平面,使得学习器得到全局最优化,并且在整个样本空间的期望风险以某个概率满足一定上界。对学习算法的研究和改进是目前SVM研究的主要内容,在过去的十多年里,出现了很多SVM算法的改进算法,从算法实现中优化理论的改进、核函数的构造到算法参数的选择等

1.2 国内外研究现状

1.2.1 文本分类研究现状

文本分类一般包括了文本的表达、分类器的选择与训练、分类结果的评价与反馈等过程,其中文本的表达又可细分为文本预处理、索引和统计、特征抽取等步骤。美国IBM公司的H.P.Luhn在20世纪50年代末对文本分类进行研究,他提出了词频统计思想,后来被应用

在文本分类领域。60年代初,Maron在利用概率模型进行文本分类方面做出了开创性的研究工作。Salton等人在70年代初提出了向量空间模型,由于该模型在良好的统计学方法基础上简明地实现了对文本特性的抽象描述,从而成为文本分类处理的一种经典模型。其后许多学者在这一领域进行了卓有成效的研究。

国外文本自动分类主要经历了四个发展阶段:

第一阶段(1958-1964):研究文本自动分类的可能性;

第二阶段(1965-1974):进入文本自动分类的实验性阶段;

第三阶段(1975-1998):文本自动分类的实用性阶段;

第四阶段(1990-至今):因特网文本自动分类研究阶段。

国内文本自动分类研究起步较晚,始于20世纪80年代初期。1981年侯汉清对计算机在文献分类工作中的应用作了探讨,并介绍了国外在计算机管理分类表、计算机分类检索、计算机自动分类、计算机编制分类表等方面的概况。此后,有越来越多的人借鉴国外的一些研究成果,结合中文的特点进行中文文本自动分类的研究。中科院计算所的李晓黎、史忠植等人应用概念推理网进行文本分类。复旦大学的周水庚等人用了N-gram方法对中文文本进行分类尝试,从文档中提取N-gram属性,然后用ON方法判别文本类别,摆脱了对词典和切词处理的依赖,实现文本分类的领域无关性和时间无关性。刁力力、石纯一等用Boosting 来组合决策树(Stumps)的方法进行文本分类。卜东波从信息粒度的角度来剖析聚类和分类技术,试图使用信息粒度原理的框架来统一聚类和分类。庞剑峰等应用向量空问模型进行了中文文本分类实验,并同时对文本分类所涉及的关键性技术,例如特征提取、不同机器学习方法等进行了研究和探讨,给出了评估方法和实验结果。之后他又验证了在文本分类系统中应用反馈方法的可行性,给出了结合反馈方法的文本分类算法。

1.2.2 SVM研究现状

SVM由于分类效果比较好成为近几年人们研究的热点。SVM是建立在SLT的VC维理论和结构风险最小化原理基础上,根据有限样本信息在模型复杂性(对特定样本的学习精度)和学习能力(无错误地识别样本的能力)之间寻求一种折中,以期达到最佳的推广性能。1995年,Vapnik在“The Nature of Statistical Learning Theory”一书中提出支持向量机的概念,并在“Support Vector Networks”一文中进行了详细的介绍。从那以后,关于支持向量机方面的文章如雨后春笋,逐渐成为国际上机器学习领域的研究热点,吸引了国内外众多知名的专家Daniel和Gabriele提出了基于小波的核函数构造方法:Atari和Wu设计了一种算法,他们通过对核函数的黎曼几何分析,提出利用实验数据逐步修正己有的核函数,使之能更好地与实际问题相吻合;Cauwenberghs 和Poggio研究了基于SVM的增量和减量学习问题;Diehl 和Cauwenberghs提出了一个精确增量学习和自适应SVM分类器的框架;Opper和Urban-czik 对SVM学习带噪声的多项式规则进行了研究,在核函数阶数足够高或者为超越函数时,渐近线和学习曲线由目标规则决定而不是核函数,在这种情况下研究了训练误差核推广误差的收敛性;Bordes等提出一种在线SVM算法LASVM,通过对样本的主动选择提高了学习速度;Serifini等研究了基于梯度方法的SVM分解算法中起作用集的选择问题;此外,还有很多学者对SVM的算法进行了研究,这里就不一一列举了。

Joachims和Dumais例等人于1998年开创了SVM在文本分类中应用的先河。他们各自在不同语料库中做了大量试验,结果表明SVM在文本分类的应用中特别有效,并有很好的泛化性,克服了高维表示中的困难。此后,很多学者开始了这方面的研究,并取得了很多研究成果。

目前,SVM己被越来越多地应用到模式识别领域,如手写体文字识别、人脸识别等在图像压缩和数据分类的应用中,SVM也显示出了较好的性能。而SVM在文本分类中的应用,主要关注以下几个方面:(1)提高支持向量机的计算速度,以便处理更大规模的文本分类问题;

(2)利用最优化技术改进或改造SVM形式,简化计算过程;(3)利用结构风险最小化原则、核思想和J下则化技术等改造传统的线性算法,构造出相应的核形式,使之更适合文本分类等。但从现在研究来看,用于文本分类的核函数一经确定(如多项式核和高斯核等),其参数的选择多是凭借经验,或是在试验中一步一步的修正。通常这个选择必须适用于具体的数据,在缺乏可靠的条件时,在应用中需要使用验证集或者是交叉验证来设置这些参数。

1.3 文本内容研究

本文主要研究基于支持向量机的文本分类算法,文中主要介绍了文本分类、支持向量机、聚类方法在支持向量机分类中的应用、小波变换在支持向量机分类中的应用等,结构安排如下:

第一章,引言。主要介绍了课题的研究背景、研究意义、国内外研究现状,概述本论文的主要工作以及结构安排。

第二章,文本分类相关知识。由于基于支持向量机的文本分类是众多文本分类方法中的一种,它以文本分类为基础。因此本文对文本分类的相关知识做了详细的介绍,如文本表示、特征选择、权重计算、文本分类算法等文本分类的关键技术。

第三章,支持向量机相关知识。支持向量机的应用领域十分广泛,文本分类只是其中一种比较典型的应用。本文研究的是基于支持向量机的文本分类算法,所以也有必要介绍支持向量机的相关知识。本章中主要介绍了支持向量机的基本原理、支持向量分类机、支持向量机的核函数、支持向量机的应用步骤以及支持向量机分类方法的优缺点。

第四章,小波变换在支持向量机分类中的应用。本章主要研究的是小波变换对支持向量机的输入向量进行降维,从而提高支持向量机的训练和分类的效率,在本章中首先对小波变换的基础知识做了详尽的介绍,其中包括:离散小波变换的基本原理、一维哈尔小波、哈尔小波变换的应用过程等。接着本文着重分析了用哈尔小波变换在支持向量机分类中应用,并在理论分析的基础上构造了实验系统。最后在分析实验数据的基础上讨论了小波变换应用的效果。

第五章,总结和展望。本章总结了通过实验得出的结论,并叙述了本文中所用方法的不足,对将来的工作进行了展望

第二章文本分类

2.1 文本自动分类概述

文本自动分类是对大量的非结构化的文字信息(文本文档、网页等)按照给定的分类体系,根据文字信息内容分到指定的类别中去,是一种有指导的学习过程。

文本自动分类的过程总体上可划分为训练和分类两部分。训练的目的是通过样本和类别之间的联系构造分类模型,使其用于分类。分类则是依据训练结果对未知样本进行分类,给出类别标识的过程。具体流程如图2.1所示,其中训练过程用实线表示,分类过程用虚线表示。

图2.1 文本自动分类过程

2.2 文本分类所涉及的技术领域

文本分类技术涉及到多个领域的知识,包括语言学中的自然语言处理、数据挖掘中的文本挖掘、计算机领域的机器学习和模式识别等。

2.2.1 文本分类与自然语言处理

自然语言处理是文本分类的基础,文本分类主要借助了其文本处理相关技术,如分词技术、N元模型等。中文自然信息处理发展至今可以分为三个阶段,字处理阶段、词处理阶段和句处理阶段。字处理研究内容包括汉字编码、汉字识别、汉字输入法和字处理软件等。到目前为止,这些技术己经比较成熟,字处理继续研究的领域己经不多,大多数科学家将研究方向移至词处理和句处理的研究当中。目前,词处理阶段上最成功、最典型、也最引人瞩目的应用领域是Internet上的搜索引擎,如Google、Yahoo和百度等,对一般的检索都能返回不错的结果。其它正在研究的方向还包括文本过滤、个性化服务系统、语音识别等。在词处理上的其他应用还有文本自动校对、汉字简繁体自动转换、自动分词等领域引。句处理上的应用主要有两个方面:一是机器翻译,目前机器翻译的质量仍旧不能令人满意。二是汉语语法分析,大家在使用微软字处理软件的时候都会发现它能够提示一些英文语法错误,但对中文语法的提示往往是不正确的。

总的来说,在自然语言处理领域中字平台研究已快成为过去;句平台上的研究还很薄弱,离实用还有一段距离;而词平台上的研究,难度较句平台容易,已经出现了一些成果,也是

现在继续研究的重点。

2.2.2 文本分类与文本挖掘

文本的知识发现最早是由Feldman 和Dagan 首先提出来的,又称为文本数据挖掘。文本数据挖掘不仅是在单独文本中提取所需信息,同时也包括分析文档集合的模式和趋势。文本挖掘不同于数据挖掘,数据挖掘面对的是结构化数据,采用的方法大多是非常明确的定量方法。而文本挖掘处理的是非结构化的文本,由于语言本身的特点有其需要解决的特殊问题。因此,决定它采用的方法与数据挖掘不同,它经常使用的方法来自自然语言理解和文本处理领域。与信息检索(Information Retrieval)、文本聚类(Text Clustering)等一样,文本分类也属于文本挖掘(Text Mining)的范畴,可以看成是文本挖掘中的一项基本任务。 2.2.3 文本分类与机器学习

文本分类是机器学习的应用领域。机器学习是计算机程序针对某一类问题T 从经验E 中学习,它的性能用P 来衡量。很多的学者认为使机器具有推广性(具有小的测试错误率)的唯一因素是使它在训练集上的错误率最小。

文本分类就是一个有指导的学习过程。它根据一个已经被标注了类别的训练文本集合,找到文本特征和文本类别之间的关系模型,然后利用这种学习得到的关系模型对新的文本进行类别判断。可以形式化的描述为:

假设有一组文本概念类C 和一组训练文本D 。文本概念类和文本库中的文本可能满足某一概念层次关系h 。客观上,存在着一个目标概念T ,有:

T:D →C

这里,T 把一个文本实例映射为某一个类。对D 中的文本d →T (d )是已知的。通过有指导地对训练文本集的学习,可以找到一个近似于T 的模型H :

H:D →C

在某些情况下最优的目标函数是没有的,只能退而求其次。对于任何分类,最优的目标函数是指错误率最小。对于一个新文本d →H(d)表示对d 的分类结果。一个分类系统的建立或者说分类学习的目的就是寻找一个和T 最相近的H 。即给定一个评估函数f ,学习的目标应使T 和H 满足:

)))

()((()(di H di T f f Min D im

-∑

机器学习中最重要的一些目标函数的逼近算法如LMS 、贝叶斯方法也被用到文本分类中。

2.2.4 文本分类与模式识别

通常把通过对某具体的个别事物进行观测所得到的具有时间和空间分布的信息称为模式,而把模式所属的类别或同一类中模式的总体称为模式类(或简称为类)。也有人习惯于把模式类称为模式,而把具体的模式称为样本

模式识别就是指用计算机实现人的模式识别能力,用机器去完成人类智能中通过视觉、听觉、触觉等感官去识别外界环境的自然信息的那些工作。模式识别的目的就是要寻找每一类的特殊的属性或建立类与类之间的边界,使类与类之间可以很好的区分。

在文本分类中,每一类文本可以看作一个模式,该类文本的总体构成一个模式类,一个个文本都是样本。模式识别有两种基本的方法——统计模式识别方法和句法模式识别方法。文本分类中主要使用统计模式识别方法,一方面由于以语义分析(句法模式识别)为手段遇到空前的困难,另一方面统计模式识别实现简单,出现了巨大的进展。一般来讲,一个模式识别系统主要由三部分组成,如图2.2所示:

???→?输入模式

?????→?分类系统结果描述

图2.2 模式识别系统结构

预处理指将现实世界的信息转换成计算机所能够接受的数字量。在中文文本分类过程中,则是将非结构化的文本转换为能够用来进行处理的结构化形式。

特征选择指对满足识别要求的样本根据识别方法,抽取其特征项作为识别的依据。这个过程的处理主要考虑两个问题:一是要求选择出来的特征能够足够代表这个样本;二是要求它们的数量要尽量少。这个方面的研究也称为“特征项降维”。现在的文本分类所使用的特征选择方法己经有许多,如信息增益、互信息、交叉嫡等。

识别算法则是将抽取出来的样本特征创建一个用来区分类别的模型,文本分类中通常使用向量空间模型,通过识别算法得到的就是一个分类系统。

模式识别研究的通常是一些通用的分类算法,其中许多算法都可以应用在文本分类中,如:Rocchio(中心向量方法)、Naive Bayes(朴素贝叶斯方法)、KNN (KNearst Neigllbor K 近邻方法)、Decision Tree (决策树方法)、SVM 等等。

2.3 文本分类的关键技术

2.3.1 文本表示 从本质上讲,文本是一个由众多字符构成的字符串,无法被学习算法直接用于训练或分类。要将机器学习运用于文本分类问题,首先需要将作为训练和分类对象的文本,转化为机器学习算法易于处理的形式,即运用各种文本特征表示方法,文本特征表示是指以一定特征项来代表文本,在文本分类时只需对这些特征项进行处理,从而实现对非结构化文本的处理。现有文本分类技术的前提假设是特征和文本类别概念密切相关,特征表示模型有多种,常用的有概率模型、潜在语义索引模型、向量空间模型等。向量空间模型是近年来应用较多且效果较好的方法之一。

(1)贝叶斯概率模型

贝叶斯概率模型是用概率架构来表示特征项,将训练实例1分解为特征向量X 和决策类别C ;该模型假定特征向量的各分量间相对于决策变量是相对独立的,也就是说各分量独立地作用于决策变量。尽管这个假定在一定程度上限制了贝叶斯模型的适用范围,然而在实际应用中,以指数级降低了贝叶斯网络构建的复杂性。在很多领域即使违背这种假定的条件下,贝叶斯概率模型也表现出相当的健壮性和高效性,已经成功地应用到分类、聚类中。

(2)潜在语义索引模型

潜在语义索引模型LSI(Latent Semantic Index)模型是由Dumais ,Furnas ,Landaver 和Harshman 于1990年提出,也用向量表示特征项,但是每一个向量代表一个“概念”,就是通常所说的“概念空间模型”。LSI 使用一种数学上的“奇异值分解即(Singular 、Value Decomposition ,SVD)”技术,把文档投影到一个具有潜在语义的“特征.文本”多维空上,共现特征、同义特征投影在同一维上,非共现特征、非同义特征在不同的维上,这样就会出现没有共同的特征的文本间也会有较高的相似度。

(3)向量空间模型

向量空间模型(Vector Space Model)是由Gerard Salton 和McGill 于1969年提出的,并最早成功应用于信息检索领域,后来又在文本分类领域得到了广泛的运用。

向量空间模型的基本思想是以向量来表示文本:(W 1,W 2,…Wn),其中Wi 为第i 个特征项的权重。那么选取什么作为特征项呢?一般可以选择字、词或词组。根据前人经验,普遍认

为选取词作为特征项要优于字和词组。因此,要将文本表示为向量空间中的一个向量,就首先要将文本分词,由这些词作为向量的维数来表示文本。最初的向量表示完全是O 、1形式,即:如果文本中出现了该词,那么文本向量的该维为1,否则为O 。这种方法无法体现这个词在文本中的作用程度,所以逐渐0、1被更精确的词频代替。词频分为绝对词频和相对词频,绝对词频,即使用词在文本中出现的频率表示文本,相对词频为归一化的词频,其计算方法主要运用TF —IDF 公式,它是一种文本的词集表示法,所有的词从文本中抽取出来,而不考虑词间的次序和文本的结构。目前存在多种TF-IDF 公式,一种比较普遍的TF-IDF 公式:

2

1)]

01.0)log(*),([)

01.0log(*),(),(∑

++=

ed

n N d t tf n N d t tf d t W (2.1)

其中,W(t,d)为词t 在文本d 中的权重,而tf (t,d )为词t 在文本d 中的词频,N 为训练文本的总数,Nt 训练文本集中出现t 的文本数,分母为归一化因子。另外还存在其他的TF-IDF 公式,例如:

2

12

2

22

2

)]

(log

*)),(log 1[()

(log

*)),(log

1(),(∑

++=

ed

n N d t tf n N d t tf d t W (2.2)

该公式中参数的含义与式(2.1)相同。 向量空间模型的一个基本假设是,一份文本所属的类别仅与某些特定的单词或词组在该文档中出现的频数有关,而与这些单词或词组在该文本中出现的位置或顺序无关。也就是说,如果将构成文本的各种语义单位(如单词、词组)统称为“特征项”,以及特征项在文本中出现的次数称为“词频”,那么一份文本中蕴涵的各个特征项的频率信息足以用来对其进行正确的分类。这一假设对于文本的主题分类而言是恰当的,而对于其他方面的文本分类,如流派、作者等识别问题就不那么可靠了。向量空间模型中,一个文本表示为特征空间中的一个向量,这个向量也称为文本向量。文本向量中每一维对应于文本中的一个特征,它的权重为该向量维对应的特征在文本中的权重。 2.3.2 特征选择

目前主流的文档表示方法是向量空间模型。向量空间模型中,一篇文档表示为特征空间中的一个向量,这个向量也称为文档向量。文档向量中每一维对应于文档中的一个特征,它的权值为该向量维对应的特征在文档库中的权值,一般采用TF-IDF 方法计算。若使用词语作为文本特征,那么文本的特征向量会达到上万维甚至数十万维的大小,在此一个高维空间上对文本分类所使用的学习算法进行训练,显得既不经济又无必要,因此必须通过特征选择来进行维数压缩,特征选择经常会使用特征独立性假设来简化特征选择,以达到计算时间和计算质量的折衷。因此,目前在对文本的特征空间所采取的特征选择算法一般是构造一个评价函数,对特征集中的每个特征进行独立的评估。这样每个特征都获得一个评估分,然后对所有的特征按照其评估分的大小进行排序,选取预定数目的最佳特征作为结果的特征子集

在中文文本分类中,文本集经过分词后变成词集,然后经过去掉停用词粗降维得到特征集。但是特征集仍然是个高维的特征空间,对于所有的分类算法来说维数都太大。因此,我们面临寻求一种有效的特征抽取方法,以降低特征空间的维数,提高分类的效率和精度。特征选择的目的是除去特征集中不能较好表示有效信息的特征,以提高分类准确度和减少计算

复杂度。常见的特征选择方法有以下四种:文档频率(DF)、信息增益(IG)、互信息(MI)、X 2

统计量(CHI)等。这些方法的基本思想都是对每一个特征即词条,计算它的某种统计的度量值,然后设定一个阈值T,把度量值小于T 的那些特征过滤掉,剩下的即认为是有效特征。下面分别介绍这几种特征选择算法。

(1) 文档频率(Document Frequency ,DF)

训练集的文档总数

单次出现的文档数=

)(W DF (2.3)

文档频数是最简单的评估函数,其值为训练集合中出现此词的文本数占总的文本数的

概率。DF 评估函数的理论假设是:稀有单词要么不含有用信息,要么太少而不足以对分类产生影响;要么是噪音,所以可以删去。虽然它在计算量上比其它的评估函数小得多,但是在实际运用中它的效果却是出奇地好。需要注意的是,在特征选择之前必须将停用词去掉,仅保留与主题相关的词汇。踯估函数也存在缺点,比如稀有单词可能在某一类文本中并不稀有,而且包含着重要的判断信息。在实际运用中一般并不直接使用DF 评估函数,常把它作为评判其它评估函数的标准。

(2)信息增益(information Gain ,IG)

信息增益通过统计某个特征项在一篇文档中出现或不出现的次数来预测文档的类别。它是一种基于熵的评估方法,涉及较多的数学理论和复杂的熵理论公式,定义为某特征项为整个分类所能提供的信息量,不考虑任何特征的熵与考虑该特征后的熵的差值。他根据训练数据,计算出各个特征项的信息增益,删除信息增益很小的项,其余的按照信息增益从大到小排序。其描述如下:

)

()(log

)()()

()(log

)()()(i i i

i i i i C P W C P W C P W P C P W C P W C P W P W IG ∑+= (2.4)

其中P(Ci /W)表示文本中出现词W 时,文本属于类别Ci 的概率,同样P(Ci /W)表示文

中不出现词W 时文本属于类别Ci 的概率;P(Ci)表示类别出现的概率;P(W)表示词W 在整个文本训练集中出现的概率。

信息增益是一种在机器学习领域应用较为广泛的特征选择方法。它从信息论角度出发,用各个特征的取值情况来划分学习样本空间,然后根据所获信息增益的多寡来选择相应的特征。

(3)互信息(Mutual Information ,MI) )

()(log

)(W P C W P C P MI i i

i ∑

=

(2.5)

词条和类别的互信息体现了词条与类别的相关程度,是一种广泛用于建立词关联统计模型的标准。如果词W 在某个类别Ci 中出现的概率高,而在其它类别中出现的概率低,则W 将获得较高的互信息,也就有可能被选取为类别Ci 的特征。

(4)X 2

统计量(CHI) )

)()()(()

()

(),()()(2

2

D C B A D B C A BC AD N C P C W X

C P W CHI

i

i i i

i ++++-=

=

(2.6)

其中A 表示词W 在类别Ci 中出现的频度;B 表示词W 在除Ci 以外的其它类别中出现的频度,C 表示除W 以外的其它词在类别Ci 中出现的频度;D 表示除W 外的其它词在除Ci 以外的其它类别中出现的频数。

该方法类似于互信息MI ,词的X 2

(CHI)统计值比较了词对一个类别的贡献和对其余类别的

贡献,以及词和其它词对分类的影响。当词矿与类别C ,互相独立时,AD —BC=O ,X 2

(CHI)的值为O ;若AD —BC>O ,说明词W 与类别Ci 正相关,即该词出现说明某个类别很可能出现;反之,若AD —BC<0,说明词形与类别Ci 负相关,即该词出现说明某个类别很可能不出现。

在进行特征选择时,选择X 2

(CHI)统计值高,同时满足AD-BC>0的词形作为特征值。

2.3.3 权重计算

不同的特征项对文本的重要程度和区分度是不同的,所以在对文本分类模型进行形式化的时候,需要对所有特征项进行赋权重处理,常用的加权函数有布尔权重、词频权重、TFIDF 权重等

(1)布尔权重(Binary Weighting)

布尔权重是最简单的一种加权方法,特征词出现的次数为0,则权重赋为0特征词出现的次数大于O ,则权重赋为1。 否则

中出现

在文中如果特征d W t

k

kd ??

?=0

1 (2.7)

(2)词频权重

词频权重以该特征词在文档中出现的次数作为其的权重。使用文档中特征词的频率做权重可以提高文本分类的查全率,但对准确率不好。 这种方法比较简单,因为有些词出现的频率虽然非常高,但是没有什么代表性,这样使一些噪音词的权重比较高,从而降低了分类的准确率。

(3)TFIDF 权重

TFIDF 权重是在文本处理领域中使用最广泛的数值权重计算方法。该方法基于以下原因:一是特征i 在文档j 中出现次数越多,越重要。二是文档集中含有特征i 的文档数越大越不重要。TFIDF 方法基于的思想和构造的统计量都很简单,但是在实用中却表现了很好的性能。

2.3.4 常用的文本分类算法

(1)基于统计的文本分类算法 ①K-最近邻接分类算法(K-NN)

KNN 附方法是最著名的模式识别统计学方法之一,它是在最近邻方法NN(Nearest Neighbor)的基础上为了克服NN 法错判率较高的缺陷而被推广得到的,已经有四十多年的历史,是一种基于实例的文本分类方法,KNN 最常见的应用是用于由向量空间模型表示的文档的分类问题。KNN 的做法是:给定一个测试文档,系统在训练集中查找离他最近的K 个邻居,并根据这些邻居的分类来给该文档的候选分类评分。把邻居文档和测试文档的相似度作为邻居文档所在分类的权重,如果这K 个邻居中的部分文档属于同一个类,则将该分类中的每个邻居的权重求和并作为该分类和测试文档的相似度。通过对候选分类评分的排序,给出一个阈值,就可以判定测试文档的分类。

K 值的确定目前没有很好的方法,一般采用先定一个初始值,然后再根据实验测试的结果进行调整。K 值选择过小,不能充分体现待分类文本的特点,而如果K 值选择过大,则一些和待分类文本实际上并不相似的文本也会被包含进来,造成噪声增加而导致分类效果的降低。在实际的文本分类试验中,一般都要通过反复的实验、测试、观察不同的K 值对分类效果的影响,从而最后来确定K 的一个较理想的取值范围。根据经验K 的值通常可以选30到40。

有许多实验表明KNN 是非常有效的,有更高的分类准确性和稳定性。它是一种基于要求的或懒惰的学习方法,它存放所有的训练样本,无需事先对文本进行训练,直到测试样本需要分类时才建立分类。但它最大的缺陷是占用大量的分类时间,对一个线性分类器来说,只需要计算一个点积就可以对测试实例进行分类了,而KNN 则需要把整个训练集按与测试实例的相似度排序,因此当训练文档数增加时,其分类时间将急剧增加。 ②朴素贝叶斯分类算法(NB)

朴素贝叶斯(Naive Bayes ,NB)是一种简单的线性分类器。它在文本分类中应用得非常

支持向量机分类器

支持向量机分类器 1 支持向量机的提出与发展 支持向量机( SVM, support vector machine )是数据挖掘中的一项新技术,是借助于最优化方法来解决机器学习问题的新工具,最初由V.Vapnik 等人在1995年首先提出,近几年来在其理论研究和算法实现等方面都取得了很大的进展,开始成为克服“维数灾难”和过学习等困难的强有力的手段,它的理论基础和实现途径的基本框架都已形成。 根据Vapnik & Chervonenkis的统计学习理论 ,如果数据服从某个(固定但未知的)分布,要使机器的实际输出与理想输出之间的偏差尽可能小,则机器应当遵循结构风险最小化 ( SRM,structural risk minimization)原则,而不是经验风险最小化原则,通俗地说就是应当使错误概率的上界最小化。SVM正是这一理论的具体实现。与传统的人工神经网络相比, 它不仅结构简单,而且泛化( generalization)能力明显提高。 2 问题描述 2.1问题引入 假设有分布在Rd空间中的数据,我们希望能够在该空间上找出一个超平面(Hyper-pan),将这一数据分成两类。属于这一类的数据均在超平面的同侧,而属于另一类的数据均在超平面的另一侧。如下图。 比较上图,我们可以发现左图所找出的超平面(虚线),其两平行且与两类数据相切的超平面(实线)之间的距离较近,而右图则具有较大的间隔。而由于我们希望可以找出将两类数据分得较开的超平面,因此右图所找出的是比较好的超平面。 可以将问题简述如下: 设训练的样本输入为xi,i=1,…,l,对应的期望输出为yi∈{+1,-1},其中+1和-1分别代表两类的类别标识,假定分类面方程为ω﹒x+b=0。为使分类面对所有样本正确分类并且具备分类间隔,就要求它满足以下约束条件: 它追求的不仅仅是得到一个能将两类样本分开的分类面,而是要得到一个最优的分类面。 2.2 问题的数学抽象 将上述问题抽象为: 根据给定的训练集

平面向量常见题型与解题方法归纳学生版

平面向量常见题型与解题方法归纳 (1) 常见题型分类 题型一:向量的有关概念与运算 例1:已知a是以点A(3,-1)为起点,且与向量b = (-3,4)平行的单位向量,则向量a的终点坐标是. 例2:已知| a |=1,| b |=1,a与b的夹角为60°, x =2a-b,y=3b-a,则x与y的夹角的余弦是多少 题型二:向量共线与垂直条件的考查 r r r r 例1(1),a b r r为非零向量。“a b⊥r r”是“函数()()() f x xa b xb a =+?-

为一次函数”的 A 充分而不必要条件 B 必要不充分条件 C 充要条件 D 既不充分也不必要条件 (2)已知O ,N ,P 在ABC ?所在平面内,且 ,0OA OB OC NA NB NC ==++=,且PA PB PB PC PC PA ?=?=?,则点O ,N ,P 依次是ABC ?的 A.重心 外心 垂心 B.重心 外心 内心 C.外心 重心 垂心 D.外心 重心 内心 例2.已知平面向量a =(3,-1),b =(21, 2 3).(1) 若存在实数k 和t ,便得x =a +(t 2-3)b , y =-k a +t b ,且x ⊥y ,试求函数的关系式k =f(t);(2) 根据(1)的结论,确定k =f(t)的单调区间. 例3: 已知平面向量a ?=(3,-1),b ?=(2 1,23),若存在不为零的实数k 和角α,使向量c ?=a ?+(sin α -3)b ?, d ?=-k a ?+(sin α)b ?,且c ?⊥d ?,试求实数k 的

取值范围. 例4:已知向量)1,2(),2,1(-==b a ,若正数k 和t 使得向量 b t a k y b t a x 1)1(2 +-=++=与垂直,求k 的最小值. 题型三:向量的坐标运算与三角函数的考查 向量与三角函数结合,题目新颖而又精巧,既符合在知识的“交汇处”构题,又加强了对双基的考查. 例7.设函数f (x )=a · b ,其中向量a =(2cos x , 1), b =(cos x ,3sin2x ), x ∈R.(1)若f(x )=1-3且x ∈[-

支持向量机算法

支持向量机算法 [摘要] 本文介绍统计学习理论中最年轻的分支——支持向量机的算法,主要有:以SVM-light为代表的块算法、分解算法和在线训练法,比较了各自的优缺点,并介绍了其它几种算法及多类分类算法。 [关键词] 块算法分解算法在线训练法 Colin Campbell对SVM的训练算法作了一个综述,主要介绍了以SVM为代表的分解算法、Platt的SMO和Kerrthi的近邻算法,但没有详细介绍各算法的特点,并且没有包括算法的最新进展。以下对各种算法的特点进行详细介绍,并介绍几种新的SVM算法,如张学工的CSVM,Scholkopf的v-SVM分类器,J. A. K. Suykens 提出的最小二乘法支持向量机LSSVM,Mint-H suan Yang提出的训练支持向量机的几何方法,SOR以及多类时的SVM算法。 块算法最早是由Boser等人提出来的,它的出发点是:删除矩阵中对应于Lagrange乘数为零的行和列不会对最终结果产生影响。对于给定的训练样本集,如果其中的支持向量是已知的,寻优算法就可以排除非支持向量,只需对支持向量计算权值(即Lagrange乘数)即可。但是,在训练过程结束以前支持向量是未知的,因此,块算法的目标就是通过某种迭代逐步排除非支持向时。具体的做法是,在算法的每一步中块算法解决一个包含下列样本的二次规划子问题:即上一步中剩下的具有非零Lagrange乘数的样本,以及M个不满足Kohn-Tucker条件的最差的样本;如果在某一步中,不满足Kohn-Tucker条件的样本数不足M 个,则这些样本全部加入到新的二次规划问题中。每个二次规划子问题都采用上一个二次规划子问题的结果作为初始值。在最后一步时,所有非零Lagrange乘数都被找到,因此,最后一步解决了初始的大型二次规划问题。块算法将矩阵的规模从训练样本数的平方减少到具有非零Lagrange乘数的样本数的平方,大减少了训练过程对存储的要求,对于一般的问题这种算法可以满足对训练速度的要求。对于训练样本数很大或支持向量数很大的问题,块算法仍然无法将矩阵放入内存中。 Osuna针对SVM训练速度慢及时间空间复杂度大的问题,提出了分解算法,并将之应用于人脸检测中,主要思想是将训练样本分为工作集B的非工作集N,B中的样本数为q个,q远小于总样本个数,每次只针对工作集B中的q个样本训练,而固定N中的训练样本,算法的要点有三:1)应用有约束条件下二次规划极值点存大的最优条件KTT条件,推出本问题的约束条件,这也是终止条件。2)工作集中训练样本的选择算法,应能保证分解算法能快速收敛,且计算费用最少。3)分解算法收敛的理论证明,Osuna等证明了一个定理:如果存在不满足Kohn-Tucker条件的样本,那么在把它加入到上一个子问题的集合中后,重新优化这个子问题,则可行点(Feasible Point)依然满足约束条件,且性能严格地改进。因此,如果每一步至少加入一个不满足Kohn-Tucker条件的样本,一系列铁二次子问题可保证最后单调收敛。Chang,C.-C.证明Osuna的证明不严密,并详尽地分析了分解算法的收敛过程及速度,该算法的关键在于选择一种最优的工

向量与三角形内心、外心、重心、垂心知识的交汇

向量与三角形内心、外心、重心、垂心知识的交汇 一、四心的概念介绍 (1)重心——中线的交点:重心将中线长度分成2:1; (2)垂心——高线的交点:高线与对应边垂直; (3)内心——角平分线的交点(内切圆的圆心):角平分线上的任意点到角两边的距离相等; (4)外心——中垂线的交点(外接圆的圆心):外心到三角形各顶点的距离相等。 二、四心与向量的结合 (1)?=++0OC OB OA O 是ABC ?的重心. 证法1:设),(),,(),,(),,(332211y x C y x B y x A y x O ? =++0OC OB OA ?? ?=-+-+-=-+-+-0 )()()(0)()()(321321y y y y y y x x x x x x ??? ??? ?++=++=?3 3321321y y y y x x x x ?O 是ABC ?的重心. 证法2:如图 OC OB OA ++ 02=+=OD OA ∴OD AO 2= ∴D O A 、、三点共线,且O 分AD 为2:1 ∴O 是ABC ?的重心 (2)??=?=?OA OC OC OB OB OA O 为A B C ?的垂心. 证明:如图所示O 是三角形ABC 的垂心,BE 垂直AC ,AD 垂直BC , D 、E 是垂足. 0)(=?=-??=?CA OB OC OA OB OC OB OB OA AC OB ⊥? 同理BC OA ⊥,AB OC ⊥ ?O 为A B C ?的垂心 (3)设a ,b ,c 是三角形的三条边长,O 是?ABC 的内心 O OC c OB b OA a ?=++0为A B C ?的内心. 证明:b AC c AB 、 分别为AC AB 、方向上的单位向量, ∴ b AC c AB + 平分BAC ∠, (λ=∴AO b AC c AB +),令c b a b c ++= λ O A B C D E O A B C D E

支持向量机算法学习总结

题目:支持向量机的算法学习 姓名: 学号: 专业: 指导教师:、 日期:2012年6 月20日

支持向量机的算法学习 1. 理论背景 基于数据的机器学习是现代智能技术中的重要方面,研究从观测数据 (样本) 出发寻找规律,利用这些规律对未来数据或无法观测的数据进行预测。迄今为止,关于机器学习还没有一种被共同接受的理论框架,关于其实现方法大致可以分为三种: 第一种是经典的(参数)统计估计方法。包括模式识别、神经网络等在内,现有机器学习方法共同的重要理论基础之一是统计学。参数方法正是基于传统统计学的,在这种方法中,参数的相关形式是已知的,训练样本用来估计参数的值。这种方法有很大的局限性,首先,它需要已知样本分布形式,这需要花费很大代价,还有,传统统计学研究的是样本数目趋于无穷大时的渐近理论,现有学习方法也多是基于此假设。但在实际问题中,样本数往往是有限的,因此一些理论上很优秀的学习方法实际中表现却可能不尽人意。 第二种方法是经验非线性方法,如人工神经网络(ANN。这种方法利用已知样本建立非线性模型,克服了传统参数估计方法的困难。但是,这种方法缺乏一种统一的数学理论。 与传统统计学相比,统计学习理论( Statistical Learning Theory 或SLT) 是一种专门研究小样本情况下机器学习规律的理论。该理论针对小样本统计问题建立了一套新的理论体系,在这种体系下的统计推理规则不仅考虑了对渐近性能的要求,而且追求在现有有限信息的条件下得到最优结果。V. Vapnik 等人从六、七十年代开始致力于此方面研究[1] ,到九十年代中期,随着其理论的不断发展和成熟,也由于神经网络等学习方法在理论上缺乏实质性进展,统计学习理论开始受到越来越广泛的重视。 统计学习理论的一个核心概念就是VC维(VC Dimension)概念,它是描述函数集或学习机器的复杂性或者说是学习能力(Capacity of the machine) 的一个重要指标,在此概念基础上发展出了一系列关于统计学习的一致性(Consistency) 、收敛速度、推广性能(GeneralizationPerformance) 等的重要结论。 支持向量机方法是建立在统计学习理论的VC 维理论和结构风险最小原理基础上的,根据有限的样本信息在模型的复杂性(即对特定训练样本的学习精度,Accuracy) 和学习能力(即无错误地识别任意样本的能力)之间寻求最佳折衷,以

向量证明重心(精选多篇)

经典合同 向量证明重心 姓名:XXX 日期:XX年X月X日

向量证明重心 向量证明重心 三角形abc中,重心为o,ad是bc边上的中线,用向量法证明ao=2od (1).ab=12b,ac=12c。ad是中线则ab+ac=2ad即12b+12c=2ad,ad=6b+6c;bd=6c-6b。od=xad=6xb+6xx。(2).e是ac中点。作df//be 则ef=ec/2=ac/4=3c。平行线分线段成比od/ad=ef/af即 (6xb+6xc)/(6b+6c)=3c/9c,x(6b+6c)/(6b+6c)=1/3,3x=1。 (3).od=2b+2c,ao=ad-od=4b+4c=2(2b+2c)=2od。 2 设bc中点为m∵pa+pb+pc=0∴pa+2pm=0∴pa=2mp∴p为三角形abc 的重心。上来步步可逆、∴p是三角形abc重心的充要条件是pa+pb+pc=0 3 如何用向量证明三角形的重心将中线分为2:1 设三角形abc的三条中线分别为ad、be、cf,求证ad、be、cf交于一点o,且ao:od=bo:oe=co:of=2:1 证明:用归一法 不妨设ad与be交于点o,向量ba=a,bc=b,则ca=ba-bc=a-b 因为be是中线,所以be=(a+b)/2,向量bo与向量be共线,故设bo=xbe=(x/2)(a+b) 同理设ao=yad=(y/2)(ab+ac)=y/2(-a+b-a)=-ya+(y/2)b 在三角形abo中,ao=bo-ba 所以-ya+(y/2)b=(x/2)(a+b)-a=(x/2-1)a+(x/2)b 因为向量a和b线性无关,所以 第 2 页共 17 页

支持向量机(SVM)原理及应用概述

支持向量机(SVM )原理及应用 一、SVM 的产生与发展 自1995年Vapnik (瓦普尼克)在统计学习理论的基础上提出SVM 作为模式识别的新方法之后,SVM 一直倍受关注。同年,Vapnik 和Cortes 提出软间隔(soft margin)SVM ,通过引进松弛变量i ξ度量数据i x 的误分类(分类出现错误时i ξ大于0),同时在目标函数中增加一个分量用来惩罚非零松弛变量(即代价函数),SVM 的寻优过程即是大的分隔间距和小的误差补偿之间的平衡过程;1996年,Vapnik 等人又提出支持向量回归 (Support Vector Regression ,SVR)的方法用于解决拟合问题。SVR 同SVM 的出发点都是寻找最优超平面(注:一维空间为点;二维空间为线;三维空间为面;高维空间为超平面。),但SVR 的目的不是找到两种数据的分割平面,而是找到能准确预测数据分布的平面,两者最终都转换为最优化问题的求解;1998年,Weston 等人根据SVM 原理提出了用于解决多类分类的SVM 方法(Multi-Class Support Vector Machines ,Multi-SVM),通过将多类分类转化成二类分类,将SVM 应用于多分类问题的判断:此外,在SVM 算法的基本框架下,研究者针对不同的方面提出了很多相关的改进算法。例如,Suykens 提出的最小二乘支持向量机 (Least Square Support Vector Machine ,LS —SVM)算法,Joachims 等人提出的SVM-1ight ,张学工提出的中心支持向量机 (Central Support Vector Machine ,CSVM),Scholkoph 和Smola 基于二次规划提出的v-SVM 等。此后,台湾大学林智仁(Lin Chih-Jen)教授等对SVM 的典型应用进行总结,并设计开发出较为完善的SVM 工具包,也就是LIBSVM(A Library for Support Vector Machines)。LIBSVM 是一个通用的SVM 软件包,可以解决分类、回归以及分布估计等问题。 二、支持向量机原理 SVM 方法是20世纪90年代初Vapnik 等人根据统计学习理论提出的一种新的机器学习方法,它以结构风险最小化原则为理论基础,通过适当地选择函数子集及该子集中的判别函数,使学习机器的实际风险达到最小,保证了通过有限训练样本得到的小误差分类器,对独立测试集的测试误差仍然较小。 支持向量机的基本思想:首先,在线性可分情况下,在原空间寻找两类样本的最优分类超平面。在线性不可分的情况下,加入了松弛变量进行分析,通过使用非线性映射将低维输

基于libsvm的中文文本分类原型

基于libsvm的中文文本分类原型 支持向量机(Support Vector Machine)是Cortes和Vapnik于1995年首先提出的,它在解决小样本、非线性及高维模式识别中表现出许多特有的优势,并能够推广应用到函数拟合等其他机器学习问题中。支持向量机方法是建立在统计学习理论的VC 维理论和结构风险最小原理基础上的,根据有限的样本信息在模型的复杂性(即对特定训练样本的学习精度,Accuracy)和学习能力(即无错误地识别任意样本的能力)之间寻求最佳折衷,以期获得最好的推广能力(或称泛化能力)。SVM理论的学习,请参考jasper的博客。 LIBSVM 是台湾大学林智仁(Chih-Jen Lin)博士等开发设计的一个操作简单、易于使用、快速有效的通用SVM 软件包,可以解决分类问题(包括C?SVC 、ν?SVC ),回归问题(包括ε ? SVR 、v? SVR )以及分布估计(one ? class ? SVM ) 等问题,提供了线性、多项式、径向基和S 形函数四种常用的核函数供选择,可以有效地解决多类问题、交叉验证选择参数、对不平衡样本加权、多类问题的概率估计等。LIBSVM是一个开源的软件包,。他不仅提供了LIBSVM 的C++语言的算法源代码,还提供了Python、Java、R、MATLAB、Perl、Ruby、LabVIEW以及C#.net 等各种语言的接口,可以方便的在Windows 或UNIX 平台下使用,也便于科研工作者根据自己的需要进行改进(譬如设计使用符合自己特定问题需要 的核函数等)。 更多案例到WX 公zhong hao : datadw 文本分类,大致分为如下几件事情:样本,分词,特征提取,向量计算,分类训练,测试和调试。 1.样本选择 搜狗语料https://www.360docs.net/doc/5313511180.html,/labs/dl/c.html,下精简版吧,如果实验用用,这足够了,你要下107M的也可以。当然,你也可以自己找语料,不过麻烦点而已,把各大门户网站的对应频道下的文章都爬下来。 2.分词

三角形重心、外心、垂心、内心的向量表示及其性质55674

向量的重心、垂心、内心、外心、旁心 三角形重心、内心、垂心、外心的概念及简单的三角形形状判断方法。 重心:ABC ?中、每条边上所对应的中线的交点; 垂心:ABC ?中、每条边上所对应的垂线上的交点; 内心:ABC ?中、每个角的角平分线的交点(内切圆的圆心); 外心:ABC ?中、每条边上所对应的中垂线的交点(外接圆的圆心)。 一、重心 1、O 是ABC ?的重心?0=++OC OB OA 若O 是ABC ?的重心,则ABC AOB AOC BOC ?=?=?=?3 1 故=++, )(3 1 PC PB PA PG ++=?G 为ABC ?的重心. 2、 P 是△ABC 所在平面内任一点.G 是△ABC 的重心?)(3 1 ++=. 证明: +=+=+=?)()(3+++++= ∵G 是△ABC 的重心 ∴0=++GC GB GA ?0=++CG BG AG ,即PC PB PA PG ++=3 由此可得)(3 1 ++=.(反之亦然(证略)) 3、已知O 是平面上一定点,A B C ,,是平面上不共线的三个点,动点P 满足 ()OP OA AB AC λ=++,(0)λ∈+∞,,则P 的轨迹一定通过ABC △的重心. 例1 若O 为ABC ?内一点,0OA OB OC ++= ,则O 是ABC ? 的( ) A .内心 B .外心 C .垂心 D .重心

1、O 是ABC ?的垂心??=?=? 若O 是ABC ?(非直角三角形)的垂心,则 故tan tan tan =++C B A 2、H 是面内任一点,?=?=??点H 是△ABC 的垂心. 由AC HB AC HB HA HC HB HC HB HB HA ⊥?=??=-???=?00)(, 同理⊥,⊥.故H 是ABC ?的垂心. (反之亦然(证略)) 3、P 是ABC △所在平面上一点,若PA PC PC PB PB PA ?=?=?,则P 是ABC △的垂心. 由PA PB PB PC ?=?,得()0P B P A P C ?-=,即0P B C A ?=,所以PB CA ⊥.同理可证PC AB ⊥,PA BC ⊥. ∴P 是ABC △的垂心.如图1. 4、已知O 是平面上一定点,A B C ,,是平面上不共线的三个点,动点P 满足 cos cos AB AC OP OA AB B AC C λ?? ?=++ ??? ,(0)λ∈+∞,,则动点P 的轨迹一定通过 ABC △的垂心. 例2 P 是△ABC 所在平面上一点,若?=?=?,则P 是△ABC 的() A .外心 B .内心 C .重心 D .垂心 图1 A

支持向量机数据分类预测

支持向量机数据分类预测 一、题目——意大利葡萄酒种类识别 Wine数据来源为UCI数据库,记录同一区域三种品种葡萄酒的化学成分,数据有178个样本,每个样本含有13个特征分量。50%做为训练集,50%做为测试集。 二、模型建立 模型的建立首先需要从原始数据里把训练集和测试集提取出来,然后进行一定的预处理,必要时进行特征提取,之后用训练集对SVM进行训练,再用得到的模型来预测试集的分类。 三、Matlab实现 3.1 选定训练集和测试集 在178个样本集中,将每个类分成两组,重新组合数据,一部分作为训练集,一部分作为测试集。 % 载入测试数据wine,其中包含的数据为classnumber = 3,wine:178*13的矩阵,wine_labes:178*1的列向量 load chapter12_wine.mat; % 选定训练集和测试集 % 将第一类的1-30,第二类的60-95,第三类的131-153做为训练集 train_wine = [wine(1:30,:);wine(60:95,:);wine(131:153,:)]; % 相应的训练集的标签也要分离出来 train_wine_labels = [wine_labels(1:30);wine_labels(60:95);wine_labels(131:153)]; % 将第一类的31-59,第二类的96-130,第三类的154-178做为测试集 test_wine = [wine(31:59,:);wine(96:130,:);wine(154:178,:)]; % 相应的测试集的标签也要分离出来 test_wine_labels = [wine_labels(31:59);wine_labels(96:130);wine_labels(154:178)]; 3.2数据预处理 对数据进行归一化: %% 数据预处理 % 数据预处理,将训练集和测试集归一化到[0,1]区间 [mtrain,ntrain] = size(train_wine); [mtest,ntest] = size(test_wine); dataset = [train_wine;test_wine]; % mapminmax为MATLAB自带的归一化函数 [dataset_scale,ps] = mapminmax(dataset',0,1); dataset_scale = dataset_scale';

支持向量机SVM分类算法

支持向量机SVM分类算法 SVM的简介 支持向量机(Support Vector Machine)是Cortes和Vapnik于1995年首先提出的,它在解决小样本、非线性及高维模式识别中表现出许多特有的优势,并能够推广应用到函数拟合等其他机器学习问题中[10]。 支持向量机方法是建立在统计学习理论的VC 维理论和结构风险最小原理基础上的,根据有限的样本信息在模型的复杂性(即对特定训练样本的学习精度,Accuracy)和学习能力(即无错误地识别任意样本的能力)之间寻求最佳折衷,以期获得最好的推广能力[14](或称泛化能力)。 以上是经常被有关SVM 的学术文献引用的介绍,我来逐一分解并解释一下。 Vapnik是统计机器学习的大牛,这想必都不用说,他出版的《Statistical Learning Theory》是一本完整阐述统计机器学习思想的名著。在该书中详细的论证了统计机器学习之所以区别于传统机器学习的本质,就在于统计机器学习能够精确的给出学习效果,能够解答需要的样本数等等一系列问题。与统计机器学习的精密思维相比,传统的机器学习基本上属于摸着石头过河,用传统的机器学习方法构造分类系统完全成了一种技巧,一个人做的结果可能很好,另一个人差不多的方法做出来却很差,缺乏指导和原则。所谓VC维是对函数类的一种度量,可以简单的理解为问题的复杂程度,VC维越高,一个问题就越复杂。正是因为SVM关注的是VC维,后面我们可以看到,SVM解决问题的时候,和样本的维数是无关的(甚至样本是上万维的都可以,这使得SVM很适合用来解决文本分类的问题,当然,有这样的能力也因为引入了核函数)。 结构风险最小听上去文绉绉,其实说的也无非是下面这回事。 机器学习本质上就是一种对问题真实模型的逼近(我们选择一个我们认为比较好的近似模型,这个近似模型就叫做一个假设),但毫无疑问,真实模型一定是不知道的(如果知道了,我们干吗还要机器学习?直接用真实模型解决问题不就可以了?对吧,哈哈)既然真实模型不知道,那么我们选择的假设与问题真实解之间究竟有多大差距,我们就没法得知。比如说我们认为宇宙诞生于150亿年前的一场大爆炸,这个假设能够描述很多我们观察到的现象,但它与真实的宇宙模型之间还相差多少?谁也说不清,因为我们压根就不知道真实的宇宙模型到底是什么。 这个与问题真实解之间的误差,就叫做风险(更严格的说,误差的累积叫做风险)。我们选择了一个假设之后(更直观点说,我们得到了一个分类器以后),真实误差无从得知,但我们可以用某些可以掌握的量来逼近它。最直观的想法就是使用分类器在样本数据上的分类的结果与真实结果(因为样本是已经标注过的数据,是准确的数据)之间的差值来表示。这个差值叫做经验风险Remp(w)。以前的机器学习方法都把经验风险最小化作为努力的目标,但后来发现很多分类函数能够在样本集上轻易达到100%的正确率,在真实分类时却一塌糊涂(即所谓的推广能力差,或泛化能力差)。此时的情况便是选择了一个足够复杂的分类函数(它的VC维很高),能够精确的记住每一个样本,但对样本之外的数据一律分类错误。回头看看经验风险最小化原则我们就会发现,此原则适用的大前提是经验风险要确实能够逼近真实风险才行(行话叫一致),但实际上能逼近么?答案是不能,因为样本数相对于现实世界要分类的文本数来说简直九牛

三角形重心外心垂心内心的向量表示及其性质

三角形“四心”向量形式的充要条件应 用 知识点总结 1.0是的重心; 若0是的重心,则故; 为的重心. 2.0是的垂心; 若0是(非直角三角形)的垂心,则 故 3.0是的外心(或) 若0是的外心则 故 4. 0是内心的充要条件是 引进单位向量,使条件变得更简洁。如果记的单位向量为,则刚才0是内心的充要条件可以写成,0是内心的充要条件也可以是。若0是的内心,则故; 是的内心; 向量所在直线过的内心(是的角平分线所在直线);

xx 例 (一)将平面向量与三角形内心结合考查 例1. O是平面上的一定点,A,B,C是平面上不共线的三个点,动点P满足,则P 点的轨迹一定通过的() (A)外心(B)内心(C)重心(D)垂心 解析:因为是向量的单位向量设与方向上的单位向量分别为,又,则原式可化为,由菱形的基本性质知AP平分,那么在xx,AP平分,贝卩知选B. (二)将平面向量与三角形垂心结合考查“垂心定理” 例2. H是厶ABC所在平面内任一点,点H是厶ABC的垂心. 由, 同理,.故H是厶ABC的垂心.(反之亦然(证略)) 例3.(xx)P 是厶ABC所在平面上一点,若,则P是厶ABCF(D ) A.外心 B.内心 C.重心 D.垂心 解析: 由. 即 贝S所以P为的垂心.故选D. (三)将平面向量与三角形重心结合考查“重心定理” 例4. G是厶ABC所在平面内一点,=0点G是厶ABC的重心. 证明作图如右,图中 连结BE和CE贝S CE=GB BE=GCBGCE平行四边形D是BC的中点,AD为BC边 上的中线. 将代入=0,

得=0,故G是厶ABC的重心.(反之亦然(证略)) 例5. P是厶ABC所在平面内任一点.G是厶ABC的重心. 证明 ??*是厶ABC的重心/? =0=0,即 由此可得. (反之亦然(证略)) 例6 若为内一点, ,则是的() A.内心 B.外心 C.垂心 D.重心 解析:由得,如图以OB OC为相邻两边构作平行四边形,贝卩,由平行四边形性质知,,同理可证其它两边上的这个性质,所以是重心,选D。 (四)将平面向量与三角形外心结合考查 例7 若为内一点,,贝是的() A.内心 B.外心 C.垂心 D.重心 解析:由向量模的定义知到的三顶点距离相等。故是的外心 ,选B。 (五)将平面向量与三角形四心结合考查 例8.已知向量,,满足条件++=0, ||=||=||=1 , 求证△ P1P2P3是正三角形.(《数学》第一册(下),复习参考题五B组第6 题) 证明由已知+=-,两边平方得?=,

支持向量机(SVM)算法推导及其分类的算法实现

支持向量机算法推导及其分类的算法实现 摘要:本文从线性分类问题开始逐步的叙述支持向量机思想的形成,并提供相应的推导过程。简述核函数的概念,以及kernel在SVM算法中的核心地位。介绍松弛变量引入的SVM算法原因,提出软间隔线性分类法。概括SVM分别在一对一和一对多分类问题中应用。基于SVM在一对多问题中的不足,提出SVM 的改进版本DAG SVM。 Abstract:This article begins with a linear classification problem, Gradually discuss formation of SVM, and their derivation. Description the concept of kernel function, and the core position in SVM algorithm. Describes the reasons for the introduction of slack variables, and propose soft-margin linear classification. Summary the application of SVM in one-to-one and one-to-many linear classification. Based on SVM shortage in one-to-many problems, an improved version which called DAG SVM was put forward. 关键字:SVM、线性分类、核函数、松弛变量、DAG SVM 1. SVM的简介 支持向量机(Support Vector Machine)是Cortes和Vapnik于1995年首先提出的,它在解决小样本、非线性及高维模式识别中表现出许多特有的优势,并能够推广应用到函数拟合等其他机器学习问题中。支持向量机方法是建立在统计学习理论的VC 维理论和结构风险最小原理基础上的,根据有限的样本信息在模型的复杂性(即对特定训练样本的学习精度,Accuracy)和学习能力(即无错误地识别任意样本的能力)之间寻求最佳折衷,以期获得最好的推广能力。 对于SVM的基本特点,小样本,并不是样本的绝对数量少,而是与问题的复杂度比起来,SVM算法要求的样本数是相对比较少的。非线性,是指SVM擅长处理样本数据线性不可分的情况,主要通过松弛变量和核函数实现,是SVM 的精髓。高维模式识别是指样本维数很高,通过SVM建立的分类器却很简洁,只包含落在边界上的支持向量。

基于支持向量机的分类方法

基于支持向量机的分类方法 摘要:本文首先概述了支持向量机的相关理论,引出了支持向量机的基本模型。当训练集的两类样本点集重合区域很大时,线性支持向量分类机就不适用了,由此介绍了核函数相关概念。然后进行了核函数的实验仿真,并将支持向量机应用于实例肿瘤诊断,建立了相应的支持向量机模型,从而对测试集进行分类。最后提出了一种支持向量机的改进算法,即根据类向心度对复杂的训练样本进行预删减。 1、支持向量机 给定训练样本集1122{[,],[,], ,[,]}()l l l T a y a y a y Y =∈Ω?L ,其中n i a R ∈Ω=,Ω是输入空间,每一个点i a 由n 个属性特征组成,{1,1},1,,i y Y i l ∈=-=L 。分类 就是在基于训练集在样本空间中找到一个划分超平面,将不同的类别分开,划分超平面可通过线性方程来描述: 0T a b ω+= 其中12(;;;)d ωωωω=K 是法向量,决定了超平面的方向,b 是位移项,决定 了超平面与原点之间的距离。样本空间中任意点到超平面的距离为|| |||| T a b r ωω+=。 支持向量、间隔: 假设超平面能将训练样本正确分类,即对于[,]i i a y T ∈,若1i y =+,则有 0T i a b ω+>,若1i y =-,则有0T i a b ω+<。则有距离超平面最近的几个训练样本点使得 11 11 T i i T i i a b y a b y ωω?+≥+=+?+≤-=-? 中的等号成立,这几个训练样本点被称为支持向量;两个异类支持向量到超平面 的距离之和2 |||| r ω=被称为间隔。 支持向量机基本模型: 找到具有最大间隔的划分超平面,即 ,2max ||||..()1,1,2,...,b T i i s t y a b i m ωωω+≥= 这等价于 2 ,||||min 2..()1,1,2,...,b T i i s t y a b i m ωωω+≥= 这就是支持向量机(SVM )的基本模型。 支持向量机问题的特点是目标函数2 ||||2 ω是ω的凸函数,并且约束条件都是 线性的。

用于分类的支持向量机

文章编号:100228743(2004)0320075204 用于分类的支持向量机 黄发良,钟 智Ξ (1.广西师范大学计算机系,广西桂林541000;  2.广西师范学院数学与计算机科学系,广西南宁530001) 摘 要:支持向量机是20世纪90年代中期发展起来的机器学习技术,建立在结构风险最小化原理之上的支持向量机以其独有的优点吸引着广大研究者,该文着重于用于分类的支持向量机,对其基本原理与主要的训练算法进行介绍,并对其用途作了一定的探索. 关键词:支持向量机;机器学习;分类 中图分类号:TP181 文献标识码:A 支持向量机S VM (Support Vector Machine )是AT&T Bell 实验室的V.Vapnik 提出的针对分类和回归问题的统计学习理论.由于S VM 方法具有许多引人注目的优点和有前途的实验性能,越来越受重视,该技术已成为机器学习研究领域中的热点,并取得很理想的效果,如人脸识别、手写体数字识别和网页分类等. S VM 的主要思想可以概括为两点:(1)它是针对线性可分情况进行分析,对于线性不可分的情况,通过使用非线性映射算法将低维输入空间线性不可分的样本转化为高维特征空间使其线性可分,从而使得高维特征空间采用线性算法对样本的非线性特征进行线性分析成为可能;(2)它基于结构风险最小化理论之上在特征空间中建构最优分割超平面,使得学习器得到全局最优化,并且在整个样本空间的期望风险以某个概率满足一定上界. 1 基本原理 支持向量机理论最初来源于数据分类问题的处理,S VM 就是要寻找一个满足要求的分割平面,使训练集中的点距离该平面尽可能地远,即寻求一个分割平面使其两侧的margin 尽可能最大. 设输入模式集合{x i }∈R n 由两类点组成,如果x i 属于第1类,则y i =1,如果x i 属于第2类,则y i =-1,那么有训练样本集合{x i ,y i },i =1,2,3,…,n ,支持向量机的目标就是要根据结构风险最小化原理,构造一个目标函数将两类模式尽可能地区分开来,通常分为两类情况来讨论,(1)线性可分,(2)线性不可分. 1.1 线性可分情况 在线性可分的情况下,就会存在一个超平面使得训练样本完全分开,该超平面可描述为: w ?x +b =0(1) 其中,“?”是点积,w 是n 维向量,b 为偏移量. 最优超平面是使得每一类数据与超平面距离最近的向量与超平面之间的距离最大的这样的平面.最优超平面可以通过解下面的二次优化问题来获得: min <(w )= 12‖w ‖2(2) Ξ收稿日期:2004202206作者简介:黄发良(1975-),男,湖南永州人,硕士研究生;研究方向:数据挖掘、web 信息检索. 2004年9月 广西师范学院学报(自然科学版)Sep.2004 第21卷第3期 Journal of G u angxi T eachers Education U niversity(N atural Science Edition) V ol.21N o.3

支持向量机训练算法综述_姬水旺

收稿日期:2003-06-13 作者简介:姬水旺(1977)),男,陕西府谷人,硕士,研究方向为机器学习、模式识别、数据挖掘。 支持向量机训练算法综述 姬水旺,姬旺田 (陕西移动通信有限责任公司,陕西西安710082) 摘 要:训练SVM 的本质是解决二次规划问题,在实际应用中,如果用于训练的样本数很大,标准的二次型优化技术就很难应用。针对这个问题,研究人员提出了各种解决方案,这些方案的核心思想是先将整个优化问题分解为多个同样性质的子问题,通过循环解决子问题来求得初始问题的解。由于这些方法都需要不断地循环迭代来解决每个子问题,所以需要的训练时间很长,这也是阻碍SVM 广泛应用的一个重要原因。文章系统回顾了SVM 训练的三种主流算法:块算法、分解算法和顺序最小优化算法,并且指出了未来发展方向。关键词:统计学习理论;支持向量机;训练算法 中图分类号:T P30116 文献标识码:A 文章编号:1005-3751(2004)01-0018-03 A Tutorial Survey of Support Vector Machine Training Algorithms JI Shu-i wang,JI Wang -tian (Shaanx i M obile Communicatio n Co.,Ltd,Xi .an 710082,China) Abstract:Trai n i ng SVM can be formulated into a quadratic programm i ng problem.For large learning tasks w ith many training exam ples,off-the-shelf opti m i zation techniques quickly become i ntractable i n their m emory and time requirem ents.T hus,many efficient tech -niques have been developed.These techniques divide the origi nal problem into several s maller sub-problems.By solving these s ub-prob -lems iteratively,the ori ginal larger problem is solved.All proposed methods suffer from the bottlen eck of long training ti me.This severely limited the w idespread application of SVM.T his paper systematically surveyed three mains tream SVM training algorithms:chunking,de -composition ,and sequenti al minimal optimization algorithms.It concludes with an illustrati on of future directions.Key words:statistical learning theory;support vector machine;trai ning algorithms 0 引 言 支持向量机(Support Vector M achine)是贝尔实验室研究人员V.Vapnik [1~3]等人在对统计学习理论三十多年的研究基础之上发展起来的一种全新的机器学习算法,也使统计学习理论第一次对实际应用产生重大影响。SVM 是基于统计学习理论的结构风险最小化原则的,它将最大分界面分类器思想和基于核的方法结合在一起,表现出了很好的泛化能力。由于SVM 方法有统计学习理论作为其坚实的数学基础,并且可以很好地克服维数灾难和过拟合等传统算法所不可规避的问题,所以受到了越来越多的研究人员的关注。近年来,关于SVM 方法的研究,包括算法本身的改进和算法的实际应用,都陆续提了出来。尽管SVM 算法的性能在许多实际问题的应用中得到了验证,但是该算法在计算上存在着一些问题,包括训练算法速度慢、算法复杂而难以实现以及检测阶段运算量大等等。 训练SVM 的本质是解决一个二次规划问题[4]: 在约束条件 0F A i F C,i =1,, ,l (1)E l i =1 A i y i =0 (2) 下,求 W(A )= E l i =1A i -1 2 E i,J A i A j y i y j {7(x i )#7(x j )} = E l i =1A i -1 2E i,J A i A j y i y j K (x i ,x j )(3)的最大值,其中K (x i ,x j )=7(x i )#7(x j )是满足Merce r 定理[4]条件的核函数。 如果令+=(A 1,A 2,,,A l )T ,D ij =y i y j K (x i ,x j )以上问题就可以写为:在约束条件 +T y =0(4)0F +F C (5) 下,求 W(+)=+T l -12 +T D +(6) 的最大值。 由于矩阵D 是非负定的,这个二次规划问题是一个凸函数的优化问题,因此Kohn -Tucker 条件[5]是最优点 第14卷 第1期2004年1月 微 机 发 展M icr ocomputer Dev elopment V ol.14 N o.1Jan.2004

相关文档
最新文档