统计学习方法(七):支持向量机(SVM)

  • 支持向量机:判别模型
  • 种类:硬间隔、软间隔、核函数
  • 思想:感知机是线性分类器,对线性可分的数据集可以有无穷多个超平面将其分开。而支持向量机选择其中分类最为靠谱的一个,而这个靠谱的依据是:(重要思想):1.在分类准确的前提下,2.使得离超平面最近的点离超平面的距离最远,也就是说一个点可能是很多个超平面的最近点,但是我们对比这个点离其他超平面的距离,选择最远的那一个超平面作为最终的超平面。
  • 学习流程:输入空间映射特征空间,特征空间学习得到输出空间。
  • 硬间隔SVM:
    • 设超平面为: w x + b = 0 w x+b=0 wx+b=0,当分类为1时, w x + b > 0 w x+b>0 wx+b>0,当分类为0时, w x + b < 0 w x+b<0 wx+b<0
    • 约束方程:
      • 首先保证分类正确,也就是满足以上假设条件,可以简写为: y i ( w x i + b ) > 0 y_{i}\left(w x_{i}+b\right)>0 yi(wxi+b)>0
      • 其次要找到距离超平面最近的点,使其到该超平面的距离为最大,也就是: max ⁡ w , b min ⁡ x , i 1 ∥ w ∥ ∣ w x i + b ∣ \max _{w, b} \min _{x,i} \frac{1}{\|w\|}\left|w_{x i}+b\right| w,bmaxximinw1wxi+b(用到了点到直线的距离公式)。为了给表达式去掉绝对值,将表达式等价替换为: max ⁡ ( w , b ) 1 ∥ w ∥ min ⁡ x i y i ( w x i + b ) \max _{(w, b)} \frac{1}{\|w\|} \min _{x_{i}} y_{i}\left(w x_{i}+b\right) (w,b)maxw1ximinyi(wxi+b)
    • 简化约束方程:对于任意一条直线,将w、b同时缩放N倍,其直线还是那条直线,不会变化。所以总存在一个倍数n,使得 min ⁡ x i y i ( w x i + b ) \min _{x_{i}} y_{i}\left(w x_{i}+b\right) minxiyi(wxi+b)为1,那么此时方程组变为: { max ⁡ w , b 1 ∥ w ∥  s.t.  y i ( w x i + b ) ⩾ 1 \left\{\begin{array}{ll} \max _{w, b} & \frac{1}{\|w\|} \\ \text { s.t. } & y_{i}\left(w x_{i}+b\right)\geqslant1 \end{array}\right. {maxw,b s.t. w1yi(wxi+b)1
      再将第一个方程的最大值问题转化为最小值问题:
      { min ⁡ u , b 1 2 ∥ w ∥ 2  s.t.  y i ( w x i + b ) ⩾ 1 \left\{\begin{array}{l}\min _{u, b} \frac{1}{2}\|w\|^{2} \\ \text { s.t. } \quad y_{i}\left(w x_{i}+b\right) \geqslant 1\end{array}\right. {minu,b21w2 s.t. yi(wxi+b)1
      这个称为硬间隔SVM的原问题
    • 将带约束的原问题转换为不带约束的问题(拉格朗日函数):
      L ( w , b , λ ) = 1 2 ∥ w ∥ 2 + ∑ i = 1 N λ i ( 1 − y i ( w ∗ x i + b ) ) L(w, b, \lambda)=\frac{1}{2}\|w\|^{2}+\sum_{i=1}^{N} \lambda_{i}\left(1-y_{i}\left(w^{*} x_{i}+b\right)\right) L(w,b,λ)=21w2+i=1Nλi(1yi(wxi+b))
      按照拉格朗日乘子法的做法,求导不利于简化问题,所以原问题变为:
      { min ⁡ w , b max ⁡ λ L ( w , b , λ )  s.t.  λ i ⩾ 0 \left\{\begin{array}{l}\min _{w, b} \max _{\lambda} L(w, b, \lambda) \\ \text { s.t. } \quad \lambda_{i} \geqslant 0\end{array}\right. {minw,bmaxλL(w,b,λ) s.t. λi0
      具体变化流程如下:
      在这里插入图片描述
    • 对偶:根据拉格朗日对偶性,可以将上述方程再次变为:
      { max ⁡ λ min ⁡ w , b L ( w , b , λ )  s.t.  λ i ⩾ 0 \left\{\begin{array}{l}\max _{\lambda} \min _{w, b} L(w, b, \lambda) \\ \text { s.t. } \lambda_{i} \geqslant 0\end{array}\right. {maxλminw,bL(w,b,λ) s.t. λi0
    • 分别对上式 min ⁡ w , b L ( w , b , x ) \min _{w, b} L(w, b, x) minw,bL(w,b,x)中w和b求偏导=0,得到两等式,代入 L L L中得:
      { max ⁡ λ ( − 1 2 ∑ i = 1 N ∑ j = 1 N λ i λ j y i y j x i T x j + ∑ k = 1 N λ i )  s.t.  λ i = 0 \left\{\begin{array}{l}\max _{\lambda}\left(-\frac{1}{2} \sum_{i=1}^{N} \sum_{j=1}^{N} \lambda_{i} \lambda_{j} y_{i} y_{j} x_{i}^{T} x_{j}+\sum_{k=1}^{N} \lambda_{i}\right) \\ \text { s.t. } \lambda_{i}=0\end{array}\right. {maxλ(21i=1Nj=1NλiλjyiyjxiTxj+k=1Nλi) s.t. λi=0
      再将上式中的最大值问题转换为最小值问题,然后求解 λ i \lambda_{i} λi
    • 根据KKT条件,代入 λ i \lambda_{i} λi得到w和b
      在这里插入图片描述
      这样就得到了最终想要的超平面。
  • 软间隔SVM:
    • 再训练数据中噪声点或者非线性分割可以解决的情况存在,那么用到了软间隔。
    • 线性不可分意味着某些样本点 ( x i , y i ) \left(x_{i}, y_{i}\right) (xi,yi) 不能满足函数间隔大于等于 1 的约束条 件 (7.14). 为了解决这个问题, 可以对每个样本点 ( x i , y i ) \left(x_{i}, y_{i}\right) (xi,yi) 引进一个松他变量 ξ i ⩾ 0 \xi_{i} \geqslant 0 ξi0,使函数间隔加上松他变量大于等于 1。这样,约束条件变为
      y i ( w ⋅ x i + b ) ⩾ 1 − ξ i y_{i}\left(w \cdot x_{i}+b\right) \geqslant 1-\xi_{i} yi(wxi+b)1ξi
      同时,对每个松他变量 ξ i , \xi_{i}, ξi, 支付一个代价 ξ i . \xi_{i} . ξi. 目标函数由原来的 1 2 ∥ w ∥ 2 \frac{1}{2}\|w\|^{2} 21w2 变成
      1 2 ∥ w ∥ 2 + C ∑ i = 1 N ξ i \frac{1}{2}\|w\|^{2}+C \sum_{i=1}^{N} \xi_{i} 21w2+Ci=1Nξi
      这里, C > 0 称为惩罚参数,一般由应用问题决定, C 值大时对误分类的惩罚增大, C 值小时对误分类的惩罚减小. 最小化目标函数包含两层含义: 使 1 2 ∥ w ∥ 2 \frac{1}{2}\|w\|^{2} 21w2 尽量小即间隔尽量大,同时使误分类点的个数尽量小, C 是调和二者的系数。
  • 运用核函数的SVM
    在这里插入图片描述
    • 将硬间隔推导过程中的x变量转换到z特征空间中。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值