关于神经网络:MindSpore跟着小Mi一起机器学习支持向量机上

1次阅读

共计 3298 个字符,预计需要花费 9 分钟才能阅读完成。

明天咱们学习反对向量机!小 Mi 在办公室的时候常常会听到共事提及什么反对向量机啊,凸优化啊这样的名词,那么反对向量机到底是什么呢?明天让咱们过去一探到底!~~

1 优化指标
与逻辑回归和神经网络相比,反对向量机,简称 SVM,在学习简单的非线性方程时提供了一种更为清晰,更加弱小的形式,该算法的弱小和受欢迎水平,EMMMM,小 Mi 不多说,大家能够略微脑补那么一下下,同时它也是小 Mi 带大家学习的最初一个监督学习算法(上面就开始转向无监督学习算法啦~)。

因为算法之间都有很多相似性,和别的算法一样,反对向量机的形容也将会从逻辑回归开始展现如何一点一点批改从而得出的。

大家必定不会生疏,上图波及的便是逻辑回归中的假如函数以及 S 型激励函数。这里用 z 来简化示意。

而咱们想要逻辑回归做什么呢?如果有一个 y = 1 的样本(不论是在训练集中或是在测试集中,又或者在穿插验证集中),咱们心愿趋近 1。如果咱们想要正确地将此样本分类,这也就意味着当趋近于 1 时,该当远大于 0。而从图像中咱们能够晓得,当 z 远大于 0 时,也就是纵轴的右侧,不难发现此时逻辑回归的输入将趋近于 1。同理,如果有另一个样本,即 y =0,也就意味着咱们心愿假如函数的输入值将趋近于 0,对应的或 z 会远小于 0,因为假如函数的输入值趋近 0。

同时咱们再来看下逻辑回归的代价函数,每个样本(x,y)都会为总的代价函数,减少这样的一项:

因而,总的代价函数通常会对所有的训练样本求和,从第一项到第 m 项,而在逻辑回归中,这一项就示意一个训练样本所对应的表达式。

当初,先疏忽这一项,一起来思考两种状况:一种是 y 等于 1 的状况;另一种是 y 等于 0 的状况。

在第一种状况中,假如 y =1,此时指标函数中只有第一项起作用,因为(1-y)项将等于 0。因而,当在 y = 1 的样本中时,即在(x,y)中,。

如果画出对于 z 的函数,你会看到这样一条曲线:

当 z 增大时,也就是相当于增大时,z 对应的值会变的十分小。对整个代价函数而言,影响也十分小。这也就解释了,为什么逻辑回归在察看到正样本 y = 1 时会试图将设置得十分大。因为,在代价函数中的这一项会变的十分小。

好了,构建反对向量机就要开始咯:

将代价函数稍作批改,取 z = 1 点,新的代价函数便由下图中粉线示意。

这和逻辑回归中应用的代价函数很类似。由两条线段组成,即位于左边的程度局部和位于右边的直线局部。当然,如果咱们将应用新的代价函数(假设其为),前提条件是 y =1。

另外一种状况是当 y = 0 时,此时代价函数只剩下第二项。

而此时新的代价函数(假设其为)则是从 0 点开始的程度直线,而后是一条斜线,如上图。

下图是咱们在逻辑回归中应用代价函数:

对于反对向量机而言,本质上咱们要将前局部替换为,同样地,第二项替换为:

因而,对于反对向量机,最小化问题为:

首先,咱们要除去这一项,因为仅是个常量,无论后面是否有这一项,最终失去的最优值都是一样的。

举个简略的例子:假设有个最小化问题:即要求当获得最小值时的值,这时最小值为:过后获得最小值。

而如果将这个指标函数乘上常数 10,这里最小化问题就变成了:求使得最小的值,后果并不会产生任何变动。因而,删去常量 m 并不会扭转获得最小值时的值。

第二点批改看这里。对于逻辑回归中的指标函数,第一项是训练样本的代价,第二项是正则化项,能够简略看作是这样一个式子,而须要做的是通过设置不同正则参数达到优化目标。这样,咱们就可能衡量对应的项,使得训练样本拟合的更好,即最小化 A;还是保障正则参数足够小,更多地重视 B 项。但在反对向量机中,咱们通常会应用一个不同的参数 C 来替换这里的。优化指标为最小化。因而,在逻辑回归中,如果把设为一个十分大的值,意味着给予 B 更大的权重。而这里,就对应于将 C 设定为十分小的值。因而,这只是一种不同的形式来管制 A 与 B 之间的均衡,即用参数来决定是偏差于第一项的优化还是第二项。(当然,小 Mi 认为咱们也能够把这里的参数 C 看作,大家感觉有情理不?)

