笔记:机器学习——吴恩达 第七周

课程目录


十二、支持向量机(Support Vector Machines)


12.1 优化目标
12.2 大边界的直观理解
12.3 数学背后的大边界分类(选修)
12.4 核函数1
12.5 核函数2

12.6 使用支持向量机


笔记内容


十二、支持向量机(Support Vector Machines) 


12.1 优化目标 

       在监督学习中,许多学习算法的性能都非常类似,表现情况的好坏,重要的不是你选择使用学习算法 A 还是B,而是通常依赖于你的水平。比如:你为学习算法所设计的 特征量的选择,以及如何选择 正则化参数,等等。

       有一个广泛应用于工业界和学术界的更加强大的算法,它被称为支持向量机(Support Vector Machine)逻辑回归 神经网络 相比,支持向量机,或者简称 SVM,在学习复杂的 非线性方程 时提供了一种更为清晰,更加强大的方式。它也是我们所介绍的最后一个监督学习算法。 

       如我们之前的学习算法,我们从优化目标开始。为了描述支持向量机,将会从逻辑回归开始展示我们如何一点一点修改来得到本质上的支持向量机。 

             

       在逻辑回归中我们已经熟悉了这里的 假设函数 形式,和右边的 S 型激励函数。然而,为了解释一些数学知识.我将用 z 表示  。 

       考虑一下我们想要逻辑回归做什么:如果有一个 y=1 的样本,我们希望 h(x) 趋近1。因为我们想要正确地将此样本分类,这就意味着当 h(x) 趋近于 1 时,应当远大于0。相反地,如果我们有另一个样本,即 y=0,我们希望,或者就是 z 会远小于 0,因为对应的假设函数的输出值趋近 0。 

           

       如果你进一步观察逻辑回归的代价函数,你会发现每个样本 (x, y)都会为总代价函数增加一项,因此,对于总代价函数通常会有对所有的训练样本求和,并且这里还有一个 1/m 项,但是,在逻辑回归中,这里的这一项就是表示一个训练样本所对应的表达式。现在,如果我将完整定义的假设函数代入这里,那么,我们就会得到每一个训练样本都影响这一项。 

      现在,先忽略 1/m 这一项,尽管这一项是影响整个总代价函数。现在,一起来考虑两种情况:一种是 y 等于 1 的情况;另一种是 y 等于 0 的情况。

      在第一种情况中,假设 y 等于 1,此时在目标函数中只需有第一项起作用。因此,当在 y 等于 1 的样本中时,我们得到   这样一项。我用 z 表示 。如果画出关于 z 的函数,你会看到左图的这条曲线,我们同样可以看到,当 z 增大时,也就是相当于  增大时,z 对应的函数值会变的非常小。对整个代价函数而言,影响也非常小。这也就解释了,为什么逻辑回归在观察到正样本 y=1 时,试图将  设置得非常大。因为,在代价函数中的这一项会变的非常小。 

       现在开始建立支持向量机,我们会从这个代价函数开始,也就是 一点一点修改,让我取这里的 z=1 点,先画出将要用的代价函数。 
        
       新的代价函数将会水平的从这里到右边 (图外),然后我再画一条同逻辑回归非常相似的直线,但是,在这里是一条直线,也就是这条紫红色的曲线。
       那么,到了这里已经非常接近逻辑回归中使用的代价函数了。只是这里是 由两条线段组成,即位于右边的水平部分和位于左边的直线部分,先别过多的考虑左边直线部分的斜率,这并不是很重要。但是,这里我们将使用的新的代价函数,是在 y=1 的前提下的。你也许能想到,这应该能做同逻辑回归中类似的事情,但事实上,在之后的的优化问题中,这会变得更坚定,并且为支持向量机,带来计算上的优势。例如,更容易计算股票交易的问题等等。 
       目前,我们只是讨论了 y=1 的情况,另外一种情况是当 y=0 时,此时代价函数只留下了第二项,因为第一项被消除了。因此,这个样本的代价或是代价函数将会由这一项表示。并且,如果你将这一项作为 z 的函数,那么,这里就会得到横轴 z。同样地,我们要替代这一条蓝色的线,用相似的方法。 

            
       那么,现在让我给这两个方程命名,左边的函数,我称之为 ,同时,右边函数我称它为  。这里的下标是指在代价函数中,对应的 y=1和 y=0 的情况,拥有了这些定义后,现在,我们就开始构建支持向量机。 

              
       这是我们在逻辑回归中使用代价函数 J(θ)。也许这个方程看起来不是非常熟悉。这是因为之前有个负号在方程外面,但是,这里我所做的是,将负号移到了表达式的里面,这样做使得方程看起来有些不同。对于支持向量机而言,实质上我们要将这替换为  ,也就是  ,同样地,我也将另一项替换为  ,也就是代价 
       这里的代价函数 cost1,就是之前所提到的那条线。此外,代价函数 cost0,也是上面所介绍过的那条线。因此,对于 支持向量机,我们得到了这里的 最小化问题,即: 
          
       然后,再加上 正则化参数
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值