支持向量机算法(SVM)详细讲解(含手推公式)(《机器学习》--周志华...

⽀持向量机算法(SVM )详细讲解(含⼿推公式)(《机器学习》--周志华)#前⾔
    本⼈是⼀个本科到研究⽣都坚持本专业的⼈,但是,本科时间被狗吃了,⽬前还是⼩⽩⼀只,曾经以为考研之后要继续学习⼀技之长个⼯作养活⾃⼰,当然,现在发现这都是⾃⼰想太多了,哈哈哈,读研之后才知道基础不好的⼈学习起来是多么困难,但是,既然选择了,哭着也要拿到毕业证啊。
    因为被⽼师安排讲解SVM算法并且推到公式,于是花了⼀些时间来研究和推到了SVM算法的公式。可能写的不够全,也可能由⼀些错的地⽅,第⼀次写博客,望多多指教。哈哈哈,说太多没⽤的,开始来看⼀下SVM吧!!今天的内容:间隔与⽀持向量机对偶问题核函数软间隔
⽀持向量回归
# 间隔与⽀持向量机
    ⽀持向量机(support vector machines,SVM)是⼀种⼆分类模型。它的基本模型是定义在特征空间上的间隔最⼤的线性分类器,间隔最⼤使它有别于感知机。
    给定训练数据集{},{-1,+1},分类学习器最基本的想法就是基于训练集D在空间中到⼀个划分平⾯,能够将不同的样本分开。如下图所⽰【图⽚来源⽹络】,在⼀个这个样本空间中,我们可以到很多条划分平⾯能够将两类样本正确的分开,那么我们应该选择哪⼀条呢?或许你会说,当然是正中间那⼀条
了,没错,如果你这么想,那么你已经知道SVM是⽤来⼲什么的
了。
    正如你所想的,我们需要选择正中间的这条直线(图中红⾊的直线)作为我们的划分平⾯,因为这条直线的容错能⼒和泛化能⼒⽐较强,也就是说,当我们在样本空间中再增加⼀些样本,此时就会有很多划分平⾯不能再将样本正确的分开,⽽正中间这⼀条直线却还能正确的将样本区分开。我们的SVM算法就是要到这样⼀个划分平⾯,使其能够将不同样本正确的分开并且对训练样本局部扰动的“容忍”性最好。     上述中提到的划分平⾯在SVM中就称为**超平⾯**,可以通过如下的线性⽅程来描述:
D =(x ,y ),(x ,y ),...,(x ,y )1122m m y ∈i
其中,为法向量,决定超平⾯的⽅向,b为偏移项,决定超平⾯与原点之间的距离。划分超平⾯可记为,样本空间中任意⼀点x到超平⾯的距离可写为:
这个距离怎么得到的呢?下⾯请看我的推导:其中x是样本空间中任意⼀个样本,是x再超平⾯上的投影,因此有,r为x
到超平⾯的距离。
假设超平⾯$(\bm{w^T},b)$能将训练样本正确分类,即对于任意的$(x_{i},y_{i})∈D$,若$y_{i}=+1$,则有$\bm{w^Tx}+b>0$;若$y_{i}=-1$,则有$\bm{w^Tx}+b<0$。我们令
为什么可以这样写呢,⽽不是写成下⾯这样呢?其实我们也是为了解释SVM的原理,同时也易于后⾯的计算和理解,下⾯来看⼀下下图【图⽚来源⽹络】:
w x +T b =0(1)
w =(w ,w ,...,w )12d (w ,b )T r =.∣∣w ∣∣∣w x +b ∣
T (2)
x 0w x +T 0b =0{
w x +b ≥T w x +b ≤T +1,y =+1
i −1,y =−1i (3)
{w x +b ≥T w x +b ≤T 0,y =+1
i 0,y =−1i (4)
我们可以从图中看出,式(3)表⽰的是,当样本属于正例时,样本就落在直线上⽅;当样本属于反
列时,样本就落在直线下⽅。我们要的不是中间那条超平⾯吗,为什么还要这两条直线呢?这⾥,我先引⼊两个概念。
在样本空间中,总会有⼀些正例样本和反例样本距离超平⾯是最近的,这些样本点我们就称为”⽀持向量“(support vector),⽽过这些⽀持向量且平⾏于超平⾯的直线就是我们我们图中的两条直线和。两个异类⽀持向量到超平⾯的距离之和为
它被称为”间隔“(margin)。
你可能还有疑问,为什么⽀持向量间隔边界为什么就⼀定是和呢?这⾥原则上说,这两条直线可以是和,这⾥我们的可以两边同时乘以,然后令,再令,这时候我们就得到图中的边界直线和,⽽超平⾯依然是,因此在这⾥,我们只是对w 和b 进⾏变换了。
公式(5)我们怎么得到的呢?在前⾯我们就知道,我们需要⼀个在两个异类正中间的超平⾯,这⾥我们就知道,两个异类的⽀持向量到超平⾯的距离是相等的,⽽对任意⽀持向量,将其带⼊式(2),得到⽀持向量到超平⾯的距离都为:,间隔等于⽀持向量到超平⾯的2倍,也就是式(5)。
⽀持向量机的⽬标就是到”最⼤间隔“(maximum margin)的划分超平⾯,也就是到能够到满⾜式(3)中约束的参数和b,使得最⼤,即    为了最⼤化间隔,仅需要最⼤化,这等价于最⼩化,于是⽬标⽅程写成
这就是⽀持向量机的基本型。
这⾥为什么是?我的理解是,⽅便后⾯求导的。# 对偶问题
w x +T b =1w x +T b =−1w x +T b =1w x +T b =−1r =∣∣w ∣∣2
(5)
w x +T b =1w x +T b =−1w x +T b =k w x +T b =−k k 1w =T w k 1T b =b k 1w x +T b =1w x +T b =−1w x +T b =0x ,都有i ∣w x
+T b ∣=1r =
∣∣w ∣∣1w r w ,b max ∣∣w ∣∣
2s .t y (w x +i T i b )≥1,i =1,2,...,m
(6)∣∣w ∣∣−1∣∣w ∣∣2∣∣w ∣∣w ,b max 21
2
s .t y (w x +i T i b )≥1,i =1,2,...,m (7)
∣∣w ∣∣21
2
我们希望求解式(7)来得到最⼤间隔划分超平⾯对应的模型
⽀持向量机的学习策略就是间隔最⼤化,可形式化为⼀个求解凸⼆次规划的问题,也等价于正则化的合页损失函数的最⼩化问题。⽀持向量机的学习算法是求解凸⼆次规划的最优化算法。
对于不等式约束的条件极值问题,可以⽤拉格朗⽇法求解,对式(7)使⽤拉格朗⽇乘⼦法得到其”对偶问题“(dual problem)。拉格朗⽇法的构造规则是:⽤约束⽅程乘以⾮负的拉格朗⽇乘⼦,然后从⽬标函数中减去。于是得到式(7)的拉格朗⽇函数如下,其中{}:
在这⾥,我们需要使⽤到⼀个公式:
因此,我们求得w,b对拉格朗⽇函数的最⼤值之后,我们就可以将w,b带⼊式(9)然后得到⼀个关于的函数,此时只需要对求最⼤即可。
求解式(9),我们先假设是⼀个常数,令分别对w和b求偏导并令导数为0得到:
式(11)推导过程如下:
f (x )=w x +T b (8)
α=α,α,...,α12m L (w ,b ,α)=∣∣w ∣∣+212α(1−i =1∑m i y (w x +i T i b ))(9)
L (w ,b ,α)=w ,b min α≥0max i L (w ,b ,α)α≥0max w ,b min i (10)
αααL (w ,b ,α)i w =αy x i =1
∑m i i i
0=αy i =1
∑m i i (11)
将式式(11)带⼊到式(10)中得到式(7)的对偶问题
式(12)推到如下:
α−
α
逸仙论坛max
i=1
∑m
iααy y x x
2br715
1
i=1
∑m
j=1
∑m
i j i j i
天津联通测速
固态高频
T
中国科学院科学数据库j
s.tαy=
i=1
∑m
u50i i0
α≥
i0,i=1,2,...,m.(12)

本文发布于:2024-09-21 19:38:28,感谢您对本站的认可!

本文链接:https://www.17tex.com/xueshu/569880.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:超平   样本   向量   间隔
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议