支持向量机(5):核logistic回归

| 研究学术  | 机器学习基础  核方法  回归  支持向量机 
4种形式的支持向量机
图 1: 4种形式的支持向量机 [PNG]

支持向量机的正则化形式

回顾soft-margin支持向量机,当违反边界的时候$\xi_n=1-y_n\left(\mathbf w^T\mathbf z_n + b\right)$,当没有违反边界的时候$\xi_n = 0$,边界违法的情况可以统一定义为$\xi_n=\max\left(1-y_n\left(\mathbf w^T\mathbf z_n + b\right), 0\right)$,于是无约束形式的soft-margin支持向量机为 \begin{equation} \min\limits_{b,\mathbf w}\left({1\over 2}\mathbf w^T\mathbf w + C\sum_{n=1}^N\max\left(1-y_n\left(\mathbf w^T\mathbf z_n + b\right), 0\right)\right), \label{eq:uniform-soft-margin-svm} \end{equation} 可以简写为 \[ \min\limits_{b,\mathbf w}\left({1\over 2}\mathbf w^T\mathbf w + C\sum\widehat{\mbox{err}}\right)。 \] 这是目标函数的正则化形式表示方法,soft-margin可以看作一种特殊的误差$\widehat{\mbox {err}}$度量。$L_2$正则化是对$\mathbf w$长度的约束 \[ \min\limits_{b,\mathbf w}\left({\lambda\over N}\mathbf w^T\mathbf w + {1\over N}\sum\mbox{err}\right)。 \]

SVM与正则化
图 2: SVM与正则化 [PNG]

加入了大分类的边界限制,可以得到更少的分类情况,也可以通过$L_2$正则化实现。 从上图对比正则化方法可知,支持向量机可以看作为特殊的正则化方法。大的$C$,对应于小的$\lambda$,更弱的正则化。

误差度量

