在机器学习中,支持向量机(Support Vector Machine,SVM)是经典的分类算法之一,应用领域也非常广,其效果自然也是很厉害的。本章对支持向量机算法进行解读,详细分析其每一步流程及其参数对结果的影响。
支持向量机工作原理
前面已经给大家讲解了一些机器学习算法,有没有发现其中的一些套路呢?它们都是从一个要解决的问题出发,然后将实际问题转换成数学问题,接下来优化求解即可。支持向量机涉及的数学内容比较多,下面还是从问题开始一步步解决。
支持向量机要解决的问题
现在由一个小例子来引入支持向量机,下图中有两类数据点,目标就是找到一个最好的决策方程将它们区分开。
上图中有3条直线都能将两类数据点区分开,那么,这3条线的效果相同吗?肯定是有所区别的。大家在做事情的时候,肯定希望能够做到最好,支持向量机也是如此,不只要做这件事,还要达到最好的效果,那么这3条线中哪条线的效果最好呢?现在放大划分的细节进行观察,如下图所示。
由图可见,最明显的一个区别,就是左边的决策边界看起来窄一点,而右边的宽一点。假设现在有一个大部队在道路上前进,左边埋着地雷,右边埋伏敌人,为了大部队能够最安全地前进,肯定希望选择的道路能够避开这些危险,也就是离左右两边都尽可能越远越好。
想法已经很明确,回到刚才的