机器学习(周志华)2.1-2.9习题解答

本文解答了关于机器学习评估指标的问题,包括不同评估方法的错误率分析、ROC曲线与代价曲线的关系、规范化方法的选择等,并提供了详细的数学推导。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

转自http://blog.csdn.NET/wzmsltw/article/details/50771377

作者解答的很好,转载后方便查看

2.1

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

答:留出法将数据集划分为两个互斥的集合,为了保持数据的一致性,应该保证两个集合中的类别比例相同。故可以用分层采样的方法。训练集包含350个正例与350个反例,测试集包含150个正例与150个反例。

故有500C350*500C350 种划分方式

 

2.2

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

答:(1)10折交叉验证法:通过分层采样产生10个互斥子集,每个子集包括10个样本,正反例各半。每次取其中9个子集做训练,1个子集做测试。因此在训练样本中两个类别数目相同,随机进行猜测,因此错误率为50%。

(2)留一法:每次取一个样本做测试集,若取出的样本为正例,那么剩下的训练集中有50个反例,49个正例,因此预测结果为反例,反之亦然。故错误率为100%。

 

2.3

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

答:BEP是查准率P与查全率R相等时的取值,F1则为P与R的调和平均。

若A的F1值要高于B,则在以下不等式中:


令Pa=Ra=BEPa,Pb=Rb=BEPb,得到

BEPa>BEPb

故假设成立

 

 

2.4

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

答:

真正例率是所有真实正例中真正例的比例;

假正例率是所有真实反例中假正例的比例;

查准率是所有预测正例中真正例的比例;

查全率是所有真实正例中真正例的比例;

所以查全率与真正例率相等 , R=TPR

 

 

2.5

题:试证明下式:

AUC=1-lrank, 其中Lrank 是排序损失

答:

按照有限样例绘制的ROC曲线计算公式:


roc曲线中,向上的点是正例点,向右的点是反例点

。。?后续不知道该如何证明。。

 

2.6

题:试述错误率与ROC曲线之间的关系

答:错误率可以用下式表示:


参考真假正例率的定义,由于样本中正例和反例的比例是确定的。因此以某个样本的score为阈值时(即对应ROC曲线中的一个点),该点的真正例率越高,假正例率越低,则错误率越低,因此越靠近(0,1)点错误率越低。

 

 

2.7

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

答:

代价曲线可以由(0,FPR)到(1,FNR)的曲线族包络得到。

由于ROC曲线是连续的,故必然有确定的一条代价曲线与之对应。

反之,对代价曲线上的任何一点作切线,可以得到对应的FPR与FNR,即可以得到ROC曲线上一个点的坐标。因此代价曲线也有一条对应的ROC曲线存在

 

2.8

题:Min-Max规范化与z-score规范化如下所示。试析二者的优缺点。

答:

Min-Max 规范化适用于最大最小值已知的情形。缺点在于当有新数据输入时,可能导致max和min的变化,需要重新定义。

z-score规范化适用于最大值或最小值未知的情况,或有超出取值范围的离群数据的情况。

 

2.9

题:试述卡方检验过程。

答:

根据概率论与数理统计中的内容(交大版本,P239)。卡方检验适用于方差的检验。步骤如下:

1)分均值已知与均值未知两种情况,求得卡方检验统计量

2)根据备选假设以及α,求得所选假设对应的拒绝域

3)根据1)中求得的卡方统计量与2)中求得的拒绝域,判断假设成立与否。


### 习题解析 对于《机器学习周志华一书中的第七章习题7.4,该题目主要考察对贝叶斯分类器的理解以及如何处理实际数据集应用贝叶斯定理。 具体来说,习题7.4通常涉及给定的数据集,在此背景下要求计算不同类别下的条件概率,并利用这些概率来预测新样本所属的类别。根据贝叶斯决策理论,为了最小化风险函数R(c|x),应该选择使得后验概率P(c|x)最大的那个类c作为最终判定的结果[^1]。 考虑到朴素贝叶斯分类器假设特征之间相互独立,则可以简化联合分布的概率估计过程。即对于任意实例\( \textbf{x}=(x_1,x_2,...,x_d)\),其属于某个特定类别C_k的可能性可以通过下面这个公式来进行估算: \[ P(C_k|\textbf{x})=\frac{P(\textbf{x}|C_k)P(C_k)}{\sum_{j=1}^{K}{P(\textbf{x}|C_j)P(C_j)}}\] 其中\( P(C_k) \)表示先验概率;而\( P(x_i|C_k) \)则代表在已知类别为\( C_k \)的情况下各个属性值发生的可能性。当所有可能的类别都进行了这样的计算之后,具有最高后验概率的那个类别就被选作预测结果[^2]。 针对具体的数值型或离散型变量,还需要采用适当的方法(比如高斯模型用于连续变量,多项式分布适用于计数数据等)去近似求解上述表达式的各项成分。最后通过比较各候选类别对应的后验概率大小得出结论。 ```python import numpy as np from sklearn.datasets import load_iris from sklearn.naive_bayes import GaussianNB # 加载鸢尾花数据集为例说明 data = load_iris() X = data['data'] y = data['target'] # 创建并训练一个高斯朴素贝叶斯分类器 gnb = GaussianNB() gnb.fit(X[:100], y[:100]) # 使用部分数据进行训练以便留出测试集 # 预测剩余未见过的数据点标签 predicted_labels = gnb.predict(X[100:]) print(predicted_labels) ```
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值