Dual Support Vector Machine
Motivation of Dual SVM
-
非线性SVM:直接将 x \bold x x换成 z = Φ ( x ) \bold z = \Phi(\bold x) z=Φ(x)
-
QP问题处理 d ~ + 1 \tilde d + 1 d~+1个变量, N N N个约束
-
对偶问题,有 N N N个变量, N + 1 N + 1 N+1个约束,与转换的空间无关
-
利用拉格朗日乘子法,将所有的 λ \lambda λ视作未知参数,从而将有约束优化问题转换为无约束优化问题(实际上是把约束条件内含了)
L ( b , w , α ) = 1 2 w T w + ∑ n = 1 N α n ( 1 − y n ( w T z n + b ) ) \mathcal{L}(b, \bold w, \alpha) = \frac12 \bold w^{\mathrm{T}} \bold w + \sum_{n = 1}^N \alpha_n (1 - y_n(\bold w^{\mathrm{T}} \bold z_n + b)) L(b,w,α)=21wTw+n=1∑Nαn(1−yn(wTzn+b))
-
SVM实际上变成了 min b , w ( max α n ≥ 0 L ( b , w , α ) ) \min_{b, \bold w} (\max_{\alpha_n \ge 0} \mathcal L (b, \bold w, \alpha)) minb,w(maxαn≥0L(b,w,α))
- 对任何违反规则的点, y n ( w T z n + b ) < 1 y_n(\bold w^{\mathrm{T}} \bold z_n + b) \lt 1 yn(wTzn+b)<1,此时括号内最优化结果为无意义的正无穷(肯定找可行情形的值作为“最小值”)
- 对任何可行的点, y n ( w T z n + b ) ≥ 1 y_n(\bold w^{\mathrm{T}} \bold z_n + b) \ge 1 yn(wTzn+b)≥1,此时括号内的最佳情形为所有的 α \alpha α为0,目标回到 min 1 2 w T w \min \frac12 \bold w^{\mathrm{T}} \bold w min21wTw
Lagrange Dual SVM
- 拉格朗日对偶问题: min b , w ( max α n ≥ 0 L ( b , w , α ) ) ≥ max α ′ ≥ 0 ( min b , w L ( b , w , α ′ ) ) \min_{b, \bold w} (\max_{\alpha_n \ge 0} \mathcal L (b, \bold w, \alpha)) \ge \max_{\alpha^\prime \ge 0} (\min_{b, \bold w} \mathcal{L}(b, \bold w, \alpha^\prime)) minb,w(maxαn≥0L(b,w,α))≥maxα′≥0(minb,wL(b,w,α′))
- 最小化上界 -> 最大化下界
- 在QP问题中,可以在一定条件下将上述弱对偶问题转换为强对偶问题
- 原问题为凸
- 原问题可解
- 线性约束
- 强对偶关系下,两侧的结果一样
- 对偶形式:
max α n ≥ 0 ( min b , w 1 2 w T w + ∑ n = 1 N α n ( 1 − y n ( w T z n + b ) ) ) \max_{\alpha_n \ge 0} \left ( \min_{b, \bold w} \frac{1}{2} \bold w^{\mathrm{T}} \bold w + \sum_{n = 1}^N \alpha_n (1 - y_n(\bold w^{\mathrm{T}} \bold z_n + b)) \right ) αn≥0max(b,wmin21wTw+n=1∑Nαn(1−yn(wTzn+b)))
- 内部问题无约束,最优情形
- KaTeX parse error: Undefined control sequence: \part at position 7: \frac{\̲p̲a̲r̲t̲ ̲\mathcal L(b, \…
- 可以加入这个约束条件 ∑ n = 1 N α n y n = 0 \sum_{n = 1}^N \alpha_n y_n = 0 ∑n=1Nαnyn=0,并不影响最优解
- b b b可以被移除
max α n ≥ 0 , ∑ y n α n = 0 ( min w 1 2 w T w + ∑ n = 1 N α n ( 1 − y n ( w T z n ) ) ) \max_{\alpha_n \ge 0 ,\ \sum y_n \alpha_n = 0} \left ( \min_{\bold w} \frac{1}{2} \bold w^{\mathrm{T}} \bold w + \sum_{n = 1}^N \alpha_n (1 - y_n(\bold w^{\mathrm{T}} \bold z_n)) \right ) αn≥0, ∑ynαn=0max(wmin21wTw+n=1∑Nαn(1−yn(wTzn)))
- 内部问题仍然是无约束的,最优情形
- KaTeX parse error: Undefined control sequence: \part at position 7: \frac{\̲p̲a̲r̲t̲ ̲\mathcal L(b, \…
- 可解 w = ∑ n = 1 N α n y n z n \bold w = \sum_{n = 1}^N \alpha_n y_n \bold z_n w=∑n=1Nαnynzn
- 继续简化
max α n ≥ 0 , ∑ y n α n = 0 , w = ∑ α n y n z n − 1 2 ∥ ∑ n = 1 N α n y n z n ∥ 2 + ∑ n = 1 N α n \max_{\alpha_n \ge 0 ,\ \sum y_n \alpha_n = 0 ,\ \bold w = \sum \alpha_n y_n \bold z_n} -\frac{1}{2} \|\sum_{n = 1}^N \alpha_n y_n \bold z_n \|^2 + \sum_{n = 1}^N \alpha_n αn≥0, ∑ynαn=0, w=∑αnynznmax−21∥n=1∑Nαnynzn∥2+n=1∑Nαn
- KKT条件:
- 原问题可解 y n ( w T z n + b ) ≥ 1 y_n(\bold w^{\mathrm{T}} \bold z_n + b) \ge 1 yn(wTzn+b)≥1
- 对偶问题可解 α n ≥ 0 \alpha_n \ge 0 αn≥0
- 对偶问题的内部最优化 ∑ y n α n = 0 , w = ∑ α n y n z n \sum y_n \alpha_n = 0 ,\ \bold w = \sum \alpha_n y_n \bold z_n ∑ynαn=0, w=∑αnynzn
- 原为题的内部最优化 α n ( 1 − y n ( w T z n + b ) ) = 0 \alpha_n (1 - y_n(\bold w^{\mathrm{T}} \bold z_n + b)) = 0 αn(1−yn(wTzn+b))=0(最优情形下,拉格朗日项消失)——互补松弛性(两个部分至少一个为0)
Solving Dual SVM
- 硬间隔SVM对偶形式
min α 1 2 ∑ n = 1 N ∑ m = 1 M α n α m y n y m z n T z n − ∑ n = 1 N α n s.t. ∑ n = 1 N y n α n = 0 α n ≥ 0 , n = 1 , 2 , … , N \begin{aligned} \min_\alpha &\quad \frac12 \sum_{n = 1}^N \sum_{m = 1}^M \alpha_n \alpha_m y_n y_m \bold z_n^{\mathrm{T}} \bold z_n - \sum_{n = 1}^N \alpha_n \\ \operatorname{s.t.} &\quad \sum_{n = 1}^N y_n \alpha_n = 0 \\ &\quad \alpha_n \ge 0, n = 1, 2, \ldots, N \end{aligned} αmins.t.21n=1∑Nm=1∑MαnαmynymznTzn−n=1∑Nαnn=1∑Nynαn=0αn≥0,n=1,2,…,N
-
QP系数:
- q n , m = y n y m z n T z n q_{n, m} = y_n y_m \bold z_n^{\mathrm{T}} \bold z_n qn,m=ynymznTzn
- p = − 1 N \bold p = - \bold 1_N p=−1N
- a ≥ y , a ≤ − y , a n T = 第 n 个 单 位 向 量 \bold a \ge y, \bold a \le -y, \bold a_n^{\mathrm{T}} = 第n个单位向量 a≥y,a≤−y,anT=第n个单位向量
- c ≥ 0 , c ≤ 0 , c n = 0 c \ge 0, c\le 0, c_n = 0 c≥0,c≤0,cn=0
-
α > 0 \alpha > 0 α>0时, y n ( w T z n + b ) = 1 y_n(\bold w^{\mathrm{T}} \bold z_n + b) = 1 yn(wTzn+b)=1,此时样本点为SV
Messages behind Dual SVM
- 只认为 α > 0 \alpha > 0 α>0的样本点为SV
- 可以只用SV的信息计算 w \bold w w
- 使用任意一个SV计算 b b b
- 和PLA,SGD等类似,权重可以被数据表现出来
- 在SVM中, w \bold w w只需要使用SV表示出来