支持向量机(svm)英文为Support Vector Machines
第一次接触支持向量机是2017年在一个在线解密游戏“哈密顿行动”中的一个关卡的二分类问题,用到了台湾教授写的svm库libsvm ‘C#’版。支持向量机在深度学习之前统治了机器学习近10年,机器学习有个没有免费的午餐定理,意思是说没有一个算法在任何情况下都是最好的。
支持向量机的优势
- 泛化性能比较好, 不容易过拟合
- 可以在较少的数据下取得好的性能
- 存在全局最优解
- 存在高效实现的训练算法
- 可以使用kernel trick处理非线性的问题
- 理论非常完美
缺点
- 当数据量特别大时,训练比较慢
SVM: 好的分割线具有最大间隔
svm是一个线性分类器,wx+b=0 wx+b=-1 wx+b=1,线性不可分的情况下使用松弛变量
k类扩展SVM到支持多个类别的方法:
- 1对其他分类 :需要k个支持向量机,
- 1对1分类:需要1+2+3+...+k=k*(k-1)/2个svm
Hinge Loss(合页损失函数)
将特征映射到更高的维度