【机器学习公式推导】SVM

【机器学习公式推导】SVM

本文旨在SVM相关公式推导

相关定义:

函数间隔

超平面和样本点 (x_i, y_i) 的函数间隔

\gamma_i = y_i (w \cdot x_i + b)

超平面关于训练数据集的函数间隔

\gamma = \min_{i=1,\dots,N} \gamma_i

几何间隔


超平面和样本点 (x_i, y_i) 的函数间隔

\gamma_i = y_i (\frac{w}{||w||} \cdot x_i + \frac{b}{||w||})

超平面关于训练数据集的函数间隔

\gamma = \min_{i=1,\dots,N} \gamma_i

支持向量

离超平面最近的点

间隔最大化

考虑如何求得几何间隔最大的分离超平面,得到如下约束最优化问题

\max_{w,b} \gamma \qquad(1.1)

s.t. \quad y_i(\frac{w}{||w||}\cdot x_i + \frac{b}{||w||}) \leq \gamma \qquad(1.2)

将几何间隔用函数间隔代替

\max_{w,b} \frac{\gamma'}{||w||}\qquad(1.3)

s.t. \quad y_i(w\cdot x_i + b) \leq \gamma' \qquad (1.4)

因为本身 \gamma' 的取值对对等式约束和优化没有影响,比如 \gamma' = \lambda \gamma' 时,取 w = \lambda w , b=\lambda b 目标函数(1.3)值未变,且约束函数满足,故不如将 \gamma' 设为1,且对\frac{1}{||w||}取最大值等价于对 \frac{1}{2} \cdot ||w||^2 取最小值,得到变换后的式子,然后约束改为对 w 的约束,使得对每个 w 的取值大于1,得到一个凸二次规划(有待学习)的问题

\min_{w, b} \frac{1}{2} \cdot ||w||^2 \qquad (1.5)

s.t. \quad y_i(w\cdot x_i + b) - 1 \geq 0 \qquad (1.6)

对最大间隔分离超平面存在唯一性的证明(暂时不写)

求解上述凸二次规划问题的对偶问题

构建拉格朗日函数,对每个不等式约束引入拉格朗日算子得到

L(w,b,\alpha) = \frac{1}{2}\cdot ||w||^2 - \sum_{i=1}^N \alpha_i y_i(w\cdot x_i + b) + \sum_{i=1}^{N}\alpha_i \quad (1.7)

因为根据对偶性,原始问题化为对偶问题,且满足KKT条件,原始问题的解等于对偶问题的解

\max_\alpha \min_{w, b} L(w, b,\alpha) \quad (1.8)

对于

开始(1.8)式求导

(1)\min_{w,b} L(w, b, \alpha)

\bigtriangledown_wL(w, b,\alpha) = w -\sum_{i=1}^N \alpha_iy_ix_i=0\\ \bigtriangledown_bL(w, b,\alpha) = - \sum_{i=1}^N\alpha_iy_i = 0

可得

w = \sum_{i=1}^N\alpha_iy_ix_i \quad (1.9)\\ \sum_{i=1}^N\alpha_iy_i = 0 \quad (1.10)

带入(1.7)可得

L(w,b,\alpha) = \frac{1}{2}\cdot \sum_{i=1}^N\sum_{j=1}^N\alpha_i\alpha_jx_ix_jy_iy_j-\sum_{i=1}^N\alpha_iy_i((\sum_{j=1}^N\alpha_jx_jy_j)\cdot x_i+b) + \sum_{i=1}^N\alpha_i \\ =-\frac{1}{2}\cdot \sum_{i=1}^N\sum_{j=1}^N\alpha_i\alpha_jy_iy_j(x_i\cdot x_j) + \sum_{i=1}^N\alpha_i

得到新约束

\max_\alpha\quad-\frac{1}{2}\cdot \sum_{i=1}^N\sum_{j=1}^N\alpha_i\alpha_jy_iy_j(x_i\cdot x_j) + \sum_{i=1}^N\alpha_i \\ s.t.\quad \sum_{i=1}^N\alpha_iy_i = 0,\alpha_i \geq0\quad (1.11)

(2)\max_{\alpha} L(w,b,\alpha)

转换(1.11)式 \min_\alpha\quad\frac{1}{2}\cdot \sum_{i=1}^N\sum_{j=1}^N\alpha_i\alpha_jy_iy_j(x_i\cdot x_j) -\sum_{i=1}^N\alpha_i \\ s.t.\quad \sum_{i=1}^N\alpha_iy_i = 0,\alpha_i \geq0\quad (1.11)

通过SMO算法(TODO)得到解 \alpha^* ,从而得到

w^* = \sum_{i=1}^N\alpha_i^*y_ix_i \quad (1.9)\\ b^* = y_i - \sum_{i=1}^N\alpha_i^*y_i(x_i\cdot x_j)

先写到这

编辑于 2020-04-11 08:50