机器学习》周志华课后习题答案——第二章(更新中)


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

“留出法”(hold-out)直接将数据集D划分为两个互斥的集合,其中一个集合作为训练集S,另一个作为测试集T,即D= SUT, S∩T=0.在S上训练出模型后,用T来评估其测试误差,作为对泛化误差的估计.

以二分类任务为例,假定D包含1000个样本,将其划分为S包含700个样本,T包含300个样本,用S进行训练后,如果模型在T上有90个样本分类错误,那么其错误率为(90/300) x 100% = 30%,相应的,精度为1 - 30% = 70%.需注意的是,训练/测试集的划分要尽可能保持数据分布的一致性, 避免因数据划分过程引入额外的偏差而对最终结果产生影响,例如在分类任务中至少要保持样本的类别比例相似.如果从采样(sampling)的角度来看待数据集的划分过程,则保留类别比例的采样方式通常称为“分层采样”(stratifiedsampling).例如通过对D进行分层采样而获得含70%样本的训练集s和含30%样本的测试集T,若D包含500个正例、500个反例,则分层采样得到的S应包含350个正例、350个反例,而T则包含150个正例和150个反例;若S、T中样本类别比例差别很大,则误差估计将由于训练/测试数据分布的差异而产生偏差.
划分方式应该有请添加图片描述
种。

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

10折交叉法:
请添加图片描述
由于每次训练样本中正反例数目一样,所以讲结果判断为正反例的概率也是一样的,所以错误率的期望是50%。
留一法:
假定数据集D中包含m个样本,若令k=m,则得到了交叉验证法的一
个特例:留一法(Leave-One-Out,简称LOO).显然,留一法不受随机样本划分方式的影响。因为m个样本只有唯一的方式划分为m个子集,每一个子集包含一个样本;留一法使用的训练集与初始数据集相比只少了一个样本,这就使得在绝大多数情况下,留一法中被实际评估的模型与期望评估的用D训练出的模型很相似.因此,留一法的评估结果往往被认为比较准确.然而,留-一法也有其缺陷:在数据集比较大时,训练m个模型的计算开销可能是难以忍受的(例如数据集包含1百万个样本,则需训练1百万个模型),而这还是在未考虑算法调参的情况下.另外,留一法的估计结果也未必永远比其他评估方法准确;“没有免费的午餐”定理对实验评估方法同样适用.
如果留下的是正例,训练样本中反例的数目比正例多-一个, 所以留出的样本会被判断是反例;同理,留出的是反例,则会被判断成正例,所以错误率是100%。

三、若学习器A的 F1值比学习器B高,试析A的BEP值是否也比B高.在这里插入图片描述

“平衡点”(Break-Event Point, 简称BEP)就是这样一个度量,它是“查准率=查全率”时的取值,例如图2.3中学习器C的BEP是0.64,而基于BEP的比较,可认为学习器A优于B.请添加图片描述
BEP=P=R时,FN=FP,
F1=2TP/(样本总例+TP-TN)=P=R
若学习器A的 F1值比学习器B高,那么A的BEP值也比B高.

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

书上给的定义如下:
请添加图片描述
请添加图片描述
由以上式子可知:(R)查全率和(TPR)真正例率是等同的,而P(查准率)和FPR(假正例率)没有必然的数值关系。

更多推荐