支持向量机
7.1 对于样本空间中的一划分超平面**w*Tx* + b = 0,有*w* = (-1, 3, 2),b = 1。则判断如下向量是否为支持向量,并求出间隔。
(1) ***x***1 = (4, -2, 2)
(2) ***x***2 = (2, 5, -6.5)
(3) ***x***3 = (4, -2, 4)
7.2 假设输入空间是R2,核函数是κ(x, z) = (xTz)2,试找出其相关的特征空间H和映射Φ(x):
7.3 设计几种SVM实现多分类的方案。
答:
SVM是用来解决两分类问题的,直接用SVM实现多分类是不行的,只能使用下面这些间接的方法:
1. 一对多法(one-versus-rest,OvR):
即对于每一个分类,训练一个该分类和其他分类的分类器,如对于类k,k是一类,所有其他的是另一类,这样就需要训练k个分类器。对未知样本分类时,哪个分类器的函数值最大,就属于哪一个类。
2. 一对一法(one-versus-one, OvO):
对于每两个类之间都训练一个分类器,如果有n个类,就需要n(n-1)/2个分类器。对未知样本分类时,一次用这n(n-1)/2个分类器分类,属于一个类就+1,最后得分最高的是哪个类,就作为最终的分类结果。
3. 层次支持向量机:
层次分类法首先将所有类别分成两个子类,再将子类进一步划分成两个次级子类,如此循环,直到得到一个单独的类别为止。
4. 有向无环图(DVG-SVMs):
参考以下文章:
有向无环图的多类支持向量机分类算法_爱学术 (ixueshu.com)
和一对一法类似,也需要训练n(n-1)/2个分类器,区别就在于这些分类器构成了一个有向无环图,对未知样本分类时,减少了用来判断的分类器的数量,但是仍然需要训练n(n-1)/2个分类器。
5. 只需求解一个优化问题的多类方法:
此外,我还在网上查到了一种只需求解一个优化问题的方法:
这种方法类似于one-against-all,构造 M 个二类的决策函数,其中第 m 个函数 w_m^T ϕ(x_t )+b_m 将第 m 类和其余类分开。形成的优化问题如下:
解这个优化问题得到全部M个决策函数。
它的决策函数为:
它的决策函数为: