第六章-6.3扩展线性模型

利用支持向量机把数据转化到超平面,成为线性模型。最大边际超平面是指最大限度分割两个类的超平面;类中距离最大边际超平面最近的点为支持向量。

1,分类的起源:logistic函数(或称作sigmoid函数)

    

其图像为:

    

一个新的特征,如果大于0.5为y=1的分类,小于0.5为y=0的分类。从公式可以看出,实际上分类只与有关,即>>0,y=1,反之y=0。一般习惯上,我们会将其映射到+1和-1来进行分类。

2,线性分类实例

假设训练集及其超平面如下(红线为超平面):

    

一般而言,一个点距离超平面的远近可以表示为分类预测的确信或准确程度,如果距离越远,则认为越好。我们用函数间隔来描述:

    ,其中y为分类(-1或者+1),以保证计算结果为正。

选择分类超平面时,只有函数间隔还远远不够,因为如果成比例的改变w和b,如将他们改变为2w和2b,虽然此时超平面没有改变,但函数间隔的值f(x)却变成了原来的2倍。于是,我们对法向量w加些约束条件,使其表面上看起来规范化,即点到超平面的规范化距离,即几何间隔:

      ,其中,||w||表示的是范数。

我们寻找最优的超平面,实际上相当于寻找最大的,即上图,虚线到超平面(红线)的距离。为了方便推导和优化的目的,我们可以令=1,于是相当于求解下公式:

    

3,深入SVM

求1/||w||的最大值,相当于求最小值,则求解变成:

    

(1)转化到这个形式后,我们的问题成为了一个凸优化问题,或者更具体的说,因为现在的目标函数是二次的,约束条件是线性的,所以它是一个凸二次规划问题。这个问题可以用任何现成的 QP (Quadratic Programming) 的优化包进行求解,归结为一句话即是:在一定的约束条件下,目标最优,损失最小;

(2)但虽然这个问题确实是一个标准的 QP 问题,但是它也有它的特殊结构,通过 Lagrange Duality 变换到对偶变量 (dual variable) 的优化问题之后,可以找到一种更加有效的方法来进行求解,而且通常情况下这种方法比直接使用通用的 QP 优化包进行优化要高效得多。

    

我们令:

容易验证,当某个约束条件不满足时,例如,那么我们显然有(只要令即可)。而当所有约束条件都满足时,则有,亦即我们最初要最小化的量。因此,在要求约束条件得到满足的情况下最小化,实际上等价于直接最小化(当然,这里也有约束条件,就是)   ,因为如果约束条件没有得到满足,会等于无穷大,自然不会是我们所要求的最小值。具体写出来,我们现在的目标函数变成了:

    

 这里用p表示这个问题的最优值,这个问题和我们最初的问题是等价的。不过,现在我们来把最小和最大的位置交换一下(稍后,你将看到,当下面式子满足了一定的条件之后,这个式子d 便是上式P 的对偶形式表示):

    

当然,交换以后的问题不再等价于原问题,这个新问题的最优值d用来表示。并且,我们有d≤ p,这在直观上也不难理解,最大值中最小的一个总也比最小值中最大的一个要大吧!  总之,第二个问题的最优值d在这里提供了一个第一个问题的最优值p的一个下界,在满足某些条件的情况下(即KKT条件),这两者相等,这个时候我们就可以通过求解第二个问题来间接地求解第一个问题。

    也就是说,下面我们将先求L 对w、b的极小,再求L 对的极大。而且,之所以从minmax的原始问题p,转化为maxmin的对偶问题,一者因为是的近似解,二者,转化为对偶问题后,更容易求解。

3,KKT条件:

一般地,一个最优化数学模型能够表示成下列标准形式:

    

其中,f(x)是需要最小化的函数,h(x)是等式约束,g(x)是不等式约束,p和q分别为等式约束和不等式约束的数量。同时,我们得明白以下两个定理:

凸优化的概念:为一凸集, f:为一凸函数。凸优化就是要找出一点,使得每一满足

KKT条件的意义:它是一个非线性规划(Nonlinear Programming)问题能有最优化解法的必要和充分条件。

KKT条件:


4,实例

单变量的约束问题:    

       

可知,最小解为0,由于的约束条件,可知上式在约束条件下最优解为1.引入Lagrange函数:

      

求,,当满足KKT条件,即(其中第二个即1-x<=0),转化为对偶问题求

      

已经上式为二次函数,可知最小点为α/2,代入上式:

    

可知,α=2取得最大值,代入可得,因而在满足KKT条件下,最优解为1。

猜你喜欢

转载自blog.csdn.net/lyn5284767/article/details/80307043
今日推荐