没有合适的资源?快使用搜索试试~ 我知道了~
SVM实现手写数字识别实验及其相关公式推导
需积分: 0 0 下载量 81 浏览量
2023-09-08
21:33:06
上传
评论
收藏 769KB PDF 举报
温馨提示
试读
35页
SVM实现手写数字识别实验及其相关公式推导
资源推荐
资源详情
资源评论
【实验目标】
支持向量机(support vector machines, SVM)是一种二分类模型,它的基本
模型是定义在特征空间上的间隔最大的线性分类器,间隔最大使它有别于感知机;
SVM 还包括核技巧,这使它成为实质上的非线性分类器。SVM 的学习策略就是间隔
最大化,可形式化为一个求解凸二次规划的问题,也等价于正则化的合页损失函
数的最小化问题。SVM 的的学习算法就是求解凸二次规划的最优化算法。通过本实
验让学生掌握 SVM 的原理和实现算法,将其应用到手写数字识别。
【实验要求】
1、理解 SVM 原理,能对其中关键概念进行阐述和解释,包括但不限于拉普拉斯对
偶、KKT 条件、核函数、SMO 等。学生应自行研究教材和参考资料。
2、编写程序,通过 SVM 完成 MNIST 数据集的手写数字识别。建议先实现 Iris 数
据集的二分类,以验证 SVM 算法。
3、编写程序,对已经实现的 SVM 手写数字识别进行精度检测,对结果进行分析。
4、编写实验报告,其要求为:
1)使用指定的模板,提交 PDF 格式的文件;
2)实验原理:阐述该实验所涉及的原理,综述其他人的工作
3)实验步骤:阐述自己的实现过程,包括程序结构、算法设计、实验记录等,
尽量使用图和表提升可读性
4)实验分析:对实验的结果进行分析,得出一定的结论
5)附录 源代码:将自己的源代码整理好复制到此处,并恰当排版,建议使用
等宽字体
【实验原理】
支持向量机(support vector machines, SVM)是一种二分类模型,它的基本
模型是定义在特征空间上的间隔最大的线性分类器,间隔最大使它有别于感知机;
SVM 还包括核技巧,这使它成为实质上的非线性分类器。SVM 的学习策略就是间隔
最大化,可形式化为一个求解凸二次规划的问题,也等价于正则化的合页损失函
数的最小化问题。SVM 的学习算法就是求解凸二次规划的最优化算法。
1、支持向量
1.1
线性可分
在二维空间上,两类点可以被一条直线完全分开叫做线性可分。
其严格定义为:
0
D
和
1
D
是 n 维欧式空间中的两个点集。如果存在 n 维向量
w
和实数
b
,使得
所有属于
0
D
的点
i
x
都有
0 bwx
i
,而对所有属于
1
D
的点则有
0 bwx
j
,则我们
称
0
D
和
1
D
线性可分。
1.2 最大间隔超平面
从二维扩展到多维空间中时,将
0
D
和
1
D
完全正确地划分开的
0 bwx
就成了
人工智能学院
实 验 报 告
共
35
页 第
1
页
┊
┊
┊
┊
┊
┊
┊
┊
┊
┊
┊
┊
┊
┊
┊
装
┊
┊
┊
┊
┊
订
┊
┊
┊
┊
┊
线
┊
┊
┊
┊
┊
┊
┊
┊
┊
┊
┊
┊
┊
┊
┊
一个超平面。
为了使这个超平面更具有鲁棒性,可寻找一个以最大间隔把两类样本分开的最
佳超平面,即最大间隔超平面。具有以下性质:
1)两类样本分别分割在该超平面的两侧;
2)两侧距离超平面最近的样本点到超平面的距离最大化。
1.3 支持向量
指样本中距离超平面最近的点。
1.4 SVM 最优化问题
SVM 想要找到一个距离各类样本点最远的超平面。任意超平面可以用以下这个
线性方程来描述(即假设其是线性可分的):
0 bxw
T
定义一个二维空间上正确分类的点集
),(,),,(),,(
2211 nn
yxyxyxT
,其中
niyRx
ii
2,11,1 ,,
,其到直线
0 cByAx
的距离公式为:
22
BA
CByAx
ii
扩展到 n 维空间后,点
n
iiniii
Rxxxxx ,,
21
到平面
0 bxw
T
的距离为:
w
bxw
i
T
其中
22
2
2
1 n
wwww
。
根据支持向量的定义知道,其到超平面的距离最短,记为
d
。而其余点到超平
面的距离大于
d
。
于是得到公式:
1
1
T
i
i
T
i
i
w x b
d y
w
w x b
d y
w
转换得:
1 1
1 1
T
i
i
T
i
i
w x b
y
w d
w x b
y
w d
人工智能学院
实 验 报 告
共
35
页 第
2
页
┊
┊
┊
┊
┊
┊
┊
┊
┊
┊
┊
┊
┊
┊
┊
装
┊
┊
┊
┊
┊
订
┊
┊
┊
┊
┊
线
┊
┊
┊
┊
┊
┊
┊
┊
┊
┊
┊
┊
┊
┊
┊
其中,
dw
为一大于零的标量。将其分别除入上式
bw、
中,得到一个新的
**
bw 、
,两端同时乘以
i
y
,得到式:
niRxbxwy
n
ii
T
i
2,1,,1
**
以下将新的
**
bw 、
统一记为
bw、
。
为找到一个距离所有样本点最远的超平面,SVM 模型求解最大分割超平面的问
题可以表示为以下约束最优化问题
nibxwyts
i
T
bw
i
T
i
w
bxw
,2,1,1..
,
max
因为分子为标量,故该最优化问题等价于
w
bw
1
max
,
,即等价于
2
,
2
1
min w
bw
。其中
2
1
为一使后续求导形式更为简便的常数,平方则为了避免后续的开方运算。故所
求问题转化为:
nibxwyts
bw
i
T
i
w
,2,1,1..
2
,
2
1
min
2
、对偶问题
2.1
拉格朗日乘子法
在求解最优化问题中,拉格朗日乘子法和 KKT 条件是两种最常用的方法。在有
等式约束时使用拉格朗日乘子法,在有不等式约束时则还需使用 KKT 条件。
最优化问题一般有以下三种情况:
1)无约束条件
对函数变量求导,使其函数值等于零,所得点则为极值点。将其带回原函
数验证则可找到其最值。
2)等式约束条件
设目标函数为
xf
,约束条件为
xh
k
,形如:
人工智能学院
实 验 报 告
共
35
页 第
3
页
┊
┊
┊
┊
┊
┊
┊
┊
┊
┊
┊
┊
┊
┊
┊
装
┊
┊
┊
┊
┊
订
┊
┊
┊
┊
┊
线
┊
┊
┊
┊
┊
┊
┊
┊
┊
┊
┊
┊
┊
┊
┊
lkxhts
xf
k
x
,,2,1,0..
min
则通过拉格朗日乘子法,定义函数
,xF
:
l
k
kk
xhxfxF
1
,
其中
k
为各个约束条件的待定系数。
令其变量偏导为零:
0
0
k
i
F
x
F
若有
l
个约束条件,则可以得到
1l
个方程。求出该方程组的解便可得到
其极值。
对于上述拉格朗日乘子法,可以用一个二维最优化的例子解释:
存在目标函数及其约束条件形为
cyxhts
yxf
yx
,..
,min
'
,
画出其等高线得到:
其中,绿线为约束
cyxh ,
'
的点轨迹,蓝线为函数
yxf ,
的等高线。箭
头代表斜率,与等高线的法线相平行。从梯度的方向上看,有
21
dd
。
只有落在约束即绿线上的点才为满足约束条件的点。若没有这条约束,
yxf ,
的最小值应该在最小的等高线内部的某一点处;而存在这条约束,函数
最小值点应该位于函数等高线与约束曲线相切的位置。
因为若函数最小值点只是在相交的点处,则意味着存在其他等高线在该等
高线的内部或外部,从而使得新等高线与目标函数交点的值更大或更小。故只
有在等高线与目标函数的曲线相切的时候,才能取得最优值。
若对约束曲线求梯度
yxh ,
'
,则其梯度如图中绿色箭头所示。容易看出,
当目标函数
yxf ,
的等高线与约束
cyxh ,
'
相切时,其切点的梯度在一条直
线上(二者的斜率平行)。
也即在最优化解时,
cyxhyxf ,,
'
人工智能学院
实 验 报 告
共
35
页 第
4
页
┊
┊
┊
┊
┊
┊
┊
┊
┊
┊
┊
┊
┊
┊
┊
装
┊
┊
┊
┊
┊
订
┊
┊
┊
┊
┊
线
┊
┊
┊
┊
┊
┊
┊
┊
┊
┊
┊
┊
┊
┊
┊
其中
为使得左右两边同号的非零常数。
将
代入,得到
0,0,,
'
cyxhyxf
因为
cyxh ,
'
等于 0,则拉格朗日函数
cyxhyxfyxF ,,,,
'
在
达到极值时与
yxf ,
相等,即拉格朗日函数与原约束函数的最优点等价。
3)不等式约束条件
Karush-Kuhn-Tucker(KKT)条件是非线性规划最佳解的必要条件。KKT 条件
将拉格朗日乘数法所处理涉及等式的约束优化问题推广至不等式。
设目标函数
xf
为凸函数,不等式约束为
xg
,等式约束为
xh
。此时约
束优化问题为:
qkxg
pjxhts
xf
k
j
x
,,2,1,0
,,2,1,0..
min
则定义不等式约束下的单拉格朗日函数 L 的表达式为:
p
j
q
k
kkjj
xgxhxfxL
1 1
,,
其中
kj
、
分别为等式、不等式约束系数。
则其最优值应满足 KKT 条件:
a.
,,xL
对
x
求导为 0;
b.
0xh
j
;
c.
0xg
kk
。
推导过程如下:
令
q
k
kk
xgxfxL
1
,
,其中
0,0 xg
kk
故有
0xg
,则
xfxL
,max
且由于
xf
为凸函数,故
,maxminmin xLxf
xx
因为
xgxf
xgxf
xgxfxL
xx
xx
xxx
minmaxmin
minmaxminmax
minminmax,minmax
且由
0,0 xg
kk
得到:
00
000
min
xgandif
xgorif
xg
x
则
剩余34页未读,继续阅读
资源评论
sky_9ye
- 粉丝: 0
- 资源: 1
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- record record record record record record record record record
- Android 启动提示Android 正在升级...提示源码分析
- pojie-drawio-confluence-plugin-9.5.8.obr
- 信息学奥赛2020年NOIP真题
- SunloginClient-15.1.0.58718-x64.exe
- 信息学奥赛2021年NOIP真题
- 星辰语义大模型TeleChat超详细部署文档手册
- python range函数.pdf
- 许子昊毕业论文初稿-基于响应式编程的水质设备监测平台的设计与实现-定稿格式.docx
- musicManager.jsp
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功