机器学习9 支持向量机SVM

12 支持向量机

12.1 优化目标

支持向量机(SVM),在学习复杂的非线性方程时提供了一种更为清晰,更加强大的方式。也是监督学习算法。他在例如特征向量的难以选择、正则化参数的难以选择方面,提供了较好地解决方案。

回顾知识

回顾逻辑回归里边的知识,,假设函数,sigmoid函数,z……


根据性质,如果想要假设函数趋近于1,那么z>>0;反之想要假设函数趋近于0,那么z<<0 。
然后回顾代价函数,(如果你进一步观察逻辑回归的代价函数,你会发现每个样本 (,)都会为总代价函数,增加这里的一项-->每一个训练样本都影响这一项

一起来考虑=1 的情况; =0 的情况。 可以得到下面的两张图(忽略粉色的线,这是我们后面讲的),

分析
y=1(左侧图):当 增大时,也就是相当于增大时, 对应的值会变的非常小。对整个代价函数而言,影响也非常小。所以逻辑回归在观察到正样本 = 1时,z设置的很大代价函数就会变得很小。
我们可以得到新的代价函数,粉色的线(现在得到粉色的线能做什么我也不是很清楚,不过看起来更加简单一点)用Cost1(z)表示。
y=0(右侧图):同理可得

下面是支持向量机的构建

对于支持向量机,是将对应的项分别替换,得到下图的最小化问题

可以发现有不同之处
1、1/m去掉了(这只是一个常数而已,也并不是把它变成了C)
2、新增了常数C。在逻辑回归中我们通过 调节两项之间的关系,对 + × ,通过设置不同正则参数达到优化目的。(AB分别看成被替换的那两项)。那如果这样使用 × + ,也能达到一样的效果。概念上虽然可以认为 = 1/,,但是也并不全是这样,如果当 = 1/时,这两个优化目标应当得到相同的值,相同的最优值 。事实却不是这样吗?(有待解决

所以支持向量机最终实现了什么功能?
——当最小化代价函数,获得参数时,支持向量机所做的是它来直接预测的值等于 1,还是等于 0

你可能感兴趣的:(机器学习9 支持向量机SVM)