机器学习-模型评估与选择(第2章)课后习题

2023-09-20 18:26:02

1习题

1.1第1题

数据集包含 1000 个样本, 其中 500 个正例、 500 个反例, 将其划分为包含 70% 样本的训练集和30% 样本的测试集用于留出法评估, 试估算共有多少种划分方式。

答:“留出法”(hold-lout)直接将数据集D划分为两个互斥的集合。训练集和测试集的划分要尽可能保持数据分布的一致性。根据题目要求,需要抽取700个训练样本作为训练集,300个测试样本作为测试集,正例与反例的比例为1:1,即训练集中有350个正例和350个反例,测试集中有150个正例和150个反例。共有C_{500}^{350}\times C_{500}^{350}种。

1.2第2题

数据集包含100个样本,其中正、反例各一半,假定学习算法所产生的模型是将新样本预测为训练样本较多的类别(训练样本数相同时进行随机猜测),试给出用10折交叉验证法和留一法分别对错误率进行评估所得的结果。

答:10折交叉检验:由于每次训练样本中正反例数目一样,所以讲结果判断为正反例的概率也是一样的,所以错误率的期望是50%。留一法:如果取一个正例作为测试样本,则训练样本中正例与反例的比例为49:50,此时模型对测试样本的预测结果为反例,错误率为1;如果取一个反例作为测试样本,则训练样本中正例与反例的比例为50:49,此时模型对测试样本的预测结果为正例,错误率为1。综上所述,期望错误率为1。

1.3第3题

若学习器A的F1值比学习器B高,试析A的BEP值是否也比B高。

答:

F1值在二维坐标内的曲线上任意可取的点都可计算得到。 

BEP则是曲线上确定的一点。平衡点(Break-Event Point,简称BEP)就是这样一个度量,它是 查准率=查全率 时的取值。

现在看学习器A和学习器B交叉的右半部分,假设A上有点(0.85,0.5),B上有点(0.9,0.5)。则计算得:

学习器A的F1(A)=(2*0.85*0.5)/(0.85+0.5)=0.630

学习器B的F1(B)=(2*0.9*0.5)/(0.9+0.5)=0.643

有:F1(B)>F1(A)

所以由B的F1(B)大于A的F1(A),并不能得出B的BEP大于A的BEP。

1.4第4题

试述真正例率(TPR)、假正例率(FPR)与查准率(P)、查全率(R)之间的联系。

答:

查全率(R):真实正例被预测为正例的比例。R=TP/(TP+FN)

真正例率(TPR):真实正例被预测为正例的比例。TPR=TP/(TP+FN)

显然查全率(R)=真正例率(TPR)

查准率(P):预测为正例的实例中真实正例的比例。P=TP/(TP+FP)

假正例率(FPR):真实反例被预测为正例的比例。FPR=FP/(FP+TN)

查全率越大,查准率往往越低;查准率越高,查全率往往越低。

1.5第5题

试证明式子:

机器学习(西瓜书)第二章 模型评估与选择 课后习题 - 简书 (jianshu.com)

1.6第6题

试述错误率与 ROC 曲线的联系。

答:通常我们把分类错误的样本数占样本总数的比例称为错误率(error rate)。

ROC曲线上的任意一点都是对应着(FPR,TPR)

TPR=TP/(TP+FN)

FPR=FP/(FP+TN)

而错误率对应着\frac{FN+FP}{m_{+}+m_{-}}

故而错误率对着每一点的不同而不同

\frac{\left ( 1-TPR \right )m_{+}+FPRm_{-}}{m_{+}+m_{-}}

1.7第7题

试证明任意一条ROC曲线都有一条代价曲线与之对应,反之亦然。

答:

真正例率:TPR=\frac{TP}{TP+FN}

假正例率:FPR=\frac{FP}{TN+FP}

假反例率:FNR=1-TPR

由定义可以知道TPR与FPR都是由0上升到1,那么FNR则是由1下降到0。

每条ROC曲线都会对应一条代价曲线,由于第一条代价线段是(0,0),(1,1),最后是(0,1)(1,0)。

所有代价线段总会有一块公共区域,这个区域就是期望总体代价,而这块区域的边界就是代价曲线,且肯定从(0,0)到(1,0)。

在有限个样本情况下,ROC是一条折线,此时根据代价曲线无法还原ROC曲线。若是理论上有无限个样本,ROC是一条连续的折线,代价曲线也是连续的折线,每个点的切线可以求出TPR与FNR,从而得到唯一的ROC曲线。

1.8第8题

答:

规范化:将原来的度量值转换成无量纲的值。通过将属性数据按照比例缩放,通过一个函数将给定属性的整个值域映射到一个新的值域中,即每个旧的值都被一个新的值替代。

Min-max规范化:

等比例缩小:\frac{x_{max}^{'}-x_{min}^{'}}{x_{max}-x_{min}}  

原数据的偏移量:x-x_{min}

整个公式的意思是:将原数据的偏移量等比例缩小,再在新范围的最小值上加上缩小后的偏移量,即可得出新数据的值。

优点:保留了原数据之间偏移量的关系;可以指定数据规范化后的取值范围;是计算复杂度最小的一个方法。

缺点:需要预先知道规范后的最大最小值;若原数据新增数据超越原始范围(最大最小范围),则会发生“越界”,需要重新计算所有之前的结果;若原数据有的值离群度很高(即使得原数据最大或最小值很大),规范后的大多数数据会特别集中且不易区分。

z-score规范化:

公式表示原数据减去所有原数据的均值\bar{x},再除以标准差\sigma _{x},即为规范后的数据。

