当前位置:文档之家› 基于支持向量机的分类方法

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

基于支持向量机的分类方法
摘要:本文首先概述了支持向量机的相关理论,引出了支持向量机的基本模型。

当训练集的两类样本点集重合区域很大时,线性支持向量分类机就不适用了,由此介绍了核函数相关概念。

然后进行了核函数的实验仿真,并将支持向量机应用于实例肿瘤诊断,建立了相应的支持向量机模型,从而对测试集进行分类。

最后提出了一种支持向量机的改进算法,即根据类向心度对复杂的训练样本进行预删减。

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
ω是ω的凸函数,并且约束条件都是
线性的。

可以将其转换为对偶问题进行求解,引入Lagrange 函数
2
1
1(,,)||||{1[()]}2l
i i i i L b y a b ωαωαω==+-⨯+∑
根据对偶的定义,对原问题中各变量的偏导置零可得:
0,0L L b ω∂∂==∂∂推出 11
,0l l
i i i i i i i y a y ωαα====∑∑ 代入Lagrange 函数化为原问题的Lagrange 对偶问题:
1111
1max ()20..0,1,,l l
l
i j i j i j i i j i l
i i i i
y y a a y s t i l αααααα====-⨯+⎧=⎪⎨⎪≥=⎩∑∑∑∑K 求解上述最优化问题,得到最优解***1[,,]T l ααα=L ,计算
*
*1
l
i i i i y a ωα==∑
由KKT 互补条件知
***{1[()]}0i i i y a b αω-⨯+=
可知当i a 为支持向量时,对应的*i α才为正,否则都为0。

选择*α的一个正分量*j α,同时计算 *
*1()l
j i i i j i b y y a a α==-⨯∑
因此构造分类超平面**()0x b ω⨯+=,并由此求得决策函数
**1()()l
i i i i g x y a x b α==⨯+∑
得到分类函数
**1()sgn[()]l
i i i i f x y a x b α==⨯+∑
从而对未知样本进行分类。

2、核函数
当训练集T 的两类样本点集重合区域很大时,线性支持向量分类机就不适用了,这是需要通过引进输入空间Ω到另一个高维的Hilbert 空间H 的变换()x x ψ→,将原输入空间Ω的训练集
1122{[,],[,],,[,]}()l l l T a y a y a y Y =∈Ω⨯L 转化为Hilbert 空间H 中新的训练集
112211{[,],[,],,[,]}{[
(),],,[(),]}l l l l T a y a y a y a y a y ψψ==%%%%L L 使其在Hilbert 空间H 中线性可分,然后在空间H 上求得超平面[()]0x b ωψ⨯+=,
这个超平面可以硬性划分训练集T %,原问题则转化为 2
1min ||||2
..{[()]}1,1,,i i s t y a b i l
ωωψ⨯+≥=L
采用核函数K 满足
(,)[()()]i j i j K a a a a ψψ=g
将避免在高维特征空间进行复杂的运算,不同的核函数形成不同的算法。

主要的核函数有:
(1) 线性内核函数:(,)()i j i j K a a a a =g (2) 多项式核函数:(,)[()1]q i j i j K a a a a =+g (3) 径向基核函数:2
2
||||(,)exp{}i j i j a a K a a δ
-=-
(4) S 形内核函数:(,)tanh[()]i j i j K a a v a a c =+g
(5) 傅里叶核函数: 2
2
11(,)2[12cos()]
n
i j k ik jk q K a a q a a q =-=--+∑ 因此同理可得其Lagrange 对偶问题,求解此最优化问题,得到最优解,构造分类函数,从而对未知样本进行分类。

3、实验仿真:
3.1 核函数仿真 随机构造数据集,使用不同的核函数对不同的数据集进行分类。

得到结果如下图。

图1 采用线性内核函数的SVM 图2 采用平方核函数的SVM
图3 采用高斯内核函数的SVM 图4 采用指数内核函数的SVM
图5 采用多层感知机核函数的SVM
从图中可以看出,不同的核函数使用于不同的数据集,对于不同的数据集,应选择合适的核函数,进行支持向量机分类。

3.2 基于支持向量机的肿瘤癌诊断
3.2.1 问题提出:
现有肿瘤数据cancerdata.txt 来自于确诊的500个病例,每个病例的一组数据包括采样细胞中10个特征量的平均值、标准差和最坏值共30个数据,即这500个病例为训练集。

另有69个病例,同样每个病例都包括采样细胞中10个特征量的数据,但不知道这69个病例是否真正患病。

要求使用支持向量机对其进行分类研究。

3.2.2模型建立:
记130,,x x L 分别表示30个指标变量,已知观测样本为[,]i i a y (1,,500i L ),。

相关主题