[Machine Learning] 10 支持向量机(Support Vector Machines)

在这里插入图片描述

10 Support Vector Machines(支持向量机)

10.1 Optimization Objective(优化目标)

在监督学习中,许多学习算法的性能都非常类似,因此,重要的不是该选择使用学习算法 A 还是学习算法 B,而是应用这些算法时,所创建的大量数据表现情况,这又通常依赖于你的水平。比如:为学习算法所设计的特征、正则化参数等。在学习复杂的非线性方程时与逻辑回归和神经网络相比,支持向量机(Support Vector Machine) 提供了一种更为清晰,更加强大的方式,被广泛的应用于工业界和学术界。

为了描述支持向量机,将开始展示如何通过修改逻辑回归得到本质上的支持向量机。
在这里插入图片描述
首先逻辑回归是怎么做的:如果有一个 𝑦 = 1的样本,不管是在训练集中或是在测试集中,又或者在交叉验证集中,总之是 𝑦 = 1,现在则希望ℎ𝜃(𝑥) 趋近 1,𝜃𝑇𝑥 应当远大于 0。相反地,如果有另一个样本,即𝑦 = 0,希望假设函数的输出值趋近于 0,则对应的𝜃𝑇𝑥 应远小于 0。

在这里插入图片描述
如果进一步观察逻辑回归的代价函数,会发现每个样本 (𝑥, 𝑦)都会为总代价函数,增加这里的一项,在这里插入图片描述
因此,对于总代价函数通常是对所有的训练样本求和,并且还有一个1/𝑚项,但是,在逻辑回归中,这一项就只表示一个训练样本所对应的表达式。如果将完整定义的假设函数代入这里,则每一个训练样本都影响这一项。现在,先忽略 1/𝑚 这一项,先考虑两种情况:一种是𝑦等于 1 的情况;另一种是 𝑦 等于 0 的情况。

在第一种情况中,假设 𝑦 = 1 ,此时在目标函数中只需有第一项起作用,因为𝑦 = 1时,(1 − 𝑦)项将等于 0。因此,当在 𝑦 = 1 的样本中时,得到在这里插入图片描述
这样一项。

用 𝑧 表示𝜃𝑇𝑥 ,即: 𝑧 = 𝜃𝑇𝑥 。画出关于𝑧 的函数,得到左下角的这条曲线,可以看到,当𝑧 增大时,对应的值会变的非常小。对整个代价函数而言,影响也非常小。这也就解释了,为什么逻辑回归在观察到正样本𝑦 = 1时,试图将𝜃𝑇𝑥 设置得非常大。因为,在代价函数中的这一项会变得非常小。

现在开始建立支持向量机,从这个代价函数开始,也就是在这里插入图片描述
一点一点修改,取这里的𝑧 = 1点,先画出将要用的代价函数。新的代价函数(紫红色)将会水平的从z=1到右边,然后再在左边画一条同逻辑回归非常相似的直线。那么,到了这里已经非常接近逻辑回归中使用的代价函数了。只是这里是由两条线段组成,即位于右边的水平部分和位于左边的直线部分,先不考虑左边直线部分的斜率,这并不是很重要。
在这里插入图片描述
这同逻辑回归中类似的事情,并且为支持向量机,带来计算上的优势。例如,更容易计算股票交易的问题等等。

当𝑦 = 0时,此时代价函数只留下了第二项。
在这里插入图片描述
并且,如果将这一项作为𝑧的函数,那么,就会得到横轴𝑧。同理得到如下图像。
在这里插入图片描述
如果用一个新的代价函数来代替,即这条从 0 点开始的水平直线,然后是一条斜线,像上图。那么,现在给这两个方程命名,左边的函数,称之为cos𝑡1(𝑧),同时,右边函数称为cos𝑡0(𝑧)。这里的下标是指在代价函数中,对应的 𝑦 = 1 和 𝑦 = 0 的情况,拥有了这些定义后,现在就开始构建支持向量机。
在这里插入图片描述
这是在逻辑回归中使用代价函数𝐽(𝜃),对于支持向量机而言,实质上要将这替换为cos𝑡1(𝑧),也就是cos𝑡1(𝜃𝑇𝑥),同样地,我也将这一项替换为cos𝑡0(𝑧),也就是代价cos𝑡0(𝜃𝑇𝑥 )。因此,对于支持向量机,得到了这里的最小化问题,即:
在这里插入图片描述
首先,除去1/𝑚这一项,这仅仅是由于人们在使用支持向量机时,与使用逻辑回归的不同习惯所致。1/𝑚 仅是个常量ÿ

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值