【MindSpore:跟着小Mi机器学习】支持向量机(中)

上周小Mi带大家学习了支持向量机的优化问题以及如何得到大间距分类器,而这背后的数学原理大家是否略知一二呢?今天跟着小Mi后面慢慢推理,帮助大家对支持向量机中的优化问题,以及如何得到大间距分类器,产生更好的直观理解。
3 大边界分类背后的数学
首先,我们需要了解下向量内积这个知识点(敲黑板了哦~)。假设有两个向量和,两者都是二维向量,需要计算一下的结果,这里的就叫做向量和之间的内积。
由于是二维向量,向量和均可以用图像表示出来。将向量分解为横轴上的和纵轴上的。现在,很容易计算的一个量就是向量的范数。表示的范数,即的长度(这里的长度是指欧几里得长度—在m维空间中两个点之间的真实距离或者向量的自然长度,即该点到原点的距离)。根据毕达哥拉斯定理(这里小Mi故意说得气派了点,听不懂了吧,其实就是勾股定理,哈哈),,这是向量的长度,它是一个实数。
现在让我们来看看向量,是另一个向量,它的两个分量和是已知的,那么和之间的内积又是如何计算的呢?我们将向量投影到向量上,这是一个直角投影,上图中红线的长度就是向量投影到向量上的量,我们设定其为,是投影到向量上的长度,因此可以得出,这是计算内积的一种方法。
如果我们从几何上画出的值,同时画出的范数,同样也可以计算出内积,答案是一样的。另一个计算公式是:就是这个一行两列的矩阵乘以,结果为。根据线性代数的知识,这两个公式会给出同样的结果。
BTW,根据计算其实我们可以证明得出。那么如果计算的时候将和交换位置,将投影到上,实际上最终可以得到同样的结果。(等式中的范数是一个实数,也是一个实数,因此就是两个实数正常相乘。)
Last but not least,需要注意的是值,实际上是有符号的,即它可能是正值,也可能是负值。如果向量和之间的夹角大于90度,则如果将投影到上,会得到上图红线表示的一个投影,这就是的长度,在这个情形下等于乘以的范数成立,唯一一点不同的是在这里是负的。
因此,在内积计算中,如果和之间的夹角小于90度,那么长度是正值;然而如果这个夹角大于90度,则将会是负的,从而两个向量之间的内积也是负的。
以上就是关于向量内积的知识啦,接下来小Mi将会使用这些关于向量内积的性质来帮助大家理解支持向量机中的目标函数。
先前给出的支持向量机模型中的目标函数如上图。为了更容易分析,这里做一点简化。
首先忽略截距,令,这样更容易画示意图。将特征数n设置为2,因此我们仅有两个特征,即时,支持向量机的优化目标函数可以写为:。
这里忽略的话,的范数仅仅和有关。事实上,数学里不管是否包含,其实后面的推导并没有太大差别,最终也就意味着我们的目标函数是等于。因此支持向量机做的全部事情,就是极小化参数向量范数的平方,或者说长度的平方。
而中和就类似于之前提到的向量和。
如上图所示,我们考察一个单一的训练样本,有一个正样本水平轴上取值为,竖直轴上取值为。事实上,它就是一个始于原点,终点位置在训练样本点(红色“×”处)的向量。同样,也类似表示,那么内积将会是什么样的呢?
使用之前的方法,计算方式就是将训练样本投影到参数向量,将这个线段画成红色。这里将其称为,表示这是第个训练样本在参数向量上的投影。根据我们之前求证出的结果,我们知道将会等于乘以向量的长度或范数,也等于。
这里小Mi有了一个新发现!说白了,约束条件或者是可以被这个约束所代替的。,将其写入优化目标:
值得注意的是,优化目标函数可以被写成等于,。以上图的这些训练样本为例,支持向量机又会选择什么样的决策界呢?
我们假设支持向量机会选择绿线这个决策边界,但是这并不是一个非常好的选择,因为它的间距很小,决策界离训练样本的距离很近。
对于参数选择,可以看到参数向量事实上是和决策界90度正交的,因此这个绿色的决策界对应着一个参数向量,而的简化意味着决策界必须通过原点。现在让我们看一下这对于优化目标函数意味着什么。
比如第一个样本,该样本到的投影,是上图中这个短短的红线段。类似地,样本到的投影,是上图中的粉色线段。实际上,是一个负值,在相反的方向,由于向量和参数向量的夹角大于90度,所以的值小于0。
一个个试验了之后,我们会发现这些将会是非常小的数。而优化目标函数时,对于正样本而言,需要,如果非常小,那就意味着的范数需要非常大。但是我们的目标函数是希望找到一个参数,它的范数是小的。因此,绿色的这条线并不是一个好的参数向量的选择。
来看另一条完全不同的决策边界,图像会因此有很大不同。如果上图的绿线是决策边界,那么相对应的参数的方向与之垂直,是纵向的直线。那么样本在横轴上的投影就可以得出。样本的投影为,是负值。
这时候我们会注意到现在的和长度比之前长多了。如果需要满足这个约束条件,现在变大了,那么的范数就可以变小了。
这时候,支持向量机就可以使参数的范数变小很多,这也是支持向量机为什么能够有效地产生大间距分类的原因。
总结来说,我们希望正样本和负样本投影到的值足够大,要做到这一点的唯一方式就是选择这条绿线作为决边策界,通过大间距决策界来区分开正样本和负样本。实际上这个间距的值就是等等的值。因此通过让间距变大,即使的值变大,支持向量机最终可以找到一个较小的的范数。这正是支持向量机中最小化目标函数的目的,也是支持向量机最终会找到大间距分类器的原因。因为它试图极大化这些的范数,它们是训练样本到决策边界的距离。
最后一点需要注意的是,我们的推导自始至终使用了这个简化假设。作用就是:最终得到的决策界是通过原点的。当然如果不简化公式,的话,支持向量机产生大间距分类器的结论同样会被证明同样成立。(大家可以动动手自己推导试试哦~)
废话不多说,今天小Mi想告诉大家的就是,支持向量机优化目标函数对应着C值非常大的情况,即便不等于0,支持向量机仍然会找到正样本和负样本之间的大间距分隔。
【【MindSpore:跟着小Mi机器学习】支持向量机(中)】下周小Mi带大家学习如何利用支持向量机的原理建立一个复杂的非线性分类器,我们下周,再见呦(挥手十分钟!)。

    推荐阅读