书中第七章才是支持向量机SVM,但在SVM与感知机有相似的地方,看了感知机的知识之后趁热先看看SVM。
首先回顾一下感知机。感知机的模型是线性分类模型,将两种类别标记为正负1,将新的样本输入线性函数,再将线性函数代入符号函数就可以得到输出作为判定结果。这里最重要的还是线性函数的选取,线性函数在特征空间中可能就是一个超平面,只要这个超平面能将正负样本完全分隔开来就是符合要求的超平面,这也就是感知机的策略。具体到损失函数,选择的不是误分类点的个数,而是误分类点到超平面的总距离,这样才连续可求导,方便后续优化。感知机的算法是在策略的基础上选择的优化算法。
支持向量机像感知机一样,都是二分类模型。正如之前提到,感知机是支持向量机的基础,我们还是从机器学习的三要素出发,看看支持向量机在感知机之下做出了什么样的改进。
模型
从模型看,支持向量机有三种模型,对应训练数据的线性可分情况,从简单到复杂。当数据线性可分时,通过硬间隔最大化,学习一个线性可分支持向量机;当数据近似线性可分时,通过软间隔最大化,学习一个线性支持向量机;当数据线性不可分时,同时使用核技巧(Kernel Function)和软间隔最大化,学习一个非线性支持向量机。书中强调支持向量机的学习是在特征空间进行的,将输入空间中的输入数据映射到特征空间,非线性支持向量机是非线性映射,所以两个空间的元素不是一一对应的,其他两种支持向量机则是一一对应的。其实感知机的几何解释也是在特征空间中进行的,超平面将特征空间划分为两个部分。
策略
与感知机相比,支持向量机的要求更高,不仅仅要求正确分类,还要求正确性尽可能高,正确性表现为样本点到超平面的距离(间隔)。具体策略与模型的选取有关,又分为硬间隔最大化和软间隔最大化。
线性可分支持向量机
既然都线性可分了,那么很明显找到能将两类数据分隔开的直线就行了。但是在这里提出了更高的要求。很容易理解离超平面距离越远的点被正确分类的距离越高,因为和分界线的安全距离更大。这个安全距离有一个更专业的词汇,叫做函数间隔。结合感知机中误分类点到超平面的距离(参考链接1,样本点与在超平面的投影点构成的直线与法向量的内积),y(wx+b)就是样本点的函数间隔。对训练集而言,训练集的函数间隔是所有样本点的函数间隔的最小值。将函数间隔归一化,就是几何间隔。线性可分支持向量机的策略就是基于几何间隔的,使几何间隔最大化,就是确保分隔的可信度最高。
在数学上,这是一个约束最优化问题,使训练集的几何间隔最大,同时保证训练集中每一个样本的几何间隔都大于训练集的几何间隔。经过等价转化,转化为一个凸二次规划问题(目标函数和约束函数都是连续可微的凸函数),对应书中的算法7.1.算法中取几何间隔等于1,这样在超平面两侧各有一个新的超平面wx+b=1和wx+b=-1,落在这两个超平面上的的样本点决定了分离超平面,被叫做支持向量。应用拉格朗日的对偶性,还有一个对偶算法7.2.先构造并求解另一个约束最优化问题,然后再求解w和b。
线性向量机
在这种情况下,除去少部分特异点outlier,其他大部分样本点是线性可分的。但我们又无法知道到底哪些是outlier,所以只能降低约束条件,具体做法是引入一个松弛变量,但同时也对目标函数进行修改,引入一个代价,保证在间隔尽量大的同时误分类点尽量少。由此可以得到线性向量机的学习算法。书中重点介绍的是对偶学习算法,看来对偶算法还很重要。在线性支持向量机中,支持向量不再只分布在约束条件边界上,而是还分布在间隔边界和分离超平面之间。书中还提到了对于近似线性可分数据的另一种解决思路,即利用合页损失函数,思想是在同时满足分类正确和间隔大于约束条件时损失才是0,否则损失是1-y(wx+b)。可以证明,两种优化方法是等价的。
非线性支持向量机
不是所有的数据都是线性可分的,有的数据线性不可分,却可以利用非线性模型如椭圆分离开来,这时我们就希望将非线性问题变换为线性问题。将椭圆的平方项用变量代换就可以转化为高维空间的线性可分问题,从而套用线性可分支持向量机的知识。所以非线性支持向量机的重点主要在非线性映射的问题。
其实感知机和支持向量机都是在特征空间上进行分类的,特征空间可以是欧式空间或者希尔伯特空间。非线性支持向量机中的特征空间特指希尔伯特空间。具体的映射关系可以通过核函数的定义表示:
核函数就是输入空间的的分类曲线。这里核函数K转化为映射结果的内积的形式。在这之后我们不再关注于映射关系,而是其内积,因为在对偶问题中,目标函数和决策函数都涉及了当前输入和输入的训练实例的内积,而他们又可以转化为特征空间中的内积,所以只要把核函数转化为内积形式,就不必明确指出映射关系和特征空间就可以求解,即学习是隐式的在特征空间进行的,这就是核技巧。
但其实不是所有的欧式几何下的分类曲线都可以转化为内积的形式,即不是所有函数K都是核函数。书中证明了Mercer定理7.7:K为核函数(正定核函数)的充要条件是K对应的Gram矩阵是半正定矩阵。但检验一个具体函数K是否是正定核函数依然不容易,在实际问题中往往应用已有的核函数,如多项式核函数、高斯核函数、字符串核函数、径向基核RBF、样条核、Sigmoid核。
在选取核函数解决实际问题时,通常采用的方法有:一是利用专家的先验知识预先选定核函数;二是采用Cross-Validation方法,即在进行核函数选取时,分别试用不同的核函数,归纳误差最小的核函数就是最好的核函数.如针对傅立叶核、RBF核,结合信号处理问题中的函数回归问题,通过仿真实验,对比分析了在相同数据条件下,采用傅立叶核的SVM要比采用RBF核
的SVM误差小很多.三是采用由Smits等人提出的混合核函数方法,该方法较之前两者是目前选取核函数的主流方法,也是关于如何构造核函数的又一开创性的工作.将不同的核函数结合起来后会有更好的特性,这是混合核函数方法的基本思想.
SVM的目标是找到使得训练数据尽可能分开且分类间隔最大的超平面,应该属于结构风险最小化,严格来说也是错误的。 D. SVM可以通过正则化系数控制模型的复杂度,避免过拟合。
正确答案:C 你的答案:D(错误)
L2正则项,作用是最大化分类间隔,使得分类器拥有更强的泛化能力
Hinge 损失函数,作用是最小化经验分类错误
分类间隔为1/||w||,||w||代表向量的模
当参数C越小时,分类间隔越大,分类错误越多,趋于欠学习
Reference:
1. 距离https://blog.csdn.net/amyaguang/article/details/46043885
2.牛客网https://www.nowcoder.com/test/question/done?tid=16646359&qid=56467#summary
3.https://www.nowcoder.com/test/question/done?tid=16669005&qid=7173#summary