上一节,我们了解了函数间隔和几何间隔的概念,明确了我们要使用几何间隔来计算数据点到超平面的距离,这一节,我们将最大间隔分类器的概念。
1、最大间隔分类器
按照我们前面的分析,对 一个数据点进行分类,当它的间隔越大的时候,分类正确的把握越大。对于一个包含 n 个点的数据集,我们可 以很自然地定义它的间隔为所有这 n 个点的间隔中最小的那个。于是,为了使得分类的把握尽量大,我们希望 所选择的超平面能够最大化这个间隔值。
最大间隔分类器
这样一来,我们可以定义我们的超平面,使得下面的目标函数式取得最大值:
目标函数
当然,这里的γ˜是两类点中到超平面距离最近的点到超平面的几何距离,所以对于所有的数据点,必然满足下面的约束条件:
约束条件
其中 γˆ=γ˜∥w∥ ,根据我们刚才的讨论,即使在超平面固定的情况下,γˆ 的值也可以随着 ∥w∥ 的变化而变化。由于我们的目标就是要确定超平面,因此可以把这个无关的变量固定下来,固定的方式有两种:一是固定 ∥w∥ ,当我们找到最优的 γ˜ 时 γˆ 也就可以随之而固定;二是反过来固定 γˆ ,此时 ∥w∥ 也可以根据最优的 γ˜ 得到。处于方便推导和优化的目的,我们选择第二种,令 γˆ=1 ,则我们的目标函数化为:
新目标函数这里为什么可以把γˆ固定为1呢?很多教材上没有解释而是一笔带过,在july大神的博客下面的回复中看到了一个比较好的回复,截图如下:
问题回复
我个人的理解就是,函数间隔可以根据w和b的值的伸缩随意变动,但是二者的伸缩不会带来超平面的变化,所以我们可以理解为w和b变为了1/ γˆ倍,这样分子就变成了1,而我们令变化后的w1=(1/ γˆ )w,b1 = (1/ γˆ )b,这样求的的超平面其实是和原来相同的超平面,如果觉得文字不清楚的可以看下图的解释:
个人愚见
这里还有一个问题,我们本意是想要两类点中到超平面距离最近的那两个点(也许最近的有多个点)的几何间隔之和最大,但我们为什么没有这样写,因为我们可以平移超平面,让超平面正好到两个点的距离相等,即均为1,而目标函数中分母为1还是为2对问题的求解是不会出现问题的,可以看下图:
Optimal-Hyper-Plane
至此,我们就介绍了如何通过求解规划问题的方式来得到我们的最大间隔分类器,也就是我们想要的分类超平面,下一节我们将介绍支撑向量(support vector)的概念!
网友评论