SVM=LASSO?

  SVM和LASSO是机器学习里两个非常经典的模型,每个模型都有大量的文献进行研究。其中去年出版的这本书——《Regularization, Optimization, Kernels, and Support Vector Machines》的第一章证明了某些形式的SVM和LASSO其实是等价的,这里的“等价”是指给定一个SVM/LASSO的特例,可以将它们规约成一个LASSO/SVM的特例,归约前后的两个问题拥有相同的最优值,给定规约前问题的最优解,可以得到一个对应的规约后问题的最优解。因此这也启示我们,它们之间的一些方法可以共通,比如SVM里将线性拓展到非线性的核技巧(kernel trick)可以用到LASSO上,LASSO上各种预处理的screening rules也可以用到SVM上进行支持向量筛选等等。

  

  一、简介

  为了保持思路清晰,先给出结论,对偶问题可以表示成如下形式\begin{align} \label{pro: svm} \min_{\boldsymbol{x} \in \vartriangle} \ \ \|\boldsymbol{A} \boldsymbol{x}\|^2 \end{align}的SVM,其中$\vartriangle = \{ \ \boldsymbol{x} \in \mathbb{R}^m \ | \ \boldsymbol{x} \geq \boldsymbol{0} , \sum_i x_i = 1 \ \}$,与如下形式\begin{align} \label{pro: lasso} \min_{\boldsymbol{x} \in \blacklozenge} \ \ \|\boldsymbol{A} \boldsymbol{x} - \boldsymbol{b} \|^2 \end{align}的LASSO是等价的,其中$\blacklozenge = \{ \ \boldsymbol{x} \in \mathbb{R}^m \ | \ \|\boldsymbol{x}\|_1 \leq 1 \ \}$。

  首先,为何(\ref{pro: svm})式会是支持向量机呢?这个我们可以通过右图看出来,假设黄色区域为正类样本构成的凸包,蓝色区域为负类样本构成的凸包,那么SVM就是要找到间隔最大的两个支撑超平面将两类样本分开,也即红色的两根虚线。将负类样本以及负类的支撑超平面以原点做中心对称变换,那么负类样本的凸包就变到了灰色区域,两根支撑超平面也重合了,这时最大间隔就是原点到灰色区域与黄色区域构成的凸包的最短距离。

  因此若设数据集为$\{(\boldsymbol{x}_1, y_1), \cdots, (\boldsymbol{x}_m, y_m)\}, \boldsymbol{x}_i \in \mathbb{R}^d, y_i \in \{+1, -1\}$,记$\boldsymbol{A} = [y_1 \boldsymbol{x}_1, \cdots, y_m \boldsymbol{x}_m]$,那么灰色区域与黄色区域构成的凸包可写为\begin{align*} \boldsymbol{A} \boldsymbol{\alpha}, \boldsymbol{\alpha} \in \vartriangle \end{align*}显然求原点到此凸包的最短距离就是求解(\ref{pro: svm})式。

  其次,哪些形式的对偶问题可以表示成(\ref{pro: svm})式那样呢?从前面的论述可以看出,不带偏移项的硬间隔SVM(即分类超平面过原点)肯定是可以的,引理4.1证明了$l_2$-损失的软间隔SVM也是可以的,因为通过一些简单的变换可以把它变成硬间隔SVM。若想将偏移项也加上,只需将偏移项吸收进$\boldsymbol{w}$,同时给所有样本添加一维特征即可,虽然此时目标函数多了一项——偏移项的平方,但可以通过将样本添加的那一维特征设得很大,从而使得偏移项的平方变得很小,这样对目标函数的优化几乎不产生影响。

  关于LASSO,其约束一般写成$\|\boldsymbol{x}\|_1 \leq r$,其中$r$是用户预先指定的参数,但通过对矩阵$\boldsymbol{A}$的所有元素都乘以$r$即可将任意的LASSO写成(\ref{pro: lasso})式。

  最后对于(\ref{pro: svm})式,记$\boldsymbol{A} = [\boldsymbol{a}_1, \cdots, \boldsymbol{a}_m]$,注意$\boldsymbol{x} \in \vartriangle$,因此有\begin{align*} \boldsymbol{A} \boldsymbol{x} = \boldsymbol{A} \boldsymbol{x} + \boldsymbol{b} (\boldsymbol{1} ^\top \boldsymbol{x} -1) = [\boldsymbol{a}_1 + \boldsymbol{b}, \cdots, \boldsymbol{a}_m + \boldsymbol{b}] \boldsymbol{x} - \boldsymbol{b} = [\widetilde{\boldsymbol{a}}_1, \cdots, \widetilde{\boldsymbol{a}}_m] \boldsymbol{x} - \boldsymbol{b} = \widetilde{\boldsymbol{A}} \boldsymbol{x} - \boldsymbol{b} \end{align*}其中$\widetilde{\boldsymbol{a}}_i = \boldsymbol{a}_i + \boldsymbol{b}$,$\widetilde{\boldsymbol{A}} = [\widetilde{\boldsymbol{a}}_1, \cdots,\widetilde{\boldsymbol{a}}_m]$。因此每个(\ref{pro: svm})式的SVM都可以等价地转化成如下形式的一个伪LASSO:\begin{align*} \min_{\boldsymbol{x} \in \vartriangle} \ \ \|\widetilde{\boldsymbol{A}} \boldsymbol{x} - \boldsymbol{b} \|^2 \end{align*}于是剩下的就是说明真伪LASSO间如何相互转换。事实上,真变伪比较容易,伪变真就相当难了,这也是大师区别于我们菜鸟的地方,下面我们来看看大师的技巧。

  

  二、LASSO$\Rightarrow$SVM

  由前面的论述可知只需将真LASSO转化为伪LASSO就行了,注意它们之间唯一的区别就是可行域不同,因此如果能将$\blacklozenge$中的每个元素由$\vartriangle$中的元素表示出来,那问题就解决了。事实上,对于任意向量$\boldsymbol{x}_\blacklozenge \in \mathbb{R}^m$,存在$\boldsymbol{x}_\vartriangle \in\mathbb{R}^{2m}$使得\begin{align*} \begin{cases} \boldsymbol{x}_\blacklozenge = [\boldsymbol{I}_m, -\boldsymbol{I}_m] \boldsymbol{x}_\vartriangle \\ \boldsymbol{x}_\vartriangle \in \vartriangle_{2m} \end{cases} \end{align*}成立。注意这是$2m$个变量、$m+1$个方程构成的线性方程组,当$m \geq 1$时总有$2m \geq m+1$,也就是说这个方程组总是有解的。

  有了这个线性表示,则\begin{align*} \min_{\boldsymbol{x} \in \blacklozenge_m} \ \ \|\boldsymbol{A} \boldsymbol{x} - \boldsymbol{b} \|^2 =\min_{\boldsymbol{x} \in \vartriangle_{2m}} \ \ \|\boldsymbol{A} [\boldsymbol{I}_m, -\boldsymbol{I}_m] \boldsymbol{x} - \boldsymbol{b} \|^2 =\min_{\boldsymbol{x} \in \vartriangle_{2m}} \ \ \| [\boldsymbol{A}, -\boldsymbol{A}] \boldsymbol{x} - \boldsymbol{b} \|^2 \end{align*}这就将真LASSO化为了伪LASSO。

  于是对于一个给定的LASSO\begin{align*} \min_{\boldsymbol{x} \in \blacklozenge_m} \ \ \|\boldsymbol{A} \boldsymbol{x} - \boldsymbol{b} \|^2\end{align*}其中,$\boldsymbol{A} = [\boldsymbol{a}_1, \cdots, \boldsymbol{a}_m] \in \mathbb{R}^{d \times m}$,其等价的SVM为\begin{align*}\min_{\boldsymbol{x} \in \vartriangle_{2m}} \ \ \|\widetilde{\boldsymbol{A}} \boldsymbol{x} \|^2 \end{align*}其中$\widetilde{\boldsymbol{A}} = [\boldsymbol{a}_1 - \boldsymbol{b}, \cdots, \boldsymbol{a}_m - \boldsymbol{b}, -\boldsymbol{a}_1 - \boldsymbol{b}, \cdots, -\boldsymbol{a}_m - \boldsymbol{b}] \in \mathbb{R}^{d \times 2m}$。即对于$d$个$m$维样本的LASSO,其等价的是$2m$个$d$维样本的SVM。

  

  三、SVM$\Rightarrow$LASSO

  对于一个给定的SVM,记$\boldsymbol{A} = [\boldsymbol{a}_1, \cdots, \boldsymbol{a}_m] \in \mathbb{R}^{d \times m}$,由前面的论述可知只需将如下形式的伪LASSO\begin{align*} \min_{\boldsymbol{x} \in \vartriangle} \ \ \|\widetilde{\boldsymbol{A}} \boldsymbol{x} - \boldsymbol{b} \|^2 \end{align*}转化为真LASSO就行了,其中$\widetilde{\boldsymbol{A}} = [\widetilde{\boldsymbol{a}}_1, \cdots,\widetilde{\boldsymbol{a}}_m]$,$\widetilde{\boldsymbol{a}}_i = \boldsymbol{a}_i + \boldsymbol{b}$。为此必须证明\begin{align*} \mbox{argmin}_{\boldsymbol{x} \in \blacklozenge} \ \ \|\widetilde{\boldsymbol{A}} \boldsymbol{x} - \boldsymbol{b} \|^2 \in \vartriangle \end{align*}即$\min_{\boldsymbol{x} \in \blacklozenge} \ \ \|\widetilde{\boldsymbol{A}} \boldsymbol{x} - \boldsymbol{b} \|^2$ 的最优解只会在$\vartriangle$上取得。

  于是关键就是$\boldsymbol{b}$的设计,下面先从几何角度给出一个直观的解释,然后再给出严格证明。

  注意最小化$\|\widetilde{\boldsymbol{A}} \boldsymbol{x} - \boldsymbol{b} \|^2$其实就是求$\widetilde{\boldsymbol{A}} \boldsymbol{x}$和$\boldsymbol{b}$的最短距离。若限制$\boldsymbol{x} \in \vartriangle$,则$\widetilde{\boldsymbol{A}} \boldsymbol{x}$和$\boldsymbol{b}$的最短距离就是$\boldsymbol{A} \boldsymbol{x}$和原点的最短距离,因为前者是后者平移$\boldsymbol{b}$得到的。可行域扩展到$\blacklozenge$后,$\widetilde{\boldsymbol{A}} \blacklozenge$就是$\widetilde{\boldsymbol{A}} \vartriangle$与$-\widetilde{\boldsymbol{A}} \vartriangle$构成的凸包,因此要想此时离$\boldsymbol{b}$最近的点依然只属于$\widetilde{\boldsymbol{A}} \vartriangle$,必须使得$\boldsymbol{b}$和$-\widetilde{\boldsymbol{A}} \vartriangle$分别位于$\widetilde{\boldsymbol{A}} \vartriangle$的两旁。如下图所示,起初若设计$\boldsymbol{b}$使得它和$\boldsymbol{A} \vartriangle$分别位于原点的两旁,平移后使得$\widetilde{\boldsymbol{A}} \vartriangle$与$\boldsymbol{b}$位于原点的同一边($\boldsymbol{b}$离原点更远些),这样翻转$\widetilde{\boldsymbol{A}} \vartriangle$后得到的$-\widetilde{\boldsymbol{A}} \vartriangle$就落在了原点的另一边,显然它会离$\boldsymbol{b}$更远。
  具体来说,设某个分界面$\boldsymbol{w}$对应的最小间隔为$\sigma > 0$(注意这里不要求$\boldsymbol{w}$是最优分界面),即\begin{align*} \forall i, \ \boldsymbol{a}_i^\top \frac{\boldsymbol{w}}{\|\boldsymbol{w}\|} \geq \sigma \end{align*}再设$D$是球心在原点、包含整个$\boldsymbol{A} \vartriangle$的最小球半径,即对于任意$i$有$\|\boldsymbol{a}_i\| \leq D$,于是$\boldsymbol{b}$可设计如下\begin{align*} \boldsymbol{b} = - \frac{\boldsymbol{w}}{\|\boldsymbol{w}\|} \frac{D^2}{\sigma} \end{align*}注意$\boldsymbol{w}$代表了$\boldsymbol{A} \vartriangle$的大致方向,那么$\boldsymbol{b}$应该位于另一边,这就是$\boldsymbol{b}$ 取$-\boldsymbol{w}$作为方向的原因,至于为何平移距离为$D^2 / \sigma$,是为了后面证明的方便(平移距离的设计不是唯一的)。

  下面两个命题定义了“翻转”和“拉伸”两个操作,并证明了这两个操作可以使得目标函数值下降,因此结合这两个命题可知,虽然可行域是$\blacklozenge$,但最优解只可能属于$\vartriangle$。

  命题3.1[翻转] 对于任意$\boldsymbol{x}_\blacklozenge \in \blacklozenge$,若其某些维度为负,那么将这些维度取反可以使得$\|\widetilde{\boldsymbol{A}} \boldsymbol{x} - \boldsymbol{b} \|^2$的值更小。

  证明:设向量$\boldsymbol{\delta} = [\delta_1, \cdots, \delta_m]^\top$定义如下\begin{align*} \delta_i = \begin{cases} - (\boldsymbol{x}_\blacklozenge)_i & (\boldsymbol{x}_\blacklozenge)_i < 0 \\ 0 & (\boldsymbol{x}_\blacklozenge)_i \geq 0 \end{cases} \end{align*}易知$\boldsymbol{x}_\blacklozenge + \boldsymbol{\delta}$的效果就是把$\boldsymbol{x}_\blacklozenge$取负的维度变成$0$,从而使其属于$\blacktriangle = \{ \ \boldsymbol{x} \in \mathbb{R}^m \ | \ \boldsymbol{x} \geq \boldsymbol{0} , \sum_i x_i \leq 1 \ \}$,记取反后的向量为$\boldsymbol{x}_\blacktriangle$,显然$\boldsymbol{x}_\blacktriangle = \boldsymbol{x}_\blacklozenge + 2\boldsymbol{\delta}$。

  由$\|\boldsymbol{c}+\boldsymbol{d}\|^2 - \|\boldsymbol{c}\|^2 = 2 \boldsymbol{c}^\top \boldsymbol{d} + \boldsymbol{d}^\top \boldsymbol{d} = (2 \boldsymbol{c} + \boldsymbol{d})^\top \boldsymbol{d}$ 可知\begin{align*} \| \widetilde{\boldsymbol{A}} \boldsymbol{x}_\blacktriangle - \boldsymbol{b} \|^2 - \|\widetilde{\boldsymbol{A}} \boldsymbol{x}_\blacklozenge - \boldsymbol{b} \|^2 & = \| (\widetilde{\boldsymbol{A}} \boldsymbol{x}_\blacklozenge - \boldsymbol{b}) + \widetilde{\boldsymbol{A}} 2\boldsymbol{\delta} \|^2 - \| \widetilde{\boldsymbol{A}} \boldsymbol{x}_\blacklozenge - \boldsymbol{b} \|^2 \\ & = (2 (\widetilde{\boldsymbol{A}} \boldsymbol{x}_\blacklozenge - \boldsymbol{b}) + 2 \widetilde{\boldsymbol{A}} \boldsymbol{\delta})^\top 2 \widetilde{\boldsymbol{A}} \boldsymbol{\delta} \\ & = 4 (\widetilde{\boldsymbol{A}} (\boldsymbol{x}_\blacklozenge + \boldsymbol{\delta}) - \boldsymbol{b})^\top \widetilde{\boldsymbol{A}} \boldsymbol{\delta} \end{align*}注意$\boldsymbol{x}_\blacklozenge + \boldsymbol{\delta}, \boldsymbol{\delta} \in \blacktriangle$,由引理3.2知上式小于$0$。证毕。

  命题3.2[拉伸] 对于任意$\boldsymbol{x}_\blacktriangle \not \in \vartriangle$,通过线性拉伸使其属于$\vartriangle$可以使得$\|\widetilde{\boldsymbol{A}} \boldsymbol{x} - \boldsymbol{b} \|^2$ 的值更小。

  证明:设$\boldsymbol{x}_\vartriangle = (1 + \lambda) \boldsymbol{x}_\blacktriangle$,其中$\lambda > 0$使得$\boldsymbol{x}_\vartriangle \in \vartriangle$。同样由$\|\boldsymbol{c}+\boldsymbol{d}\|^2 - \|\boldsymbol{c}\|^2 = (2 \boldsymbol{c} + \boldsymbol{d})^\top \boldsymbol{d}$可知\begin{align*} \| \widetilde{\boldsymbol{A}} \boldsymbol{x}_\vartriangle - \boldsymbol{b} \|^2 - \| \widetilde{\boldsymbol{A}} \boldsymbol{x}_\blacktriangle - \boldsymbol{b} \|^2 & = \| \widetilde{\boldsymbol{A}} \boldsymbol{x}_\blacktriangle - \boldsymbol{b} + \widetilde{\boldsymbol{A}} \lambda \boldsymbol{x}_\blacktriangle \|^2 - \| \widetilde{\boldsymbol{A}} \boldsymbol{x}_\blacktriangle - \boldsymbol{b} \|^2 \\ & = (2 \widetilde{\boldsymbol{A}} \boldsymbol{x}_\blacktriangle - 2 \boldsymbol{b} + \lambda \widetilde{\boldsymbol{A}} \boldsymbol{x}_\blacktriangle)^\top \lambda \widetilde{\boldsymbol{A}} \boldsymbol{x}_\blacktriangle \\ & = 2 \lambda (\widetilde{\boldsymbol{A}} (1 + \lambda / 2) \boldsymbol{x}_\blacktriangle - \boldsymbol{b})^\top \widetilde{\boldsymbol{A}}\boldsymbol{x}_\blacktriangle \end{align*}注意$(1 + \lambda / 2) \boldsymbol{x}_\blacktriangle, \boldsymbol{x}_\blacktriangle \in \blacktriangle$,由引理3.2知上式小于$0$。证毕。

  在证明引理3.2前需要如下引理。

  引理3.1 对于给定的SVM,设某个分界面$\boldsymbol{w}$对应的最小间隔为$\sigma > 0$,那么$\boldsymbol{A} \blacktriangle$中的任意向量与$\boldsymbol{w}$的夹角小于$\arccos (\sigma / D)$;此外,对于任意与$\boldsymbol{w}$的夹角小于$\arcsin (\sigma / D)$ 的向量$\boldsymbol{v}$,其与$\boldsymbol{A} \blacktriangle$中任意向量的内积大于$0$。

  证明:记$\boldsymbol{A} = [\boldsymbol{a}_1, \cdots, \boldsymbol{a}_m]$,对于任意向量$\boldsymbol{\alpha} = [\alpha_1, \cdots, \alpha_m]^\top \in \blacktriangle$,由三角不等式易知有\begin{align*} \| \boldsymbol{A} \boldsymbol{\alpha} \| = \left\| \sum_{i=1}^m \alpha_i \boldsymbol{a}_i \right\| \leq \sum_{i=1}^m \alpha_i \| \boldsymbol{a}_i \| \leq D \sum_{i=1}^m \alpha_i \end{align*}又由最小间隔的定义知\begin{align*} (\boldsymbol{A} \boldsymbol{\alpha})^\top \frac{\boldsymbol{w}}{\|\boldsymbol{w}\|} =  \sum_{i=1}^m \alpha_i \boldsymbol{a}_i^\top \frac{\boldsymbol{w}}{\|\boldsymbol{w}\|} \geq \sigma \sum_{i=1}^m \alpha_i \end{align*}综上,\begin{align*} \frac{(\boldsymbol{A} \boldsymbol{\alpha})^\top}{\| \boldsymbol{A} \boldsymbol{\alpha} \|} \frac{\boldsymbol{w}}{\|\boldsymbol{w}\|} \geq \frac{\sigma \sum_{i=1}^m \alpha_i}{D \sum_{i=1}^m \alpha_i} = \frac{\sigma}{D} \end{align*}这就证明了$\boldsymbol{A} \blacktriangle$中的任意向量与$\boldsymbol{w}$的夹角小于$\arccos (\sigma / D)$。

  如右图所示,$\cos \alpha = \sigma / D$,因此与$\boldsymbol{w}$的夹角小于$\alpha$就是蓝色实线围成的锥,不妨记为$\mbox{cone}(\boldsymbol{w}, \alpha)$,而$\boldsymbol{A} \blacktriangle$是原点与$\boldsymbol{A} \vartriangle$围成的锥,显然后者属于前者。

  任意与$\boldsymbol{w}$的夹角小于$\arcsin (\sigma / D) = \pi/2 - \alpha$的向量构成的是红色虚线围成的锥,显然该锥中的任何向量$\boldsymbol{v}$与$\mbox{cone}(\boldsymbol{w}, \alpha)$中向量的夹角都小于$90^{\circ}$,故它们的内积大于$0$,特别地,$\boldsymbol{A} \blacktriangle \subseteq \mbox{cone}(\boldsymbol{w}, \alpha)$,所以$\boldsymbol{v}$与$\boldsymbol{A} \blacktriangle$中任意向量的内积大于$0$。证毕。

  引理3.2 对于某个给定的SVM,设其某个分界面$\boldsymbol{w}$对应的最小间隔为$\sigma > 0$,记$\boldsymbol{b} = - \frac{\boldsymbol{w}}{\|\boldsymbol{w}\|} \frac{D^2}{\sigma}$,那么对于任意向量$\boldsymbol{x}, \boldsymbol{\delta} \in\blacktriangle$有$(\widetilde{\boldsymbol{A}} \boldsymbol{x} - \boldsymbol{b})^\top (-\widetilde{\boldsymbol{A}} \boldsymbol{x}) > 0$,$\widetilde{\boldsymbol{A}}$和$D$的定义同前。

  证明:由引理3.1可知,只需证明$\widetilde{\boldsymbol{A}} \boldsymbol{x} - \boldsymbol{b} \in \mbox{cone}(\boldsymbol{w}, \alpha)$且$-\widetilde{\boldsymbol{A}} \boldsymbol{x} \in \mbox{cone}(\boldsymbol{w}, \pi/2 - \alpha)$即可。

  如右图所示,注意$\boldsymbol{b}$是$\boldsymbol{w}$的反向向量,因此是让整个圆进行反向平移,此时$\widetilde{\boldsymbol{A}} \boldsymbol{x} - \boldsymbol{b} \in \mbox{cone}(\boldsymbol{w}, \alpha)$是很显然的。平移的距离,即$\|\boldsymbol{b}\|$的长度$\frac{D^2}{\sigma}$,设置成这个值一是为了让$OC$成为圆$O‘$的切线,即让圆$O‘$属于黄色虚线围成的锥里,二是让这个锥成为$\mbox{cone}(\boldsymbol{w}, \pi/2 - \alpha)$的反向锥,显然$\widetilde{\boldsymbol{A}} \boldsymbol{x}$属于这个反向锥,故$-\widetilde{\boldsymbol{A}} \boldsymbol{x} \in \mbox{cone}(\boldsymbol{w}, \pi/2 - \alpha)$。证毕。

  

  四、附录

  引理4.1 不带偏移项的硬间隔SVM和$l_2$-损失的软间隔SVM的对偶问题都可以表示成(\ref{pro: svm})式的形式。

  证明:先证明结论对不带偏移项的硬间隔SVM成立,然后证明$l_2$-损失的软间隔SVM可以表示成不带偏移项的硬间隔SVM,这样就完成了对引理的证明。

  记数据集为$\{(\boldsymbol{x}_1, y_1), \cdots, (\boldsymbol{x}_m, y_m)\}, \boldsymbol{x}_i \in \mathbb{R}^d, y_i \in \{+1, -1\}$,不带偏移项的硬间隔SVM的原始形式为\begin{align*} \min_{\boldsymbol{w}, \rho} & \ \ \frac{1}{2} \|\boldsymbol{w}\|^2 - \rho \\ \mbox{s.t.} & \ \ y_i \boldsymbol{w}^\top \boldsymbol{x}_i \geq \rho, \ i = 1, \cdots, m \end{align*}引入Lagrange乘子$\boldsymbol{\alpha} = [\alpha_1, \cdots, \alpha_m]^\top$,于是
