用于分类的支持向量机
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
目前我们主要所做的工作是 ,在我们开发的元搜索引擎原型中运用 SVM 实现自动化网页分类与个 性化信息服务.
1 基本原理
支持向量机理论最初来源于数据分类问题的处理 ,SVM 就是要寻找一个满足要求的分割平面 ,使 训练集中的点距离该平面尽可能地远 ,即寻求一个分割平面使其两侧的 margin 尽可能最大.
设输入模式集合{ xi} ∈ Rn 由两类点组成 , 如果 xi 属于第 1 类 , 则 yi = 1 , 如果 xi 属于第 2 类 , 则 yi = - 1 , 那么有训练样本集合{ xi , yi} , i = 1 ,2 ,3 , …, n , 支持向量机的目标就是要根据结构风险最小 化原理 ,构造一个目标函数将两类模式尽可能地区分开来 , 通常分为两类情况来讨论 , (1) 线性可分 , (2) 线性不可分.
边界 ,在必要时对最初的训练样本集用新决策边界编辑 ,去掉错分的样本 ,得到另一个新的训练集 ,再对
它进行训练得到新的决策边界. 在此基础之上的 NN - SVM 算法[5] ,它先对训练集进行修剪 ,根据每个
样本与其最近邻的类标的异同决定其取舍 ,然后用 SVM 训练得到分类器. ISUC 算法[6]则将无监督聚类
SVM 的主要思想可以概括为两点 : (1) 它是针对线性可分情况进行分析 ,对于线性不可分的情况 , 通过使用非线性映射算法将低维输入空间线性不可分的样本转化为高维特征空间使其线性可分 ,从而 使得高维特征空间采用线性算法对样本的非线性特征进行线性分析成为可能 ; (2) 它基于结构风险最小 化理论之上在特征空间中建构最优分割超平面 ,使得学习器得到全局最优化 ,并且在整个样本空间的期 望风险以某个概率满足一定上界.
(8)
从式 (5) 可知 ,那些αi = 0 的样本对分类没有任何作用 ,只有那些αi > 0 的样本才对分类起作用 ,这些样 本称为支持向量 ,故最终的分类函数为 :
n
∑ f ( x) =
yαi i ( x ·xi) + b 3
i =1
根据 f ( x) 的符号来确定 X 的归属.
(9)
· 76 · 广 西 师 范 学 院 学 报 (自 然 科 学 版) 第 21 卷
满足约束条件 :
yi ( w ·xi + b) Ε 1 , i = 1 ,2 ,3 , …, n.
(3)
在特征数目特别大的情况 ,可以将此二次规划问题转化为其对偶问题 ,
2004 年 9 月 广西师范学院学报 (自然科学版) 第 21 卷第 3 期 Journal of Guangxi Teachers Education University( Natural Science Edition)
文章编号 :100228743 (2004) 0320075204
用适当的内积函数就可以实现这种线性不可分的分类问题. 此时的目标函数为
其相应的分类函数为 :
n
n
∑ ∑ maxW (α)
= αi -
i =1
1 2
ααi jyiyj K(
i, j =1
xi
·xj)
(10)
n
∑ f ( x) =
yαi i K( x ·xi) + b 3
i =1
(11)
1. 3 支持向量机
如下条件 ( Kuhn - Tucker 条件) :
αi = 0 Ζ yif ( xi) Ε 1
(12)
0 < αi < C Ζ f ( xi) = 1
(13)
αi = C Ζ f ( xi) Φ 1
(14)
其中 C 为用户定义的常量 ,用以表示模型复杂度与分类错误率之间的一种平衡 , f ( xi) 为 SVM 相对于第
用于分类的支持向量机
Sep. 2004 Vol. 21 No. 3
黄发良 ,钟 智 Ξ
(1. 广西师范大学 计算机系 ,广西 桂林 541000 ; 2. 广西师范学院 数学与计算机科学系 ,广西 南宁 530001)
摘 要 :支持向量机是 20 世纪 90 年代中期发展起来的机器学习技术 ,建立在结构风险最小化原理之上的支持 向量机以其独有的优点吸引着广大研究者 ,该文着重于用于分类的支持向量机 ,对其基本原理与主要的训练算法 进行介绍 ,并对其用途作了一定的探索.
1. 2 线性不可分的情况
对于线性不可分的情况 ,可以把样本 X 映射到一个高维特征空间 H ,并在此空间中运用原空间的函
数来实现内积运算 ,这样将非线性问题转换成另一空间的线性问题来获得一个样本的归属. 根据泛函的
有关理论 ,只要一种核函数满足 Mercer 条件 ,它就对应某一空间中的内积 , 因此只要在最优分类面上采
个新的 QP 问题中. 每一个子 QP 问题都采用前一个子 QP 问题的结果作为初始值. 这样 ,Chunking 算法
就将矩阵规模由样本个数的平方减少到具有非零 Lagrange 乘子的样本个数的平方. 这大大降低了对计
算机性能要求.
尽管 Chunking 算法在一定程度上解决样本过大所引发的 SVM 训练难以实现这一难题 ,但是若训练
i =1
(7)
这里α = (α1 , …,αn) 是 Lagrange 乘子 , w 3 是最优超平面的法向量 , b 3 是最优超平面的偏移量 ,在这类
优化问题的求解与分析中 , KKT 条件将起到很重要的作用 ,在 (7) 式中 ,其解必须满足
αi{ yi ( w ·x + b) - 1} = 0 , I = 1 ,2 ,3 , …, n.
的意义.
© 1995-2005 Tsinghua Tongfang Optical Disc Co., Ltd. All rights reserved.
· 78 · 广 西 师 范 学 院 学 报 (自 然 科 学 版) 第 21 卷
3 我们的工作
化条件 ,则再次遍历全部乘子 ,一旦找到第一个乘子 ,内层循环寻找第二个乘子 ,使其在当前迭代中具有
最大的改变量. 为减少计算量 ,该算法根据当前分类器对样本的分类错误量来大致估计 ,对估计估计值
不满足要求的情况还设计出相应对策.
在提高 SVM 适应训练大样本的能力的同时 ,在解决具体问题时 ,研究者们都希望设计出相应的算
i 个样本的输出.
如果样本规模过大 ,则有可能使得矩阵 D = yiyj K( xi ·xj) 过大进而使得无法用计算机来完成处理
工作. 于是如何使得 SVM 对大规模样本集的训练能力得以提高与如何精简样本集来提高 SVM 的训练速
度成为 SVM 研究领域中的热点问题 .
1995 年 ,Cortes 和 Vapnik 提出 Chunking 算法[1] ,其出发点是删除矩阵中对应 Lagrange 乘子为零的行
关键词 :支持向量机 ;机器学习 ;分类 中图分类号 :TP181 文献标识码 :A
支持向量机 SVM(Support Vector Machine) 是 AT&T Bell 实验室的 V. Vapnik 提出的针对分类和回归问 题的统计学习理论. 由于 SVM 方法具有许多引人注目的优点和有前途的实验性能 ,越来越受重视 ,该技 术已成为机器学习研究领域中的热点 ,并取得很理想的效果 ,如人脸识别 、手写体数字识别和网页分类 等.
1. 1 线性可分情况
在线性可分的情况下 ,就会存在一个超平面使得训练样本完全分开 ,该超平面可描述为 :
w ·x + b = 0
(1)
其中 “, ·”是点积 , w 是 n 维向量 , b 为偏移量.
最优超平面是使得每一类数据与超平面距离最近的向量与超平面之间的距离最大的这样的平面.
最优超平面可以通过解下面的二次优化问题来获得 :
题 ,这是因为在每一步中 ,只能使一个样本符合 Kuhn - Tucker 条件. 同年 ,Joachims 提出一种解决大型
SVM 学习的算法 ,称为 SVMlight[2] . 其基本思想是 :如果存在不满足 Kuhn - Tucker 条件的样本 ,则以某种
方式选择 q 个样本作为工作集 ,其它样本保持不变 ,在这个工作集上解决 QP 问题. 重复这一过程 ,直至
样本中所含的支持向量数非常大时 ,Chunking 算法依然无能为力 ,于是乎 ,1997 年 ,Qsuna 等提出一种新
的算法 ,其主要方法是 :先建立一个工作集 ,保持其大小不变 ,在解决每个 QP 子问题时 ,先从工作集移
走一个样本 ,并加入一个不满足 Kuhn - Tucker 条件的样本 ,再进行优化. 然而此算法存在一定的效率问
所有样本都满足 Kuhn - Tucker 条件. 在此基础上 ,Platt 提出了一种名为 SMO 的新训练算法[3] ,它利用了
两条行之有效的经验来确定工作集. 外层循环在某个乘子集合中遍历 ,将第一个不满足优化条件的乘子
作为第一个被优化对象 ,第一次遍历全部乘子 ,以后遍历非有界乘子 ;如果所有非有界乘子都来满足优
支持向量机的基本原理如图 1 所示.
© 1995-2005 Tsinghua Tongfang Optical Disc Co., Ltd. All rights reserved.
第 3 期 黄发良 ,钟 智 :用于分类的支持向量机
· 77 ·
2 训练算法
SVM 训练算法的本质是求解一个二次规划问题 , 即最优化该问题的解就是要使得所有样本都满足
与列将不会影响最终结果. 因此 ,可将一个大型的 QP 问题子化为若干个相对小的 QP 问题 ,该算法的每
一步解决一个 QP 问题 ,其样本为上一步所剩的具有非零 Lagrange 乘子的样本与不满足 Kuhn - Tucker 条
件的 M 个样本 ,如果在某一步中不满足 Kuhn - Tucker 条件的样本小于 M 个 ,则这些样本全部加入到一
算法与 SVM 结合起来 ,利用无监督聚类对训练集中的正例与反例进行聚类 ,然后在聚类结果中选择一
些例子训练 SVM ,这样将 SVM 的高准确率与无监督聚类的速度快有机结合起来.
在训练算法的设计过程中 ,如何进行合理地选择核函数也是一个有待解决的问题. 由于当核函数确
定之后 ,用户只能对 Kuhn - Tucker 条件中的 C 进行设定 ,因此核函数对 SVM 训练算法的性能有着极大
n
n
∑ ∑ maxW (α)
= αi -
i =1
1 2
ααi jyiyj
i, j =1
(
xi
·xj)
n
∑ w 3 = αiyixi i =1
b 3 = yi - w ·xi
(4)
(5) (6)
满足约束条件 :
n
∑yαi i = 0 ,αi Ε 0 , I = 1 ,2 ,3 , … n
mΒιβλιοθήκη Baidun <( w)
=
1 2
‖w ‖2
(2)
Ξ 收稿日期 :2004202206 作者简介 :黄发良 (1975 - ) ,男 ,湖南永州人 ,硕士研究生 ;研究方向 :数据挖掘 、web 信息检索. © 1995-2005 Tsinghua Tongfang Optical Disc Co., Ltd. All rights reserved.
法 ,对大样本进行预处理使得训练样本容量缩小 ,从而使训练的速度大提高. 这方面研究形成了许多新
的算法 : ESVM( Editing Supporting Vector Machine) [4] ,它首先用 SVM 对训练集学习得到决策边界 ,去掉决
策边界附近一定区域内的样本有及错分的样本 ,然再对新训练样本重新用 SVM 进行训练得到新的决策
我们要利用 SVM 处理的高维 、小样本与非线性等特点 ,对网页信息进行分类 ,这主要有以下几个方 面的原因 :第一 ,Web 信息具有高维的特征输入空间. 作为现代人们交流一种媒介 ,web 信息的内容广泛 至极 ,无所不含. 第二 ,Web 信息具有高度的动态性与个体性. Web 信息内容日新月异 ,人本思想的泛行 导致个性化行为在 Web 中累见不鲜 ,由于 SVM 适合小样本分类空间 ,故使用 SVM 能产生性能良好的适 合用户需求的分类器.
1 基本原理
支持向量机理论最初来源于数据分类问题的处理 ,SVM 就是要寻找一个满足要求的分割平面 ,使 训练集中的点距离该平面尽可能地远 ,即寻求一个分割平面使其两侧的 margin 尽可能最大.
设输入模式集合{ xi} ∈ Rn 由两类点组成 , 如果 xi 属于第 1 类 , 则 yi = 1 , 如果 xi 属于第 2 类 , 则 yi = - 1 , 那么有训练样本集合{ xi , yi} , i = 1 ,2 ,3 , …, n , 支持向量机的目标就是要根据结构风险最小 化原理 ,构造一个目标函数将两类模式尽可能地区分开来 , 通常分为两类情况来讨论 , (1) 线性可分 , (2) 线性不可分.
边界 ,在必要时对最初的训练样本集用新决策边界编辑 ,去掉错分的样本 ,得到另一个新的训练集 ,再对
它进行训练得到新的决策边界. 在此基础之上的 NN - SVM 算法[5] ,它先对训练集进行修剪 ,根据每个
样本与其最近邻的类标的异同决定其取舍 ,然后用 SVM 训练得到分类器. ISUC 算法[6]则将无监督聚类
SVM 的主要思想可以概括为两点 : (1) 它是针对线性可分情况进行分析 ,对于线性不可分的情况 , 通过使用非线性映射算法将低维输入空间线性不可分的样本转化为高维特征空间使其线性可分 ,从而 使得高维特征空间采用线性算法对样本的非线性特征进行线性分析成为可能 ; (2) 它基于结构风险最小 化理论之上在特征空间中建构最优分割超平面 ,使得学习器得到全局最优化 ,并且在整个样本空间的期 望风险以某个概率满足一定上界.
(8)
从式 (5) 可知 ,那些αi = 0 的样本对分类没有任何作用 ,只有那些αi > 0 的样本才对分类起作用 ,这些样 本称为支持向量 ,故最终的分类函数为 :
n
∑ f ( x) =
yαi i ( x ·xi) + b 3
i =1
根据 f ( x) 的符号来确定 X 的归属.
(9)
· 76 · 广 西 师 范 学 院 学 报 (自 然 科 学 版) 第 21 卷
满足约束条件 :
yi ( w ·xi + b) Ε 1 , i = 1 ,2 ,3 , …, n.
(3)
在特征数目特别大的情况 ,可以将此二次规划问题转化为其对偶问题 ,
2004 年 9 月 广西师范学院学报 (自然科学版) 第 21 卷第 3 期 Journal of Guangxi Teachers Education University( Natural Science Edition)
文章编号 :100228743 (2004) 0320075204
用适当的内积函数就可以实现这种线性不可分的分类问题. 此时的目标函数为
其相应的分类函数为 :
n
n
∑ ∑ maxW (α)
= αi -
i =1
1 2
ααi jyiyj K(
i, j =1
xi
·xj)
(10)
n
∑ f ( x) =
yαi i K( x ·xi) + b 3
i =1
(11)
1. 3 支持向量机
如下条件 ( Kuhn - Tucker 条件) :
αi = 0 Ζ yif ( xi) Ε 1
(12)
0 < αi < C Ζ f ( xi) = 1
(13)
αi = C Ζ f ( xi) Φ 1
(14)
其中 C 为用户定义的常量 ,用以表示模型复杂度与分类错误率之间的一种平衡 , f ( xi) 为 SVM 相对于第
用于分类的支持向量机
Sep. 2004 Vol. 21 No. 3
黄发良 ,钟 智 Ξ
(1. 广西师范大学 计算机系 ,广西 桂林 541000 ; 2. 广西师范学院 数学与计算机科学系 ,广西 南宁 530001)
摘 要 :支持向量机是 20 世纪 90 年代中期发展起来的机器学习技术 ,建立在结构风险最小化原理之上的支持 向量机以其独有的优点吸引着广大研究者 ,该文着重于用于分类的支持向量机 ,对其基本原理与主要的训练算法 进行介绍 ,并对其用途作了一定的探索.
1. 2 线性不可分的情况
对于线性不可分的情况 ,可以把样本 X 映射到一个高维特征空间 H ,并在此空间中运用原空间的函
数来实现内积运算 ,这样将非线性问题转换成另一空间的线性问题来获得一个样本的归属. 根据泛函的
有关理论 ,只要一种核函数满足 Mercer 条件 ,它就对应某一空间中的内积 , 因此只要在最优分类面上采
个新的 QP 问题中. 每一个子 QP 问题都采用前一个子 QP 问题的结果作为初始值. 这样 ,Chunking 算法
就将矩阵规模由样本个数的平方减少到具有非零 Lagrange 乘子的样本个数的平方. 这大大降低了对计
算机性能要求.
尽管 Chunking 算法在一定程度上解决样本过大所引发的 SVM 训练难以实现这一难题 ,但是若训练
i =1
(7)
这里α = (α1 , …,αn) 是 Lagrange 乘子 , w 3 是最优超平面的法向量 , b 3 是最优超平面的偏移量 ,在这类
优化问题的求解与分析中 , KKT 条件将起到很重要的作用 ,在 (7) 式中 ,其解必须满足
αi{ yi ( w ·x + b) - 1} = 0 , I = 1 ,2 ,3 , …, n.
的意义.
© 1995-2005 Tsinghua Tongfang Optical Disc Co., Ltd. All rights reserved.
· 78 · 广 西 师 范 学 院 学 报 (自 然 科 学 版) 第 21 卷
3 我们的工作
化条件 ,则再次遍历全部乘子 ,一旦找到第一个乘子 ,内层循环寻找第二个乘子 ,使其在当前迭代中具有
最大的改变量. 为减少计算量 ,该算法根据当前分类器对样本的分类错误量来大致估计 ,对估计估计值
不满足要求的情况还设计出相应对策.
在提高 SVM 适应训练大样本的能力的同时 ,在解决具体问题时 ,研究者们都希望设计出相应的算
i 个样本的输出.
如果样本规模过大 ,则有可能使得矩阵 D = yiyj K( xi ·xj) 过大进而使得无法用计算机来完成处理
工作. 于是如何使得 SVM 对大规模样本集的训练能力得以提高与如何精简样本集来提高 SVM 的训练速
度成为 SVM 研究领域中的热点问题 .
1995 年 ,Cortes 和 Vapnik 提出 Chunking 算法[1] ,其出发点是删除矩阵中对应 Lagrange 乘子为零的行
关键词 :支持向量机 ;机器学习 ;分类 中图分类号 :TP181 文献标识码 :A
支持向量机 SVM(Support Vector Machine) 是 AT&T Bell 实验室的 V. Vapnik 提出的针对分类和回归问 题的统计学习理论. 由于 SVM 方法具有许多引人注目的优点和有前途的实验性能 ,越来越受重视 ,该技 术已成为机器学习研究领域中的热点 ,并取得很理想的效果 ,如人脸识别 、手写体数字识别和网页分类 等.
1. 1 线性可分情况
在线性可分的情况下 ,就会存在一个超平面使得训练样本完全分开 ,该超平面可描述为 :
w ·x + b = 0
(1)
其中 “, ·”是点积 , w 是 n 维向量 , b 为偏移量.
最优超平面是使得每一类数据与超平面距离最近的向量与超平面之间的距离最大的这样的平面.
最优超平面可以通过解下面的二次优化问题来获得 :
题 ,这是因为在每一步中 ,只能使一个样本符合 Kuhn - Tucker 条件. 同年 ,Joachims 提出一种解决大型
SVM 学习的算法 ,称为 SVMlight[2] . 其基本思想是 :如果存在不满足 Kuhn - Tucker 条件的样本 ,则以某种
方式选择 q 个样本作为工作集 ,其它样本保持不变 ,在这个工作集上解决 QP 问题. 重复这一过程 ,直至
样本中所含的支持向量数非常大时 ,Chunking 算法依然无能为力 ,于是乎 ,1997 年 ,Qsuna 等提出一种新
的算法 ,其主要方法是 :先建立一个工作集 ,保持其大小不变 ,在解决每个 QP 子问题时 ,先从工作集移
走一个样本 ,并加入一个不满足 Kuhn - Tucker 条件的样本 ,再进行优化. 然而此算法存在一定的效率问
所有样本都满足 Kuhn - Tucker 条件. 在此基础上 ,Platt 提出了一种名为 SMO 的新训练算法[3] ,它利用了
两条行之有效的经验来确定工作集. 外层循环在某个乘子集合中遍历 ,将第一个不满足优化条件的乘子
作为第一个被优化对象 ,第一次遍历全部乘子 ,以后遍历非有界乘子 ;如果所有非有界乘子都来满足优
支持向量机的基本原理如图 1 所示.
© 1995-2005 Tsinghua Tongfang Optical Disc Co., Ltd. All rights reserved.
第 3 期 黄发良 ,钟 智 :用于分类的支持向量机
· 77 ·
2 训练算法
SVM 训练算法的本质是求解一个二次规划问题 , 即最优化该问题的解就是要使得所有样本都满足
与列将不会影响最终结果. 因此 ,可将一个大型的 QP 问题子化为若干个相对小的 QP 问题 ,该算法的每
一步解决一个 QP 问题 ,其样本为上一步所剩的具有非零 Lagrange 乘子的样本与不满足 Kuhn - Tucker 条
件的 M 个样本 ,如果在某一步中不满足 Kuhn - Tucker 条件的样本小于 M 个 ,则这些样本全部加入到一
算法与 SVM 结合起来 ,利用无监督聚类对训练集中的正例与反例进行聚类 ,然后在聚类结果中选择一
些例子训练 SVM ,这样将 SVM 的高准确率与无监督聚类的速度快有机结合起来.
在训练算法的设计过程中 ,如何进行合理地选择核函数也是一个有待解决的问题. 由于当核函数确
定之后 ,用户只能对 Kuhn - Tucker 条件中的 C 进行设定 ,因此核函数对 SVM 训练算法的性能有着极大
n
n
∑ ∑ maxW (α)
= αi -
i =1
1 2
ααi jyiyj
i, j =1
(
xi
·xj)
n
∑ w 3 = αiyixi i =1
b 3 = yi - w ·xi
(4)
(5) (6)
满足约束条件 :
n
∑yαi i = 0 ,αi Ε 0 , I = 1 ,2 ,3 , … n
mΒιβλιοθήκη Baidun <( w)
=
1 2
‖w ‖2
(2)
Ξ 收稿日期 :2004202206 作者简介 :黄发良 (1975 - ) ,男 ,湖南永州人 ,硕士研究生 ;研究方向 :数据挖掘 、web 信息检索. © 1995-2005 Tsinghua Tongfang Optical Disc Co., Ltd. All rights reserved.
法 ,对大样本进行预处理使得训练样本容量缩小 ,从而使训练的速度大提高. 这方面研究形成了许多新
的算法 : ESVM( Editing Supporting Vector Machine) [4] ,它首先用 SVM 对训练集学习得到决策边界 ,去掉决
策边界附近一定区域内的样本有及错分的样本 ,然再对新训练样本重新用 SVM 进行训练得到新的决策
我们要利用 SVM 处理的高维 、小样本与非线性等特点 ,对网页信息进行分类 ,这主要有以下几个方 面的原因 :第一 ,Web 信息具有高维的特征输入空间. 作为现代人们交流一种媒介 ,web 信息的内容广泛 至极 ,无所不含. 第二 ,Web 信息具有高度的动态性与个体性. Web 信息内容日新月异 ,人本思想的泛行 导致个性化行为在 Web 中累见不鲜 ,由于 SVM 适合小样本分类空间 ,故使用 SVM 能产生性能良好的适 合用户需求的分类器.