支持向量机
最初用于解决线性问题,加入核方法后可以用于解决非线性问题。能适应“小样本数量、高特征维度”问题,甚至是特征维度大于样本数量的情况。
目标:使得与超平面最近的样本点(支持向量)的距离最大化。
软间隔:为了减少噪声点的影响,允许计算超平面时训练集中存在错误数据,防止过拟合。
两个方面的权衡:1.分类要尽量准 2.间隔要尽可能大
引入松弛因子,可以调节上述两个方面的权重
对于非线性可分数据,可通过将原始低微特征映射到高维特征的方法,使得其线性可分。如下公式,可将特征从二维扩展到三维。
svm使用拉格朗日乘子法实现升维。通过拉格朗日乘子法最后可以将求超平面参数w的目标转换为用高维中数据点向量两两点积(dot-product)值求解的二次规划问题(有约束情况下的求极值问题,可用SMO算法)。因此,SVM 无须真的将所有训练数据映射到高维空间,而只需知道这些数据在高维空间里两两之间的点积即可。
核函数(Kernel Function):一种输入两个低维空间向量、返回高维空间点积的函数。
通用核函数:
引用
1.从机器学习到深度学习:基于scikit-learn与tensorflow的高效开发实战