作者:非妃是公主
专栏:《机器学习》
个性签:顺境不惰,逆境不馁,以心制境,万事可成。——曾国藩
专栏地址
专栏系列文章
线性支持向量机
支持向量机(Support Vector Machine, SVM)不仅具有坚实的统计学理论基础,还可以很好地应用于高维数据、避免维度灾难问题,已经成为一种倍受关注的机器学习分类技术。
直观上看应该去找位于两类训练样本"正中间"的划分超平面,即B1,因为该划分超平面对训练样本局部扰动的"容忍押性最好,由于训练集的局限性或噪声的因素,训练集外的样本可能比图中的训练样本更接近两个类的分隔界,这将使许多划分超平面出现错误,而红色的超平面受影响最小.换言之,这个划分超平面所产生的分类结果是最鲁棒的,对未见示例的泛化能力最强.
假设决策边界能将训练样本正确分类,即对于任意样本点
(
x
i
,
y
i
)
(x_i,y_i)
(xi,yi) :若有
y
i
=
+
1
y_i=+1
yi=+1 ,则有
ω
T
x
i
+
b
>
0
\omega^\mathrm{T}x_i+b>0
ωTxi+b>0 ;若
y
i
=
−
1
y_i=-1
yi=−1,则有
ω
T
x
i
+
b
<
0
\omega^\mathrm{T}x_i+b<0
ωTxi+b<0。那么通过调整决策边界的参数
ω
\omega
ω和
b
b
b
总可以得到:
{ ω T x i + b > 0 y i = + 1 ω T x i + b < 0 y i = − 1 \begin{cases} \omega^\mathrm{T}x_i+b>0& y_i=+1\\ \omega^\mathrm{T}x_i+b<0& y_i=-1 \end{cases} {ωTxi+b>0ωTxi+b<0yi=+1yi=−1
推导如下:主要就是以下两张图所含内容(参考链接:【数之道】支持向量机SVM是什么,八分钟直觉理解其本质)
求解最大间隔对应的
w
和
b
w和b
w和b:
转化为优化问题:
由于目标函数是二次的,并且约束条件在参数
ω
\omega
ω和
b
b
b上是线性的,因此线性支持向量机的学习问题是一个凸二次优化问题,可以直接用现成的优化计算包求解,或者用更高效的拉格朗日乘子法求解。
线性SVM假定训练样本是线性可分的,即存在一个线性的决策边界能将所有的训练样本正确分类。
非线性支持向量机
然而在实际应用中,在原始的样本空间内也许并不存在这样的决策边界。
对于这样的问题,可将样本从原始空间映射到一个更高维的特征空间,使得样本在映射后的特征空间内线性可分。
例如在下图中,如果将原始的二维空间映射到一个合适的三维空间,就能找到一个合适的划分超平面。幸运的是,如果原始空间是有限维, 即属性数目有限,那么一定存在一个更高维的特征空间使得样本线性可分。
以上就是支持向量机的基本原理,对偶优化问题数学理论性较强,比较复杂,尚未理解清楚,此处省略,后续补充。