机器学习(周志华)-支持向量机课后习题:
1.试证明样本空间中任意点x到超平面(w,b)(w,b)的距离为式(6.2)。
超平面(w,b)(w,b)的平面法向量为ww, 任取平面上一点x0x0,有wTx0+b=0wTx0+b=0。xx到平面的距离就是xx到x0x0的距离往ww方向的投影,就是|wT(x−x0)||w|=|wTx+b||w||wT(x−x0)||w|=|wTx+b||w|。
2.使用libsvm,在西瓜数据集3.0α3.0α上分别用线性核和高斯核训练一个SVM,并比较其支持向量的差别。
(由于电脑的vs是2015的,而matlab上最高只支持2013来编译libsvm,所以只能在vs上用libsvm)
训练的结果是线性核与高斯核得到了完全一样的支持向量,由于没去分析libsvm内部是如何计算的,这里只贴结果。
第一列是支持向量的权值,后面则是支持向量对应的属性
aiai x1 x2
1 0.697 0.46
1 0.744 0.376
1 0.634 0.264
1 0.608 0.318
1 0.556 0.215
1 0.403 0.237
1 0.481 0.149
1 0.437 0.211
-1 0.666 0.091
-1 0.243 0.267
-1 0.343 0.099
-1 0.639 0.161
-1 0.657 0.198
-1 0.36 0.37
-1 0.593 0.042
-1 0.719 0.103
3.选择两个UCI数据集,分别用线性核和高斯核训练一个SVM,并与BP神经网络和C4.5决策树进行实验比较。
使用的是iris数据集,选取其中分类为1,2的样本,各50个,4属性。
每类选前40个样本训练,后10个样本作为测试
线性核:找出3个支持向量
ai x1 x2 x3 x4
0.04 5.1 3.3 1.7 0.5
0.16 4.8 3.4 1.9 0.2
-0.20 4.9 2.5 4.5 1.7
偏置为1.50709
高斯核:找出9个支持向量
ai x1 x2 x3x3 x4x4
0.48 4.4 2.9 1.4 0.2
0.45 4.3 3 1.1 0.1
0.90 5.7 4.4 1.5 0.4
-0.17 6.3 3.3 6 2.5
-0.66 4.9 2.5 4.5 1.7
-0.03 6.5 3.2 5.1 2
-0.40 7.7 2.6 6.9 2.3
-0.15 6 2.2 5 1.5
-0.41 7.9 3.8 6.4 2
偏置为-0.212437
编写一个验证的matlab程序
tmp.xlsx验证数据表格
读取数据
w1 = xlsread('C:\Users\icefire\Desktop\ml\tmp.xlsx', 'sheet1', 'A1:C1');
w2 = xlsread('C:\Users\icefire\Desktop\ml\tmp.xlsx', 'sheet1', 'D1:L1');
x1 = xlsread('C:\Users\icefire\Desktop\ml\tmp.xlsx', 'sheet1', 'A2:C5');
x2 = xlsread('C:\Users\icefire\Desktop\ml\tmp.xlsx', 'sheet1', 'D2:L5');
x = xlsread('C:\Users\icefire\Desktop\ml\tmp.xlsx', 'sheet1', 'A7:T10');
y1=zeros(20,1);
y2=zeros(20,1);
%验证线性核
for i=1:20
for j=1:3
y1(i)=y1(i)+w1(j)*(x(:,i)'*x1(:,j));
end
end
y1=y1+1.50709;
%验证高斯核
for i=1:20
for j=1:9
y2(i)=y2(i)+w2(j)*exp(-0.25*(x2(:,j)-x(:,i))'*(x2(:,j)-x(:,i)));
end
end
y2=y2-0.212437;
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
得到结果表格如下
y1 y2 y
1.155205016 1.164557907 1
0.997242309 0.780919564 1
1.148298718 1.068992278 1
0.906038093 1.085988234 1
0.842638654 1.042299416 1
1.035492502 1.062906963 1
1.062585631 1.141980465 1
1.09304642 1.100071803 1
1.101546038 1.141056647 1
1.103671899 1.13405161 1
-1.839224592 -1.049900524 0
-1.542242776 -0.95432202 0
-1.471406411 -1.085122464 0
-1.958761346 -1.084832335 0
-1.895362864 -1.029274823 0
-1.608120552 -1.002438466 0
-1.448029593 -1.0262247 0
-1.519044109 -1.03794725 0
-1.658415695 -0.995288562 0
-1.402518712 -1.058306748 0
这里没和神经网络和决策树做对比了,这个数据集的数据线性可分,应该都是0误差。
4.讨论线性判别分析与线性核支持向量机在何种情况下等价。
在线性可分的情况下,LDA求出的wlwl与线性核支持向量机求出的wsws有wl∗ws=0wl∗ws=0,即垂直,此时两者是等价的。
当初在做这个题的时候也没细想,就想当然的认为在线性可分时两者求出来的w会垂直,现在看来并不一定。
首先,如果可以使用软间隔的线性SVM,其实线性可分这个条件是不必要的,如果是硬间隔线性SVM,那么线性可分是必要条件。这个题只说了是线性SVM,就没必要关心数据是不是可分,毕竟LDA是都可以处理的。
第二,假如当前样本线性可分,且SVM与LDA求出的结果相互垂直。当SVM的支持向量固定时,再加入新的样本,并不会改变求出的w,但是新加入的样本会改变原类型数据的协方差和均值,从而导致LDA求出的结果发生改变。这个时候两者的w就不垂直了,但是数据依然是可分的。所以我上面说的垂直是有问题的。
我认为这个题的答案应该就是,当线性SVM和LDA求出的w互相垂直时,两者是等价的,SVM这个时候也就比LDA多了个偏移b而已。
5.试述高斯核SVM与RBF神经网络的联系
RBF网络的径向基函数与SVM都可以采用高斯核,也就分别得到了高斯核RBF网络与高斯核SVM。
神经网络是最小化累计误差,将参数作为惩罚项,而SVM相反,主要是最小化参数,将误差作为惩罚项。
在二分类问题中,如果将RBF中隐层数为样本个数,且每个样本中心就是样本参数,得出的RBF网络与核SVM基本等价,非支持向量将得到很小的ww.
使用LIBSVM对异或问题训练一个高斯核SVM得到αα,修改第5章RBF网络的代码,固定ββ参数为高斯核SVM的参数,修改每个隐层神经元的中心为各个输入参数,得到结果ww,w与αw与α各项成正比例。
6.试析SVM对噪声敏感的原因。
答案1:SVM的基本形态是一个硬间隔分类器,它要求所有样本都满足硬间隔约束(即函数间隔要大于1),所以当数据集有噪声点时,SVM为了把噪声点也划分正确,超平面就会向另外一个类的样本靠拢,这就使得划分超平面的几何间距变小,降低模型的泛化性能。除此之外,当噪声点混入另外一个类时,对于硬间隔分类器而言,这就变成了一个线性不可分的问题,于是就使用核技巧,通过将样本映射到高维特征空间使得样本线性可分,这样得到一个复杂模型,并由此导致过拟合(原样本空间得到的划分超平面会是弯弯曲曲的,它确实可以把所有样本都划分正确,但得到的模型只对训练集有效)。
原文:https://www.jianshu.com/p/8a499171baa9
答案2:应该是会过拟合。因为SVM约束条件就是对于每个样本要正确分类,至于间隔最大是在这个约束条件的基础上进行的,所以如果约束条件成立就已经导致模型非常复杂,然后过拟合,那么就算是用 min WW 进行约束,也已经效果不大。就跟“扬汤止沸不如釜底抽薪”一样。我的这个想法是源自正则化。正则化是通过添加结构化风险使得经验风险不会太小,防止过拟合。而对于SVM来说,经验风险已经是0了,如果数据结构不是接近线性的话,过拟合的可能性就很大的。
原作者:z2539329562 原文:https://blog.csdn.net/z2539329562/article/details/79199384
7.试给出式(6.52)的完整KT条件。
非等式约束写成拉格朗日乘子式,取最优解要满足两个条件。拉格朗日乘子式对所有非拉格朗日参数的一阶偏导为0
非等式约束对应的拉格朗日项,要么非等式的等号成立,要么对应的拉格朗日参数为0
所以得到完整KT条件
w=∑i(α′i−αi)xiw=∑i(αi′−αi)xi
0=∑i(α′i−αi)0=∑i(αi′−αi)
对所有的ii
C=αi+uiC=αi+ui
C=α′i+u′iC=αi′+ui′
αi(f(xi)−yi−ε−ξi)=0αi(f(xi)−yi−ε−ξi)=0
α′i(yi−f(xi)−ε−ξ′i)=0αi′(yi−f(xi)−ε−ξi′)=0
(C−αi)ξi=0(C−αi)ξi=0
(C−α′i)ξ′i=0(C−αi′)ξi′=0
8.以西瓜数据集3.0α的“密度”属性为输入,“含糖率”为输出,使用LIBSVM训练一个SVR。
含糖率和密度有什么必然联系吗?训练后得到的支持向量为
αiαi 密度xixi
1 0.697
1 0.744
0.798 0.608
-1 0.666
0.452 0.243
-1 0.245
-0.25 0.343
1 0.36
-1 0.593
-1 0.719
偏置为 0.213589
得到含糖率与密度的关系
假设密度为xx
含糖率(x)=∑iαie−(x−xi)2+0.213589(x)=∑iαie−(x−xi)2+0.213589
9.试使用和技巧推广对率回归,产生“核对率回归”。 http://blog.csdn.net/icefire_tyh/article/details/52135526
10.设计一个显著减少SVM中支持向量数目而不显著降低泛化性能的方法。
对于线性的SVM,三个属性不完全一样的支持向量就能确定这个SVM,而其他的落在边缘上的点都可以舍弃。
本文转载自:https://blog.csdn.net/icefire_tyh/article/details/52135662
原作者:四去六进一 来源:CSDN
机器学习(周志华)-支持向量机课后习题:相关推荐
- 机器学习-周志华-支持向量机的逻辑详解
这是博主的第一篇博客,非常激动兴奋,有误之处尽请谅解.我在读本章节时遇到很多陌生的专业词和概念,相信有些人与我一样初读时会盲目往下读而不进行深度逻辑理解.逻辑理解是指把整个章节的逻辑性串联起来,为什么 ...
- bp神经网络代码_机器学习(周志华)课后习题——第五章——神经网络
5.1 试述将线性函数 用作神经元激活函数的缺陷. 答: 使用线性函数作为激活函数时,无论是在隐藏层还是在输出层(无论传递几层),其单元值(在使用激活函数之前)都还是输入 的线性组合,这个时候的神经网 ...
- 西瓜书(周志华)课后习题答案
目录 第一章 绪论 http://blog.csdn.net/icefire_tyh/article/details/52065224 第二章 模型评估与选择 http://blog.csdn.net ...
- 机器学习 周志华 第一章课后习题
机器学习 周志华 第一章课后习题 1.1 1.2 1.3 1.4 1.5 1.1 在下面这张图片中若只包含编号为1和4的两个样例,试给出相应的版本空间. 书上实例: 1.表 1.1 对应的假设空间如下 ...
- 机器学习 周志华 课后习题3.5 线性判别分析LDA
机器学习 周志华 课后习题3.5 线性判别分析LDA 照着书上敲了敲啥都不会,雀食折磨 python代码 # coding=UTF-8 from numpy import * # 我安装numpy的时 ...
- 小吴的《机器学习 周志华》学习笔记 第二章 模型评估与选择
小吴的<机器学习 周志华>学习笔记 第二章 模型评估与选择 上一周我们介绍了第一章的基础概念,这一次将带来第二章的前三节.后面的2.4 比较检验与2.5 偏差与方差,涉及概率论与数理统计概 ...
- 小吴的《机器学习 周志华》学习笔记 第一章 绪论
小吴的<机器学习 周志华>学习笔记 第一章 绪论 近一年时间接触到不少机器学习的知识,虽然断断续续学了一些,总感觉还没有入门(只学会了疯狂调包).因此,最近开始系统学习Machine Le ...
- 机器学习(周志华) 参考答案 第十四章 概率图模型 14.9
机器学习(周志华西瓜书) 参考答案 总目录 http://blog.csdn.net/icefire_tyh/article/details/52064910 机器学习(周志华) 参考答案 第十四章 ...
- 小吴的《机器学习 周志华》学习笔记 第二章 2.4 比较检验、2.5 偏差与方差
小吴的<机器学习 周志华>学习笔记 第二章 2.4 比较检验. 2.5 偏差与方差 2.4 比较检验 上一周提到了实验的评价方法和性能量度,步骤简单可以看成:先使用某种实验评估方法测得学习 ...
- 机器学习(周志华) 习题 参考答案 第十三章
周志华老师的<机器学习>的第13章的习题答案较少,只找到了三篇,分别为链接一和链接二,这两篇文章有几乎所有题目的个人解答.第三个人只对部分题目进行了解答,相关链接将放在题目下方. 以下是个 ...
最新文章
- Linux 文件系统剖析
- PingCode 全年上线功能盘点
- vivo手机解锁工具_屏幕指纹优势凸显,vivo持续研发致力打造全屏指纹解锁
- 模型融合(stackingblending)
- [XSY] 传统游戏(DP、容斥)
- asp对php预览,Dreamweaver中预览PHP和ASP
- datatable相同列合并_使用Power Query合并查询
- postman自动化测试
- word模板中替换文本中自定义字符串生成月报
- 为Windows 7 Professional安装多语言包
- SpringBoot服务端集成腾讯云短信服务
- Scrapy Spiders
- iPhone4S大跌4000港元成跌价王 水货商谨慎进货
- cartographer_pose_extrapolator
- android 本地lrc 歌词同步,android 音乐播放器-------歌词同步 lrc
- 如何将pdf转换成ppt文件
- 交通管理PDA手持机
- 【测试分析】KYM全面收集测试信息
- 中国合伙人及致青春电影名言
- 深度分析 Java 的枚举类型:枚举的线程安全性及序列化问题