SVM算法简介:
支持向量机(support vector machine,简称为SVM)是分类与回归分析中的一种监督学习算法,也是一种二分类模型,其基本模型定义为特征空间上间隔最大的线性分类器,且基于最大间隔分隔数据,可转化为求解凸二次规划的问题。
支持向量机的原理:
为了描述支持向量机,此处从逻辑回归开始分析,并一点一点地修改来得到本质上的支持向量机。
左边是假设函数表达式,右边是S型激励函数图像。
为了便于表达,横坐标会使用 表示 。
对于逻辑回归算法,如果有一个 的样本,我们希望 趋近于1,这就意味着如果想正确分类, 要远远大于0,反之亦然。
以 的情况为例,当 增大时, 对应的值会变得非常小,对整个代价函数而言,影响也非常小,这就可以解释得通了。
支持向量机的代价函数:
从代价函数 开始一点一点修改,取 点,画出将要用的代价函数:
新的代价函数为紫红色的曲线,由两条线段组成,即位于右边的水平部分和位于左边的直线部分,这是在 的前提下。
另一种情况是当 时:
定义当 时,代价函数为 ,当 时,代价函数为 。
开始构建支持向量机:
最右边项是正则项。
有别于逻辑回归输出的概率。在这里,当最小化代价函数,获得参数 时,支持向量机所做的是用它来直接预测 的值是等于1还是等于0。所以学习参数 就是支持向量机假设函数的形式。这就是支持向量机数学上的定义。
参考资料:吴恩达机器学习系列课程