令线性项输出$s=\mathbf w^T\mathbf z_n + b$,感知器算法、支持向量机和logistic回归的误差度量为 \begin{equation} \left\{ \begin{aligned} err_{0/1}(s, y)&=[[\mbox{sign}(ys)\neq 1]]\\ \widehat{err}_{SVM}(s, y)&=\max(1-ys, 0)\\ err_{SCE}(s, y)&=\log(1+\exp(-ys))。 \end{aligned} \right. \end{equation}

误差度量比较
图 3: 误差度量比较 [PNG]

几种误差曲线对比如上图所示。其中,支持向量机的这种误差度量方式通常称为hinge error measure。支持向量机和logistic回归的误差是0/1误差的上界,对于分类问题,通过上界的最小化,间接做好0/1误差的最优化。从误差曲线还可以看出,支持向量机和$L_2$正则化的logistic的误差度量非常相似。这几种分类器的比较如下:

算法 优化方法 优势 劣势
感知器算法 最小化$err_{0/1}$ 线性可分时效率较高 只适用线性可分,否则采用pocket算法
soft-margin支持向量机 QP最小化误差$err_{SVM}$ 容易优化,理论基础较好 对于负值很大的误差,是$err_{0/1}$很松的上界
正则化logistic回归 GD/SGD最小化误差$err_{SCE}$ 容易优化,正则化控制模型 对于负值很大的误差,是$err_{0/1}$很松的上界

从比较可以看出,logistic回归是soft-margin支持向量机的近似。

支持向量机的概率模型

如何让支持向量机输出$[0,1]$之间的概率?

一种思路是将支持向量机的参数$\mathbf w_{SVM}$和$b_{SVM}$作为logistic回归中线性判别部分的参数 $ g(\mathbf x) = \theta\left(\mathbf w_{SVM}^T\mathbf x + b_{SVM}\right) $, 直接利用支持向量机和logistic回归。这在实际应用中表现尚佳,但丧失了logistic回归的优良特性(比如maxmum likehood)。

另一种思路将向支持向量机的参数$\mathbf w_{SVM}$和$b_{SVM}$当作logistic的起始点,最终得到logistic回归模型。这和直接利用logistic结果差不多,还丧失了支持向量机核方法等优良特性。

如何融合支持向量机和logistic回归的优点?

组合logistic回归和支持向量机 \begin{equation} g(\mathbf x) = \theta\left(A\left(\mathbf w_{SVM}^T\mathbf \Phi(\mathbf x) + b_{SVM}\right)+B\right), \label{eq:mixture-svm-logistic-model} \end{equation} 这样既融合了支持向量机的核特性,又通过$A$和$B$两个自由度调节分类超平面适合最大似然。如果$A>0$,表示支持向量机得到的$\mathbf w_{SVM}$较好;如果$B\approx 0$,表示支持向量机得到的$b_{SVM}$较好。新的logistic问题就变为了 \begin{equation} \min_{A, B}{1\over N}\sum_{n=1}^N\log\left(1+\exp\left(-y_n\left(A\left(\mathbf w_{SVM}^T\mathbf \Phi(\mathbf x_n) + b_{SVM}\right)+B\right)\right)\right), \end{equation} 该模型可以分为2阶段,首先利用支持向量机得到1维特征,然后采用简单的logistic模型,这称为支持向量机的Platt概率模型

  1. 先在数据集上$\mathcal D$上利用支持向量机得到模型参数$\mathbf w_{SVM}$和$b_{SVM}$(或者$\boldsymbol\alpha$),再进行变换$\mathbf z’_n=\mathbf w_{SVM}^T\mathbf \Phi(\mathbf x_n) + b_{SVM}$;
  2. 在$\{\left(\mathbf z’_n, y_n\right)\}_{n=1}^N$上得到logistic模型的参数$A,B$;
  3. 将公式\eqref{eq:mixture-svm-logistic-model}的结果作为模型输出。

从模型可以看出,这并不是严格的$\mathcal Z$空间logistic回归。

核logistic回归

最佳的$\mathbf w$是$\mathbf z_n$的线性组合,这是能使用核方法的关键。

从SGD来看,logistic回归的$\mathbf w$也是$\mathbf z_n$的线性组合 \[ \mathbf w_{LOGREG}=\sum_{n=1}^N\left(\alpha_ny_n\right)\mathbf z_n。 \]

####表示定理(representer theorem)

对任意的$L_2$正则化线性模型
\begin{equation*} \min_{\mathbf w}\left({\lambda\over N}\mathbf w^T\mathbf w+{1\over N}\sum_{n=1}^Nerr\left(y_n,\mathbf w^T\mathbf z_n\right)\right), \end{equation*} 存在能用$\mathbf z_n$线性表示的最佳解$\mathbf w_*=\sum_{n=1}^N\beta_n\mathbf z_n$。

任意$L_2$正则化的线性模型都能使用核方法。$L_2$正则化的logistic回归优化模型为 \[ \min_{\mathbf w}\left({\lambda\over N}\mathbf w^T\mathbf w+{1\over N}\sum_{n=1}^N\log\left(1+\exp\left(-y_n\mathbf w^T\mathbf z_n\right)\right)\right)。 \] 由上述定理可知,最佳$\mathbf w$一定是$\mathbf z_n$的线性组合。直接将用$\mathbf z_n$表示的$\mathbf w$代入上式,再用核方法表示,可以得到基于$L_2$正则化的核logistic回归优化模型 \begin{equation} \min_\beta\left({\lambda\over N}\sum_{n=1}^N\sum_{m=1}^N\beta_n\beta_mK(\mathbf x_n,\mathbf x_m)+{1\over N}\sum_{n=1}^N\log\left(1+\exp\left(-y_n\sum_{m=1}^N\beta_mK(\mathbf x_m,\mathbf x_n)\right)\right)\right), \end{equation} 这是无约束最优化问题,GD/SGD等都可求解。与支持向量机不同,KLR的大部分$\beta_n\neq 0$。


打赏作者


上一篇:支持向量机(4):soft-margin支持向量机     下一篇:支持向量机(6):支持向量回归