9.10

  1. (单选题)在评价模型的性能时,一般是更希望算法模型的()
    • 选项:
      • A. 训练误差小
      • B. 测试误差小
      • C. 泛化误差小
      • D. 以上都是
    • 答案:C
    • 解释:
      • A 选项训练误差小:训练误差小只能说明模型在训练数据上拟合得较好,但有可能出现过拟合现象,也就是在训练集上表现好,面对新的数据(实际应用场景中的数据)泛化能力差,所以仅训练误差小不能完全代表模型性能好。
      • B 选项测试误差小:测试误差小能在一定程度上反映模型在部分未见过的数据上的表现,但测试集也是从总体数据中划分出来的有限样本,更理想的是模型在所有潜在的、未参与训练的数据上都能有好的表现,即泛化能力强。
      • C 选项泛化误差小:泛化误差是指模型在新的、未在训练过程中使用过的样本上的误差,泛化误差小意味着模型对于未知数据有很好的预测能力,能很好地适用于各种实际应用场景,这才是评价模型性能时最希望达到的,所以一般更希望泛化误差小。
      • D 选项以上都是:综合前面分析,主要希望的是泛化误差小,而不是单纯训练误差小或者测试误差小就行,所以该选项不符合题意。
  2. (单选题)算法模型 “过拟合” 会发生的现象有()
    • 选项:
      • A. 训练误差很小,泛化性能差
      • B. 测试误差很大,泛化性能强
      • C. 训练误差很大,泛化性能强
      • D. 测试误差很小,泛化性能强
    • 答案:A
    • 解释:
      • A 选项训练误差很小,泛化性能差:过拟合就是模型把训练数据中的噪声等细节特征都学习到了,导致在训练集上可以拟合得非常好,训练误差很小。但由于学习到了过多训练集特有的特征,而没能抓住数据的一般性规律,所以面对新的数据(用于测试的数据)时表现很差,也就是泛化性能差,该选项符合过拟合的现象特点。
      • B 选项测试误差很大,泛化性能强:泛化性能强意味着模型在新数据上表现好,测试误差应该小,而该选项说测试误差很大与泛化性能强矛盾,不符合过拟合的情况。
      • C 选项训练误差很大,泛化性能强:过拟合时训练误差是小的,不是很大,所以该选项不符合过拟合的表现特征。
      • D 选项测试误差很小,泛化性能强:这通常是模型拟合较好且泛化能力好的正常理想情况,并非过拟合的现象,过拟合是训练和测试表现差异大,训练好但测试差的情况。

二、简答题


  1. (简答题)简述划分出测试集的三种方法留出法、交叉验证法和自助法的优劣。
    • 留出法:
      • 优点:
        • 实现简单,易于理解和操作:只需要按照一定比例(如常见的 70:30 或 80:20 等)将数据集随机划分为训练集和测试集即可,不需要复杂的操作流程和算法逻辑,对于初学者或者简单快速的模型评估场景容易上手。
        • 快速,适合大规模数据集:相较于一些需要多次重复训练模型的方法,留出法只进行一次简单的划分后就可以开展训练和测试,在面对大规模数据集时,不用进行多次反复的操作,能较快地得到评估结果,节省时间和计算资源。
      • 缺点:
        • 划分结果可能受随机性影响,导致评估结果的不稳定:因为只是简单随机划分,不同的随机划分方式可能使得训练集和测试集中的数据分布有较大差异,进而影响模型在测试集上的评估结果,例如某次划分可能恰好把某类关键数据大多划分到训练集或者测试集中,使得评估结果波动较大,不能准确反映模型真实性能。
        • 数据利用率不高,特别是当数据集较小的时候,可能导致模型在测试集上表现不佳:由于直接划分出一部分作为测试集后就不再参与训练了,对于本身数据量就小的数据集来说,可用于训练的数据就更少了,模型可能学不到足够的特征,从而影响在测试集上的表现,也不利于充分挖掘数据价值来训练出更好的模型。
    • 交叉验证法:
      • 优点:
        • 提供更稳定和可靠的模型评估,减少了划分带来的随机性影响:通过将数据集多次不同方式地划分为训练集和测试集(如 k 折交叉验证,每次用不同的子集做测试集),综合多次的评估结果(通常取平均等方式),可以降低单次随机划分造成的偶然因素影响,使得最终的评估结果更能反映模型真实的性能,更具稳定性和可靠性。
        • 所有数据都被用作训练和测试,数据利用率高:在 k 折交叉验证等方式下,每个数据点都有机会参与到训练和测试过程中,相比于留出法,能充分利用有限的数据来全面考察模型的表现,尤其对于数据量不是特别大的情况,能让模型从更多不同的数据组合中学习,提高模型质量和评估准确性。
      • 缺点:
        • 计算成本高,特别是当 k 值较大时,因为需要训练 k 次模型:每一次划分都要重新训练模型并在对应的测试集上进行测试,随着 k 值增大,需要进行的训练和测试次数增多,这对于计算资源和时间的消耗会大幅增加,比如在一些大规模深度学习模型训练时,如果采用较大 k 值的交叉验证,可能会耗费很长时间和大量的硬件资源,效率较低。
        • 实现相对复杂,可能需要更多的编程工作:需要编写代码来实现数据集的合理划分、多次训练和测试以及结果的整合等逻辑,相较于留出法简单的一次划分,其代码实现难度和复杂度提升,对于编程能力有更高要求。
    • 自助法:
      • 优点:
        • 可以从较小的数据集推出可靠的评估,因为每次抽样都产生不同的训练集:对于小样本数据集,通过有放回的抽样方式可以生成多个不同的训练集,从而能够利用有限的数据模拟出更多的训练情况,让模型有更多机会学习不同的数据组合,在一定程度上克服小样本数据量不足的问题,相对可靠地评估模型性能。
        • 数据重用率高,适于小样本数据集:由于是有放回抽样,每个样本都可能多次被抽到用于训练,提高了数据的使用效率,能充分挖掘小样本数据中的信息,更适合在小样本场景下尽可能全面地训练模型并进行评估。
      • 缺点:
        • 测试集可能与训练集重复,导致评估更加乐观(高估模型性能):因为是有放回抽样,有可能出现某些样本多次被抽到训练集中,而剩余未被抽到作为测试集的样本有限,这样就使得测试集的数据有可能在训练过程中已经被模型学习过了部分信息,导致模型在测试集上表现得比实际面对完全新的数据时更好,从而高估了模型的真实性能,使得评估结果不够准确。
        • 对于某些模型,可能不适合只通过样本重采样来进行评估:不同的模型有不同的特点和对数据的要求,有些模型可能需要数据严格的独立性等条件,自助法这种有放回抽样改变了数据的原始分布和独立性情况,可能就不太适合用这种方式来评估这些模型的性能,影响对模型真实能力的判断。

