机器学习算法系列(12):SVM(1)—线性可分支持向量机
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
w b s. t y i · xi + | |w| | | |w| |
(
)
⩾ γ , i = 1, 2, · · · , N
即最大大化超平面面(w, b)关于训练数据集的几几何间隔γ,约束条件表示的是超平面面(w, b)关于每个训练 样本点的几几何间隔至至少是γ 根据几几何间隔和函数间隔的关系,可以将此问题改写为 max w , b ˆ γ | |w| |
1.4 学习的对偶算法
为了了求解线性可分支支持向量量机的最优化问题,将它作为原始最优化问题,应用用拉格朗日日对偶性, 通过求解对偶问题得到原始问题的最优解,这就是线性可分支支持向量量机的对偶算法 dual
algorithm 。
这样做的优点是,一一是对偶问题往往更更容易易求解;二二是引入入核函数,进而而推广广到非非线性分类问 题。 首首先构建拉格朗日日函数,为此,对每一一个不不等式约束引进拉格朗日日乘子子a i ≥ 0 , i = 1, 2, · · · , N 定义拉格朗日日函数: 1 L(w, b, a) = | | w | | 2 − ∑ a i(y i w · x i + b) − 1 2 i=1
ˆ , i = 1, 2, · · · , N s. t y i w · x i + b ⩾ γ
(
)
ˆ 的取值不不影响最优化的解。函数间隔因为w,b按比比例例改变为λw , λb而而成为λγ ˆ ,但是对 函数间隔γ 最优化问题中的不不等式约束没有影响,对目目标函数的优化也没有影响,即两者等价。这样,我们 ˆ = 1,代入入后注意到最大大化 可以取γ
1 2 1 2
| | w | | 2 ,亦即我们最初要最小小化的
| | w | | 2 实际上等价于直接最小小化 θ(w)
(当然,这里里里也有约束条件,就是 α i ≥ 0, i = 1, …, n),因为如果约束条件没有得到满足足,θ(w) 会等于无无穷大大,自自然不不会是我们所要求的最小小值。 具体写出来,我们现在的目目标函数变成了了: minw , bθ(w) = min w , b max a i ≥ 0L(w, b, a) = p ∗ 这里里里用用 p ∗ 表示这个问题的最优值,这个问题和我们最初的问题是等价的。不不过,现在我们来把 最小小和最大大的位置交换一一下: max a i ≥ 0 min w , bL(w, b, a) = d ∗ 当然,交换以后的问题不不再等价于原问题,这个新问题的最优值用用 d ∗ 来表示。并,我们有
在决定分离超平面面时只有支支持向量量起作用用,而而其他实例例点并不不起作用用。如果移动支支持向量量将改变 所求的解;但是如果在将俄边界以外移动其他实例例点,甚至至去掉这些点,则解是不不会改变的。由 于支支持向量量在确定分离超平面面中起着决定性作用用,所以将这种分类模型称为支支持向量量机。支支持向 量量机的个数一一般都很少,所以支支持向量量机由很少的“重要的”训练样本确定。 很显然,由于这些 supporting vector 刚好在边界上,所以它们是满足足 y(w Tx + b) = 1 ,而而对于所 有不不是支支持向量量的点,也就是在“阵地后方方”的点,则显然有y(w Tx + b) > 1 。事实上,当最优的超 平面面确定下来之后,这些后方方的点就完全成了了路路人人甲了了,它们可以在自自己己的边界后方方随便便飘来飘 去都不不会对超平面面产生生任何影响。这样的特性在实际中有一一个最直接的好处就在于存储和计算上 的优越性,例例如,如果使用用 100 万个点求出一一个最优的超平面面,其中是支支持向量量的有 100 个, 那么我只需要记住这 100 个点的信息即可,对于后续分类也只需要利利用用这 100 个点而而不不是全部 100 万个点来做计算。
以及相应的分类决策函数 f(x) = sign w T · x + b 该决策函数称为线性可分支支持向量量机
(
)
1.2 函数间隔与几几何间隔
一一般来说,一一个点距离分离超平面面的远近可以表示分类预测的确信程度。在超平面面确定的情况下
| w T · x + b | 能够相对地表示点x距离超平面面的远近。而而w T · x + b的符号与类标记的符号是否一一致 能够表示分类是否正确,所以可用用y(w T · x + b)来表示分类的正确性与确信度,这就是函数间 隔 functional margin 的概念 但是,函数间隔有一一个不不足足之处,就是在选择分离超平面面时,只要成比比例例地改变w和b,超平面面并 没有变化,而而函数间隔却以同样比比例例变化了了。因此,我们可以对分离超平面面的法向量量w加上某些 约束,使得间隔确定,此时函数间隔成为几几何间隔 geometric margin 。 对于给定的训练数据集T和超平面面(w, b),定义超平面面(w, b)关于样本点(x i, y i)的几几何间隔为 w b γi = yi · xi + | |w| | | |w| |
(
)
对y i = − 1的负例例点,支支持向量量在超平面面 H2 : w · xi + b = − 1
可以看到两个支支撑着中间的⻓长带的超平面面,它们到中间的分离超平面面的距离相等,为什什么一一定是 ˜ 。而而“支支撑”这两个超平面面的必定会有一一些点, 相等的呢?,即我们所能得到的最大大的几几何间隔 γ 试想,如果某超平面面没有碰到任意一一个点的话,那么我就可以进一一步地扩充中间的 gap ,于是这 个就不不是最大大的 margin 了了。由于在 n 维向量量空间里里里一一个点实际上是和以原点为起点,该点为终 点的一一个向量量是等价的,所以这些“支支撑”的点便便叫做支支持向量量。
N
之,第二二个问题的最优值d ∗ 在这里里里提供了了一一个第一一个问题的最优值p ∗ 的一一个下界,在满足足某些
∇ wL(w, b, a) = w −
i=1 N
∑ a iy ix i = 0
∇ bL(w, b, a) = 得到
N
i=1
∑ a iy i = 0
d ∗ ≤ p ∗ ,这在直观上也不不难理理解,最大大值中最小小的一一个总也比比最小小值中最大大的一一个要大大吧!总 条件的情况下,这两者相等,这个时候我们就可以通过求解第二二个问题来间接地求解第一一个问 题。具体来说,就是要满足足 KKT 条件,这里里里暂且先略略过不不说,直接给结论:我们这里里里的问题是 满足足 KKT 条件的,因此现在我们便便转化为求解第二二个问题。 为了了得到对偶问题的解,需要先求L(w, b, a)对w, b的极小小,再求对a的极大大。 1. 求 min w , bL(w, b, a) 将拉格朗日日函数L(w, b, a)分别对w, b求偏导数并令其为0。
1 | |w| | 1 和最小小化 | | w | | 2是等价的,因为我们关心心的并不不是最 2
优情况下目目标函数Fra Baidu bibliotek具体数值。于是就得到下面面的线性可分支支持向量量机学习的最优化问题。 1. 构造并求解约束最优化问题: 1 min w , b | | w | | 2 2 s. t y i w · x i + b − 1 ⩾ 0, i = 1, 2, · · · , N 求得最优解w ∗ ,b ∗ 2. 由此得到分割超平面面: w∗ · x + b∗ = 0 分类决策函数 f(x) = sign w ∗ · x + b
(
)
定义超平面面(w, b)关于训练数据集T的几几何间隔为超平面面(w, b)关于T中所有样本点(x i, y i)的几几何间隔 之最小小值,即 γ = min i = 1 , · · · , Nγ i 超平面面(w, b)关于样本点(x i, y i)的几几何间隔一一般是实例例点到超平面面的带符号的距离,当样本点被超 平面面正确分类时就是实例例点到超平面面的距离。 函数间隔与几几何间隔的关系为 γ= ˆ γ | |w| |
机器器学习算法系列列(12):SVM(1)— 线性可分支支持向量量机
当训练数据线性可分时,通过硬间隔最大大化,学习一一个线性可分支支持向量量机。 一一般地,当训练数据集线性可分时,存在无无穷个分离超平面面可将两类数据正确分开。感知机利利用用 误分类最小小的策略略,求得分离超平面面,不不过这时的解有无无穷多个。线性可分支支持向量量机利利用用间隔 最大大化求分离超平面面,解是唯一一的。也就是它不不仅将正负实例例点分开,而而且对最难分的实例例点 (离分离超平面面最近的点)也有足足够大大的确信度将它们分开。这样的超平面面应该对未知的新实例例 有很好的分类预测能力力力。
若 | | w | | = 1,那么函数间隔和几几何间隔相等。如果超平面面参数w和b成比比例例地改变(超平面面没有 改变),函数间隔也按此比比例例改变,而而几几何间隔不不变。
1.3 间隔最大大化
支支持向量量机学习的基本想法是求解能够正确划分训练数据集并且几几何间隔最大大的分离超平面面。几几 何间隔最大大的分离超平面面是唯一一的。 间隔最大大化的直观解释是:对训练数据集找到几几何间隔最大大的超平面面意味着以充分大大的确信度对 训练数据记性分类。即,不不仅将正负实例例点分开,而而且对最难分的实例例点(离超平面面最近的点) 也有足足够大大的确信度将它们分开。这样的超平面面应该对未知的新实例例有很好的分类预测能力力力。 最大大间隔分离超平面面 接下来求一一个几几何间隔最大大的分离超平面面,即最大大间隔分离超平面面。具体地,可以表示为下面面的 约束最优化问题: max w , b γ
(
)
(
)
这其实是一一个凸二二次规划 convex quadratic programming 问题,凸优化问题是指约束最优化问 题 min w f(w) s. t g i(w) ≤ 0 , i = 1, 2, · · · , k
h i(w) = 0 , i = 1, 2, · · · , l
其中,目目标函数f(w)和约束函数g i(w)都是R n上的连续可微的凸函数,约束函数h i(w)是R n上的仿射 函数。当目目标函数f(w)是二二次函数且约束函数g i(w)是仿射函数时,上述凸优化问题成为凸二二次规 划问题。 支支持向量量和间隔边界 在线性可分情况下,训练数据集的样本点中与分离超平面面距离最近的样本点的实例例成为支支持向 量量 support vector 。支支持向量量是使约束条件式等号成立立的点,即 yi w · xi + b − 1 = 0 对y i = + 1的实例例点,支支持向量量在超平面面 H1 : w · xi + b = 1
注意到H 1和H 2平行行行,并且没有实例例点落在他们中间。在H 1和H 2之间形成一一条⻓长带,分离超平面面 与他们平行行行且位于他们中间。⻓长带的宽度,即H 1与H 2之间的距离成为间隔 margin ,间隔依赖于 分离超平面面的法向量量w,等于
2 | |w| |
。H 1和H 2称为间隔边界。
一一、线性可分支支持向量量机与硬间隔最大大化
1.1 线性可分支支持向量量机
假设给定一一个特征空间上的训练数据集 T=
{(x1, y1 ), (x2, y2 ), · · · , (xN, yN )}
其中x i ∈ R n, y i ∈ { + 1, − 1}, i = 1, 2, · · · , N,x i为第i个特征向量量,也称为实例例,y i为x i的类标 记,当y i = + 1时,称x i为正例例;当y i = − 1时,称x i为负例例,(x i, y i)称为样本点。再假设训练数据 集是线性可分的。 给定线性可分训练数据集,通过间隔最大大化得到的分离超平面面为 wT · x + b = 0
N
(
)
其中,a = a 1, a 2, · · · , a N T 然后我们令 θ(w) = maxa i ≥ 0L (w, b, α)
(
)
容易易验证,当某个约束条件不不满足足时,例例如 y i(w Tx i + b) < 1,那么我们显然有 θ(w) = ∞ (只要令 α i = ∞即可)。而而当所有约束条件都满足足时,则有 θ(w) = 量量。因此,在要求约束条件得到满足足的情况下最小小化