本博客是针对Andrew NG在Coursera上发布的Machine Learning课程SVM部分的学习笔记。
前言
相比logistic regression和neural network,SVM作为一种可以学习到复杂非线性模型的学习算法,也是效果非常强大的,因此在工业界和学术界都非常常见。
最优化目标(Optimization Objective)
首先,我们回忆一下logistic regression:
根据样例的标签,我们希望模型能给出最接近标签的输出。比如如果样例的真实标签是1,我们希望LR模型能输出接近1的值,也等价于希望 θTx 的值能尽可能大。
根据这个对于LR模型的期望,我们画出如下图的LR算法的损失函数(圆滑的蓝色细线)。然后,我们画出另外一个和LR算法的损失函数形状比较类似的新的损失函数曲线(紫色的细直线),这个新的损失函数曲线也是满足我们对于一个比较好的学习算法的期望的。
而这个新的损失函数曲线其实就是SVM算法的损失函数,我们将它们分别记为 cost1(θTx(i))与cost0(θTx(i)) ,并写出SVM的成本函数+正则项:
另外,相对LR算法的成本函数,我们去掉了 1m 的两项的公共乘积,并将原来的