支持向量机同样是一种分类算法,它的目的是寻找一个超平面来对样本进行分割,分割的原则是间隔最大化,当训练样本线性可分时,通过硬间隔最大化学习一个线性可分支持向量机;当训练样本近似线性可分时,通过软间隔最大化学习一个线性支持向量机;当训练样本线性不可分时,通过核技巧和软间隔最大化学习一个非线性支持向量机,该算法思路比较简单,但推导过程比较复杂,需要高等数学知识;
算法优点:① 纯高等数学知识思维,可解释性强,不依靠统计方法,从而简化了通常的分类和回归问题;② 采用核技巧之后,可以处理非线性分类/回归任务;③ 最终决策函数只由少数的支持向量所确定,计算的复杂性取决于支持向量的数目,而不是样本空间的维数,这在某种意义上避免了“维数灾难”
算法缺陷:① 训练时间长,时间复杂度;② 当采用核技巧时,如果需要存储核矩阵,则空间复杂度为 ;③ 预测时间与支持向量的个数成正比,当支持向量的数量较大时,预测计算复杂度较高。