周志华机器学习课后习题解析【第二章】

本文涉及的产品
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
云解析 DNS,旗舰版 1个月
全局流量管理 GTM,标准版 1个月
简介: 周志华机器学习课后习题解析【第二章】

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


答:排列组合问题。


训练/测试集的划分要尽可能保存数据分布一致

那么训练集中应该包括350个正例和350个反例,剩余的作测试集,那么划分方式应该有

 image.png

种。


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


答:

10折交叉验证:交叉验证中每个子集数据分布要尽可能保持一致,那么本题中10次训练中每次正反例各占45,模型训练结果随机猜测,错误率期望为50%。

留一法:若留出样本为正例,训练集中则有50个反例和49个正例,模型预测为反例;反之留出样本为反例,模型预测为正例,错误率为100%。


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


答:

说一下自己理解吧

先看看F1值的定义,

image.png

image.png

即查全率(又称召回率Recall),【预测为正例且真实为正例的数量】/【真实为正例的数量】。F1值计算中对查准率和查全率都同等重视。

再看看BEP值

首先目前很多分类算法输出的都是0-1之间的一个概率值,比如逻辑回归、xgboost等,分类时的做法是预定一个阈值(典型为0.5),若对样本的输出大于此阈值则归为1类(即正例),那么根据样本的输出值从大到小排序(下文简称为“样本的排序”),排在最前面的即可理解为最有可能为正例的样本,而排在最后的是最不可能为正例的样本。从前往后,逐个将样本预测为正例(即把当前样本的输出值定于为阈值,小于阈值的都为反例),每次计算当前的查准率和查全率,即可得到查全率为横坐标查准率为纵坐标上的一个点,在将所有点按顺利连接后即可得到“P-R曲线”,而BEP(即Break-Event Point,平衡点)是在查全率=查准率时的取值。

image.png

P-R曲线


讨论:

从定义上看,F1值是在阈值固定时,将所有样本分类完成后,综合查全率和查准率得出的值;而BEP值则是寻求一个阈值使得查全率和查准率相同的情况下得到的(此时BEP = 查全率 = 查准率)。

也就是说BEP值和“样本的排序”紧密相关的,而和样本的预测值大小无关,同样的排序,即使将所有预测值同时乘以0.5,其BEP值也是相同的;但是对于F1值,所有样本都将预测为负例(假定阈值为0.5时),此时F1值为0。

回到题目本身,“若学习器A的F1值比学习器B高,则A的BEP值比B高”,那么若能找到两个学习器BEP值相同,而F1值不同,则题目命题就不成立了。那从上面的讨论中已经有了答案了,想象一下学习器A对样本输出值均为学习器B的两倍,两者BEP值是相同的,A的输出在(0,1)之间,而B的输出在(0,0.5)之间,此时B的 F1 值为0,A的 F1 值是在0-1之间。所以原命题不成立。


ps.个人从直觉上BEP值和F1值是没有明确关系的,在讨论过程中拿“输出值乘以0.5”为例,事实上,想象一下,一串固定排序的点(模型的输出概率值),只在0-1之间同时前进或者后退(每个点前进步长可以不一样,但是排序不变),其BEP值也不会发生变化,而F1值是不断变化的。


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


image.png


2.5 试证明(2.22)AUC=1−lrank


答:

显然,在ROC曲线中,一条横线对应一个(或多个)负样本 image.png, 一条竖线对应一个(或多个)正样本 image.png, 而一条斜线则对应多个正负样本 image.png,且 image.png,即样本的预测值相同。如下图所示:


image.png

image.png

image.png


2.6 试述错误率和ROC曲线的联系


答:错误率是在阈值固定的情况下得出的,ROC曲线是在阈值随着样本预测值变化的情况下得出的。ROC曲线上的每一个点,都对应着一个错误率。


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


答:

首先“任意一条ROC曲线都有一条代价曲线与之对应”,显然ROC曲线上每个点(FPR,TPR)都对应着下图中一条线段,取所有线段的下届,即可得到唯一的代价曲线。

image.png

反之,代价曲线实际上是一个多边形(在有限样本下),易理解,每条边都对应代价平面上一条线段,实际上从左向右遍历每一条边,即可得到ROC曲线上从左到右每一个点。


ps. ROC曲线对应着唯一条代价曲线,但是一条代价曲线可对应着多条不同的ROC曲线,如上图中,在绿、黄、蓝三条线段交于红点时,此时去掉黄色线段代价曲线是不会发生变化的,但是ROC曲线则会少一个点。


2.8 Min-max 规范化和z-score 规范化的优缺点。


答:

Min-max 规范化优点1、计算相对简单一点。2、当新样本进来时,只有在新样本大于原最大值或者小于原最小值时,才需要重新计算规范化之后的值。缺点在于1、容易受高杠杆点和离群点影响。

z-score 规范化优点在于。1、对异常值敏感低。缺点在于1、计算更负责。2、每次新样本进来都需要重新计算规范化。


2.9 简述 image.png检验过程


2.10 试述Friedman 检验中使用式(2.34)和(2.35)的区别。

略。没学过统计学。以后有机会再补。

