从零开始机器学习(十一)

本文深入探讨了支持向量机(SVM)的优化目标和损失函数,如何从逻辑回归转换到SVM,并重点解析了参数C的作用。通过调整C的大小,SVM可以在大间距分类和过拟合之间找到平衡,实现更好的分类效果。大间距分类器的概念也被引入,说明了SVM为何能够实现稳健的决策边界。
摘要由CSDN通过智能技术生成

前言

行。 我不行了,看不懂了, 这块先放着日后再看。 先进行下一部分

正文

怎么得到SVM

下面先从优化目标开始讲起, 我们先看逻辑回归.
在这里插入图片描述
这里用 z z z 表示 θ T x \theta^Tx θTx。如果有一个 y = 1 y=1 y=1的样本,不管是在训练集中或是在测试集中,又或者在交叉验证集中,现在我们希望 h θ ( x ) {{h}_{\theta }}\left( x \right) hθ(x) 趋近1。因为想要正确地将此样本分类,这就意味着当 h θ ( x ) {{h}_{\theta }}\left( x \right) hθ(x)趋近于1时, θ T x \theta^Tx θTx 应当远大于0,这是因为由于 z z z 表示 θ T x \theta^Tx θTx,当 z z z远大于0时,即到了该图的右边,此时逻辑回归的输出将趋近于1。相反地,如果我们有另一个样本,即 y = 0 y=0 y=0。我们希望假设函数的输出值将趋近于0,这对应于 θ T x \theta^Tx θTx,或者就是 z z z 会远小于0,因为对应的假设函数的输出值趋近0。

我们先看对于单个样本的分析:
在这里插入图片描述

  • 当y为1时, 图像是这样的:

在这里插入图片描述
可以看到Z很大的时候损失为0附近, 现在我们对其进行一些修改:
在这里插入图片描述
可以看到修改后的图像在 z = 1 z=1 z=1后面为0, 1之前是类似logistic的一条直线

  • 当y为0时, 图像是这样的:

在这里插入图片描述

同样对其进行修改, 如下图:

在这里插入图片描述
这里-1之前是0, 之后是同样走势的直线.

现在,我们就开始构建支持向量机。

下面是我们原来的损失函数, 加入了正则项:
在这里插入图片描述

对于支持向量机而言,我们要将第一个log项替换为 cos ⁡ t 1 ( z ) {\cos}t_1{(z)} cost1(z),也就是 cos ⁡ t 1 ( θ T x ) {\cos}t_1{(\theta^Tx)} cost1(θTx),同样也把第二log项替换为 cos ⁡ t 0 ( z ) {\cos}t_0{(z)} cost0(z),也就是代价 cos ⁡ t 0 ( θ T x ) {\cos}t_0{(\theta^Tx)} cost0(θTx)。这里的代价函数 cos ⁡ t 1 {\cos}t_1 cost1,就是之前所提到的那条线。此外,代价函数 cos ⁡ t 0 {\cos}t_0 cost0,也是上面所介绍过的那条线。因此,对于支持向量机,我们得到了这里的最小化问题,即:
在这里插入图片描述
当然按照支持向量机的惯例,书写会稍微有些不同,代价函数的参数表示也会稍微有些不同。

  1. 首先,我们要除去 1 / m 1/m 1/m这一项, 就像这样:
    在这里插入图片描述
    当然这只是因为惯例, 并没有实际用处

  2. 在逻辑回归中,损失函数可以用 A + λ × B A+\lambda\times B A+λ×B来表示, A是前面的, B是正则化, 如果给定 λ \lambda λ,一个非常大的值,意味着给予 B B B更大的权重, 在SVM里,依照惯例使用一个不同的参数称为 C C C,同时更改优化目标, C × A + B C×A+B C×A+B, 之前B很大就对应于将 C C C 设定为非常小的值,那么,相应的将会给 B B B比给 A A A更大的权重。因此,这只是一种不同的方式来控制这种权衡或者一种不同的方法,即用参数来决定是更关心第一项的优化,还是更关心第二项的优化。

  • 我们就得到了支持向量机的优化函数:
    在这里插入图片描述

