吴恩达机器学习103:SVM之大间隔分类器的数学原理

1.向量内积:

  (1)假设有u和v这两个二维向量:,接下来看一下u的转置乘以v的结果,u的转置乘以v也叫做向量u和向量v的内积,u是一个二维向量,可以将其在图上画出来,如下图所示向量u:

  

  在横轴上它的值就是某个u_1,在纵轴上它的高度就是某个值u_2,即U的第二个分量,那么现在就容易得出向量u的范数,||u||就表示u的范数或者u的欧几里得长度,即

  同理对于向量v而言,向量v有两个分量v1和v2,横轴是v1,纵轴是v2,因此向量v就会是下面这样的

  接下来看看如何计算u和v的内积的,具体做法如下,将向量v投影到u上,因此需要做一个直角投影或者一个90度角的投影,如下将其投影到u上,接下来的就是要测一下p的长度,我们标记这条红线的长度 为p,因此p就是向量v在向量u上的投影长度或者说量,因此可以用u的内积乘以v,它的结果等于p乘上u的范数或者长度,即,最后可以得出:

,这个公式会得出最终的答案,如果你进行相反的计算,只是把u和v交换一下即可。从上面的讨论可以知道,u的范数是一个实数,,同时p也是一个实数,因此u的准直乘以v就是两个实数,也就是p的长度乘以u的范数,最后需要注意一点就是,如果你着眼于范数p,p实际上是有值的,即它可能是正值,也可能是负值。

  (2)示例。如果u和v分别是如下的两个向量,如果u和v之间的夹角大于90度的话,我们将v投影到u上,

我们会得到下面这样的一个投影,红色的部分就是p的长度,这个时候u的转置乘以v就等于p乘以u的范数,唯一不同的是这里的p值是负数,因此在内积的计算中,如果u和v之间存在夹角,如果夹角小于90度的话,那么这条红线的长度就是正值,相反如果这个夹角大于90度的话,那么这里的p值就是负数,两个向量的内积就是负数,

  

   (3)SVM决策边界:我们首先忽略θ0,将其设置为0,为了更容易的画图,我们将特征数n设置为2,这样我们就只有两个特征向量x1,x2,现在我们看看这个支持向量机的优化目标函数,当n=2的时候,即我们只有两个特征向量时,这个式子可以写成,因为我们只有两个参数θ1和θ2,所以接下来可以将其写成:,括号中的这项就可以写成:

=||θ||,意思是我们将向量θ写成这样的形式:θ1  θ2,那么刚刚划线的这项就是θ的长度或者范数,如同这里的当θ0等于0的时候,那么这里的向量就是θ1和θ2向量的长度。因此这意味着我们的目标函数等于:,所以对于优化目标函数来说,支持向量机做的是最小化参数θ的范数的平方。

  (4)接下来我们需要考虑一下这些项θ的转置乘以x,然后深入理解一下他们的作用,给定一个参数θ以及给定一个样本x会等于什么呢?如下图所示,我们将θ和x都从向量的角度来进行考虑,

    

    记住下图中的等式

   

    即在上述条件下,即θ的转置乘以x(i),有大于等于1的,也有小于等于-1的

   (5)当我们写入我们的优化目标函数后,没有了θ的转置乘以x(i),取而代之的是p(i)乘以θ的范数,所以可以写成下面的形式:

  

 

   我们考虑一下上面的这个样本,然后继续使用之前的简化方法进行简化, 即θ0=0,让我们看看支持向量机会选择怎们样的边界,第一种选择方式:假设支持向量机选择这个决策边界,这并不是一个很好的选择,因为它的间距很小,离训练样本的距离很近,让我们看看为什么支持向量机为什么不选择它,对于这种参数,我们可以看到,参数向量θ事实上是与决策边界90度正交的。令θ0=0意味着决策边界必须通过原点(0,0),现在我们看一下这对于优化目标函数意味着什么?比如说这个样本,假设第一个样本x(1),

  如果要考察样本到参数θ的投影,那么下图所示的短的红线就是p(1),他是非常短的

  

  同样的对于下图的样本中,有一个样本为x(2),下图中的洋红色就是p(2),即样本在向量θ上的投影,p(2)实际上是一个负值,因为其实朝着相反的方向,这个向量与参数θ的夹角大于90度,因此p(2)的值就会小于0,我们发现,对于p(i)是非常小的数

  我们考虑优化目标函数,就会发现,对于正样本而言,我们需要p(i)乘以θ的范数能够大于等于1,即,但是如果这里的p(1)特别的小,这就意味着我们需要θ的范数特别大,即||θ||要比较大

  相似的,对于负样本而言,我们需要p(2)乘以θ的范数小于或者等于-1,,这里p(2)是一个非常小的数,唯一的办法就是让θ的范数特别大,但是优化目标函数需要做的是,找到一套参数θ,来使得其范数足够的小,因此这个对于选择参数向量而言不是一个好方向

  在这里,决策树可以选择这样的一个决策树边界,现在的图像上会有很大的不同

  如果这是,那么对应的参数θ的方向就是下面蓝色箭头的方向,决策边界是绿色边界,可以得到样本点的边界长度是p(1)

  类似的可以做如下方式的投影,得到p(2),其中p(2)的值是小于0的,可以看到,p(1)和p(2)的长度明显比上面的计算长度要长,现在p(1)变大了,因此θ的范数就可以变小了

  

 

  上面就意味着,通过选择下面的决策边界,而不是上面的那个决策边界,SVM可以使得参数θ的范数变小很多,也就是使得θ的范数的平方变小,这就是为什么svm会选择下面的假设函数,这就是svm是如何产生大间距分类现象的。

  总结一下:

    (1)下面这条绿色直线即绿色的决策边界,我们希望正负样本投影到θ的值足够的大,要做到这一点的唯一方式就是,让决策边界周围的点到决策边界保持大间距,这就是正样本和负样本之间的间隔,实际上间隔的值就是p1,p2,p3等值,通过让间距变大,svm最终可以输出一个比较小的θ范数,这就是支持向量机优化目标函数所做的,这就是为什么支持向量机最终会找到最大间距分类器的原因

    (2)自始至终使得参数θ0=0的原因是使得决策边界始终过原点

 

 

 

 

 

 

  

 

 

 

 

 

 

 

  

  

 

posted @ 2019-01-30 14:01  stone1234567890  阅读(438)  评论(0编辑  收藏  举报