以下内容参考《机器学习》周志华(西瓜书)以及《机器学习公式详解》datawhale(南瓜书)
支持向量
给定训练样本D,分类学习最基本的想法就是基于训练集D,在样本空间中找到一个划分超平面,将不同类别的样本分开。
问题在于:选择什么样的超平面?

超平面可以表示为:
.
如果超平面能够将样本正确分类,y值为正负1,对于正样本有,负样本
, 所以存在缩放,成立:
使的等式成立的样本称为支持向量,两个异类支持向量到超平面的距离:,称为间隔。

于是,找到最大间隔,也即:
等价于
称为SVM的基本型。
对偶问题
对于上式使用拉格朗日乘子法,得到
令L对w,b的偏导数为0,可转化为:
解出即可求出w,b,进而获取模型。
求解方法:SMO算法,避开问题规模正比于训练样本数的障碍。不断执行如下步骤直至收敛。
* 选取一对需要更新的变量
* 固定之外的参数,求解目标函数获得更新后的
由于KKT条件:
于是,对于任意的训练样本有:,前者对f没有影响,后者代表支持向量。
SMO算法:选择两变量对应样本之间的间隔最大,这样更新后能够对目标函数值带来更大的变化。
求出后可以获取w,利用支持向量的平均值可以获取b
核函数
对于线性不可分的问题,可以将样本从原始空间映射到一个更高维的特征空间,使得样本在这个特征空间线性可分。利用作为映射,超平面可以记为:
.
类似未做映射的SVM,可以得知计算w,b 需要,设想函数
,
于是可以得到
即核函数。
什么样的函数可以做核函数?
一个对称函数,对应的核矩阵半正定,就能作为核函数使用。

注意,核函数可以通过组合得到:
1. 若
为核函数,任意正数
,线性组合
为核函数;
2. 若
为核函数,直积
为核函数;
2. 若
为核函数,对于任意
,
是核函数。
软间隔
允许支持向量机在一些样本上出错,也就是不满足约束。由于希望不满足约束的样本尽可能少,于是优化目标为:
由于l的连续性与凸不好,有替代损失函数,如:

引入松弛变量,模型变为
即软间隔支持向量机。类似的,拉格朗日获得对偶问题求解。
支持向量回归
简称SVR,以f为中心构建了一个间隔带,若训练样本落入间隔带,被认为预测正确。

核方法
一系列基于核函数的学习方法,常见的是核化将线性学习器扩展为非线性学习器。