支持向量机模型研究与设计
分类间隔(Margine)最大
非线性分类
非线性可分的数据样本在高维空间有可能
转化为线性可分。 在训练问题中,涉及到训练样本的数据计 算只有两个样本向量点积的形式 使用函数 : m n ,将所有样本点映射到高 维空间,则新的样本集为 (( x1 ), y1 )...(( xn ), yn ) 设函数 K ( x1, x2 ) ( x1 ) ( x2 )
主要函数框架
setpath.m SVM.m demo_svm.m marker_type.m
ppatterns.m marker_color.m psvm.m c2s.m check2ddata.m ppatterns() smo.m svmclass.m createdata.m svm_train() clrchild() setaxis()
非线性分类
已知:n个观测样本,(x1,y1), (x2,y2)……
(xn,yn) 求解 max 1 y y K ( x , x ) i i j i j i j
i
2
i, j i
0 i C
y
i
i
0
最优非线性分类面为
g ( x) w ( x) b i yi ( xi ) ( x) b i yi K ( xi , x) b
课题的总体实现
本课题基于Matlab开发平台,研究实 现了三种训练算法:序列最小优化(SMO) 算法。并使用线性内核、多项式内核、径 向基函数内核三种核函数,实现了一个基 于SVM的机器学习模型。
SVM模型的功能
用户可以从SMO训练算法和三种核函数中选
择恰当的训练算法和核函数,正确地将两类 数据集进行分类,绘制决策面,将分类结果 可视化,并从支持向量的个数、分类间隔的 大小和分类出错率三个方面来分析分类结果。 模型中使用的数据集可以是装载已有的数据, 也可以手动创建。
谢 谢 大 家!
线性分类
已知:n个观测样本,(x1,y1), (x2,y2)……
(xn,yn) 求解
1 max i i j yi y j xi x j 2 i, j i 0 i C
y
i i
ቤተ መጻሕፍቲ ባይዱ
i
0
根据,求得w,b ,得到最优分类面wx-b=0
线性最优分类面
在线性可分的情况下的最优分类超平面,
c2s.m kernelproj.m
运行结果
主界面
支持向量机模型界面
创建数据模块
线性分类结果
非线性分类结果
对今后的展望
1、在现有的基础上,将研究内容扩展到对多类数
据集进行分类的多类问题。 2、在本课题实现的支持矢量机机器学习模型中, 从支持矢量的数目、分类间隔、出错率等几个方 面对分类器的性能进行了比较分析。在此基础上, 可以更规范地从预测准确度、计算复杂度、模式 的简洁度三个方面对分类方法的好坏进行分析。 3、本课题能对实际手动创建的数据及已有的数据 进行分类,在更深入研究后,可以应用到实际的 系统中。
支持向量机实验模型研究 与设计
班级:计算机科学与技术7班 姓名:苏涵沐 指导老师:钟清流
SVM的描述
SVM(Support Vector Machine)是一种
基于统计学习理论的模式识别方法,它是 由Boser,Guyon,Vapnik在COLT-92上 首次提出,从此迅速的发展起来,现在已 经在许多领域(生物信息学,文本和手写 识别等)都取得了成功的应用。 COLT(Computational Learning Theory)
SVM的目标和解决方法
目标:找到一个超平面,使得它能够尽可
能多的将两类数据点正确的分开,同时使 分开的两类数据点距离分类面最远。 解决方法:构造一个在约束条件下的优化 问题,具体的说是一个受限二次规划问题 (constrained quadratic programing),求解 该问题,得到分类器。
i i
核函数
线性内核 多项式内核
K ( xi , x j ) xi x j
K ( xi , x j ) [( xi x j ) 1]
K ( xi , x j ) exp{
q
径向基函数内核
| xi x j |
2
2
}
训练算法
序列最小优化(SMO)算法:它优点在 于,优化问题只是两个拉格朗日乘子,它 用分析的方法就可以解出,从而避免了复 杂的数值解法 。
设计创新
本课题设计的创新部分在于实现了手动创
建数据集模块,用户可以通过点击鼠标创 建需要的两类数据集,模型可以对创建的 两类数据集进行分类。
模型的设计与实现
首先,通过Matlab图形用户界面开发环境
GUIDE,开发SVM.fig和SVM.m文件,把 模型的各个功能模块与主界面上的按钮和 菜单链接起来,从而实现模型整体的功能。 其次,在Matlab编辑/调试器界面下编写、 存储和运行相应的应用程序,即M文件, 实现各个功能模块。