支持向量机 简单推导
时间: 2023-11-15 10:02:12 浏览: 35
支持向量机是一种二分类模型,其基本模型定义为特征空间上的间隔最大的线性分类器,其学习策略便是间隔最大化,可以通过求解凸二次规划问题来实现。下面是简单的推导过程:
假设训练数据集为$T={(x_1,y_1),(x_2,y_2),...,(x_N,y_N)}$,其中$x_i∈R^n$为特征向量,$y_i∈{-1,1}$为类别标记。线性可分支持向量机的基本模型为:
$$
f(x)=w^Tx+b
$$
其中,$w$为权值向量,$b$为偏置,$w$和$b$确定了分离超平面。对于输入空间中的任意点$x$,判定其类别的函数为:
$$
\operatorname{sign}(f(x))
$$
为了使得分类器能够正确分类训练数据集中的所有样本,需要满足以下约束条件:
$$
\begin{cases}
w^Tx_i+b\geq1, & y_i=1 \\
w^Tx_i+b\leq-1, & y_i=-1
\end{cases}
$$
即对于正样本,其函数间隔$w^Tx_i+b$应大于等于1;对于负样本,其函数间隔$w^Tx_i+b$应小于等于-1。将上述约束条件转化为:
$$
y_i(w^Tx_i+b)\geq1, i=1,2,...,N
$$
为了使得间隔最大化,需要最小化$w$的平方范数,即:
$$
\frac{1}{2}||w||^2
$$
于是,线性可分支持向量机的优化问题可以表示为:
$$
\min_{w,b}\frac{1}{2}||w||^2 \\
s.t. \quad y_i(w^Tx_i+b)\geq1, i=1,2,...,N
$$
这是一个凸二次规划问题,可以通过拉格朗日乘子法求解。最终得到的决策函数为:
$$
f(x)=\operatorname{sign}(\sum_{i=1}^N\alpha_iy_ix_i^Tx+b)
$$
其中,$\alpha_i$为拉格朗日乘子,满足$\alpha_i\geq0$,且$\sum_{i=1}^N\alpha_iy_i=0$。对于训练数据集中的样本点,若其对应的$\alpha_i>0$,则称其为支持向量。