原理总结:
L=i=1∑mαi−21i=1∑mj=1∑mαiαjy(i)y(j)x(i)Tx(j)
-
求极小值的方法:SMO
算法
-
预测函数:
y^=wTx+b=i=1∑mαiy(i)x(i)Tx+b
-
核技巧:
y^=i=1∑mαiy(i)K(x(i),x)+b
-
常用核函数:
-
多项式核函数:
K(x(i),x(j))=(γx(i)Txj+c)n
当 n = 1 ,$\gamma = 1 $ c = 0 时,是线性核函数。
-
高斯核函数:
K(x(i),x(j))=exp(−2σ2(x(i)−x(j))=exp(−γ⋅(x(i)−x(j))2)
核函数根据y^的公式可知,核函数是以支持向量为中心作用的。预测函数是中心点在支持向量处的高斯函数的线性组合。其线性组合的系数为αiy(i),也即反钟型函数的线性组合。
以上的图来源于:https://nbviewer.jupyter.org/github/wangjs-jacky/Jupyter-notebook/blob/master/03_黄永昌_skleran基础0/ch08.01.ipynb
-
根据数据规模与特征的比重选择方法
- 样本很少,特征很多【DNA;文本处理】:线性SVM或者Logistics回归
- 样本少,特征中等:高斯核函数
- 样本很多,特征少【房子特征】:会出现欠拟合,需要通过
PolynomailFeatures
增加特征多项式,推荐多项式核函数
或者高斯核函数
。
-
方法分析:
- 线性核函数:
- 多项式核函数:
- 需要提前输入的超参数太多:γ、c、degree
- 拟合的阶数不能太高,尤其当x(i)Tx(j)>1时,映射后的值非常大,函数不够稳定。
- 高斯核函数:
- 映射到无限维向量空间,所以非线性很强,比起多项式核函数,其映射后的值始终在[0,1]之间。且参数就一个γ需要确定。
- 缺点:计算速度慢,容易过拟合。