最后有别于逻辑回归输出的概率。在这里,我们的代价函数,当最小化代价函数,获得参数 θ {{\theta }} θ时,支持向量机所做的是它来直接预测 y y y的值等于1,还是等于0。
在这里插入图片描述

因此,当 θ T x \theta^Tx θTx大于或者等于0时,或者等于0时,这个假设函数会预测1。这就是支持向量机假设的变化

对SVM的进一步理解

人们有时将支持向量机叫做是大间距分类器 ( L a r g e m a r g i n c l a s s i f i e r ) (Large margin classifier) Largemarginclassifier, 现在来直观理解下原因。
下面是我们的修改后的函数:
在这里插入图片描述

如果你有一个正样本,我们会希望 θ T x > = 1 \theta^Tx>=1 θTx>=1,反之,如果 y = 0 y=0 y=0,我们观察一下,函数 cos ⁡ t 0 ( z ) {\cos}t_0{(z)} cost0(z),它只有在 z < = − 1 z<=-1 z<=1的区间里函数值为0, 所以希望 θ T x < = − 1 \theta^Tx<=-1 θTx<=1.

  • 这里要区分一个点, 我们希望在正样本时 θ T x > = 1 \theta^Tx>=1 θTx>=1, 但是在预测时, θ T x > = 0 \theta^Tx>=0 θTx>=0就可以输出正类的结果, 就是 h ( θ T x ) = 1 h_{(\theta^Tx)}=1 h(θTx)=1 w h e n when when θ T x > = 0 \theta^Tx>=0 θTx>=0. 当然对于支持向量机不能仅仅这样要求, 我们希望预测的时候也可以 θ T x > = 1 \theta^Tx>=1 θTx>=1或者 θ T x < = − 1 \theta^Tx<=-1 θTx<=1, 这有什么好处呢?
  • 很明显这样预测的正类与负类的间隔会更加明显, 分类效果也比较好
对于参数C的理解

我们将这个常数 C C C设置成一个非常大的值,比如我们假设 C C C的值为100000或者其它非常大的数,观察一下支持向量机会给出什么结果?

因为目标是最小化下面的函数:
在这里插入图片描述

所以当 C C C很大时, 第一项会希望它近似为0, 那么我们怎么才能得到这样的结果呢?
之前提到, 当是正类时, θ T x > = 1 \theta^Tx>=1 θTx>=1可以让损失函数第一项为0, 同样对于负类, θ T < = − 1 \theta^T<=-1 θT<=1可以让第一项为0, 这其实就对应了一个决策边界, 可以参考二分类里的决策边界:二分类

下图是两个类别的图:
在这里插入图片描述
决策界限满足: 正类时, θ T x > = 1 \theta^Tx>=1 θTx>=1; 负类时, θ T < = − 1 \theta^T<=-1 θT<=1

当然可以有多个分类界限, 如下:
在这里插入图片描述

支持向量机将会选择这个紫色的决策边界,相较于之前的决策界限。这条紫色的看起来好得多,看起来是更稳健的决策界。在分离正样本和负样本上它显得的更好。数学上来讲,这是什么意思呢?这条紫线有更大的距离,这个距离叫做间距(margin)。
在这里插入图片描述
当画出这两条额外的蓝线,我们看到紫色的决策界和训练样本之间有更大的最短距离。然而绿线和黑线离训练样本就非常近,在分离样本的时候就会比紫线表现差。因此,这个距离叫做支持向量机的间距,而这是支持向量机具有鲁棒性的原因,因为它努力用一个最大间距来分离样本。因此支持向量机有时被称为大间距分类器。其背后的数学原理将在之后解释。

  • 当C非常大时, 假设数据集如下:

在这里插入图片描述

直观上可能是这样, 满足大间隔的条件。
在这里插入图片描述

加入有数据位置是这样, 那么决策界限可能是这样:

在这里插入图片描述

这其实就有些不好了, 因为一个异常的数据, 结果决策界限就变化的很大. 这是C过大的缺点. 但如果C比较小, 可能就不会变.
这里大间距分类器的描述,仅仅是从直观上给出了正则化参数 C C C非常大的情形.
观察 C C C,当:

C C C 较大时,可能会导致过拟合,方差。

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

大间隔分类器的数学原理
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

live_for_myself

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值