您的位置:首页 > 运维架构

最优间隔分类器(Optimal margin classifiers)

2017-03-29 16:43 387 查看

1.最优间隔分类器模型定义

首先我们看看最优间隔分类器的定义:

minγ,ω,bs.t.12∥x∥2y(i)(ωTx(i)+b)≥1,i=1,…,l.

将约束改写成:

gi(w)=−y(i)(wTx(i)+b)+1≤0.

这个约束对每一个训练样本都成立,回忆KKT对偶补充条件,只有当样本的函数间隔为1时(等价于那些可使gi(w)=0的样本),我们才会令αi>0。如下图所示,最大几何间隔的分离超平面由实线表示。



最靠近决策边界的点就是间隔最小的点;上图中有三个点(一负两正)在和决策边界平行的虚线上。因此,在这个最优化问题中最后只有三个αi(对应虚线上的三点)是不为0的。这样的点就称为支持向量。普遍而言支持向量的个数将远小于可用训练集的个数。

2.模型参数求解推导

当我们考虑问题的对偶形式时,有一个需要注意的关键思想是将输入向量空间中的点以内积的形式在我们的算法中表示。可以把⟨x(i),x(j)⟩看作(x(i))Tx(j)

我们构造优化问题的拉格朗日方程:

L(ω,b,α)=12∥x∥2−∑i=1mαi[y(i)(wTx(i)+b)−1](1)

注意方程中拉格朗日乘子只有αi没有βi,因为在这个问题中只有不等约束。

要寻找该问题的对偶形式,我们需要调整ω和b的值使得L(ω,b,α)最小化,以此得到θD。

所以我们先求L(ω,b,α)关于ω和b的偏导并使其等于0:

∇ωL(ω,b,α)=∇ω(12ωTω−∑i=1mαiy(i)wTx(i))=12∇ωtr(ωTω)−∑i=1mαiy(i)∇ωtr(ωTx(i))=12∗2ω−∑i=1mαiy(i)x(i)=ω−∑i=1mαiy(i)x(i)=0

即可得:

ω=∑i=1mαiy(i)x(i)(2)

至于L对b的偏导数,有:

∂∂bL(ω,b,α)=∑i=1mαiy(i)=0(3)

如果我们把(2)中求得的ω的值带入拉格朗日方程(1),化简可得:

L(ω,b,α)=12(∑i=1mαiy(i)x(i))T(∑j=1mαjy(j)x(j))−∑i=1mαiy(i)(∑j=1mαjy(j)x(j))Tx(i)−b∑i=1mαiy(i)+∑i=1mαi=∑i=1mαi−12∑i,j=1my(i)y(j)αiαj(x(i))Tx(j)−b∑i=1mαiy(i).

由公式(3)可知上式的最后一项必为0,进一步化简:

L(ω,b,α)=∑i=1mαi−12∑i,j=1my(i)y(j)αiαj(x(i))Tx(j)

将上式和约束αi≥0(这个约束一直都有)以及方程(3)结合起来,就得到了原始问题的对偶形式:

maxαs.t.W(α)=∑i=1mαi−12∑i,j=1my(i)y(j)αiαj⟨x(i),x(j)⟩.αi≥0,i=1,…,m∑i=1mαiy(i)=0,

至此可知几何间隔的最优问题是满足KKT条件的即d∗=p∗,可以通过求解对偶问题来求解原始问题。尤其在上面的对偶问题中,我们通过调整αi求解该问题。后面的课程中会有专门的方法求解该对偶问题,现在我们可以先假设我们找到了满足约束条件可使W(α)最大化的α,我们将结果回带至(2)中就可得到由α表示的ω,得到ω∗后,通过原始问题,我们可以求解出最优条件下的截距项b:

b∗=−maxi:y(i)=−1w∗Tx(i)+mini:y(i)=1w∗Tx(i)2(4)

3.模型总结

让我们回顾一下方程(2),其通过最优化后的α确定了最优化的ω值。假设模型拟合于一个训练集后,再给我一个新的输入x,让我去预测它的值。我们需要计算ωTx+b,当且仅当其大于0时,预测y=1。方程(2)可以改写成这样的形式:

ωTx+b=(∑i=1mαiy(i)x(i))Tx+b=∑i=1mαiy(i)⟨x(i),x⟩+b(5)(6)

由上式可知,除了已知的αi,为了预测结果我们还需要计算x和训练集中所有点的内积。又因为支持向量以外的点对应的αi均为0,所以我们只需要计算x和支持向量的内积就可以计算出(6)并预测y的值。

最后将整个算法完全用输入向量内积的形式来表示。在后面,我们会将核函数引入到分类问题中来,得到的算法——支持向量机——将可以非常高效地在高维度空间中运行。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息