课程目录
十二、支持向量机(Support Vector Machines)
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 点,先画出将要用的代价函数。