1.假设我们要学习一个硬间隔SVM,其线性决策函数为
输入特征为 ,
, 标签
(分别用
和
表示). 训练数据如下图所示:
i. 根据最大间隔原则在图中标出支持向量,并大致画出对应分割超平面.
答:
ii. 若超平面的表达式为
,写处超平面
的表达式.
答:表达式为
iii. 线性硬间隔支持向量机的限制可以写作 ,解释其原因?
答:由于二分类情况下
对应分类 时,对应表达式
;
对应分类 时,对应表达式
;
因此 表达式恒成立。
iv. 当训练集数据满足什么要求时,存在一个可行的W?
答:满足如下两个限制条件
min
v. 推导超平面 与
间的距离的表达式。
答:
vi. 根据以上问题答案,写出对硬间隔支持向量机的优化问题的表达式。
答:
同时满足如下限制条件:
min
vii. 对于以下数据点
及其对应标签 ,正确的SVM决策函数
为以下某一选项。试找出该选项。
1.
2.
3.
4.
答:2. 思路:
将 数据点分别带入四个选项得
1. = 1.1,
= 1.6,
= -1.1
2. = 1.0,
= 1.2,
= -1.0
3. = 0.9,
= 0.8,
= -0.9
4. = 0.6,
= 1.6,
= -1.0
比较可以看出,2. 正分类最小值,与负分类的最大值分别为 1.0 , -1.0 符合条件,因此是答案是2
2.从最优化理论的角度解释为什么存在支撑向量
答:支持向量的数量大于等于分类数量。支持向量存在的原因:每个分类至少存在一个向量,该向量刚好落在距离为1d 距离的边界上。反之则可以说,当前超平面没有处于分类的中间位置。
3.为什么svm核函数不需要知道核函数的具体形式,只要知道内积的表达式
答:由于SMO算法(序列最好优化算法)推导可知,要计算某向量属于哪一分类。并不需要知道核函数是哪一种,而只需要知道每两个样本之间的点积即可。
4.自己独立推导svm算法
5.查资料说明svm的优缺点
优点:
(1)非线性映射是SVM方法的理论基础,SVM利用内积核函数代替向高维空间的非线性映射;
(2)对特征空间划分的最优超平面是SVM的目标,最大化分类边际的思想是SVM方法的核心;
(3)支持向量是SVM的训练结果,在SVM分类决策中起决定作用的是支持向量。
(4)SVM 是一种有坚实理论基础的新颖的小样本学习方法。它基本上不涉及概率测度及大数定律等,因此不同于现有的统计方法。从本质上看,它避开了从归纳到演绎的传统过程,实现了高效的从训练样本到预报样本的“转导推理”,大大简化了通常的分类和回归等问题。
(5)SVM 的最终决策函数只由少数的支持向量所确定,计算的复杂性取决于支持向量的数目,而不是样本空间的维数,这在某种意义上避免了“维数灾难”。
(6)少数支持向量决定了最终结果,这不但可以帮助我们抓住关键样本、“剔除”大量冗余样本,而且注定了该方法不但算法简单,而且具有较好的“鲁棒”性。这种“鲁棒”性主要体现在:
①增、删非支持向量样本对模型没有影响;
②支持向量样本集具有一定的鲁棒性;
③有些成功的应用中,SVM 方法对核的选取不敏感
缺点:
(1) SVM算法对大规模训练样本难以实施
由于SVM是借助二次规划来求解支持向量,而求解二次规划将涉及m阶矩阵的计算(m为样本的个数),当m数目很大时该矩阵的存储和计算将耗费大量的机器内存和运算时间。针对以上问题的主要改进有有J.Platt的SMO算法、T.Joachims的SVM、C.J.C.Burges等的PCGC、张学工的CSVM以及O.L.Mangasarian等的SOR算法
(2) 用SVM解决多分类问题存在困难
经典的支持向量机算法只给出了二类分类的算法,而在数据挖掘的实际应用中,一般要解决多类的分类问题。可以通过多个二类支持向量机的组合来解决。主要有一对多组合模式、一对一组合模式和SVM决策树;再就是通过构造多个分类器的组合来解决。主要原理是克服SVM固有的缺点,结合其他算法的优势,解决多类问题的分类精度。如:与粗集理论结合,形成一种优势互补的多类问题的组合分类器。
6.说出lda与pca的区别
答:LDA,基本和PCA是一对双生子,它们之间的区别就是PCA是一种unsupervised的映射方法而LDA是一种supervised映射方法,这一点可以从下图中一个2D的例子简单看出
图的左边是PCA,它所作的只是将整组数据整体映射到最方便表示这组数据的坐标轴上,映射时没有利用任何数据内部的分类信息。因此,虽然做了PCA后,整组数据在表示上更加方便(降低了维数并将信息损失降到最低),但在分类上也许会变得更加困难;图的右边是LDA,可以明显看出,在增加了分类信息之后,两组输入映射到了另外一个坐标轴上,有了这样一个映射,两组数据之间的就变得更易区分了(在低维上就可以区分,减少了很大的运算量)。
PCA 是无监督的,它所作的只是将整组数据整体映射到最方便表示这组数据的坐标轴上,映射时没有利用任何数据内部的分类信息。用主要的特征代替其他相关的非主要的特征,所有特征之间的相关度越高越好,但是分类任务的特征可能是相互独立的
LDA是有监督的,使得类别内的点距离越近越好(集中),类别间的点越远越好。
在实际应用中,最常用的一种LDA方法叫作Fisher Linear Discriminant,其简要原理就是求取一个线性变换,是的样本数据中“between classes scatter matrix”(不同类数据间的协方差矩阵)和“within classes scatter matrix”(同一类数据内部的各个数据间协方差矩阵)之比的达到最大。关于Fisher LDA更具体的内容可以见下面课件,写的很不错~
http://www.csd.uwo.ca/~olga/Courses//CS434a_541a//Lecture8.pdf
答案属个人理解,不一定正确,仅供参考