《机器学习实战中文版》 支持向量机

支持向量机

1. 概述

  • SVM有三宝: 间隔、对偶、核技巧
  • 找一个超平面作为决策边界实现二分类
    优点:泛化错误率低,计算开销不大,结果易解释。
    缺点:对参数调节和核函数的选择敏感,原始分类器不加修改仅适用于处理二类问题。
    适用数据类型:数值型和标称型数据。

2. 实现

  • 寻找最大间隔
    超平面的形式可写为: w T x + b = 0 \boldsymbol{w}^{\mathrm{T}} \boldsymbol{x}+b=0 wTx+b=0
    任意点 x x x到超平面的距离为: r = ∣ w T x + b ∣ ∥ w ∥ r=\frac{\left|\boldsymbol{w}^{\mathrm{T}} \boldsymbol{x}+b\right|}{\|\boldsymbol{w}\|} r=wwTx+b
    距离超平面最近的训练样本就称为“支持向量”,满足条件: ∣ w T x + b ∣ = 1 |{w}^{\mathrm{T}} \boldsymbol{x}+b| = 1 wTx+b=1
    两个异类的支持向量到超平面的距离和(间隔)为: γ = 2 ∥ w ∥ \gamma=\frac{2}{\|\boldsymbol{w}\|} γ=w2
    找到最大间隔,也就是找到满足约束条件的参数 w w w b b b

min ⁡ w , b 1 2 ∥ w ∥ 2 \min _{\boldsymbol{w}, b} \frac{1}{2}\|\boldsymbol{w}\|^{2} w,bmin21w2 s . t .   y i ( w T x i + b ) ⩾ 1 , i = 1 , 2 , … , m s.t.\ y_{i}\left(\boldsymbol{w}^{\mathrm{T}} \boldsymbol{x}_{i}+b\right) \geqslant 1, \quad i=1,2, \ldots, m s.t. yi(wTxi+b)1,i=1,2,,m

  • 分类器求解优化问题
    在求解参数 w w w b b b的过程中,使用拉格朗日乘子法结合“对偶问题”可巧妙的转换成:
    max ⁡ α ∑ i = 1 m α i − 1 2 ∑ i = 1 m ∑ j = 1 m α i α j y i y j x i T x j \max _{\boldsymbol{\alpha}} \sum_{i=1}^{m} \alpha_{i}-\frac{1}{2} \sum_{i=1}^{m} \sum_{j=1}^{m} \alpha_{i} \alpha_{j} y_{i} y_{j} \boldsymbol{x}_{i}^{\mathrm{T}} \boldsymbol{x}_{j} αmaxi=1mαi21i=1mj=1mαiαjyiyjxiTxj  s.t.  ∑ i = 1 m α i y i = 0 α i ⩾ 0 , i = 1 , 2 , … , m \begin{array}{ll} \text { s.t. } & \sum_{i=1}^{m} \alpha_{i} y_{i}=0 \alpha_{i} \geqslant 0, & i=1,2, \ldots, m \end{array}  s.t. i=1mαiyi=0αi0,i=1,2,,m
    解出 α \alpha α后,求出 w w w b b b即可得到模型,当 x x x为新数据时,代入函数根据结果实现分类: f ( x ) = w T x + b = ∑ i = 1 m α i y i x i T x + b \begin{aligned} f(\boldsymbol{x}) &=\boldsymbol{w}^{\mathrm{T}} \boldsymbol{x}+b =\sum_{i=1}^{m} \alpha_{i} y_{i} \boldsymbol{x}_{i}^{\mathrm{T}} \boldsymbol{x}+b \end{aligned} f(x)=wTx+b=i=1mαiyixiTx+b
    关于解 α \alpha α,其中有对拉格朗日函数求 w w w b b b偏导等于零得出的条件,还有KKT约束
  • SMO高效优化算法
    是一种用于在线性约束下优化具有多个变量的目标函数的算法,用本书中的例子来描述,大致思路就是每次选择两个合适的 α \alpha α,固定其他的 α \alpha α,根据误差修改选择的 α \alpha α,不断执行直至收敛
  • 在复杂数据上应用核函数
    • 对于复杂的数据,利用核函数把数据映射到高维空间,在高维空间把它变成线性问题解决,相当于低维空间中解决非线性问题
    • 常用的核函数有多项式核、高斯核(RBF核)和拉普拉斯核等,对于文本数据通常采用线性核,不明时可使用高斯核
      高 斯 核 : k ( x , y ) = exp ⁡ ( − ∥ x − y ∥ 2 2 σ 2 ) ( σ 是 带 宽 ) 高斯核: k(x, y)=\exp \left(\frac{-\|x-y\|^{2}}{2 \sigma^{2}}\right)(\sigma是带宽) k(x,y)=exp(2σ2xy2)σ

3. 总结

  • 支持向量机是一种分类器,它会产生一个二值决策结果,具有很好的学习能力
  • 在本章中了解到的 w T x + b \boldsymbol{w}^{\mathrm{T}} \boldsymbol{x}+b wTx+b将是一个通用的格式,通过核技巧(本人将其描述为升维出击),对机器学习有了一个新的理解
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值