相关文章
|
19天前
|
机器学习/深度学习 数据采集 算法
R语言中的机器学习库:caret与mlr的深度解析
【9月更文挑战第2天】Caret和mlr是R语言中两个非常重要的机器学习库,它们在数据预处理、模型构建、调优和评估等方面提供了丰富的功能。Caret以其易用性和集成性著称,适合初学者和快速原型开发;而mlr则以其全面性和可扩展性见长,适合处理复杂的机器学习项目。在实际应用中,用户可以根据具体需求和项目特点选择合适的库进行开发。无论是学术研究、商业智能还是教育场景,这两个库都能为数据科学家和机器学习爱好者提供强大的支持。
|
1月前
|
机器学习/深度学习 人工智能 自然语言处理
KDD 2024:港大黄超团队深度解析大模型在图机器学习领域的未知边界
【8月更文挑战第12天】在KDD 2024会议中,香港大学黄超团队深入探讨了大型语言模型在图机器学习的应用与前景。他们提出将LLMs与图神经网络结合可显著增强图任务性能,并归纳出四种融合模式,为领域发展提供新视角与未来路径。论文详细分析了现有方法的优势与局限,并展望了多模态数据处理等前沿课题。[论文](https://arxiv.org/abs/2405.08011)为图机器学习领域注入了新的活力。
150 61
|
18天前
|
机器学习/深度学习 数据采集 存储
一文读懂蒙特卡洛算法:从概率模拟到机器学习模型优化的全方位解析
蒙特卡洛方法起源于1945年科学家斯坦尼斯劳·乌拉姆对纸牌游戏中概率问题的思考,与约翰·冯·诺依曼共同奠定了该方法的理论基础。该方法通过模拟大量随机场景来近似复杂问题的解,因命名灵感源自蒙特卡洛赌场。如今,蒙特卡洛方法广泛应用于机器学习领域,尤其在超参数调优、贝叶斯滤波等方面表现出色。通过随机采样超参数空间,蒙特卡洛方法能够高效地找到优质组合,适用于处理高维度、非线性问题。本文通过实例展示了蒙特卡洛方法在估算圆周率π和优化机器学习模型中的应用,并对比了其与网格搜索方法的性能。
117 1
|
1月前
|
机器学习/深度学习 数据挖掘
机器学习模型的选择与评估:技术深度解析
【8月更文挑战第21天】机器学习模型的选择与评估是一个复杂而重要的过程。通过深入理解问题、选择合适的评估指标和交叉验证方法,我们可以更准确地评估模型的性能,并选择出最适合当前问题的模型。然而,机器学习领域的发展日新月异,新的模型和评估方法不断涌现。因此,我们需要保持对新技术的学习和关注,不断优化和改进我们的模型选择与评估策略。
|
1月前
|
机器学习/深度学习 人工智能 监控
|
21天前
|
图形学 机器学习/深度学习 人工智能
颠覆传统游戏开发,解锁未来娱乐新纪元:深度解析如何运用Unity引擎结合机器学习技术,打造具备自我进化能力的智能游戏角色,彻底改变你的游戏体验——从基础设置到高级应用全面指南
【8月更文挑战第31天】本文探讨了如何在Unity中利用机器学习增强游戏智能。作为领先的游戏开发引擎,Unity通过ML-Agents Toolkit等工具支持AI代理的强化学习训练,使游戏角色能自主学习完成任务。文章提供了一个迷宫游戏示例及其C#脚本,展示了环境观察、动作响应及奖励机制的设计,并介绍了如何设置训练流程。此外,还提到了Unity与其他机器学习框架(如TensorFlow和PyTorch)的集成,以实现更复杂的游戏玩法。通过这些技术,游戏的智能化程度得以显著提升,为玩家带来更丰富的体验。
37 0
|
21天前
|
开发者 算法 虚拟化
惊爆!Uno Platform 调试与性能分析终极攻略,从工具运用到代码优化,带你攻克开发难题成就完美应用
【8月更文挑战第31天】在 Uno Platform 中,调试可通过 Visual Studio 设置断点和逐步执行代码实现,同时浏览器开发者工具有助于 Web 版本调试。性能分析则利用 Visual Studio 的性能分析器检查 CPU 和内存使用情况,还可通过记录时间戳进行简单分析。优化性能涉及代码逻辑优化、资源管理和用户界面简化,综合利用平台提供的工具和技术,确保应用高效稳定运行。
32 0
|
1月前
|
机器学习/深度学习 运维 算法
深入探索机器学习中的支持向量机(SVM)算法:原理、应用与Python代码示例全面解析
【8月更文挑战第6天】在机器学习领域,支持向量机(SVM)犹如璀璨明珠。它是一种强大的监督学习算法,在分类、回归及异常检测中表现出色。SVM通过在高维空间寻找最大间隔超平面来分隔不同类别的数据,提升模型泛化能力。为处理非线性问题,引入了核函数将数据映射到高维空间。SVM在文本分类、图像识别等多个领域有广泛应用,展现出高度灵活性和适应性。
89 2
|
1月前
|
机器学习/深度学习 算法
【机器学习】P问题、NP问题、NP-hard、NP-C问题解析与举例理解
本文解析了P问题、NP问题、NP-hard问题以及NP-Complete问题的概念,并通过实例帮助理解NP问题的特点和复杂性。
100 1
|
1月前
|
机器学习/深度学习 搜索推荐 数据挖掘
【深度解析】超越RMSE和MSE:揭秘更多机器学习模型性能指标,助你成为数据分析高手!
【8月更文挑战第17天】本文探讨机器学习模型评估中的关键性能指标。从均方误差(MSE)和均方根误差(RMSE)入手,这两种指标对较大预测偏差敏感,适用于回归任务。通过示例代码展示如何计算这些指标及其它如平均绝对误差(MAE)和决定系数(R²)。此外,文章还介绍了分类任务中的准确率、精确率、召回率和F1分数,并通过实例说明这些指标的计算方法。最后,强调根据应用场景选择合适的性能指标的重要性。
92 0

推荐镜像

更多