SVM分类器中的最优化问题
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
s.t.
������ ������ =1 ������������
������ =1
������������ ������������ ������������
=
������ ������ =1 ������������
−2
1
������ ������ =1
������ ������ =1 ������������
������������ ������������ ������������ ������������ ������ ������������ (3.13)
1
||ωT ||
,即
三、 从原始问题到对偶问题及求解。
原规划即:
1
max
(3.2) 由于求
1 1
||ω ||
T
(3.1)s.t. ������������ ωT xi b ≥ 1 ,������ = 1,2, … … , ������
||ωT ||
2
的最大值相当于求2 ||ωT || 的最小值,所以上述问题等价于:
1
||ωT ||
,由于������和 b 的值可以缩放,令������ = 1,则最
max
||ωT ||
(2.5)
s.t.������������ ωT xi b ≥ 1 ,������ = 1,2, … … , ������(2.6)
通过求解这个最优化问题,我们可以得到一个最大间隔分类器,如图(2) 所示,中间的红线为最优超平面,另外两条虚线到红线的距离都等于 ������ = 1。
1 2 || ω ||(此时 ������������ =0) , 2 亦即我们最初要最小化的量。因此,在要求约束条件得到满足的情况下最小化 1 (ω) (ω) || ω ||2 , 实际上等价于直接最小化 (因为如果约束条件没有得到满足, 2 会等于无穷大,自然不会是我们所要求的最小值。)具体写出来,我们现在的目 标函数变成了:
������
������������������
������ =1
1 ������������ − 2
������
������
������������ ������������ ������������ ������������ ������������ ������ ������������
������ =1 ������ =1
������ ������ (ω
T
xi b )
||ωT ||
(1.3)
则������>0 表示分类正确,否则分类错误。 那么我们需要求解出 ωT 和 b 这两个参数。
二、 最大间隔分类器
对一个数据点进行分析, 当它到超平面的几何间隔越大的时候,分类正确的 把握率越大。对于一个包含n 个点的数据集������(������������ , ������������ , … … , ������������ ),我们可以很自然 地定义它的间隔为所有这n 个点的间隔中最小的那个。于是,为了使得分类的把 握尽量大,我们希望所选择的超平面能够最大化这n个间隔值。 令������ = ������������������������������ , ������ = 1,2, … … , ������ (2.1) 所以最大间隔分类器的目标函数为 max������(2.2) 条件为 ������������ =
������ =1 ������ =1 ������
������������ ������������ ������������ +
������ =1 ������ ������ ������ =1
������������
=
������ =1
1 ������������ − ( 2
������������ ������������ ������������ )
������ ������
ωT xi b
||ω ||
T
≥ ������ ,������ = 1,2, … … , ������(2.3)即������������ ωT xi b ≥ ������ ,������ =
������
1,2, … … , ������(2.4) 其中������ = ������ ||ωT || ,即������ = 优化问题转为:
2、从式 (3.13) 可以看出只包含������ = (������1 , ������2 , … … , ������������ )������ 这一个变量 (用来训练SVM 分类器的数据集������(������������ , ������������ , … … , ������������ )和每个数据点的类别������������ 是已知的) 。对式 (3.13)求关于������的最大值,根据式(3.12)得到最优化问题:
n 1 L( ω b, α )= || ω ||2 i (yi (ωT xi b) 1) (3.5) 2 i 1
令
(ω) = max������ ������ ≥0 L( ω b, α ) (3.6)
(ω) = 容易验证, 当某个约束条件不满足时, 例如 yi (ωT xi b) 1 0 , 那么显然有
ω ,������
当同时满足Slater条件和KKT条件时,原规划可以取到最优值且为������∗ (������∗ = ������ ∗ )。 求解过程: 要求解这个对偶问题, 先求出 L ( b, ) 关于������,������的最小值, 再对 求最大。 1、先把 当做常数,求出 L ( b, ) 关于������,������的偏导(即求min L ( b, ) )
=−
������ ������ =1 ������������
������������ = 0
∴ ������ = ������ ������ =1 ������������ ������������ ������������ (3.11) ������ ������ ������ = 0 (3.12) ������ =1 ������ ������ 将式(3.11)和(3.12)代入到式(3.5)中
ω ,������
∵ L ( b, ) 关于������,������求最小值,也是极值 ∴ ������������ = ������ −
������ℒ ������������ ������ℒ ������ ������ =1 ������������
������������ ������������ =0(3.9) (3.10)
1
2
min2 ||ωT || (3.3) s.t.������������ ωT xi b − 1 ≥ 0 ,������ = 1,2, … … , ������(3.4)
容易证明这是个凸优化问题。 构造Lagrange函数将其变为无约束的最优化问题,给每一个约束条件加上一个 Lagrange乘子������ = (������1 , ������2 , … … , ������������ )������ (其中������������ ≥ 0, ������ = 1,2, … … , ������):
������ ������ ≥0
ω ,������
(3.8)
式(3.8)是(3.7)的对偶问题,������∗ 是 L ( b, ) 的上确界(即最小上界) ,
������ ∗ 是 L ( b, ) 的下确界(最大下界) ,显然������∗ ≥ ������ ∗ ,当且仅当原问题满足Slater 条件 (即存在������������ 使得原规划的约束条件严格成立, 即������������ ωT xi b − 1 = 0) 时, 等号成立。 上文已说明此优化为凸优化, 所以Kuhn-Tucker条件为某个数据点������∗ 是 最优解的充要条件。所以当������������ 满足KKT条件时,������������ 才是min L( ω b, α ) 的最优解。
一、 线性分类
如图 (1) , 在二维平面上有两种不同的数据点, 分别用红色和蓝色来表示, 红颜色的线就把这两种不同颜色的数据点分开来了。 这些数据点在多维空间中就 是向量,红颜色的线就是一个超平面。
图(1) 图(2) 假设 xi =(xi1 ,xi 2 ,......,xim )T 是 m 维空间中的一个数据点, 其中 xi1 ,xi 2 ,......,xim 是
n 1 L( ω b, α )= || ω ||2 i (yi (ωT xi b) 1) 2 i 1
1 = ������������ ������ − ������������ 2 = 1 ������ ������ 2
������ ������
������
������
���������� ������������ − ������
������ =1 ������ ������ =1
������������ ������������ +
������ =1 ������
������������
������������ ������������ ������������ − ������������
z f ( xi ) =ωT xi b
直观上
(1.2)
|ωT xi b| 表示数据点到超平面的几何间隔,去掉分子的绝对值就有了正 ||ωT ||
负性, ωT 是法向量,b 是截距。ωT xi b 表示了数据点到超平面的函数间隔,如 图(2)所示。由于 xi1 ,xi 2 ,......,xim 是 xi 这个数据点的 m 个特征,ωT xi 就是对 xi 特 征进行线性组合,即给每一个特征加上一个权重。 1, ������ ≥ 0 因为 y h( z ) , z f ( xi ) =ωT xi b ,y =1 或-1 分别表示两个类别, −1, ������ < 0 而 z 的正负决定它该分到哪个类别,所以我们以 z 和 y 符号是否一致来判断分类 是否正确。 令 ������������ =
SVM 分类器中的最优化问题
电子工程学院周娇 201622021121
摘要
支持向量机(Support Vector Machines,SVM)是一种分类方法,它通过学会 一个分类函数或者分类模型, 该模型能把数据库中的数据项映射到给定类别中的 某一个,从而可以用于预测未知类别数据的类别。所谓支持向量机,顾名思义, 分为两个部分了解:一,什么是支持向量(简单来说,就是支持或支撑平面上把 两类类别划分开来的超平面的向量点);二,这里的“机(machine,机器)” 便是一个算法。 支持向量机是基于统计学习理论的一种机器学习方法,通过寻求 结构化风险最小来提高学习机泛化能力,实现经验风险和置信范围的最小化,从 而达到在统计样本量较少的情况下,亦能获得良好统计规律的目的。在本文中, 主要介绍了如何通过求解最优化问题来得到SVM分类器的最佳参数, 使得SVM分类 器的性能最好。
xi 这个数据点的 m 个特征,令 z f ( xi ) , y h( z )
1, ������ ≥ 0 (1.1) −1, ������ < 0 在图(1)中,处在红线左边的数据点,其 y 值为-1,反之,处在红线右边的数
y h( z )
据点其 y 值为 1。这样,根据y的值就把 xi 这个数据点分类了。那么分类的重点 就在如何构造 z f ( xi ) 这个函数。 设图(1)中的超平面(即红线)其表达式为ωT X +b 0 ,则
(ω) = +∞ (此时������������ = +∞) 。 而当所有约束条件都满足时, 则有
(ω)= min max������ ������ ≥0 L( ω b, α ) = ������∗ min ω ,������
ω ,������
(3.7)
这里用������∗ 表示这个问题的最优值,也是原问题的最优值。现在我们把最小和 最大的位置交换一下: maxmin L( ω b, α ) = ������ ∗