七、 支持向量机(Support Vector Machine, SVM)

本文详细介绍了支持向量机(SVM),包括其作为线性分类器的基本思想,通过最大化间隔来找到最佳分类超平面。讨论了对偶问题和KKT条件,重点解析了SMO算法用于优化求解α的过程。此外,还探讨了带有松弛变量的SVM以处理不可分样本,并比较了SVM与逻辑回归的异同。最后,提到了非线性SVM和核函数的应用。
摘要由CSDN通过智能技术生成

支持向量机(Support Vector Machine, SVM)是一种二分类模型,它的基本模型是定义在特征空间上的间隔最大的线性分类器,间隔最大使它有别于感知机;当把核引入到SVM中后,它就成为了非线性分类器。

SVM的的学习策略就是间隔最大化,可形式化为一个求解凸二次规划的问题,也等价于正则化的合页损失函数的最小化问题。SVM的的学习算法就是求解凸二次规划的最优化算法。

1 线性分类器

给定训练样本集 D = { ( x 1 , y 1 ) , ( x 2 , y 2 ) , ⋯   , ( x m , y m ) } , y i ∈ { − 1 , + 1 } D=\{({\bf x}_1,y_1),({\bf x}_2,y_2),\cdots,({\bf x}_m,y_m)\},y_i \in \{ -1, +1\} D={ (x1,y1),(x2,y2),,(xm,ym)},yi{ 1,+1},分类学习最基本的想法就是基于训练集 D D D 在样本空间中找到一个划分平面,将不同类别的样本分开。在样本空间中,用如下的线性方程来描述划分超平面:

w T x + b = 0 {\bf w}^T{\bf x}+b=0 wTx+b=0

其中, w = ( w 1 ; w 2 ; ⋯   ; w d ) {\bf w}=(w_1;w_2;\cdots;w_d) w=(w1;w2;;wd) 为法向量,决定了超平面的方向; b b b 为位移量,决定了超平面与原点之间的距离。划分平面可被法向量 w {\bf w} w 和位移 b b b 确定,就将该平面记为 ( w , b ) ({\bf w},b) (w,b),样本空间中任意点 x {\bf x} x 到超平面 ( w , b ) (w,b) (w,b) 的距离可以写为:

r = ∣ w T x + b ∣ ∣ ∣ w ∣ ∣ r=\frac{|{\bf w}^T{\bf x}+b|}{||{\bf w}||} r=wwTx+b

我们知道,对于平面 ( w , b ) ({\bf w},b) (w,b),同比例变化 w {\bf w} w b b b 时该平面不变,因此,我们可以找到一组 ( w , b ) ({\bf w},b) (w,b) 使得距离该平面最近的样本点(即支持向量)满足 ∣ w T x i + b ∣ = 1 |{\bf w}^T{\bf x}_i+b| = 1 wTxi+b=1(目的:为了求解时计算方便)。

假设超平面 ( w , b ) ({\bf w},b) (w,b) 能将训练样本正确分类,令 f ( x ) = w T x + b f({\bf x})={\bf w}^T{\bf x}+b f(x)=wTx+b,对于 ( x i , y i ) ∈ D ({\bf x}_i,y_i)\in D (xi,yi)D,有:

{ w T x i + b ≥ + 1 y i = + 1 w T x i + b ≤ − 1 y i = − 1 \begin{cases} {\bf w}^T{\bf x}_i+b \geq +1 & y_i=+1\\ {\bf w}^T{\bf x}_i+b \leq -1 & y_i=-1 \end{cases} { wTxi+b+1wTxi+b1yi=+1yi=1

如下图所示,距离超平面最近的几个训练样本点使上式成立,它们称为“支持向量”(support vector),两个异类支持向量到超平面的距离之和为:

γ = 2 ∣ ∣ w ∣ ∣ \gamma = \frac{2}{||{\bf w}||} γ=w2

它被称为 “间隔”(margin)
在这里插入图片描述

如果想要找到具有“最大间隔”(maximum margin)的划分超平面,也就是要找到使得 γ \gamma γ 最大的、能满足的条件约束的参数 w {\bf w} w b b b

max ⁡ w , b    2 ∣ ∣ w ∣ ∣ s . t    y i ( w T x i + b ) ≥ 1 ,   i = 1 , 2 , ⋯   , m \begin{aligned} \max_{ {\bf w}, b} & \ \ \frac{2}{||{\bf w}||}\\ s.t & \ \ y_i({\bf w}^T{\bf x}_i+b) \geq1, \ i=1,2,\cdots,m \end{aligned} w,bmaxs.t  w2  yi(wTxi+b)1, i=1,2,,m

显然,为了最大化间隔,仅需最大化 ∣ ∣ w ∣ ∣ − 1 ||{\bf w}||^{-1} w1,这就等价于最小化 ∣ ∣ w ∣ ∣ 2 ||{\bf w}||^{2} w2,于是,该目标可以重写为:

min ⁡ w , b    1 2 ∥ w ∥ 2 s . t    y i ( w T x i + b ) ≥ 1 ,   i = 1 , 2 , ⋯   , m \begin{aligned} \min_{ {\bf w}, b} & \ \ \frac{1}{2}{\|{\bf w}\|^2}\\ s.t & \ \ y_i({\bf w}^T{\bf x}_i+b) \geq1, \ i=1,2,\cdots,m \end{aligned} w,bmins.t  21w2  yi(wTxi+b)1, i=1,2,,m

2 对偶问题

目标函数本身是一个凸二次规划(Convex Quadratic Programming)问题,利用拉格朗日乘子法可得到其“对偶问题”(dual problem),对每条约束添加拉格朗日乘子 α i ≥ 0 \alpha_i \geq 0 αi0,则该问题的拉格朗日函数可写作:

L ( w , b , α ) = 1 2 ∣ ∣ w ∣ ∣ 2 + ∑ i = 1 m α i ( 1 − y i ( w T x i + b ) ) L({\bf w},b,\alpha)=\frac{1}{2}{||{\bf w}||^2} + \sum_{i=1}^m \alpha_i (1-y_i({\bf w}^T{\bf x}_i+b)) L(w,b,α)=

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值