美文网首页
[Stay Sharp]SVM基础

[Stay Sharp]SVM基础

作者: 三千雨点 | 来源:发表于2018-12-23 18:03 被阅读2次

引入

场景

对于给定的训练样本集D = \left\{ \left( \boldsymbol { x } _ { 1 } , y _ { 1 } \right) , \left( \boldsymbol { x } _ { 2 } , y _ { 2 } \right) , \ldots , \left( \boldsymbol { x } _ { m } , y _ { m } \right) \right\} , y _ { i } \in \{ - 1 , + 1 \}, 分类学习最基本的想法便是找到一个划分超平面将训练集中不同类别的样本分开。 对于一个样本集,会存在多个划分超平面。

image.png

为了让划分超平面的泛化能力最强,应该选择两类训练样本“正中间”的超平面,因为它距离两类训练样本最靠近超平面的样本都“较远”,对抗“扰动”能力最强。

如何找到这个离最近分类点都“较远”的超平面?

首先,超平面可以使用线性方程来表示

\boldsymbol { w } ^ { \mathrm { T } } \boldsymbol { x } + b = 0
其中\boldsymbol { w } = \left( w _ { 1 } ; w _ { 2 } ; \ldots ; w _ { d } \right)是法向量,决定了超平面的方向;b是位移,指超平面和原点之间的距离。
样本中的点x到超平面的距离是
r = \frac { \left| \boldsymbol { w } ^ { \mathrm { T } } \boldsymbol { x } + b \right| } { \| \boldsymbol { w } \| }
假如超平面将样本正确分类,由于超平面上的点都满足\boldsymbol { w } ^ { \mathrm { T } } \boldsymbol { x } _ { i } + b = 0, 超平面两侧的点一边<0, 另一边>0。 假如对于样本集D = \left\{ \left( \boldsymbol { x } _ { 1 } , y _ { 1 } \right) , \left( \boldsymbol { x } _ { 2 } , y _ { 2 } \right) , \ldots , \left( \boldsymbol { x } _ { m } , y _ { m } \right) \right\} , y _ { i } \in \{ - 1 , + 1 \}中的样本

\left\{ \begin{array} { l l } { \boldsymbol { w } ^ { \mathrm { T } } \boldsymbol { x } _ { i } + b > 0 , } & { y _ { i } = + 1 } \\ { \boldsymbol { w } ^ { \mathrm { T } } \boldsymbol { x } _ { i } + b < 0 , } & { y _ { i } = - 1 } \end{array} \right.
w和b进行缩放变换,能得到:

\left\{ \begin{array} { l l } { \boldsymbol { w } ^ { \mathrm { T } } \boldsymbol { x } _ { i } + b \geqslant + 1 , } & { y _ { i } = + 1 } \\ { \boldsymbol { w } ^ { \mathrm { T } } \boldsymbol { x } _ { i } + b \leqslant - 1 , } & { y _ { i } = - 1 } \end{array} \right.
使得上述等号成立的样本点是样本中离超平面最近的点,这样的点被称为“支持向量”(support vector), 不同类的支持向量到超平面的距离之和被称为“间隔”(margin),公式是:

\gamma = \frac { 2 } { \| \boldsymbol { w } \| }
我们为了找到离最近样本都“较远”的超平面,就是找到具有“最大间隔”(maximum margin)的划分超平面。

\max _ { \boldsymbol { w } , b } \frac { 2 } { \| \boldsymbol { w } \| }
\text { s.t. } y _ { i } \left( \boldsymbol { w } ^ { \mathrm { T } } \boldsymbol { x } _ { i } + b \right) \geqslant 1 , \quad i = 1,2 , \ldots , m
所以只需要最大化\| \boldsymbol { w } \| ^ { - 1 },也就是最小化\| \boldsymbol { w } \| ^ { 2 },所以上面的公式可以变为

\min _ { \boldsymbol { w } , b } \frac { 1 } { 2 } \| \boldsymbol { w } \| ^ { 2 }
\text { s.t. } y _ { i } \left( \boldsymbol { w } ^ { \mathrm { T } } \boldsymbol { x } _ { i } + b \right) \geqslant 1 , \quad i = 1,2 , \ldots , m
所以,我们最终是求解最小化的\| \boldsymbol { w } \| ^ { 2 }

参考

周志华《机器学习》

相关文章

网友评论

      本文标题:[Stay Sharp]SVM基础

      本文链接:https://www.haomeiwen.com/subject/tjinkqtx.html