从0开始机器学习--Day23--支持向量机
经过前面的学习,我们已经知道在解决问题时,重要的不仅仅是要在算法A或算法B中选择更优的,而是考虑怎么选择用于学习算法的特征和正则化参数,相比神经网络和逻辑回归,支持向量机在这两个方面做得更好。
优化目标(Optimization objective)
让我们先从逻辑回归开始讲起,看看如何通过一个小小的改动转为支持向量机。
逻辑回归图像
如图,假如我们有一个的样本,我们的期望是算法经过计算后预测的,也就是远远大于0;同理,对于的样本期望也是其远远小于0。
我们分别画出和样本的代价函数图像,并参照其弯曲程度,画出两个新的折线,我们将这两条线命名为和,如下:
两个新的代价函数图像
接下来,我们就可以写出SCM,也就是支持向量机的1代价函数了,像上述所说,我们把和替换进原来的代价函数里,我们把代价函数和正则项看做A和B,那么新的代价函数就是,由于是常数,不影响我们计算代价函数的最小值,可以约去。在原来的定义里,正则项参数是用于衡量参数的权重,在SVM里也着重研究,只是其形式为,将乘在第一项前,如果其很小,说明B的权重很大,在这里只是按照惯例规定,与之前的研究对象并无不同。
值得注意的是,SVM并不会像逻辑回归一样输出一个概率,他的输出是直接对样本进行预测,即当时结果为1,相反则为0。
直观上的大间隔(Large margin intuition)
对比SVM和逻辑回归,两者从结果上来看仅仅是其预测的判定范围不太一样,SVM的范围相比逻辑回归更小,也就意味着其是作了更严谨的判断来得到这样的结果,相差的一小段范围我们称为安全因子。
下面有两幅图,在第一幅图中,最中间的决策边界就是SVM画出来的,你会发现它跟其他线相比和两组样本都隔了一个很远的距离,以确保有新的样本出现时分错的概率更低,也就是鲁棒性(指一个系统在面对内部结构或外部环境改变时,仍然能够维持其功能稳定运行的能力)更好;而在第二幅图中,假如我们的C取得很大(可能是为了考虑到一个极端样本),线的倾斜度很高;如果不需要考虑这个样本,那么决策边界大概就是中间这条线,我们可以将其简单理解为线性回归,C就是系数的倒数,C越大,直线越倾斜:
样本线性可分时SVM的决策边界
出现异常值时SVM的决策边界
视频学习来自:https://www.bilibili.com/video/BV1By4y1J7A5?spm_id_from=333.788.player.switch&vd_source=867b8ecbd62561f6cb9b4a83a368f691&p=72