\begin{align*} L(\boldsymbol{w}, \rho, \boldsymbol{\alpha}) & = \frac{1}{2} \|\boldsymbol{w}\|^2 - \rho - \sum_{i=1}^m \alpha_i (y_i \boldsymbol{w}^\top \boldsymbol{x}_i - \rho) \\ \frac{\partial L(\boldsymbol{w}, \rho, \boldsymbol{\alpha})}{\partial \boldsymbol{w}} & = \boldsymbol{w} - \sum_{i=1}^m \alpha_i y_i \boldsymbol{x}_i = \boldsymbol{w} - \boldsymbol{A} \boldsymbol{\alpha} \\ \frac{\partial L(\boldsymbol{w}, \rho, \boldsymbol{\alpha})}{\partial \rho} & = \sum_{i=1}^m \alpha_i - 1 \end{align*}其中矩阵$\boldsymbol{A} = [y_1 \boldsymbol{x}_1, \cdots, y_m \boldsymbol{x}_m] \in \mathbb{R}^{d \times m}$,易知对偶问题为\begin{align*} \max_{\boldsymbol{\alpha} \in \vartriangle} \ \ -\frac{1}{2} \|\boldsymbol{A} \boldsymbol{\alpha}\|^2 \end{align*}显然这就是(\ref{pro: svm})式。

  $l_2$-损失的软间隔SVM的原始形式为\begin{align*} \begin{split} \min_{\boldsymbol{w}, \rho, \boldsymbol{\boldsymbol{x}i}} & \ \ \frac{1}{2} \|\boldsymbol{w}\|^2 - \rho + C \sum_{i=1}^m \boldsymbol{x}i_i^2 \\ \mbox{s.t.} & \ \ y_i \boldsymbol{w}^\top \boldsymbol{x}_i \geq \rho - \boldsymbol{x}i_i, \ i = 1, \cdots, m \end{split} \end{align*}记$\bar{\boldsymbol{w}}^\top = [\boldsymbol{w}^\top, \sqrt{2C}\boldsymbol{x}i_1, \cdots, \sqrt{2C}\boldsymbol{x}i_m]$,$\bar{\boldsymbol{x}}_i^\top = [\boldsymbol{x}_i^\top, y_i \boldsymbol{e}_i/\sqrt{2C}]$,其中$\boldsymbol{e}_i$是第$i$维为$1$其他维为$0$ 的$m$维向量,于是上式可重写为\begin{align*} \min_{\bar{\boldsymbol{w}}, \rho} & \ \ \frac{1}{2} \|\bar{\boldsymbol{w}}\|^2 - \rho \\ \mbox{s.t.} & \ \ y_i \bar{\boldsymbol{w}}^\top \bar{\boldsymbol{x}}_i \geq \rho, \ i = 1, \cdots, m \end{align*}显然这是一个不带偏移项的硬间隔SVM。证毕。

