机器学习(周志华)习题解答-线性模型(3.1-3.10)
来源:互联网 发布:tensorflow vgg 微调 编辑:程序博客网 时间:2024/05/19 07:28
转自:http://blog.csdn.net/wzmsltw/article/details/50994335
本文是对周志华的《机器学习》的习题解答,文章整理的很好,为方便之后查看,记录如下~
注:本文中的代码均使用Python,常用工具包包括 pandas,scikit-learn,numpy, scipy,matplotlib等。
3.1试分析在什么情况下,在以下式子中不比考虑偏置项b。
答:在线性回归中,所有参数的确定都是为了让残差项的均值为0且残差项的平方和最小。在所有其他参数项确定后,偏置项b(或者说是常数项)的变化体现出来的就是拟合曲线的上下整体浮动,可以看做是其他各个解释变量留下的bias的线性修正。因此在线性拟合过程中是需要考虑偏置项的。
但若需要做的是比较不同自变量对因变量的影响,那么不需要考虑常数项,这样得到的回归系数是标准化的回归系数。
3.2试证明,对于参数w,对率回归(logistics回归)的目标函数(式1)是非凸的,但其对数似然函数(式2)是凸的。
3.3编程实现对率回归,并给出西瓜数据集3.0α上的结果
西瓜数据集3.0α:
编号
密度
含糖率
好瓜
1
0.697
0.46
是
2
0.774
0.376
是
3
0.634
0.264
是
4
0.608
0.318
是
5
0.556
0.215
是
6
0.403
0.237
是
7
0.481
0.149
是
8
0.437
0.211
是
9
0.666
0.091
否
10
0.243
0.0267
否
11
0.245
0.057
否
12
0.343
0.099
否
13
0.639
0.161
否
14
0.657
0.198
否
15
0.36
0.37
否
16
0.593
0.042
否
17
0.719
0.103
否
答:
首先将数据存入excel表,存为csv格式。再将是/否 转为1/0
参考《机器学习实战》的内容。本题分别写了梯度上升方法以及随机梯度上升方法。对书本上的程序做了一点点改动
梯度上升法得到的结果如下:随机梯度上升法得到的结果如下:
可以看出,两种方法的效果基本差不多。但是随机梯度上升方法所需要的迭代次数要少很多。
3.4选择两个UCI数据集,比较10折交叉验证法和留一法所估计出的对率回归的错误率。
(UCI数据集: archive.ics.uci.edu/ml/)
答:嫌麻烦所以没弄。有兴趣可以把数据下下来跑跑看
另外可以直接用sklearn做cv。更加方便
3.5 编程实现线性判别分析,并给出西瓜数据集3.0α上的结果
答:
LDA的编程主要参考书上P62的3.39 以及P61的3.33这两个式子。由于用公式可以直接算出,因此比较简单
代码如下:
结果如下:
对应的w值为:
[ -6.62487509e-04, -9.36728168e-01]
由于数据分布的关系,所以LDA的效果不太明显。所以我改了几个label=0的样例的数值,重新运行程序得到结果如下:
效果比较明显,对应的w值为:
[-0.60311161, -0.67601433]
3.6 LDA仅在线性可分数据上能获得理想结果,试设计一个改进方法,使其能较好地用于非线性可分数据
答:
利用核方法即可以将LDA用于非线性可分数据,即KLDA(核线性判别分析方法)。见教材的P137
3.7令码长为9,类别数为4,试给出海明距离意义下理论最优的EOOC二元码并证明之。
答:
关于EOOC编码,我没有在网上找到什么资料。。所以按照自己的理解给出一个结果。不知道是否是理论最优。
类别数为4,因此1V3有四种分法,2V2有六种分法,3V1同样有四种分法。按照书上的话,理论上任意两个类别之间的距离越远,则纠错能力越强。那么可以等同于让各个类别之间的累积距离最大。对于1个2V2分类器,4个类别的海明距离累积为4;对于3V1与1V3分类器,海明距离均为3,因此认为2V2的效果更好。因此我给出的码长为9,类别数为4的最优EOOC二元码由6个2V2分类器和3个3v1或1v3分类器构成。
3.8* EOOC编码能起到理想纠错作用的重要条件是:在每一位编码上出错的概率相当且独立。试析多分类任务经ECOC编码后产生的二类分类器满足该条件的可能性及由此产生的影响。
答:
(个人理解,若有错误或不同理解烦请指出)在每一位编码上出错的概率即指在第i个分类器上的错误率,假设每个分类器选择相同的模型与最优的参数。那么满足概率相当并且独立应该需要每个分类器的正负例比例相当,并且每个分类器划分的正负例在空间中的相对分布情况应当相近。一般情况下一般很难满足这样的条件,肯定会有错误率较高的分类器。错误率较高的分类器在较少时影响不大,但当高错误率分类器占到多数时,就会拖低整体的错误率。所以我认为在某些极端情况下,增加码长可能会降低正确率
3.9使用OvR和MvM将多分类任务分解为二分类任务求解时,试述为何无需专门针对类别不平衡性进行处理。
答:
因为OvR或者MvM在输出结果阶段,是对各个二分类器的结果进行汇总,汇总的这个过程就会消除不平衡带来的影响(因为总和总是1)
3.10*试推导出多分类代价敏感学习(仅考虑基于类别的误分类代价)使用“再缩放“能获得理论最优解的条件。
- 机器学习(周志华)习题解答-线性模型(3.1-3.10)
- 机器学习-周志华-课后习题答案-线性模型
- 机器学习(周志华)习题解答-决策树(4.1-4.10)
- 机器学习(周志华)2.1-2.9习题解答
- 周志华《机器学习》课后习题解答系列(一):目录
- 周志华《机器学习》课后习题解答系列(二):Ch1
- 周志华《机器学习》课后习题解答系列(三):Ch2
- 周志华《机器学习》课后习题解答系列(四):Ch3
- 周志华《机器学习》课后习题解答系列(五):Ch4
- 周志华《机器学习》课后习题解答系列(六):Ch5
- 周志华《机器学习》课后习题解答系列(七):Ch6
- 机器学习(周志华)第四章习题解答
- 机器学习(周志华)习题解答2.1-2.9
- 机器学习(周志华) 第一章-绪论 习题解答
- 机器学习----线性模型
- 机器学习(周志华版) 第一章习题1.1个人解答
- 周志华《机器学习》课后习题解答系列(四):Ch3.3
- 周志华《机器学习》课后习题解答系列(四):Ch3.4
- 关于使用 MongoDB Connector for Hadoop 的经验和教训
- Atitit 如何在外包找到自己的技术深度
- 笔记9
- 简单理解js的this
- centos 安装nginx
- 机器学习(周志华)习题解答-线性模型(3.1-3.10)
- 【计算机视觉】人脸识别的步骤
- EAGLE 电路板编辑器中的“层”概念
- 接口和抽象类的区别
- 扩展Gcd含义及用途
- leecode 解题总结:374. Guess Number Higher or Lower
- android框架Xutils
- stack,deque,queue对比
- CSS3 媒介查询