第七章-SVM支持向量机

本文详细介绍了支持向量机(SVM)的概念,包括硬间隔最大化、软间隔最大化及其在处理线性不可分数据时引入的核函数。通过数学推导和实例计算,阐述了SVM的优化问题和Python实现,同时讨论了序列最小化最优化算法(SMO)。
摘要由CSDN通过智能技术生成

在第二章中我们学习到感知机模型的相关知识,感知机模型是当数据线性可分时,如何利用一个超平面区分两类不同的数据。对于以上情况,支持向量机和感知机是非常相似的,两者的差别在于损失函数的不同。当线性不可分的情况下,SVM可以用核函数来实现对线性不可分的数据进行分类。

思维导图

硬间隔最大化和软间隔最大化

线性支持向量机与硬间隔最大化

所谓的硬间隔最大化,就是当选择一个超平面将两组数据进行分割开,在二维空间中,这个超平面是一条直线,每个点到该直线都会存在一个距离,使得每个点到直线的距离都比较大,因此我们选择的这个超平面就是唯一的。所有这些距离中最小的距离的点组成的平面称为支撑超平面。这些点被称为支持向量。两个支撑超平面之间的距离称为硬间隔就表示硬性规定所有的点都不能在支撑超平面中间。

那么我们该如何使得间隔最大化呢?书上提到两种方式,一种是函数间隔,一种是几何间隔。最后我们选择的都是几何间隔,其中的原因又是什么呢?在此假设有一个超平面是wx+b=0,某一个实例为x0,函数间隔为|w * x0 + b|,几何间隔为|w * x0 + b|/|w|。从中可以看出,函数间隔表示的是分类预测的正确性以及确信度,如果我们成比例地改变w和b,比如改为2w和2b,此时选择的超平面没有发生改变,但是函数间隔却发生了变化,变成原来的2倍。因此,我们选择几何间隔的方式较为更好。具体过程如下:
对 偶 问 题 : min ⁡ α 1 2 ∑ i = 1 N ∑ j = 1 N α i α j y i y j K ( x i , x j ) − ∑ i = 1 N α i  s.t.  ∑ i = 1 N α i y i = 0 0 ⩽ α i ⩽ C , i = 1 , 2 , ⋯   , N 决 策 函 数 : f ( x ) = sign ⁡ ( ∑ i = 1 N α i ∗ y i K ( x ⋅ x i ) + b ∗ ) 原 始 形 式 的 最 优 化 问 题 : min ⁡ 1 2 ∣ w ∣ 2 + C ∑ i ξ  s.t.  y i [ w ⋅ ϕ ( x ) ] ⩾ 1 − ξ i ξ i ⩾ 0 分 离 超 平 面 为 : w ⋅ ϕ ( x ) + b = 0 对偶问题: \begin{array}{ll} {\displaystyle \min_{\alpha}} & {\displaystyle \frac{1}{2} \sum_{i=1}^N \sum_{j=1}^N \alpha_i \alpha_j y_i y_j K(x_i, x_j)-\sum_{i=1}^N \alpha_i} \\ {\text { s.t. }} & {\displaystyle \sum_{i=1}^N \alpha_i y_i=0} \\ {} & {0 \leqslant \alpha_i \leqslant C, \quad i=1,2, \cdots, N} \end{array} \\ 决策函数: f(x)=\operatorname{sign}\left(\sum_{i=1}^N \alpha_i^* y_i K(x \cdot x_i)+b^{*}\right) \\ 原始形式的最优化问题:\begin{array}{ll} \min & \displaystyle \frac{1}{2}|w|^2 + C \sum_i \xi \\ \text{ s.t. } & y_i [w \cdot \phi(x)] \geqslant 1 - \xi_i \\ & \xi_i \geqslant 0 \end{array}\\ 分离超平面为:w \cdot \phi(x) + b = 0 αmin s.t. 21i=1Nj=1NαiαjyiyjK(xi,xj)i=1Nαii=1Nαiyi=00αiC,i=1,2,,Nf(x)=sign(i=1NαiyiK(xxi)+b)min s.t. 21w2+Ciξyi[wϕ(x)]1ξiξi0:wϕ(x)+b=0

