• 数据挖掘与分析课程笔记(Chapter 21)


    数据挖掘与分析课程笔记

    • 参考教材:Data Mining and Analysis : MOHAMMED J.ZAKI, WAGNER MEIRA JR.

    文章目录

    1. 数据挖掘与分析课程笔记(目录)
    2. 数据挖掘与分析课程笔记(Chapter 1)
    3. 数据挖掘与分析课程笔记(Chapter 2)
    4. 数据挖掘与分析课程笔记(Chapter 5)
    5. 数据挖掘与分析课程笔记(Chapter 7)
    6. 数据挖掘与分析课程笔记(Chapter 14)
    7. 数据挖掘与分析课程笔记(Chapter 15)
    8. 数据挖掘与分析课程笔记(Chapter 20)
    9. 数据挖掘与分析课程笔记(Chapter 21)


    Chapter 21: Support Vector Machines (SVM)

    21.1 支撑向量与余量

    Set up D = { ( x i , y i ) } i = 1 n , x i ∈ R d , y i ∈ { − 1 , 1 } \mathbf{D}=\{(\mathbf{x}_i,y_i) \}_{i=1}^n,\mathbf{x}_i \in \mathbb{R}^d,y_i \in \{-1,1 \} D={(xi,yi)}i=1n,xiRd,yi{1,1},仅两类数据。

    • 超平面 (hyperplanes, d − 1 d-1 d1 维): h ( x ) : = w T x + b = w 1 x 1 + ⋯ + w d x d + b h(\mathbf{x}):=\mathbf{w}^T\mathbf{x}+b=w_1x_1+ \cdots +w_dx_d+b h(x):=wTx+b=w1x1++wdxd+b

      其中, w \mathbf{w} w 是法向量, − b w i -{b\over w_i} wib x i x_i xi 轴上的截距。

    • D \mathbf{D} D 称为是线性可分的,如果存在 h ( x ) h(\mathbf{x}) h(x) 使得对所有 y i = 1 y_i=1 yi=1 的点 x i \mathbf{x}_i xi h ( x i ) > 0 h(\mathbf{x}_i)>0 h(xi)>0 ,且对所有 y i = − 1 y_i=-1 yi=1 的点 x i \mathbf{x}_i xi h ( x i ) < 0 h(\mathbf{x}_i)<0 h(xi)<0 ,并将此 h ( x ) h(\mathbf{x}) h(x) 称为分离超平面。

      Remark:对于线性可分的 D \mathbf{D} D ,分离超平面有无穷多个。

    • 点到超平面的距离:
      x = x p + x r = x p + r ⋅ w ∣ ∣ w ∣ ∣ h ( x ) = h ( x p + r w ∥ w ∥ ) = w T ( x p + r w ∥ w ∥ ) + b = w T x p + b ⏟ h ( x p ) + r w T w ∥ w ∥ = h ( x p ) ⏟ 0 + r ∥ w ∥ = r ∥ w ∥ \mathbf{x}=\mathbf{x}_p+\mathbf{x}_r=\mathbf{x}_p+r\cdot\frac{\mathbf{w}}{||\mathbf{w}||}\\

      h(x)=h(xp+rww)=wT(xp+rww)+b=wTxp+bh(xp)+rwTww=h(xp)0+rw=rw" role="presentation">h(x)=h(xp+rww)=wT(xp+rww)+b=wTxp+bh(xp)+rwTww=h(xp)0+rw=rw
      x=xp+xr=xp+r∣∣w∣∣wh(x)=h(xp+rww)=wT(xp+rww)+b=h(xp) wTxp+b+rwwTw=0 h(xp)+rw=rw

      ∴ r = h ( x ) ∥ w ∥ , ∣ r ∣ = ∣ h ( x ∣ ) ∥ w ∥ \therefore r=\frac{h(\mathbf{x})}{\|\mathbf{w}\|},|r|=\frac{|h(\mathbf{x}|)}{\|\mathbf{w}\|} r=wh(x),r=wh(x)

    ∀ x i ∈ D \forall \mathbf{x}_i \in \mathbf{D} xiD h ( x ) h(\mathbf{x}) h(x) 的距离是 y i h ( x i ) ∥ w ∥ y_i\frac{h(\mathbf{x}_i)}{\|\mathbf{w}\|} yiwh(xi)

    在这里插入图片描述

    • 给定线性可分的 D \mathbf{D} D ,及分离超平面 h ( x ) h(\mathbf{x}) h(x) ,定义余量:
      δ ∗ = min ⁡ x i { y i ( w T x i + b ) ∥ w ∥ } \delta^*=\min\limits_{\mathbf{x}_i}\{\frac{y_i(\mathbf{w}^T\mathbf{x}_i+b)}{\|\mathbf{w}\|} \} δ=ximin{wyi(wTxi+b)}
      D \mathbf{D} D 中点到 h ( x ) h(\mathbf{x}) h(x) 距离的最小值,使得该 δ ∗ \delta^* δ 取到的数据点 x i \mathbf{x}_i xi 被称为支撑向量(可能不唯一)。

    • 标准超平面:对 ∀ h ( x ) = w T x + b \forall h(\mathbf{x})=\mathbf{w}^T\mathbf{x}+b h(x)=wTx+b,以及任意 s ∈ R ∖ { 0 } s\in \mathbb{R}\setminus \{0\} sR{0} s ( w T x + b ) = 0 s(\mathbf{w}^T\mathbf{x}+b)=0 s(wTx+b)=0 h ( x ) = 0 h(\mathbf{x})=0 h(x)=0 是同一超平面。

      x ∗ \mathbf{x}^* x 是支撑向量,若 s y ∗ ( w T x ∗ + b ) = 1   ( 1 ) sy^*(\mathbf{w}^T\mathbf{x}^*+b)=1\ (1) sy(wTx+b)=1 (1) ,则称 s h ( x ) = 0 sh(\mathbf{x})=0 sh(x)=0 是标准超平面。

      ( 1 ) (1) (1) 可得: s = 1 y ∗ ( w T x ∗ + b ) = 1 y ∗ h ( x ∗ ) s=\frac{1}{y^*(\mathbf{w}^T\mathbf{x}^*+b)}=\frac{1}{y^*h(\mathbf{x}^*)} s=y(wTx+b)1=yh(x)1

      此时,对于 s h ( x ) = 0 sh(\mathbf{x})=0 sh(x)=0 ,余量 δ ∗ = y ∗ h ( x ∗ ) ∥ w ∥ = 1 ∥ w ∥ \delta^*=\frac{y^*h(\mathbf{x}^*)}{\|\mathbf{w}\|}=\frac{1}{\|\mathbf{w}\|} δ=wyh(x)=w1

    事实:如果 w T x + b = 0 \mathbf{w}^T\mathbf{x}+b=0 wTx+b=0 是标准超平面,对 ∀ x i \forall \mathbf{x}_i xi ,一定有 y i ( w T x i + b ) ≥ 1 y_i(\mathbf{w}^T\mathbf{x}_i+b)\ge1 yi(wTxi+b)1

    21.2 SVM: 线性可分情形

    目标:寻找标准分离超平面使得其余量最大,即 h ∗ = arg ⁡ max ⁡ w , b { 1 w } h^*=\arg\max\limits_{\mathbf{w},b}\{\frac{1}{\mathbf{w}} \} h=argw,bmax{w1}

    转为优化问题:
    min ⁡ w , b   { ∥ w ∥ 2 2 } s.t.  y i ( w T x i + b ) ≥ 1 , ∀ ( x i , y i ) ∈ D

    minw,b {w22}s.t. yi(wTxi+b)1,(xi,yi)D" role="presentation">minw,b {w22}s.t. yi(wTxi+b)1,(xi,yi)D
    w,bmin {2w2}s.t. yi(wTxi+b)1,(xi,yi)D
    引入 Lagrange 乘子 α i ≥ 0 \alpha_i\ge0 αi0 与 KKT 条件:
    α i ( y i ( w T x i + b ) − 1 ) = 0 \alpha_i(y_i(\mathbf{w}^T\mathbf{x}_i+b)-1)=0 αi(yi(wTxi+b)1)=0
    定义:
    L ( w ) = 1 2 ∥ w ∥ 2 − ∑ i = 1 n α i ( y i ( w T x i + b ) − 1 )   ( 2 ) L(\mathbf{w})=\frac{1}{2}\|\mathbf{w}\|^2-\sum\limits_{i=1}^{n}\alpha_i(y_i(\mathbf{w}^T\mathbf{x}_i+b)-1)\ (2) L(w)=21w2i=1nαi(yi(wTxi+b)1) (2)

    ∂ ∂ w L = w − ∑ i = 1 n α i y i x i = 0   ( 3 ) ∂ ∂ b L = ∑ i = 1 n α i y i = 0   ( 4 )

    wL=wi=1nαiyixi=0 (3)bL=i=1nαiyi=0 (4)" role="presentation">wL=wi=1nαiyixi=0 (3)bL=i=1nαiyi=0 (4)
    wL=wi=1nαiyixi=0 (3)bL=i=1nαiyi=0 (4)

    将 (3)(4) 代入 (2) 得:
    L d u a l = 1 2 w T w − w T ( ∑ i = 1 n α i y i x i ⏟ w ) − b ∑ i = 1 n α i y i ⏟ 0 + ∑ i = 1 n α i = − 1 2 w T w + ∑ i = 1 n α i = ∑ i = 1 n α i − 1 2 ∑ i = 1 n ∑ j = 1 n α i α j y i y j x i T x j

    Ldual=12wTwwT(i=1nαiyixiw)bi=1nαiyi0+i=1nαi=12wTw+i=1nαi=i=1nαi12i=1nj=1nαiαjyiyjxiTxj" role="presentation">Ldual=12wTwwT(i=1nαiyixiw)bi=1nαiyi0+i=1nαi=12wTw+i=1nαi=i=1nαi12i=1nj=1nαiαjyiyjxiTxj
    Ldual=21wTwwT(w i=1nαiyixi)b0 i=1nαiyi+i=1nαi=21wTw+i=1nαi=i=1nαi21i=1nj=1nαiαjyiyjxiTxj
    故对偶问题为:
    max ⁡ α L d u a l = ∑ i = 1 n α i − 1 2 ∑ i = 1 n ∑ j = 1 n α i α j y i y j x i T x j s.t.  ∑ i = 1 n α i y i = 0 , α i ≥ 0 , ∀ i
    maxαLdual=i=1nαi12i=1nj=1nαiαjyiyjxiTxjs.t. i=1nαiyi=0,αi0,i" role="presentation">maxαLdual=i=1nαi12i=1nj=1nαiαjyiyjxiTxjs.t. i=1nαiyi=0,αi0,i
    αmaxLdual=i=1nαi21i=1nj=1nαiαjyiyjxiTxjs.t. i=1nαiyi=0,αi0,i

    利用二次规划解出 Dual: α 1 , ⋯   , α n \alpha_1,\cdots,\alpha_n α1,,αn

    代入 (3) 可得: w = ∑ i = 1 n α i y i x i \mathbf{w}=\sum\limits_{i=1}^{n} \alpha_{i} y_{i} \mathbf{x}_{i} w=i=1nαiyixi

    使得 α i > 0 \alpha_i>0 αi>0 的数据 x i \mathbf{x}_i xi 给出支撑向量。

    对于每一个支撑向量: y i ( w T x i + b ) − 1 ⇒ b = 1 y i − w T x i y_i(\mathbf{w}^T\mathbf{x}_i+b)-1\Rightarrow b=\frac{1}{y_i}-\mathbf{w}^T\mathbf{x}_i yi(wTxi+b)1b=yi1wTxi

    b = a v g α i > 0 { b i } b=\mathop{avg}_{\alpha_i>0}\{b_i\} b=avgαi>0{bi}


  • 相关阅读:
    600. 不含连续1的非负整数 动态规划
    Linux awk命令
    Nginx的概述和配置
    电脑提示msvcr120.dll丢失怎样修复
    前端vue异形轮播图案例(带源码)
    手机如何免费设置PDF区域高亮?
    win11取消文件夹分组
    聊聊logback的DynamicThresholdFilter
    简述JVM
    Jenkins持续集成
  • 原文地址:https://blog.csdn.net/yyywxk/article/details/127671966