时间: 2024-10-27 12:37:16

SVM=LASSO?的相关文章

SVM -支持向量机原理详解与实践之三

SVM -支持向量机原理详解与实践之三 什么是核 什么是核,核其实就是一种特殊的函数,更确切的说是核技巧(Kernel trick),清楚的明白这一点很重要. 为什么说是核技巧呢?回顾到我们的对偶问题:     映射到特征空间后约束条件不变,则为:     在原始特征空间中主要是求,也就是和的内积(Inner Product),也称数量积(Scalar Product)或是点积(Dot Product),映射到特征空间后就变成了求,也就是和的映射到特征空间之后的内积,就如我前面所提到的在原始空间

笔记︱范数正则化L0、L1、L2-岭回归&amp;Lasso回归(稀疏与特征工程)

一.正则化背景 监督机器学习问题无非就是"minimizeyour error while regularizing your parameters",也就是在规则化参数的同时最小化误差.最小化误差是为了让我们的模型拟合我们的训练数据, 而规则化参数是防止我们的模型过分拟合我们的训练数据. 问题背景:参数太多,会导致我们的模型复杂度上升,容易过拟合. 作用: 1.约束参数,降低模型复杂度. 2.规则项的使用还可以约束我们的模型的特性.这样就可以将人对这个模型的先验知识融入到模型的学习当