线性支持向量机与软间隔最大化

一般情况下,训练数据集线性可分是理想的情况,但是在现实问题中,出现的都是线性不可分的情形,比如在样本中会出现噪点或者异常点,此时,硬间隔最大化是不可行的。那么,要求得太严格,又不好分类数据,该怎么办?此时,我们需要放送一些选择的标准,这也就是软间隔最大化。那么接下来的问题就是我们该如何修改硬间隔最大化,使之成为软间隔最大化,从而适应线性不可分的场景呢?如图所示:

从图中可以看出,软间隔最大化其实就是允许数据点出现在两个支撑超平面之间,并且加入了惩罚项,对误分类点进行惩罚,如果偏离得越远,对误分类点的惩罚度越大。

由此可以得到最优化问题:
min ⁡ w , b , ξ 1 2 ∣ w ∣ 2 + C ∑ i = 1 N ξ i  s.t.  y i ( w ⋅ x i + b ) ⩾ 1 − ξ i , i = 1 , 2 , ⋯   , N ξ i ⩾ 0 , i = 1 , 2 , ⋯   , N \begin{array}{ll} {\displaystyle \min_{w, b, \xi}} & {\displaystyle \frac{1}{2}|w|^{2}+C \sum{i=1}^{N} \xi_{i}} \\ \text { s.t. } & {y_{i}\left(w \cdot x_{i}+b\right) \geqslant 1-\xi_{i}, \quad i=1,2, \cdots, N} \\ & {\xi_{i} \geqslant 0, \quad i=1,2, \cdots, N} \end{array} w,b,ξmin s.t. 21w2+Ci=1Nξiyi(wxi+b)1ξi,i=1,2,,Nξi0,i=1,2,,N
对偶问题:
min ⁡ α 1 2 ∑ i = 1 N ∑ j = 1 N α i α j y i y j ( x i ⋅ x j ) + ∑ i = 1 N α i  s.t.  ∑ i = 1 N α i y i = 0 0 ⩽ α i ⩽ C , i = 1 , 2 , ⋯   , N 最 优 解 : w ∗ = ∑ i = 1 N α i ∗ y i x i b ∗ = y j + ∑ i = 1 N y i α i ∗ ( x i ⋅ x j ) \begin{array}{ll} {\displaystyle \min_{\alpha}} & {\displaystyle \frac{1}{2} \sum_{i=1}^N \sum_{j=1}^N \alpha_i \alpha_j y_i y_j (x_i \cdot x_j )+\sum_{i=1}^N \alpha_i} \\ {\text { s.t. }} & {\displaystyle \sum_{i=1}^N \alpha_i y_i=0} \\ {} & {0 \leqslant \alpha_i \leqslant C, \quad i=1,2, \cdots, N} \end{array}\\ 最优解: w^*=\sum_{i=1}^N \alpha_i^* y_i x_i \\ b^*=y_j+\sum_{i=1}^N y_i \alpha_i^*{(x_i \cdot x_j)} αmin s.t. 21i=1Nj=1Nαiαjyiyj(xixj)+i=1Nαii=1Nαiyi=00αiC,i=1,2,,Nw=i=1Nαiyixib=yj+i=1Nyiαi(xixj)

非线性支持向量机与核函数

从图中可以看出,右图是线性可分的情形,但是对于左图,确实线性不可分的情形。那么对于这种情形,我们可以添加核函数来解决线性不可分的问题。核函数可描述如下:
k ( x i , x j ) = ϕ ( x i ) ⋅ ϕ ( x j ) k(x_i,x_j)=\phi(x_i) \cdot \phi(x_j) k(xi,xj)=ϕ(xi)ϕ(xj)
由此可以得到以下的内容:
对 偶 问 题 : min ⁡ α 1 2 ∑ i = 1 N ∑ j = 1 N α i α j y i y j K ( x i , x j ) − ∑ i = 1 N α i  s.t.  ∑ i = 1 N α i y i = 0 0 ⩽ α i ⩽ C , i = 1 , 2 , ⋯   , N 决 策 函 数 : f ( x ) = sign ⁡ ( ∑ i = 1 N α i ∗ y i K ( x ⋅ x i ) + b ∗ ) 原 始 形 式 的 最 优 化 问 题 : min ⁡ 1 2 ∣ w ∣ 2 + C ∑ i ξ  s.t.  y i [ w ⋅ ϕ ( x ) ] ⩾ 1 − ξ i ξ i ⩾ 0 分 离 超 平 面 为 : w ⋅ ϕ ( x ) + b = 0 对偶问题: \begin{array}{ll} {\displaystyle \min_{\alpha}} & {\displaystyle \frac{1}{2} \sum_{i=1}^N \sum_{j=1}^N \alpha_i \alpha_j y_i y_j K(x_i, x_j)-\sum_{i=1}^N \alpha_i} \\ {\text { s.t. }} & {\displaystyle \sum_{i=1}^N \alpha_i y_i=0} \\ {} & {0 \leqslant \alpha_i \leqslant C, \quad i=1,2, \cdots, N} \end{array} \\ 决策函数: f(x)=\operatorname{sign}\left(\sum_{i=1}^N \alpha_i^* y_i K(x \cdot x_i)+b^{*}\right) \\ 原始形式的最优化问题:\begin{array}{ll} \min & \displaystyle \frac{1}{2}|w|^2 + C \sum_i \xi \\ \text{ s.t. } & y_i [w \cdot \phi(x)] \geqslant 1 - \xi_i \\ & \xi_i \geqslant 0 \end{array}\\ 分离超平面为:w \cdot \phi(x) + b = 0 αmin s.t. 21i=1Nj=1NαiαjyiyjK(xi,xj)i=1Nαii=1Nαiyi=00αiC,i=1,2,,Nf(x)=sign(i=1NαiyiK(xxi)+b)min s.t. 21w2+Ciξyi[wϕ(x)]1ξiξi0:wϕ(x)+b=0
对于这种情形,也存在一些缺点,就是当对于一个实际问题时,我们不知道该用什么样的曲面更好地分离数据,选择一个合适的核函数存在一个挑战,这就需要我们面对实际场景问题进行实际分析了。

相关的数学推导和例题计算

1.线性支持向量机还可以定义以下形式:
min ⁡ ( 1 2 ∣ ∣ w ∣ ∣ 2 + C ∑ i = 1 N ξ i 2 )  s.t.  y i ( w x i + b ) ≥ 1 − ξ i  s.t.  ξ i ≥ 0 \begin{array}{ll} \min & \displaystyle(\frac{1}{2}||w||^2+C\sum_{i=1}^N\xi_i^2)\\\displaystyle \text{ s.t. } & y_i(wx_i+b) \geq 1- \xi_i \\ \text{ s.t. } & \xi_i \geq 0 \end{array} min s.t.  s.t. (21w2+Ci=1Nξi2)yi(wxi+b)1ξiξi0
求其对偶形式。

求解过程:

第一步:原始问题如问题可知,确定拉格朗日函数。
假 设 α 和 μ 是 拉 格 朗 日 乘 子 , 则 拉 格 朗 日 函 数 为 : L ( w , b , ξ i , α i , μ i ) = 1 2 ∣ ∣ w ∣ ∣ 2 + C ∑ i = 1 N ξ i 2 − ∑ i = 1 2 α i [ y i ( w x i + b ) − 1 + ξ i ] − ∑ i = 1 2 μ i ξ i  s.t.   α i ≥ 0 , μ i ≥ 0 ( 1 ) 因 此 转 化 成 :

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值