最终反对向量机的总体优化指标就能够示意为:

最初有一点不同的是,反对向量机并不会像逻辑回归一样输入概率。反对向量机则是进行了一个间接的预测,预测 y 的值等于 1 还是 0:

以上便是反对向量机假如函数的模式。

2 大边界的直观了解

上图是反对向量机模型的代价函数,在右边画出了代价函数,此函数用于正样本,而在左边画出了代价函数。而最小化这些代价函数的必要条件又是什么呢?如果有一个正样本 y =1,则只有在时,代价函数才等于 0。换句话说,如果有一个正样本,咱们会心愿,反之,如果 y =0,函数只有在的区间里函数值为 0。事实上,如果有一个正样本 y =1,则其实咱们仅仅要求大于等于 0,就能将该样本正确分类,这是因为如果的话,咱们的模型代价函数值为 0,相似地,如果你有一个负样本,则仅须要就会将样本正确分类。然而,反对向量机的要求更高,不是恰好能够正确分类这么简略,即不是略大于 0 就能够了,咱们须要的是比 0 值大很多以及比 0 小很多,比方大于等于 1 和小于等于 -1,这就相当于在反对向量机中嵌入了一个平安间距。

而在反对向量机中,这个间距又会导致什么后果呢?举个特例。咱们将这个常数 C 设置成一个十分大的值。比方咱们假如 C 的值为 100000 或者其它十分大的数,而后来察看反对向量机会给出什么后果?

如果 C 十分大,则最小化代价函数的时候,咱们将会很心愿找到一个使第一项为 0 的最优解。

输出一个训练样本,标签为 y =1,如要令第一项为 0,须要找到一个,使得;相似地,对于训练样本 y =0,为了使函数的值为 0,须要。因而,优化问题就是抉择什么样的参数能力使得第一项等于 0,同时须要遵循约束条件:如果是等于 1 的,那么;如果样本是一个负样本,:

当解决这个优化问题的时候,也就是最小化这个对于变量的函数时,咱们会失去一个十分乏味的决策边界。

具体而言,(其中有正样本,也有负样本)能够看到这个数据集(其中有正样本,也有负样本)是线性可分的。

比方上图的绿线就是一个决策边界能够把正样本和负样本离开,然而多多少少看起来并不是十分天然,粉线是另一条决策边界,能够勉强将正样本和负样本离开。而黑线看起来好得多,在拆散正样本和负样本上它显得的更好。从数学上来讲,这条黑线领有更大的间隔,这个间隔叫做间距(margin)。

具体来说,彩色的决策界和训练样本之间有更大的最短距离。然而粉线和蓝线离训练样本就十分近,在拆散样本的时候就会比黑线体现差。因而,这个间隔就叫做反对向量机的间距,而这是使得反对向量机具备鲁棒性的起因,因为它在拆散数据时会尽量用一个最大间距来拆散样本。所以反对向量机有时也被称为大间距分类器。

那么为什么这个优化问题会产生大间距分类器呢?

一开始咱们就将这个大间距分类器中的正则化因子常数设置的十分大,将其设为了 100000,因而对上图中的数据集,兴许咱们将抉择黑线这样的决策界,从而最大间距地分来到正样本和负样本。

那么在让代价函数最小化的过程中,咱们心愿找出在 y = 1 和 y = 0 两种状况下都使得代价函数中右边的这一项尽量为零的参数。如果咱们找到了这样的参数,则咱们的最小化问题便转变成:

实际上,反对向量机要比这个大间距的视图更加简单,尤其是当咱们只应用大间距分类器的时候,学习算法会对异样点十分敏感,比方咱们退出一个额定的正样本。

在这里,仅仅基于一个异样值,仅仅基于一个样本,决策界就从这条黑线变到这条粉线,这是很不合理的。而如果正则化参数 C 设置的十分大,它将决策界从黑线变到了粉线;然而如果 C 设置的小一点,那么咱们最终会失去这条黑线。因而,大间距分类器的形容,仅仅是从直观上给出了正则化参数 C 十分大的情景,C 的作用相似于,是咱们之前应用过的正则化参数。但实际上利用反对向量机的时候,当 C 不是十分十分大的时候,它能够疏忽掉一些异样点的影响,失去更好的决策界。甚至当数据不是线性可分的时候,反对向量机也能够给出很好的后果。

因而:

C 较大时,相当于较小,可能会导致过拟合,高方差。

C 较小时,相当于较大,可能会导致低拟合,高偏差。

明天对于反对向量机的介绍小 Mi 就先说到这啦,前面还会波及反对向量机的偏差和方差,巴拉巴拉等等,咱们下周再见~(挥手十分钟!)

正文完
 0