SVM学习总结
介绍
在机器学习中,支持向量机(英语:support vector machine,常简称为SVM,又名支持向量网络[1])是在分类与回归分析中分析数据的监督式学习模型与相关的学习算法。给定一组训练实例,每个训练实例被标记为属于两个类别中的一个或另一个,SVM训练算法创建一个将新的实例分配给两个类别之一的模型,使其成为非概率二元线性分类器。SVM模型是将实例表示为空间中的点,这样映射就使得单独类别的实例被尽可能宽的明显的间隔分开。然后,将新的实例映射到同一空间,并基于它们落在间隔的哪一侧来预测所属类别。
应用
- 用于文本和超文本的分类.
- 用于图像分类。
- 用于手写字体识别。
- 用于医学中分类蛋白质,超过90%的化合物能够被正确分类.
线性SVM
硬间隔:
最大间隔超平面完全是由最靠近它的那些 确定的,即支持向量。
软间隔:
非线性分类
常见核函数:
算法
优化问题叙述如下:
通过求解上述问题的拉格朗日对偶,得到简化的问题:
由于对偶最小化问题是受线性约束的二次函数,所以它可以通过二次规划算法高效地解出
优化
次梯度下降
SVM的次梯度下降算法直接用表达式
坐标下降
SVM的坐标下降算法基于对偶问题:
核技巧
优缺点
优点
解决小样本下机器学习问题。
解决非线性问题。
无局部极小值问题。(相对于神经网络等算法)
可以很好的处理高维数据集。
泛化能力比较强。
缺点
- 需要对输入数据进行完全标记
- 未校准类成员概率
- SVM仅直接适用于两类任务。因此,必须应用将多类任务减少到几个二元问题的算法;
- 解出的模型的参数很难理解。
参考:
https://zh.wikipedia.org/wiki/%E6%94%AF%E6%8C%81%E5%90%91%E9%87%8F%E6%9C%BA