支持向量机

支持向量机概念:

Vapnik等人在多年研究统计学习理论基础上对线性分类器提出了另一种设计最佳准则。其原理也从线性可分说起,然后扩展到线性不可分的情况。甚至扩展到使用非线性函数中去,这种分类器被称为支持向量机(Support Vector Machine,简称SVM)。支持向量机的提出有很深的理论背景。

支持向量机方法是在后来提出的一种新方法。

SVM的主要思想可以概括为两点:

它是针对线性可分情况进行分析,对于线性不可分的情况,通过使用非线性映射算法将低维输入空间线性不可分的样本转化为高维特征空间使其线性可分,从而使得高维特征空间采用线性算法对样本的非线性特征进行线性分析成为可能。
它基于结构风险最小化理论之上在特征空间中构建最优超平面,使得学习器得到全局最优化,并且在整个样本空间的期望以某个概率满足一定上界。

支持向量机(SVM):

       目的: 寻找一个超平面(分割线)对样本进行分割,分割的原则是 间隔最大化。

模型(二分类问题就是一个分割线): 

 其中二维空间点(x, y)到直线 Ax+By+C=0 的距离是: d=\frac{Ax_1+By_1+C}{\sqrt{A^{2}+B^{2}}}

若想分类明确则必须使我们的 d 最大

我们假设空间点扩展到 n 维空间后,点(x_1,x_2,x_3... x_n) 到直线 w^{T}x+b=0(超平面)来说距离是: d_{max}=\frac{|w^{T}*x_i+b|}{||w||}    其中 ||w||=\sqrt{w_1^{2}+w_2^{2}+w_3^{2}+...w_n^{2}}

