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

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.youkuaiyun.com/cherryc2015/article/details/60132563

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

https://blog.youkuaiyun.com/huzimu_/article/details/123306748

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

https://blog.youkuaiyun.com/u014134327/article/details/94603249

### 关于机器学习教材第二版赵卫东第七课后习题答案 目前并未提供具体的第七课后习题及其解答的内容。然而,可以基于已有知识推测该节可能涉及的主题以及常见的练习形式。 #### 可能涉及的核心主题 根据《机器学习》赵卫东的学习笔记和其他参考资料[^1],第七通常会围绕监督学习中的某些特定算法展开讨论,例如支持向量机(SVM)、核方法或其他高级分类技术。以下是几个常见问题方向: 1. **SVM原理实现** 支持向量机是一种重要的线性和非线性分类器,在处理高维空间的数据时表现出色。其核心思想在于通过最大化间隔找到最优超平面[^4]。 2. **核技巧的应用** 当数据不可被直线分割时,可以通过引入核函数映射到更高维度的空间解决问题。常用的核函数有径向基函数(RBF),多项式核等[^3]。 3. **模型评估指标** 学习如何计算并解释混淆矩阵、精确率(Precision)、召回率(Recall)、F1分数(F1-Score)对于理解模型性能至关重要[^2]。 #### 示例代码片段 下面给出一段简单的Python代码用于构建和支持向量机的基础操作: ```python from sklearn import datasets from sklearn.model_selection import train_test_split from sklearn.svm import SVC from sklearn.metrics import classification_report, confusion_matrix # 加载数据集 iris = datasets.load_iris() X_train, X_test, y_train, y_test = train_test_split( iris.data, iris.target, test_size=0.3) # 创建 SVM 分类器实例 clf = SVC(kernel='linear') # 使用线性核作为例子 clf.fit(X_train, y_train) # 预测测试集标签 y_pred = clf.predict(X_test) # 输出结果报告 print(confusion_matrix(y_test, y_pred)) print(classification_report(y_test, y_pred)) ``` 以上代码展示了如何加载Iris数据集,并运用Scikit-Learn库里的`SVC`模块完成训练和验证流程。 #### 提醒事项 由于具体题目未明示,请自行查阅原书获取最权威版本的答案解析。如果遇到特别复杂的推导或者编程实践难题,则建议结合官方文档进一步探索解决方案。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

天寒心亦热

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值