机器学习的爹——如何成为SVM的爹

1.SVM的直观理解

1.1 从Logistic到SVM

在这里插入图片描述
z = θ T x z = \theta^{T}x z=θTx ,logistic回归想做的,是当 y y y = 1时, h θ ( x ) h_\theta \left( x \right) hθ(x)趋近于1, z z z远大于0;同样的当 y y y = 0时, h θ ( x ) h_\theta \left( x \right) hθ(x)趋近于0, z z z远小于0

在这里插入图片描述
从上图可以看出,每一个分类错误的样本,我们都希望能够有更大的cost,每一个分类正确的样本,我们给他的cost就是0。那么问题就来了,原来的logistic的损失是否是最优的呢?是否可以改进呢?于是人们想到了粉色的线所表示的cost。在新的cost下,模型判断会变得更坚定,并且为支持向量机,带来计算上的优势。
在这里插入图片描述
需要注意的是两点:

  • 1 / m 1/m 1/m项可以不要,前面的系数跟最优化的结果没有关系
  • 逻辑回归中,利用参数来调整正则化的参数,本质上可以理解为是关注前一项还是后一项的cost损失;在SVM中,利用C代替了。

1.2 最大间隔

SVM被人们认为是最大间隔分类器,这个最大间隔从数学和几何意义的角度如何理解呢?
在这里插入图片描述
如上图所示,左边的cost用于正样本,右边的cost用于负样本。从图中可以看出,对于一个正样本 y = 1 y=1 y=1,只有在 z > = 1 z>=1 z>=1时,代价函数才等于0。也就是说,如果有一个正样本,只有在 θ T x > = 1 \theta^Tx>=1 θTx>=1时我们才肯定的认为他是正样本。反之如果有一个负样本,只有在 θ T x < = − 1 \theta^Tx<=-1 θTx<=1的时候我们才肯定的认为他是负样本。也就是说,对于一般的分类器来说,SVM的分类边界要求更高。这就相当于在支持向量机中嵌入了一个额外的安全因子,或者说安全的间距因子。

接下来问题就来了,那么多条线可以把两个线性可分的数据分开,SVM到底是哪条线呢?
在这里插入图片描述
从上文的讲述中,我们可以发现,SVM相比其他的分类边界,具有更大的margin
在这里插入图片描述
当画出这两条额外的蓝线,我们看到黑色的决策界和训练样本之间有更大的最短距离。然而粉线和蓝线离训练样本就非常近,在分离样本的时候就会比黑线表现差。因此,这个距离叫做支持向量机的间距,而这是支持向量机具有鲁棒性的原因,因为它努力用一个最大间距来分离样本。因此支持向量机有时被称为大间距分类器,这其实就是优化问题的结果。

假设将参数C设置的特别大,那么在让代价函数最小化的过程中,我们希望找出在y=1和y=0两种情况下都使得代价函数中第一项尽量为零的参数。如果我们找到了这样的参数,则我们的最小化问题便转变成:
在这里插入图片描述
支持向量机做的全部事情,就是极小化参数向量θ范数的平方,或者说长度的平方。下面通过几何意义来分析一下:
在这里插入图片描述
θ T x > = 1 \theta^Tx>=1 θTx>=1 或者 θ T x < = − 1 \theta^Tx<=-1 θTx<=1的,约束是可以被 p ⋅ x > = 1 p⋅x>=1 px>=1这个约束所代替的。因为 θ T x = p ⋅ ∣ θ ∣ \theta^Tx=p⋅|\theta| θTx=pθ,将其写入我们的优化目标。我们将会得到没有了约束, θ T x \theta^Tx θTx而变成了 p ⋅ ∣ θ ∣ p⋅|θ| pθ

如上左图所示,样本 x ( 1 ) x^{(1)} x(1),如果我考察这个样本到参数θ的投影,投影为 p ( 1 ) p^{(1)} p(1),它非常短。类似地,这个样本如果它恰好是 x ( 1 ) x^{(1)} x(1),它到θ的投影为粉色, p ( 2 ) p^{(2)} p(2)为负值,这个向量和参数向量θ的夹角大于90度, p ( 2 ) p^{(2)} p(2)的值小于0。

这些 p ( i ) p^{(i)} p(i)将会是非常小的数,因此当我们考察优化目标函数的时候,对于正样本而言,我们需要 p ( i ) ⋅ ∣ θ ∣ > = 1 p^{(i)}⋅|θ|>=1 p(i)θ>=1,但是如果 p ( i ) p^{(i)} p(i)在这里非常小,那就意味着我们需要θ的范数非常大。因为如果 p ( i ) p^{(i)} p(i) 很小,而我们希望 p ( i ) ⋅ ∣ θ ∣ > = 1 p^{(i)}⋅|θ|>=1 p(i)θ>=1,令其实现的唯一的办法就是这θ较大,也就是θ的范数大。类似地,对于负样本而言我们需要 p ( i ) ⋅ ∣ θ ∣ < = − 1 p^{(i)}⋅|θ|<=-1 p(i)θ<=1。我们已经在图中样本中看到 p ( 2 ) p^{(2)} p(2)会是一个非常小的数,因此唯一的办法就是θ的范数变大。但是我们的目标函数是希望找到一个参数θ,它的范数是小的。因此,这看起来不像是一个好的参数向量θ的选择。
再来看看上图右边的决策边界。样本 x ( 1 ) x^{(1)} x(1),投影到横轴x上,或说投影到θ上,就会得到 p ( 1 ) p^{(1)} p(1)。它的长度是p(1),另一个样本 x ( 2 ) x^{(2)} x(2)投影下来会发现, p ( 2 ) p^{(2)} p(2)的长度是负值。你会注意到现在 p ( 1 ) p^{(1)} p(1) p ( 2 ) p^{(2)} p(2)这些投影长度边长了。如果我们仍然要满足这些约束, P ( i ) ⋅ ∣ θ ∣ > 1 P^{(i)}⋅|θ|>1 P(i)θ>1,则因为p(1)变大了,θ的范数就可以变小了。因此这意味着通过选择右边的决策界,支持向量机可以使参数θ的范数变小很多。因此,如果我们想令θ的范数变小,从而令θ范数的平方变小,就能让支持向量机选择右边的决策界。这就是支持向量机如何能有效地产生大间距分类的原因。最后总结一下,通过让间距变大,即通过这些p(1),p(2),p(3)等等的值,支持向量机最终可以找到一个较小的θ范数。这正是支持向量机中最小化目标函数的目的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值