传统的机器学习问题分成两类,分类(classification)和回归(regression),SVM是分类学习的一个经典算法。给定训练集D,寻找一个超平面按照某种标准把样本进行分类。
首先三个图都是正确分类的,第三个图分割的好,因为距离超平面最近的点(支持向量)距离超平面的距离最远样本是含有随机扰动的,而距离样本点远意味着该超平面对训练样本的局部扰动容忍性最好
假设超平面的方程是
如果令所有支持向量的label*(w^t*x+b)=1,所有向量就满足label*(w^t*x+b)>=1>0,minw^-1等价于max(1/2*W^t*w)
最大间隔损失函数(hinge loss),用于最大间隔分类。
对于训练集中的第i个数据Xi,在W下会有一个score结果向量f(xi,W),第j类的得分结果f(xi,W)j,j!=yi,错误分类的得分是f(xi,W)j,正确分类的得分是(xi,W)yi,正确得分 - delta = 安全警戒线值
两项的差代表的就是惩罚权重,越接近正确得分,权重越大。当错误得分在警戒线以外时,两项相减得到负数,那么损失函数的最大值是0,也就是没有损失。 一直往复循环训练数据,直到最小化损失函数为止,也就找到了分类超平面。SVM如何处理线性不可分问题:在线性不可分的情况下,支持向量机首先在低维空间中完成计算,然后通过核函数将输入空间映射到高维特征空间,最终在高维特征空间中构造出最优分离超平面,从而把平面上本身不好分的非线性数据分开。
网友评论