西瓜书第六章课后习题

6.1 试证明样本空间中任意点x 到超平面(w,b)的距离为式 (6.2)。

画了个图在纸上进行了证明,感觉这样自会通俗易懂些。

6.2 试使用 LIBSVM,在西瓜数据集 3.0α 上分别用线性核和高斯核训练一个 SVM,并比较其支持向量的差别。

导入相应的包

主体函数:设置参数,输出。

数据特征可视化

输出结果以及数据特征可视化最终结果如下图

结果表明,使用线性核和高斯训练核的支持向量实际是一样的(两条线重合),且数量相同;同时线性核以及高斯核训练的SVM准确率都不高,在0.52左右。

6.3 选择两个 UCI 数据集,分别用线性核和高斯核训练一个 SVM,并与BP 神经网络和 C4.5 决策树进行实验比较。

我使用的UCI数据集是鸢尾花数据集,使用的代码是上次我所制作的算法比较 | 线性回归、逻辑回归、决策树、神经网络、支持向量机中使用到的代码,虽然数据不同,但内容大同小异。

首先是导入所需的包和数据,并进行数据处理。

接着是主体的代码,从上到下依次是分别用线性核以及高斯核训练的两个SVM、BP神经网络、决策树。

输出结果

总结:在训练集上三者结果相差不大,最高是0.99,最低是0.97,平均在0.98;在测试集上决策树与上三种有所差异,上三种都是1.00,而决策树降低到了0.92。

6.4 试讨论线性判别分析与线性核支持向量机在何种条件下等价。

SVM 与 LDA 均可用于样本最优划分超平面的求解,即法向向量 ω,一般有:

考虑到线性核 SVM 的输入空间与特征空间相同,那么取相等时的条件是:

这说明两者生成的超平面相同,此时等效。

另外参考文章:链接一,进行整理得出的一些理解如下,仅供参考:

1. LDA和线性SVM都希望能最大化异类样例间距,但LDA是异类中心间距最大化,而线性SVM考虑的是支持向量间距最大。

2. LDA的目标函数考虑了同类样例的协方差,希望同类样例在投影空间尽可能靠近,而线性SVM却没有考虑这一点。

3.关于数据是否线性可分的问题,如果使用软间隔的线性SVM,线性可分这个条件是不必要的,如果是硬间隔线性SVM,那么线性可分是必要条件。但是LDA不管数据是否线性可分,都可以进行处理。

4. 假如当前样本线性可分,且SVM与LDA求出的结果相互垂直。则当SVM的支持向量固定时,再加入新的非支持向量样本,并不会改变SVM中求出的w。但是新加入的样本会改变原类型数据的协方差和均值,从而导致LDA求出的结果发生改变。这个时候两者的w就不再垂直,但是数据依然是可分的。所以, 线性可分  和  LDA求出的wl与线性核支持向量机求出的ws垂直,这两个条件是不等价的。

6.5 试述高斯核 SVM 与 RBF 神经网络之间的联系。

SVM 的确与神经网络有密切联系:若将隐层神经元数设置为训练样本数,且每个训练样本对应一个神经元中心,则以 高斯径向基函数为激活函数的RBF网络 恰与 高斯核SVM 的预测函数相同。(p145《休息一会儿》)

另外:
1、RBF网络的径向基函数与SVM都采用高斯核,就分别得到了高斯核RBF网络与高斯核SVM。

2、神经网络是最小化累计误差,将参数 w 作为惩罚项;而SVM相反,主要是最小化参数,将误差作为惩罚项。

3、根据书上给出的公式,可以发现,在二分类问题中,如果将RBF中隐层神经元的个数设置为总样本个数,且每个隐层神经元所对应的中心设置为样本参数,并将RBF的径向基函数中的 beta 设置成高斯函数中对应的系数,则得出的RBF网络与核SVM基本等价,非支持向量在RBF中将得到很小的权重。

6.6 试析 SVM 对噪声敏感的原因。

1、SVM的基本形态是一个硬间隔分类器,它要求所有样本都满足硬间隔约束(即函数间隔要大于1)。

2、当数据集中存在噪声点但是仍然满足线性可分的条件时,SVM为了把噪声点也划分正确,超平面就会向另外一个类的样本靠拢,这就使得划分超平面的几何间距变小,从而降低了模型的泛化性能。

3、当数据集因为存在噪声点而导致已经无法线性可分时,此时就使用了核技巧,通过将样本映射到高维特征空间使得样本线性可分,这样就会得到一个复杂模型,并由此导致过拟合(原样本空间得到的划分超平面会是弯弯曲曲的,它确实可以把所有样本都划分正确,但得到的模型只对训练集有效),泛化能力极差。

4、所以说,SVM对于噪声很敏感。因此,提出了软间隔SVM来防止由于噪声的存在而导致的过拟合问题。

6.7 试给出式 (6.52) 的完整 KKT 条件。

完整的KKT条件如下所示:

6.8 以西瓜数据集 3.0α 的"密度"为输入"含糖率"为输出,试使用LIBSVM 训练一个 SVR。

所需的包:

代码主体:

输出结果(原始参数):

为了可以进行比较,所以进行了一个简单的调参,参数设置如下图:

总结:直观上看,含糖率和密度无明显关系。所以无论模型参数怎么调,看上去对数据的拟合都不是很好,预测值和真实值还是有较大差异。不过还是可以看出来随着gamma或者C的增大,模型都会趋于更加复杂。

6.9 试使用核技巧推广对率回归,产生"核对率回归"。

对于形式的模型,即线性模型,使用核技巧的关键点在于最优的可以由训练集的线性组合表示,即,使得模型可表示为,进而使用核函数直接计算数据点在高维空间内积,而不显式的计算数据点从低维到高维的映射。

原命题:事实上对于任何L2正则化的线性模型:,

这里,其最优值都可以表示为。

6.10* 试设计一个能显著减少 SVM 中支持向量的数目而不显著降低泛化性能的方法。

支持向量的规模与SVM计算速度息息相关,在不影响模型性能的情况下减少支持向量数目,能有效提高SVM效率。为此,一些稀松算法如 1-norm SVM, Lp-SVM, 自适应Lp-SVM 被提出,给出一篇参考文献如下:

支持向量机的缺陷及改进算法



参考文章:

机器学习(周志华) 参考答案 第六章 支持向量机

西瓜书 数据集3.0α

代码、数据链接:github

你可能感兴趣的:(西瓜书第六章课后习题)