三、多选题


  1. (多选题)评估模型时,划分测试集的原则有()
    • 选项:
      • A. 测试集应该尽可能与训练集互斥
      • B. 训练集和测试集的划分要尽可能保持数据分布一致(分层采样)
      • C. 一般采用多次重复试验
      • D. 以上都不对
    • 答案:ABC
    • 解释:
      • A 选项测试集应该尽可能与训练集互斥:如果测试集和训练集有大量重复数据,那么模型在测试集上的评估就失去了意义,因为相当于模型已经提前学习过了测试集的数据内容,无法真正检验模型对未知数据的预测能力,所以要保证二者尽可能互斥,让测试集的数据对于模型来说是全新的,才能准确评估模型的泛化能力。
      • B 选项训练集和测试集的划分要尽可能保持数据分布一致(分层采样):现实数据往往有不同的类别、特征分布等情况,比如在一个包含不同年龄段人群数据的分类任务中,如果划分时训练集大多是年轻人的数据,测试集大多是老年人的数据,那么模型在测试集上的表现可能就不能反映其真实性能,通过分层采样等方式保持数据分布一致,能使模型在训练和测试阶段面对的数据特征情况相似,评估结果更具合理性和代表性。
      • C 选项一般采用多次重复试验:单次划分训练集和测试集进行评估可能会受随机因素影响,比如前面提到的留出法的随机性问题,通过多次重复试验(如多次采用不同的划分方式或者多次重复交叉验证等操作),然后综合分析结果,可以减少这种随机性带来的偏差,使评估更稳定可靠,更接近模型的真实性能情况。
      • D 选项以上都不对:综合前面分析,ABC 三个选项都是合理的划分测试集的原则,所以该选项不符合题意。

 

  1. (填空题)十折交叉验证法中把数据集分成()份,()份作为测试集,剩余的()作为训练集,需要把()次的过程测试结果平均作为最终的测试结果。
    • 答案:
      • (1) 10
      • (2) 1
      • (3) 9
      • (4) 10
    • 解释:十折交叉验证的定义就是将数据集均匀地分成 10 份,每次选取其中 1 份作为测试集,剩下的 9 份就作为训练集,这样一共会进行 10 次不同的划分(每次选取不同的那 1 份作为测试集),最后把这 10 次得到的测试结果进行平均,以此平均结果作为最终对模型性能评估的测试结果,这样可以综合不同划分情况下模型的表现,减少随机性影响,更准确地评估模型性能。
posted @ 2024-12-31 15:12  酥饼馅红豆沙  阅读(22)  评论(0)    收藏  举报