感知机到支持向量机2
2. 支持向量机SVM
2.1 简介
SVM是一种用于分类、回归等任务的算法,其关键创新是显式使用了凸优化、统计学理论与核函数。SVM和感知机一样属于有监督学习,对于线性可分的数据集,感知机可以找到无数个决策超平面正确划分样本,而SVM通过最大化决策边界在数据集上的间隔,即最大化决策边界到每侧最近数据点的距离,来获得一个最佳的决策超平面。
对于分类任务的线性可分情况,SVM可以分为线性可分支持向量机、线性支持训练集、非线性支持向量机。线性可分SVM又称为硬间隔SVM,适用于训练数据完全线性可分的情况,其通过硬间隔最大化方法,得到一个线性分类器;线性SVM又称为软间隔SVM,适用于训练数据不完全线性可分的情况,其通过软间隔最大化方法,同样得到一个线性分类器;非线性SVM适用于训练数据线性不可分的情况,其通过在软间隔最大化方法基础上使用核方法,得到非线性的分类器。
SVM是基于VC理论(统计学习理论分支)提出的模型。在机器学习中,模型拟合各种函数的能力称为“容量(capacity)”,模型容量的衡量方式为VC维度(VC Dimension)。VC维度是VC理论的一部分,是种用于衡量模型的容量和复杂性的指标,反映了模型在处理不同数据模式时的潜力,具体概念暂不做展开。模型的容量或者说复杂度,影响了模型的泛化能力,高容量模型能拟合更复杂的数据模式,可能导致模型出现过拟合现象;低容量模型复杂度较低,可能出现欠拟合现象。SVM提出的间隔最大化方法可以自动调整容量,最终得到决策边界只依赖于“支持模式(向量)”,支持向量是距离决策边界最近的样本。
通过leave-one-out method(一种交叉验证方法)评估最大化间隔的分类器的泛化误差界限,认为最大化间隔的分类器(如SVM)泛化误差界限可以通过支持向量的数量来估计:假设训练集中又 \(N\) 个样本,且得到的最大化间隔的决策边界对应 \(k\) 个支持向量,那么泛化误差的界限可以表示为 \(\dfrac{k}{N}\)。表明支持向量越多(相对于训练集数量),泛化误差界限越大,模型在新数据上的误差可能越大。
2.2 间隔
2.2.1 函数间隔
一般来说,一个样本点距决策超平面的远近可用表示分类预测的确信程度。我们通常习惯用欧式距离 \(d = \dfrac{|w^Tx_i + b|}{||w||}\) 度量距离,实际上当决策超平面 \(w^Tx+b=0\) 的 \(w,b\) 确定时,\(|w^Tx_i+b|\) 也可以相对的表示点 \(x_i\) 到决策超平面的远近。而如感知机中提到的,\(y_i\) 与 \((w^Tx_i+b)\) 的符号是否一致可以表示分类预测的准确性,因此综合考虑距离和符号,便有函数间隔:\(y_i(w^Tx_i+b)\),表示决分类的正确性与置信度。
函数间隔对于不同的对象定义不同:
- 单个样本点:定义超平面关于训练数据集中某个样本点 \((x_i, y_i)\) 的函数间隔为:\(y_i(w^Tx_i + b)\)
- 数据集:定义超平面关于数据集所有样本点的函数间隔为所有单个样本对应函数间隔中的最小值,即 \(\min_{i=1,\dots,N}{y_i(w^Tx_i + b)}\)
2.2.2 几何间隔
函数间隔可以表述分类预测的正确性和置信度,但其表示距离是相对的,当成比例的改变 \(w\) 和 \(b\),如 \(2w\) 和 \(2b\),此时超平面 \(2w^Tx + 2b = w^Tx + b = 0\) 未发生变化,但函数间隔却为原来的 2 倍 \(y_i(2w^Tx_i + 2b)\),\(w,b\) 尺度上的放缩使函数间隔变得不确定。
为了避免上述 \(w,b\) 的(同比例)放缩导致的函数间隔不确定现象,可以通过对超平面法向量 \(w\) 加以规范化约束,如令 \(||w||=1\),使间隔在确定的 \(w,b\) 尺度上表示,于是有几何间隔:\(\dfrac{y_i(w^Tx_i + b)}{||w||}\)
对于几何间隔,当同时放缩 \(w\) 和 \(b\),几何间隔固定不变:\(\dfrac{y_i(2w^Tx_i + 2b)}{||2w||}=\dfrac{y_i(w^Tx_i + b)}{||w||}\)
几何间隔对于不同的对象定义不同:
- 单个样本点:定义超平面关于训练数据集中某个样本点 \((x_i, y_i)\) 的函数间隔为:\(\dfrac{y_i(w^Tx_i + b)}{||w||}\)
- 数据集:定义超平面关于数据集所有样本点的函数间隔为所有单个样本对应函数间隔中的最小值,即 \(\min_{i=1,\dots,N}{\dfrac{y_i(w^Tx_i + b)}{||w||}}\)
SVM的基本思想就是最大化几何间隔后获取决策超平面。
3 硬间隔SVM
线性可分SVM和线性SVM假设输入空间和特征空间中的元素一一对应,将输入空间中的样本直接映射为特征空间中的特征向量。
硬间隔SVM,即线性可分SVM,目标是获取能够将线性可分训练数据集完全正确划分并且几何间隔最大的决策超平面。间隔最大化意味着决策超平面不仅能将训练样本正确开,且对于最难分的样本点(距离超平面最近)也能以较大的置信度对其分类。满足上述条件的超平面往往具有更好的泛化性能。
3.1 硬间隔最大化
对于训练数据集 \(T=\{(x_1,y_1),(x_2,y_2),\dots,(x_N,y_N)\},\;\;x_i\in\mathbb{R}^d,\;y\in\{+1,-1\},\;i=1,2,\dots,N\)
当训练数据集线性 \(T\) 可分时,可以通过硬间隔最大化获取最优决策边界 \(w^Tx + b = 0\),满足
① 正确划分所有训练样本,即 \(y_i(w^Tx_i + b) > 0\) (感知机的目标)
② 最大化关于整个训练数据集的几何间隔 \(M\):\(\max_{w,b} M\),其中 \(M=\min_{i = 1,2,\cdots,N}{\dfrac{y_i(w^Tx_i + b)}{||w||}},||w||=1\)
同时满足这两个条件的决策超平面只有一个,表示为优化问题:
所以这是一个极大极小问题:\(\max_{w,b,||w||=1}{\min_i{y_i(w^Tx_i + b)}}\)
注意到求解这个极大极小问题需要固定权向量 \(w\) 的范数,以在某个尺度约束下取得最优解。因为等比例缩放的 \(w,b\) 对应的几何间隔相等,决策边界相同,为取得唯一最优解,需要通过固定 \(||w||=1\) 来忽略 \(w,b\) 等比例缩放导致的等价解。
除了固定 \(||w||=1\),还可以固定间隔 \(M\) 与 \(||w||\) 的乘积:\(M||w||=1\),相当于固定 \(M\) 对应的函数间隔 \(M||w||=y_m(w^Tx_m + b)=1\)。于是 \(M=\dfrac{1}{||w||}\),最大化间隔 \(M\) 等价于最小化范数 \(||w||\),等价于最小化 \(\dfrac{1}{2}||w||^2\)(便于求导)。此时 \((3.1)\) 表示的优化问题简化为凸二次规划优化问题:
当样本从输入空间映射到特征空间过程便于表示和计算的情况下,可通过数值分析方法直接计算 \((3.2)\) 的解 \(w^*,b^*\),得到最大化间隔的决策超平面 \(w^* \cdot x + b^* = 0\) 和分类决策函数 \(f(x)=sign(w^* \cdot x + b^*)\)
3.2 支持向量和间隔边界
最大化间隔的决策超平面在训练集上具有最小间隔的样本点称为支持向量,决策超平面只依赖于支持向量。
由于最大化间隔过程中固定了 \(M||w||=y_m(w^Tx_m + b)=1\),所以可知支持向量 \(x_m\) 一定满足:\(y_m(w^{*T}x_m + b^*) = 1\)
对于 \(y_i = +1\) 的正例点,支持向量在超平面 \(H_1: w^{*T}x_i + b^* = 1\)
对于 \(y_i = -1\) 的正例点,支持向量在超平面 \(H_2: w^{*T}x_i + b^* = -1\)
\(H_1, H_2\) 称为间隔边界
支持向量到决策超平面的距离为:\(\dfrac{1}{||w^*||}\) (即几何间隔)
3.3 对偶问题
当样本从输入空间映射到特征空间过程涉及如高阶多项式这类高维度映射操作时,就无法直接通过数值计算。为了解决这个问题,需要在对偶空间分析求解原问题。约束优化问题通常利用拉格朗日对偶性将原始问题转换为对偶问题,通过求解对偶问题得到原始问题的最优解。
通过对偶算法还可以为SVM引入核函数,进而推广到非线性分类问题。
广义拉格朗日函数
假设 \(f_0(x), f_i(x), h_i(x)\) 是定义在 \(\mathbb{R}^d\) 上的连续可微函数,一般的约束优化问题都可以表示为如下形式:
对应的拉格朗日函数为:
其中 \(\alpha_i \ge 0\) 是第 \(i\) 个不等式约束的拉格朗日乘子,\(\beta_i\) 是等式约束的乘子。
拉格朗日对偶性与对偶问题
优化问题 \((3.3)\) 等价于拉格朗日函数的极小极大问题:
定义函数:\(\theta_p(x) = \max_{\alpha,\beta}{L(x,\alpha,\beta)}\) ,对于这个函数的取值有如下两种情况:
① 当 \(x\) 满足优化问题 \((3.3)\) 的约束条件:\(\max_{\alpha,\beta}{L(x,\alpha,\beta)} = f_0(x)\)
② 当 \(x\) 违反优化问题 \((3.3)\) 中至少一个约束条件,则存在 \(f_i(x)>0\) 或 \(h_i(x) \neq 0\),因此可以找到 \(\alpha \ge 0\) 或 \(\beta\) 使得 \(\max_{\alpha,\beta}{L(x,\alpha,\beta)} = +\infty\)
所以有:\(\theta_p(x) = \begin{cases} f_0(x), &\text{if ①} \\ +\infty, &\text{if ②} \end{cases}\)
因此优化问题 \(\min_x{\theta_p(x)}\) 等价于优化问题 \((3.3)\)(解相同)
因为 \(\min_x{\theta_p(x)} = \min_x{\max_{\alpha,\beta}{L(x,\alpha,\beta)}}\),所以优化问题 \((3.3)\) 等价于拉格朗日函数的极小极大问题
优化问题 \((3.3)\) 的对偶优化问题是拉格朗日函数的极大极小问题:
定义函数:\(\theta_D(\alpha,\beta) = \min_{x}{L(x,\alpha,\beta)}\)
所以优化问题 \((3.3)\) 的对偶优化问题定义为:\(\max_{\alpha,\beta}{\theta_D(\alpha,\beta)} = \max_{\alpha,\beta,\alpha\geq0} {\min_{x}{L(x,\alpha,\beta)}}\)
可以发现优化问题 \((3.3)\) 的对偶优化问题是拉格朗日函数的极大极小问题
所以原始优化问题 \((3.3)\) 的对偶优化问题可以表示为 \((3.4)\):
对任意一个优化问题,无论原始问题是否为凸优化问题,其对偶问题一定是凸优化问题。
强对偶性与弱对偶性
记原始优化问题 \((3.3)\) 目标函数最优值为 \(p^*=\min_{x}{\theta_p(x)}\),记其对偶问题 \((3.4)\) 目标函数最优值为 \(d^*=\max_{\alpha,\beta}{\theta_D(\alpha,\beta)}\)
定理:对于任意一个优化问题,若原始问题和对偶问题都有最优值,则弱对偶性成立,即 \(d^*\leq p^*\)
\(\begin{aligned} \text{证:} & \because \theta_D(\alpha,\beta) = \min_{x}{L(x,\alpha,\beta)} \leq L(x,\alpha,\beta) \leq \max_{\alpha,\beta}{L(x,\alpha,\beta)} = \theta_p(x) \\ & \therefore \theta_D(\alpha,\beta) \leq \theta_p(x) \\ & \therefore \max_{\alpha,\beta}{\theta_D(\alpha,\beta)} \leq \min_{x}{\theta_p(x)} \\ & \therefore d^*\leq p^*\end{aligned}\)
当凸优化问题满足Slater条件,\(d^* = p^*\) 成立,称强对偶性成立,此时对原始问题的求解可以通过求解相应的对偶问题得到
Slater条件与KKT条件
待补
3.4 硬间隔SVM的对偶方法
线性可分SVM的原始优化问题为 \((3.2)\):
-
因为 ① \(\dfrac{1}{2}||w||^2\) 是 \(w\) 的凸函数,\(1-y_i(w^Tx_i + b)\) 是 \(w\) 的仿射函数;② 原始问题的可行域非空
-
所以原始问题 \((3.2)\) 满足改进的Slater条件,强对偶性成立
-
所以KKT条件是最优性的重复必要条件
-
推导原始优化问题 \((3.2)\) 的对偶优化问题:
-
定义拉格朗日函数:\(L(w,b,\alpha) = \dfrac{1}{2}||w||^2 + \sum_{i=1}^N{\alpha_i(1-y_i(w^Tx_i + b))}\)
-
对偶优化目标函数:\(\theta_D(\alpha) = \min_{w,b}{L(w,b,\alpha)}\)
-
令 \(L(w,b,\alpha)\) 关于 \(w,b\) 偏导为 0 求解 \(\min_{w,b}{L(w,b,\alpha)}\):
\(\nabla_w L(w,b,\alpha)=0 \; \Longrightarrow \; w = \sum_{i=1}^N{\alpha_iy_ix_i}\)
\(\nabla_b L(w,b,\alpha)=0 \; \Longrightarrow \; \sum_{i=1}^N{\alpha_iy_i} = 0\)
-
回带拉格朗日函数得:
\(\theta_D(\alpha)=\dfrac{1}{2}\Big(\sum_{i=1}^N{\alpha_iy_ix_i}\Big)^T\Big(\sum_{i=1}^N{\alpha_iy_ix_i}\Big) + \sum_{i=1}^N{\alpha_i} - \Big(\sum_{i=1}^N{\alpha_iy_ix_i}\Big)^T\Big(\sum_{i=1}^N{\alpha_iy_ix_i}\Big) - \sum_{i=1}^N{\alpha_iy_ib}\)
-
整理得:
\(\theta_D(\alpha) = -\dfrac{1}{2}\sum_{i=1}^N \sum_{j=1}^N \alpha_i\alpha_jy_iy_jx_i^Tx_j + \sum_{i=1}^N \alpha_i\)
-
对偶优化目标是 \(\max_{\alpha,\beta}{\theta_D(\alpha,\beta)}\),由于 \({\arg \max}_\alpha{\theta_D(\alpha)}\) 等价于 \({\arg \min}_\alpha{-\theta_D(\alpha)}\),所以对偶优化问题表示为:
\[\begin{cases} \min_\alpha & \dfrac{1}{2}\sum_{i=1}^N \sum_{j=1}^N \alpha_i\alpha_jy_iy_jx_i^Tx_j - \sum_{i=1}^N \alpha_i \\ \text{s.t.} & \alpha_i \ge 0, \; i = 1,2,\cdots, N \\ & \sum_{i=1}^N{\alpha_iy_i} = 0 \end{cases} \tag{3.5} \] -
通过对偶问题的最优解获取原始问题最优解(利用KKT条件)
假设对偶问题最优解为 \(\alpha^* = (\alpha_1^*, \alpha_2^*,\dots,\alpha_N^*)\),由KKT条件:
\(\begin{cases}\nabla_w L(w^*,b^*,\alpha^*)=0 \; \Longrightarrow \; w^* = \sum_{i=1}^N{\alpha_i^*y_ix_i} \\ \nabla_b L(w^*,b^*,\alpha^*)=0 \; \Longrightarrow \; \sum_{i=1}^N{\alpha_i^*y_i} = 0 \\ \alpha_i^*(1-y_i({w^*}^T x_i + b^*))=0,i=1\cdots N & \text{对偶互补条件} \\ y_i({w^*}^T x_i + b^*) \geq 0,i=1\cdots N & \text{原始问题约束} \\ \alpha_i \geq 0,i=1\cdots N & \text{对偶问题约束} \end{cases}\)
根据上述KKT条件,最少有一个拉格朗日乘子 \(\alpha_j^* > 0\),因为若 \(\alpha=0\),则 \(w=0\),非可行解,产生矛盾;
所以由 \(\alpha_j^* \neq 0\),结合对偶互补条件可得 \(1-y_j({w^*}^T x_j + b^*)=0\),
因为 \(y_j^2=1\),等式两边同乘 \(y_j\):\(b^* = y_j-{w^*}^Tx_j=y_j-\sum_i^N{\alpha_i^*y_jx_i^Tx_j}\)
-
综上,由定理:若SVM对偶问题的最优解为 \(\alpha^* = (\alpha_1^*, \dots,\alpha_N^*)\),则存在 \(\alpha_j^* >0\),对应原始问题最优解:
\(w^* = \sum_{i=1}^N{\alpha_i^*y_ix_i},\;\;\; b^*=y_j-\sum_i^N{\alpha_i^*y_jx_i^Tx_j}\)

浙公网安备 33010602011771号