将公式变形后知,z-score规范化,其实是在计算每个数据相较于均值的偏差距离平方占所有偏差距离平方和的比例。

优点:每次新增或删除原数据,其均值\bar{x}和方差\sigma _{x}均可能改变,需要重新进行计算;根据其就算原理易知,规范化后的数据取值范围基本在[-1,1],数据之间分布较为密集,对离群点敏感度相对低一些;计算量相对更大。

1.9第9题

1.10第10题

参考文章:

[1] 周志华. 机器学习.清华大学出版社. 2016 年

https://max.book118.com/html/2020/1229/8006134067003032.shtm

https://blog.csdn.net/cherryc2015/article/details/60132563

https://www.docin.com/p-2296476862.html

https://blog.csdn.net/huzimu_/article/details/123306748

https://www.zhihu.com/question/337049681

https://blog.csdn.net/u014134327/article/details/94603249

更多推荐

MapReduce & YARN 的部署

1、部署说明HadoopHDFS分布式文件系统,我们会启动:NameNode进程作为管理节点DataNode进程作为工作节点SecondaryNamenode作为辅助同理,HadoopYARN分布式资源调度,会启动:ResourceManager进程作为管理节点NodeManager进程作为工作节点ProxyServe

Python 数据分析学习路线

Python数据分析学习路线第一阶段:Python语言基础第二阶段:数据采集和持久化第三阶段:数据分析第四阶段:数据挖掘与机器学习书籍介绍参与方式第一阶段:Python语言基础在学习数据分析之前,首先需要掌握Python语言的基础知识,包括语法、常用数据结构、函数以及面向对象编程等。同时,还需要熟悉Python的标准库

MySQL索引,事务及存储引擎

目录MySQL索引创建索引的依据:索引的类型普通索引唯一索引主键索引组合索引全文索引查看索引删除索引事务事务的ACID特性原子性一致性隔离性持久性隔离级别设置隔离级别事务管理操作自动提交事务存储引擎MyISAMInnoDB的区别MyISAM表支持3种不同的存储格式静态(固定长度)表动态表压缩表如何避免死锁MySQL索引

Windows 10怎么清理磁盘空间?

现在,电脑是我们日常生活中很普遍的的一个工具,但在平常使用电脑时,我们会经常遇到磁盘空间已满的问题。而很多计算机新手都不知道电脑怎么清理磁盘空间,本将已Win10系统为例,教您如何清理电脑磁盘空间。方法1.清理储存对于磁盘已满的问题,我们经常遇到的就是C盘已满。C盘也就系统盘,它存放着大量的系统文件,当您安装软件时若是

密码学概论

1.密码学的三大历史阶段:第一阶段古典密码学依赖设备,主要特点数据安全基于算法的保密,算法不公开,只要破译算法密文就会被破解,在1883年第一次提出加密算法应该基于算法公开不影响密文和秘钥的安全;衡量加密算法的安全是所需要话费的时间,一般电脑需要300年才能破译认为强度是安全的第二阶段计算机的出现进入电子密码学阶段,加

实时车辆行人多目标检测与跟踪系统(含UI界面,Python代码)

算法架构:目标检测:yolov5目标跟踪:OCSort其中,Yolov5带有详细的训练步骤,可以根据训练文档,训练自己的数据集,及其方便。另外后续目标检测会添加yolov7、yolox,目标跟踪会添加ByteTrack、deepsort等经典算法,代码主要部分添加了详细注释,方便自己学习。一、简介本文将详细介绍如何使用

论文解读-DeepEdit:使用纳米孔直接RNA测序对A - to - I RNA编辑事件进行单分子检测和阶段划分

DOI:10.1186/s13059-023-02921-0期刊:GenomeBiology中科院分区:Q1影响因子:12.3作者LongxianChen;LiangOu;XinyunJing;YaweiKong;BingranXie;etal出版日期2023-04-17网址:https://genomebiology

kafka配置

生产者配置NAMEDESCRIPTIONTYPEDEFAULTVALIDVALUESIMPORTANCEbootstrap.servershost/port列表,用于初始化建立和Kafka集群的连接。列表格式为host1:port1,host2:port2,…,无需添加所有的集群地址,kafka会根据提供的地址发现其他

前后端分离--Vue的入门基础版

目录一.前后端分离二.Vue的简介三.Vue的入门案例四.Vue的生命周期一.前后端分离前后端分离是一种软件架构模式,将应用程序的前端(用户界面)和后端(数据处理和业务逻辑)独立开发、独立部署。在前后端分离的架构下,前端通过API(应用程序接口)与后端进行通信,实现数据交换和业务处理。前后端分离的优势包括:独立开发:前

【新版】系统架构设计师 - 软件架构设计<SOA与微服务>

个人总结,仅供参考,欢迎加好友一起讨论架构-软件架构设计<SOA与微服务>考点摘要面向服务SOA(★★★★)微服务(★★★★)基于/面向服务的(SOA)在SOA模型中,所有的功能都定义成了独立的服务。服务之间通过交互和协调完成业务的整体逻辑。所有的服务通过服务总线或流程管理器来连接。这种松散耦合的架构使得各服务在交互过

华为分布式新核心全面升级金融级PaaS能力:数字化时代“分工”再深化

文|螳螂观察作者|李永华金融领域一向是数字化转型升级最难啃的硬骨头,无数厂商在此深耕,但由于行业数字化需求复杂而艰深,实现深入突破的并不多,尤其是在关系到账户数据的核心系统方面,有所建树的少之又少。去年11月HC大会期间华为联合业界发布了《现代化金融核心系统白皮书》,今年HC期间,华为数字金融军团CEO曹冲在演讲中指出

热文推荐