Lasso Regression

Lasso Regression 标签(空格分隔): 监督学习 在数据挖掘和机器学习算法的模型建立之初,为了尽量的减少因缺少重要变量而出现的模型偏差问题,我们通常会尽可能的多的选择自变量.但是在实际建模的过程中,通常又需要寻找 对响应变量具有解释能力的自变量子集,以提高模型的解释能力与预测精度,这个过程称为特征选择. 还是考虑<线性回归>中的一般线性回归模型y=wTx,使用最小二乘估计(OLS)可以得到,模型的参数为: w=argminw∑i=1N(yi?wTxi)=(XTX)?1y 最小二乘

sklearn中的SVM

scikit-learn中SVM的算法库分为两类,一类是分类的算法库,包括SVC, NuSVC,和LinearSVC 3个类.另一类是回归算法库,包括SVR, NuSVR,和LinearSVR 3个类.相关的类都包裹在sklearn.svm模块之中. 对于SVC, NuSVC,和LinearSVC 3个分类的类,SVC和 NuSVC差不多,区别仅仅在于对损失的度量方式不同,而LinearSVC从名字就可以看出,他是线性分类,也就是不支持各种低维到高维的核函数,仅仅支持线性核函数,对线性不可分的数

汽车检测SIFT+BOW+SVM

