24秋机器学习笔记-lec4

Last updated on October 16, 2024 3:17 PM

SVM

带不等式约束的优化问题

问题描述:minxf(x)\min_x f(x) s. t. g(x)0g(x)\le 0

  1. 同样地,对于任意在 g(x)=0g(x)=0 平面上的 xx,也一定有 $\nabla g(x) $ 垂直于平面,并且指向平面外。
  2. 对于一个局部最优解 xx^*
    • 若其在平面上,则 f(x)-\nabla f(x^*) 的方向必须与 g(x)\nabla g(x^*) 相同。

      该条件等价于 μ>0\exists \mu > 0,s. t. $\nabla f(x^)+ \mu \nabla g(x^)= 0 $。

    • 若在内部,已经满足约束 g(x)0g(x)\le 0,则只需要满足 f(x)=0\nabla f(x^*) = 0 即可。

      该条件等价于 μ=0\exists \mu = 0,s. t. λf(x)+μg(x)=0\lambda f(x^*) + \mu \nabla g(x^*) = 0。(为了跟上面凑成一样的形式)

    • 所以,可以归结成:
      • g(x)0g(x^*) \le 0
      • μ0\mu \ge 0
      • μg(x)=0\mu g(x^*) = 0(若 g(x)g(x) 的约束 active,则 g(x)=0,μ>0g(x) = 0,\mu>0,若 inactive,则 g(x)<0,μ=0g(x)<0,\mu = 0
      • f(x)+μg(x)=0\nabla f(x^*) + \mu \nabla g(x^*) = 0
    • 这四个条件称为 K. K. T. 条件,为必要条件

对其也可以定义拉格朗日方程:

L(x,μ)=f(x)+μg(x)L(x,\mu) = f(x) + \mu g(x)

K. K. T. 条件说明,若 xx^* 为局部最小值,则:

  • xL(x,μ)=f(x)+μg(x)=0\nabla_x L(x^*, \mu) = \nabla f(x^*) + \mu \nabla g(x^*) = 0
  • g(x)0g(x^*) \le 0
  • μ0\mu \ge 0
  • μg(x)=0\mu g(x^*) = 0

等式/不等式约束都有的优化问题

问题描述:minxf(x)\min_x f(x) s. t. hi(x)=0,i[k]h_i(x) = 0, \forall i \in [k]gj(x)0,j[l]g_j(x) \le 0, \forall j \in [l]

拉格朗日函数(其中 λ,μ\lambda,\mu 分别为 k,lk,l 维向量):

L(x,λ,μ)=f(x)+i[k]λihi(x)+j[l]μjgj(x)L(x, \lambda, \mu) = f(x) + \sum_{i \in [k]} \lambda_i h_i(x) + \sum_{j \in [l]} \mu_j g_j(x)

其 K. K. T. 条件:若 xx^* 为局部最小值,则必要条件为:

  • xL(x,λ,μ)=0\nabla_x L(x^*, \lambda, \mu) = 0(导数条件);
  • i[k]\forall i \in [k]hi(x)=0h_i(x^*) = 0 以及 j[l]\forall j \in [l]gj(x)0g_j(x^*) \le 0(可行性条件);
  • j[l]\forall j \in [l]μj0\mu_j \ge 0
  • j[l]\forall j \in [l]μjgj(x)=0\mu_j g_j(x^*) = 0(互补松弛条件)。

还是有不等式条件,所以不一定能从 K. K. T. 条件直接求出 candidate solutions。

SVM 原始形式推导

SVM 是一个线性分类器:f(x)=wTx+bf(x) = w^Tx + by{1,1}y \in \{-1,1\}(同样只是 index)。

回忆:数据点线性可分的时候逻辑回归无穷多解的情况。

SVM 有一个明确的准则选择“最好的”分隔超平面:寻找一个使得间隔(margin)最大的超平面。margin 被定义为数据点到超平面的最小距离(max-min problem)结构风险最小化(Structural Risk Minimization)

Margin 越小,泛化性越强,也更 robust to outliers。

而且一定在超平面两边都有至少一个(可以用调整法证明)能够支持这个超平面的点(称为 Support Vectors)

注意到,支持向量是直接决定分隔超平面的,但其他的点完全不会对支持向量的决策产生任何影响(对应表达式中的 inactive 约束)。

显然,xix_i 到超平面的距离为

di=wTx+bwd_i = \frac{|w^Tx+b|}{\left\| w \right\|}

推导?考虑垂足 x0x_0,则可以有

{x0+diww=xiwTx0+b=0\begin{cases} x_0+d_i\cdot \frac{w}{\left\| w \right\|} = x_i \\ w^Tx_0 + b = 0 \end{cases}

注意这里的 did_i 带有方向的含义,我们改用 γi\gamma_i 表示。上式左乘 wTw^T 即可配凑出 wTx0w^Tx_0,可以用 b-b 换掉,于是即推出

γi=wTxi+bw\gamma_i = \frac{w^T x_i+b}{\left\| w \right\|}

取绝对值即得到 did_i 的式子。

也可以用拉格朗日乘子法。

相当于我们需要 minx012xix02\displaystyle \min_{x_0} \frac{1}{2} \left\| x_i - x_0 \right\|^2 s. t. wTx0+b=0w^Tx_0 + b = 0

写出拉格朗日方程:

L(x0,λ)=12xix02+λ(wTx+b)L(x_0,\lambda) = \frac{1}{2}\left\| x_i - x_0 \right\|^2 + \lambda (w^Tx+b)

求偏导有

{(xix0)+λw=0xTx0+b=0\begin{cases} -(x_i - x_0) + \lambda w = 0\\ x^Tx_0 + b = 0 \end{cases}

类似地,上式左乘 wTw^T 可以解得 λ=wTxi+bw2\displaystyle \lambda = \frac{w^T x_i + b}{\left\| w \right\|^2}

回代,xix0=λw=wTxi+bw\left\| x_i - x_0 \right\| = |\lambda| \left\| w \right\| = \displaystyle \frac{|w^T x_i + b|}{\left\| w \right\|},与前面得到的结果一致。

事实上我们会更多关注 γi\gamma_i,因其带有方向信息。λi>0\lambda_i>0 代表点 xix_iwTx+b>0w^Tx+b>0 区域内,反之亦然。

定义

γiˉ=yiγi=yi(wTxi+b)w\bar{\gamma_i} = y_i \gamma_i = \frac{y_i(w^T x_i + b)}{\left\| w \right\|}

可以通过 γiˉ\bar{\gamma_i} 是否大于 00 判断一个点是否被正确分类(这里体现出一开始我们规定 yi{1,1}y_i \in \{-1,1\} 的好处),就不需要分类讨论正负类的 γi\gamma_i 大于还是小于 00 了。

而之前讨论的所谓 margin 就是

γ=mini[n]γiˉ\gamma = \min_{i \in [n]} \bar{\gamma_i}

于是,我们之前说过的优化问题就变为:maxw,bγ\displaystyle \max_{w,b} \gamma s. t. i[n]\forall i \in [n]γiˉγ\bar{\gamma_i} \ge \gamma

约束条件改写一下,变为:yi(wTxi+b)wγ\displaystyle \frac{y_i(w^Tx_i + b)}{\left\| w \right\|}\ge \gamma

对于支持向量们,一定有 γiˉ=γ\bar{\gamma_i} = \gamma。假设 x0x_0 是某个支持向量,则 y0(wTx0+b)w=γ\displaystyle \frac{y_0(w^Tx_0 + b)}{\left\| w \right\|} = \gamma,用该式子替换掉 γ\gamma,优化问题变为 maxw,by0(wTx0+b)w\displaystyle \max_{w,b} \frac{y_0(w^Tx_0+b)}{\left\| w \right\|} s. t. yi(wTxi+b)y0(wTx0+b)\displaystyle y_i(w^T x_i+b)\ge y_0(w^Tx_0+b)

y0(wTx0+b)y_0(w^Tx_0+b) 为 functional margin,w,bw,b 可以任意缩放使得其任意大或任意小(但这不影响 geometric margin)。

所以还不如直接令 y0(xTx0+b)=1y_0(x^Tx_0+b) = 1,某种程度上是种正则化。

所以优化的表达式变为 maxw,b=1w\displaystyle \max_{w,b} = \frac{1}{\left\| w \right\|} s. t. i[n]\forall i \in [n]yi(wTxi+b)1y_i(w^T x_i + b)\ge 1。等价于 minw,b12w2\displaystyle \min_{w,b} \frac{1}{2} \left\| w \right\|^{2}(该形式更方便进行求导),该形式称为 SVM 的原始形式(The Primal Form of SVM)

该形式强制令 functional margin = 1,yi(wTxi+b)1y_i(w^T x_i+b)\ge 1 而不是 0\ge 0 可以理解为要求所有的点到平面都有一个距离,以保证结构鲁棒性。

注意到这是一个二次规划(Quadratic Programming),有很多现成的标准包可以进行解决,具体的解决方法不在本节课的范围内。

剩余两个问题:

  • 不线性可分
  • 线性可分但是有使得 margin 过于小的 outlier

SVM 对偶形式(Dual Form of SVM)

考虑拉格朗日函数(习惯上用 α\alpha 而不是之前的 μ\mu

L(w,b,α)=12w2+i[n]αi(1yi(wTxi+b))L(w,b,\alpha) = \frac{1}{2}\left\| w \right\|^{2}+\sum_{i \in [n]} \alpha_i(1 - y_i(w^T x_i + b))

定义

p=minw,bmaxαi0L(w,b,α)p^* = \min_{w,b} \max_{\alpha_i \ge 0} L(w,b, \alpha)

Claim:pp^* 为 SVM 主形式的一个解。

相当于我们将带约束的 SVM 主形式变成了不带约束的双层优化问题。

证明:假设某些约束没有被满足,则 i\exists i 使得 1yi(wTxi+b)>01 - y_i(w^T x_i +b) > 0,则里层优化会让 αi+\alpha_i \to +\infty 进而使得 maxαi0L(w,b,α)+\displaystyle \max_{\alpha_i\ge 0}L(w,b,\alpha)\to +\infty,所以外层的优化一定会让所有约束得到满足进而避免这种趋于正无穷的情况。

而里层的优化会使得 αi=0\alpha_i = 0,所以最外层优化的就是我们需要的解。

这个形式可能不太好解,所以把他转换为对偶形式:

d=maxαi0minw,bL(w,b,α)d^* = \max_{\alpha_i\ge 0}\min_{w,b} L(w,b,\alpha)

弱对偶定理dpd^*\le p^*

证明:注意到 minw,bL(w,b,α)L(w,b,α),w,b\displaystyle \min_{w,b}L(w,b,\alpha)\le L(w,b,\alpha),\forall w,b,即 dmaxai0L(w,b,α),w,b\displaystyle d^*\le \max_{a_i\ge 0}L(w,b,\alpha),\forall w,b。所以 dminw,bmaxαi0L(w,b,α)=p\displaystyle d^*\le \min_{w,b}\max_{\alpha_i\ge 0}L(w,b,\alpha) = p^*

可以理解为两个人的博弈。最小的里面挑一个最大的一定小于等于在最大的里面挑一个最小的。

强对偶条件d=pd^*=p^*,则 strong duality holds. not in general,但是在 SVM 这里是成立的。

斯拉特条件(Slater’s Condition):当目标函数为凸,且约束为线性,则强对偶条件满足。(证明略)


24秋机器学习笔记-lec4
https://blog.imyangty.com/note-ml2024fall/lec4/
Author
YangTY
Posted on
October 9, 2024
Licensed under