若为二分类,我们将分为: \left\{\begin{matrix} y=1(A)\\ y=-1(B) \end{matrix}\right.,则d_{max}=\frac{|w^{T}x_i+b|}{||w||},其中限制条件为:(y(w^{T}x_i+b))\geqslant 1,我们也可以将求 d_{max} 等效与求 ||w||_{min} 即公式:\frac{1}{2}||w||_{min}^{2}(这样方便求导)

所以我们将目标函数简化为:

min\frac{1}{2}||w||^{2}   s.t   y(w^{T}x_i+b)\geqslant 1    i=1,2,3,.....n    s.t(subject to)表示服从某条件

针对以上求最值问题,明显是一个不等式优化问题,所以先我们引入 拉格朗日乘数法

拉格朗日乘数法:

目的: 将有等式约束的优化问题转化为无约束条件的优化问题。

拉格朗日乘数法证明如下链接:   https://blog.csdn.net/Soft_Po/article/details/118332454

拉格朗日乘数法转换可用梯度向量相等证明。然而以上问题使一个不等式优化问题,所以我们引入KKT条件。

KKT条件:

目的: 将一个不等式优化问题转化为等式优化问题。

KKT条件证明如下链接:   https://blog.csdn.net/Soft_Po/article/details/118358564

此处证明大致说法就是: 两种情况:一种在约束条件内(约束条件不起作用),另一种在约束条件外(约束条件起作用),在约束条件外引入 \lambda 使得 f(x) 的负梯度和 g(x) 的梯度相等。

通过拉格朗日乘数法和KKT条件化简公式:

根据以上理论我们将公式转化为:L(x,\lambda ,\alpha )=min\frac{1}{2}||w||^{2}+\lambda (1-y(w^{T}x_i)+b+\alpha ^{2})

然后我们设有最小值 x 使得方程L(x,\lambda ,\alpha )有最小值解: P。

又因为 \alpha 是我们引入的常数,所以方程可直接化为: L(x,\lambda )=min\frac{1}{2}||w||^{2}+\lambda (1-y(w^{T}x_i)+b)\leq P,即我们先找到 \underset{\lambda }{max}L(x,\lambda ),即\lambda最大我们的 x 最小。所以此时我们应该求解方程: \underset{x}{min} \underset{\lambda }{max}L(x,\lambda )

然而 \lambda 是我们引入的拉格朗日乘子,所以我们再次将方程转化为对偶问题:

对偶问题:(分为弱对偶与强对偶)

弱对偶: 相当于一个学校的好班级的最后一名和差班级第一名,也就是原问题 \geq 对偶问题。

即:  \underset{x}{min}  \underset{\lambda }{max}L(x,\lambda ) \geq \underset{\lambda }{max}  \underset{x }{min}L(x,\lambda )

 强对偶: 一般来说,对于绝大多数凸函数都属于强对偶问题。

即:     \underset{x}{min}  \underset{\lambda }{max}L(x,\lambda ) = \underset{\lambda }{max} \underset{x}{min}L(x,\lambda )

所以我们将公式转化为:\underset{w,b}{min}  \underset{\lambda }{max}L(x,b,\lambda )=\frac{1}{2}||w||^{2}+\sum_{i=1}^{n}\lambda [1-y(w^{T}x_i+b)]  \lambda \geq 0

并且满足 KKT条件:   \left\{\begin{matrix} 1-y_i(w^{T}x_i+b)\leq 0\\ \lambda (1-y_i(w^{T}x_i+b))=0\\ \lambda \geq 0 \end{matrix}\right.。所以此时函数为凸函数,因为\frac{1}{2}   > 0,所以直接使用强对偶进行转化: \underset{\lambda }{max}  \underset{w,b}{min}L(w,b,\lambda )=\frac{1}{2}||w||^{2}+\sum_{i=1}^{n}\lambda [1-y_i(w^{T}x_i+b)]  且满足:\lambda \geq 0 。

假设 \lambda 固定 ,求梯度:\left\{\begin{matrix} \frac{\partial L}{\partial w} = w-\sum_{i=1}^{n}\lambda x_iy_i=0\\ \frac{\partial L}{\partial b}=\sum_{i=1}^{n}\lambda _iy_i=0 \end{matrix}\right.        我们设此处为 C 式。

将 c 式带入到强对偶转化后的式子中得到:\underset{\lambda }{max}L(w,b,\lambda )=\underset{\lambda }{max}[\sum_{i=1}^{n}\lambda _i-\frac{1}{2}\sum_{i=1}^{n}\sum_{j=1}^{n}\lambda _i\lambda _jy_iy_jx_ix_j]  s.t     \lambda _{i}\geq 0    我们设为 d式。

d式是一个只含有 \lambda 的最优化问题。

此时我们再次引入 SMO算法(序列最小优化算法):

\because \sum_{i=1}^{n}\lambda _iy_i=0    且   y_i=\left\{\begin{matrix} 1\\ -1 \end{matrix}\right.   假设为二分类器。假设 \lambda _3,\lambda _4....\lambda _n 参数固定,那么\lambda _1,\lambda _2之间的关系也就确定。

所以:\lambda _1y_1+\lambda _2y_2+c=0\Leftrightarrow \sum_{i=1}^{n}\lambda _iy_i=0,所以 \lambda _2=\frac{-c-\lambda _1y_1}{y_2}将此式代入d式。

所以该问题就转化为求 \lambda _1 的最优化问题(可直接通过求导数求得最优解)。

求导之后我们就可以得到一组拉格朗日乘子集,根据 c式 ,当 \lambda > 0 时,即:y_i(w^{T}x_i+b)=1,又因为 y_i^{2}=1,所以同时乘以 y_i,得:b_i=y_i-w^{T}*x_i  此时求得多组 b 值。

最终:\left\{\begin{matrix} w_i=\sum_{i=1}^{n}\lambda _ix_iy_i\\ b=\frac{1}{s}\sum_{n=s}^{}(y_i-w^{T}x_i) \end{matrix}\right. 得到一个超平面分类器:w_i^{T}+b=0  ,当 i=1 时是线分类器。 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

@苇

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值