整个执行过程如下:1)获取一个训练数据集. 2)创建BOW训练器并获得视觉词汇. 3)采用词汇训练SVM. 4)尝试对测试图像的图像金字塔采用滑动宽口进行检测. 5)对重叠的矩形使用非极大抑制. 6)输出结果. 该项目的结构如下: |-----car_detector|       |--detector.py| |--__init__.py| |--non_maximum.py| |--pyramid.py| |--sliding_window.py|-----car_sliding_wind

SVM与LR的比较

两种方法都是常见的分类算法,从目标函数来看,区别在于逻辑回归采用的是logistical loss,svm采用的是hinge loss.这两个损失函数的目的都是增加对分类影响较大的数据点的权重,减少与分类关系较小的数据点的权重.SVM的处理方法是只考虑support vectors,也就是和分类最相关的少数点,去学习分类器.而逻辑回归通过非线性映射,大大减小了离分类平面较远的点的权重,相对提升了与分类最相关的数据点的权重.两者的根本目的都是一样的.此外,根据需要,两个方法都可以增加不同的正则化项

在opencv3中利用SVM进行图像目标检测和分类

采用鼠标事件,手动选择样本点,包括目标样本和背景样本.组成训练数据进行训练 1.主函数 #include "stdafx.h" #include "opencv2/opencv.hpp" using namespace cv; using namespace cv::ml; Mat img,image; Mat targetData, backData; bool flag = true; string wdname = "image"; voi

SVM整理

SVM整理 Last modified: 2015.9.2 1.算法总结 支持向量机是Cortes和Vapnik于1995年首先提出的,它在解决小样本,非线性及高维模式识别中表现出许多特有的优势,并能够推广应用到函数拟合等其他机器学习问题中. SVM方法是建立在统计学习理论的VC维理论和结构风险最小原理基础上的,根据有限的样本信息在模型的复杂性(即对特定训练样本的学习精度)和学习能力(即无错误地识别任意样本的能力)之间寻求最佳折衷,以期获得最好的推广能力(或称泛化能力).   1.1进一步小结

支持向量机(SVM)算法

支持向量机(support vector machine)是一种分类算法,通过寻求结构化风险最小来提高学习机泛化能力,实现经验风险和置信范围的最小化,从而达到在统计样本量较少的情况下,亦能获得良好统计规律的目的.通俗来讲,它是一种二类分类模型,其基本模型定义为特征空间上的间隔最大的线性分类器,即支持向量机的学习策略便是间隔最大化,最终可转化为一个凸二次规划问题的求解. 具体原理: 1. 在n维空间中找到一个分类超平面,将空间上的点分类.如下图是线性分类的例子. 2. 一般而言,一个点距离超平面的