模型: 二类分类模型
3种支持向量机模型
线性可分支持向量机:硬间隔最大化+线性分类器
线性支持向量机:软间隔最大化+线性分类器
非线性支持向量机:核技巧+软间隔最大化
策略:形式化为求解凸二次规划问题
算法: 求解凸二次规划的最优化算法
线性可分支持向量机与硬间隔最大化
训练数据集
D={(x1,y1),(x2,y2)...(xn,yn)}
D
=
{
(
x
1
,
y
1
)
,
(
x
2
,
y
2
)
.
.
.
(
x
n
,
y
n
)
}
xi∈Rn,yi∈{+1,−1}
x
i
∈
R
n
,
y
i
∈
{
+
1
,
−
1
}
参数 w,b w , b 。
和感知机一样,学习的目标是在特征空间中寻找一个分离超平面。
感知机的策略是:误分类最小,解不唯一
线性可分SVM:间隔最大化,解唯一
一、 函数间隔与几何间隔
样本的函数间隔
训练集的函数间隔
函数间隔可以表示分类预测的正确性及确信度
符号为正表示分类正确;反之错误
数值越小,表示离超平面越近,该点的预测就不那么确信。
成比例的改变 w,b w , b ,超平面不变,函数间隔成倍的改变
样本的几何间隔
训练集的几何间隔
函数间隔和几何间隔的关系
几何间隔是有符号的,分类正确时才等于点到超平面的距离
二、硬间隔最大化
感知机中有无数的分离超平面,而哪一个才是最好的(泛化能力最强)?
SVM直观想法:离超平面最近的点尽可能的远离超平面
我们最关心的的是离超平面最近的点(最难分的点),如果超平面有足够大的确信度将他们分开,这个超平面应该对未知的新实例有很好的分类预测能力。
几何间隔最大的分离超平面可以表示为下面的约束最优化问题
由函数间隔和几何间隔的关系,得
缩放超平面的参数,函数间隔的取值是可以任意改变的,因此将最小的函数间隔取为1( γ^=1 γ ^ = 1 )
最大化 1||w|| 1 | | w | | 等价于最小化 12||w||2 1 2 | | w | | 2
线性可分支持向量机的最优化问题为
三、支持向量与间隔边界
支持向量: 训练集中离超平面最近的点(是使约束条件等号成立的点)
超平面
w⋅x+b=+1
w
⋅
x
+
b
=
+
1
和
w⋅x+b=−1
w
⋅
x
+
b
=
−
1
称为间隔边界。
在决定超平面时只有支持向量其作用。如果移动支持向量将改变所求解,但是如果在间隔边界以外移动其他点,甚至删去这些点,则解是不会改变的。
四、对偶算法
这部分需要先了解拉格朗日对偶,以下表述有部分不严谨
4.1、对偶算法一般步骤
1.把约束优化问题写成规范的原始问题(规范的原始问题的目标函数是最小化问题,不等式约束是小于等于)
2.引入拉格朗日乘子,构建拉格朗日函数L
3.求解对偶问题的解,L的极大极小问题,(先极小求偏导,再极大用SMO算法)
4.根据KKT条件得到原始问题解和对偶问题解的关系。
4.2、线性可分SVM应用对偶算法
1.公式(1)(2)已经是规范的原始问题
2.构建拉格朗日函数(引入拉格朗日乘子
αi≥0,i=1,2...n
α
i
≥
0
,
i
=
1
,
2...
n
,把约束问题写成无约束)
3.原始问题的解等价于先求拉格朗日函数对
α
α
求极大,再对
w,b
w
,
b
求极小。解是
w,b
w
,
b
。
原始问题 = L的极小极大问题
对偶问题的解等价于先求拉格朗日函数对
w,b
w
,
b
求极小,再对
α
α
求极大。解是
α
α
。
对偶问题 = L的极大极小问题
(1) 求 minw,bL(w,b,α) m i n w , b L ( w , b , α )
公式敲不动了,手写字真丑ヽ(`Д´)ノ︵ ┻━┻ ┻━┻
通过求导和回代就得到了
(2) 求 minw,bL(w,b,α) m i n w , b L ( w , b , α ) 对 α α 的极大,即对偶问题
对偶问题的解公式(3)-(5),可以通过SMO算法求解得到
4.原始问题解和对偶问题解的关系。
定理:目标函数和不等式约束是凸函数,等式约束是仿射函数,不等式约束是严格可执行的。
则 w,b w , b 和 α α 是原始问题和对偶问题的解的充要条件是 w,b w , b 和 α α 满足KKT条件。
KKT条件:
1.解的偏导=0,
2.解满足不等式约束,
3.解满足等式约束,
4.拉格朗日乘子大于等于0,
5. 对偶互补条件:拉格朗日乘子大于0时,解的不等式约束的等号成立
线性可分支持向量机的KKT条件
由第一个偏导得到
参数 b b 是根据对偶互补条件得到的。
如果每个都等于0,那么 w∗=0 w ∗ = 0 ,w^*=0不是原问题的解。所以至少有一个 α>0 α > 0
设存在下标 j j ,使得,互补条件知
y2j=1 y j 2 = 1 得
由公式(6)(7)知,
w∗,b∗
w
∗
,
b
∗
只依赖于训练数据集中
α∗>0
α
∗
>
0
的样本点(称这样的点为支持向量),而其他样本点对
w∗,b∗
w
∗
,
b
∗
没有影响。
根据互补条件知
α∗>0
α
∗
>
0
时
样本的函数间隔为1,这与之前定义的支持向量是一致的。
疑问??
1. 为什么KKT条件没有对 α α 求偏导
2. KKT条件中对b求偏导得到的公式,说明支持向量是成对的?
3. b的取值有多个吗?超平面不是唯一的吗