支持向量机算法原理推导学习

Support Vector Machine

在这里插入图片描述

①决策边界:选出来离雷区最远的点(雷区就是边界上的点,要Large Margin)

在这里插入图片描述

使边界越宽越好

②距离的计算

在这里插入图片描述

决策边界是如图中的一个面,“雷”是X点,算点到直线的距离

b是偏置,w是法向量

平面定义的公式为

在这里插入图片描述

把x’和x‘’带入得到

在这里插入图片描述

此式表达的是有两个点x’和x‘’,这里两个点都是在平面上的

法向量垂直于面内任何一条向量

在这里插入图片描述

要直接计算X到面的距离并不容易,可以计算x到面内x‘点的距离然后投影,投影需要找到垂直方向的投影,并且要是投影的单位向量

把向量W转换为单位向量

用向量自身比上他的模得到的就是这个向量的单位向量

在这里插入图片描述

距离乘上投影的单位向量

在这里插入图片描述

得到的就是点到直线的距离在这里插入图片描述

③数据标签定义

(1)数据集:(X1,Y1)(X2,Y2)…(Xn,Yn)
(2)Y为样本的类别:当X为正例时Y=+1,当X为负例时Y=-1
(3)决策方程:在这里插入图片描述

④优化的目标

在这里插入图片描述

为了展开绝对值

在这里插入图片描述

⑤目标函数

  在优化目标公式中min所指的意思为,什么样的值是离决策边界最小的样本,外面的max所指的是什么样的w和b可以使得点到决策边界的距离越远越好

在这里插入图片描述

等比例放缩之后可以使得之后运算时要求得最大值时内部的最小值直接取值为1即可,化简运算
此时将问题转换成为什么样的W和b值能够使得W的模分之一的值越大越好

把求极大值的问题转换成为求极小值的问题

在这里插入图片描述

求w的值越小和求 w 2 w^2 的值越小意思相同,又因为为了方便之后求导化简,给 w 2 w^2 前乘以一个1/2。

为了进行求极值用到的拉格朗日乘子法

直接求w的解不好求,我们可以把求w的解转换成求另外一个参数的解,把原始参数的解转换成为求中间参数的解。

在这里插入图片描述

原始的式子是 1 2 w \frac{1}{2}|w|
对于带约束的问题要使 f i ( x ) 0 f_i(x)\leq0 所以对于已有的约束条件进行如下变换

在这里插入图片描述

最终得到结果为

在这里插入图片描述

再拉格朗日乘子法中此处每一项都多引入了一个系数 α i α_i ,就是所谓的中间参数
只要是求极小值,那就进行求偏导
对w求偏导,前半部分式子为w,后半部分w的一次项就约掉了

在这里插入图片描述

根据上面对w和对b求偏导求出来的条件,将其带入拉格朗日乘子法中在这里插入图片描述
最终转换出来的式子只有α,y,和x
到目前为止完成了“什么样的w和b可以使值达到最小”并带入
接下来要求的什么样的α能够使得值最大

在这里插入图片描述

求它正数的最大值相当于求复数的最小值,给式子加一个负号,但约束条件并不改变

SVM求解实例(为什么要叫做支持向量机)

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
α=0时就不是支持向量,对最终的结果没有影响
α≠0时的是边界点,边界点对决策边界的构成
在这里插入图片描述

soft-margin(软间隔)

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

SVM核变换

在这里插入图片描述

把低维转化成高维

在这里插入图片描述

发布了19 篇原创文章 · 获赞 0 · 访问量 412

猜你喜欢

转载自blog.csdn.net/MercuryG/article/details/102614111