支持向量机

图来源:《机器学习》周志华 著

超平面用方程表示为
间隔(margin)。我们需要找到具有最大间隔的划分超平面,故得到:

1.问题求解:

(1)拉格朗日乘子法

定义拉格朗日函数

KKT条件为:

求极值,则令


得到:


代入消去和,得到原问题的对偶问题


由KKT条件得到:对于任意训练样本总有或,这就意味着当时,该样本并不会对产生而任何影响,当时,此时意味着训练样本在最大间隔的边界上,该样本点称之为支持向量。

(2)对偶问题求解:

**

2.核函数

假设样本线性可分,即存在一个超平面对样本进行分类。而实际任务中,样本往往是非线性可分。此时,我们将映射到高维特征空间,在特征空间中找到超平面使得样本线性可分,记为映射到高维特征空间所对应的特征向量。
因此,对应的模型可以表示为

实际只需要求解如下函数:


对偶问题为:


当特征空间维度很高时,计算困难,故定义核函数使得,
则对偶问题重写为:


求解该对偶问题得到

3.软间隔

图中红色样本是被分错的

前面介绍的支持向量机形式是要求所有样本均满足约束, 即所有样本都必须划分正确,这称为"硬间隔" (hard margin),而软间隔则是允许某些样本不满足约束。当然我们是希望这样不满足约束的样本越少越好。因此目标函数定义为
,其中

由于非凸、非连续,常用其他损失函数替代,如下图所示:

三种常见的替代损失函数:hinge损失,指数损失,对率损失

采用hinge损失得到:

引入松弛变量得到:

软间隔支持向量机




采用拉格朗日乘子法
,求极值,令



带入L得到原问题的对偶问题为:



KKT条件要求:

由此可得:

对于任意,当时, 该样本不会对产生任何影响;当时,必有,此时该样本是支持向量。当时,,则,此时样本处于最大间隔边界上,当时,,则;若,样本被错误分类;若,样本落在最大间隔内部。
软间隔支持向量机模型仅与支持向量有关。

4.支持向量回归

(1)考虑与最多允许有的误差
(2)构建宽度为的间隔带,如图:

落入间隔带的样本被认为是预测正确的

目标函数:


可允许间隔带两侧的松弛程度有所不同,故引入松弛变量
,得到SVR问题:




拉格朗日乘子法


,求极值,令




代入L,得到SVR的对偶问题:




KKT条件为:
\begin{cases} \alpha_i(f(x_i)-y_i-\varepsilon-\xi_i)=0 \\ \overset{\wedge}{\alpha}_i(y_i-f(x_i)-\varepsilon-\overset{\wedge}{\xi}_i)=0 \\ \alpha_i \overset{\wedge}{\alpha}_i=0,\xi\overset{\wedge}{\xi}_i=0\\(C-\alpha_i)\xi=0,(C-\overset{\wedge}{\alpha}_i)\overset{\wedge}{\xi}_i=0 \end{cases}

当且仅当,为非零;当且仅当,为非零.换言之,样本没有落在-间隔带时,和为非零。此外,和不能同时成立。因此,和至少有一个为零。
由可知,只有非零时,为SVR的支持向量,且落在-间隔带之外。落在-间隔带中的样本,满足

5.支持向量机与KNN

**

你可能感兴趣的:(支持向量机)