机器学习和神经网络 - 页 71

 

8.5 0/1 损失的偏差方差分解(L08:模型评估第 1 部分)


8.5 0/1 损失的偏差方差分解(L08:模型评估第 1 部分)

在本次讨论中,我们深入研究了平方误差损失的偏差-方差分解及其与过拟合和欠拟合的关系。现在,我们将重点转移到 0/1 损失的偏差-方差分解,由于其分段性质,这有点复杂。如果真实标签与预测标签匹配,则 0/1 损失分配值 0,否则分配 1。分析这个损失函数比较棘手,因为它不是连续函数。

为了探索 0/1 损失背景下的偏差方差分解,我们将参考 Pedro Domingo 和 Common Dieterich 的工作。 Pedro Domingo 的论文“统一偏差方差分解”旨在统一与 0/1 损失相关的各种偏差-方差分解。几位作者提出了不同的分解,但每个都有明显的缺点。

在本课程中,我们将主要关注偏差方差分解和 0/1 损失之间的桥梁背后的直觉。我们将简要讨论 1995 年的组合学工作和 Pedro Domingo 对这项工作的解释。更详细的理解可以参考参考文献。

让我们从重新审视平方误差损失开始,我们将其定义为真实值与预测值之间的平方差。之前,我们研究了这种损失对不同训练集的期望,并将其分解为偏差和方差项。现在,我们将介绍一个通用符号,使用函数 L 来表示损失并取该函数的期望。

在讨论平方误差损失的偏差-方差分解时,我们将其分解为偏差项和方差项。偏差项表示为偏差 (Y),表示真实标签 (Y) 与平均预测 (E[Y_hat]) 之间的差异。方差项,表示为 Var(Y_hat),衡量预测围绕平均预测的可变性。这些术语分别捕获预测偏离真实标签的程度以及它们分散的程度。

现在,我们将定义一个新术语,称为主要预测。在平方误差损失的情况下,主要预测是跨不同训练集的平均预测。但是,在处理0/1损失时,主要预测是通过预测的模式得到的,即最频繁的预测。这种区别对于理解分类背景下的偏差方差分解至关重要。

让我们探讨如何根据 0/1 损失来定义偏差和方差。我们将参考上一张幻灯片的清理版本。在右侧,我们引入了偏置项。在 Kong 和 Dieterich 的论文中,如果主要预测 (E[Y_hat]) 不等于真实标签 (Y),则偏差定义为 1,否则定义为 0。此定义捕获主要预测是否与真实标签匹配。

接下来,让我们关注偏差为零的情况,表示主要预测与真实标签匹配。在这种情况下,损失等于方差。根据定义,损失表示预测与真实标签不匹配的概率。因此,我们可以将方差解释为预测 (Y_hat) 不等于主预测 (E[Y_hat]) 的概率。该概率反映了偏差为零时预测的可变性。

现在,让我们深入研究偏差为 1 的情况,这种情况稍微复杂一些。我们首先将损失重写为 1 减去预测与真实标签匹配的概率。这相当于一减去准确率。我们将考虑两个方面:Y 何时不等于主预测以及 Y 何时等于主预测。

当 Y 不等于主要预测时,损失等于 1,表示错误分类。在这种情况下,方差项对损失没有贡献,因为主要预测与真实标签不同,并且预测中的变异性无关紧要。整个损失可以归因于偏差项,它捕获了主要预测与真实标签不匹配的事实。

另一方面,当 Y 等于主预测时,损失等于 1 减去所有其他预测与主预测不同的概率。当偏差为 1 时,此概率表示预测的可变性。因此,方差项说明了这种情况下的损失,反映了围绕主要预测的预测的不确定性。

总而言之,在 0/1 损失的偏差方差分解中,当主要预测与真实标签不匹配时,偏差项捕获错误分类错误。当主要预测与真实标签匹配时,方差项说明了预测的可变性。

重要的是要注意,由于损失函数的离散性质,与平方误差损失相比,0/1 损失的偏差方差分解更加细微和复杂。偏差项和方差项是根据主要预测的概念定义的,并捕获分类性能的不同方面。

了解 0/1 损失背景下的偏差方差权衡对于评估和改进分类模型至关重要。通过分析偏差和方差分量,我们可以深入了解错误来源并做出明智的决策以减轻欠拟合或过拟合问题。

如果您有兴趣更详细地探索 0/1 损失的偏差方差分解,我建议阅读 Pedro Domingo 的论文“统一偏差方差分解”以及 Kong 和 Dieterich 的相关著作。这些论文为分解提供了深入的解释和数学形式。

偏差方差权衡是机器学习中的一个基本概念,它与模型在欠拟合和过度拟合之间取得平衡的能力有关。偏差项表示由于模型的假设或简化而导致的误差,导致模型过于简单而无法捕获数据中的潜在模式的欠拟合情况。另一方面,方差项表示由于模型对训练数据中的小波动敏感而导致的误差,导致模型过于复杂并捕获噪声而不是可泛化模式的过度拟合场景。

在 0/1 损失的情况下,当主要预测与真实标签不同时,偏差项捕获错误分类错误。高偏差表明该模型一直在做出错误的预测,并且无法捕获数据中真正的潜在模式。当模型太简单或缺乏捕获问题复杂性所需的复杂性时,通常会发生这种情况。

另一方面,当主要预测与真实标签匹配时,方差项捕获预测的可变性。它反映了模型对不同训练数据样本的敏感性及其预测的不稳定性。高方差表示模型对训练数据中的微小变化过于敏感,并且可能过度拟合。这意味着该模型可能在训练数据上表现良好,但无法推广到看不见的数据。

理想情况下,我们希望找到一个在偏差和方差之间取得平衡的模型,从而最大限度地减少这两种类型的错误。然而,两者之间通常需要权衡取舍。减少偏差可能会增加方差,反之亦然。这被称为偏差方差权衡。

为了取得适当的平衡,可以采用各种技术。正则化方法,例如 L1 或 L2 正则化,可以帮助降低模型的复杂度并控制方差。交叉验证可用于评估模型在不同数据子集上的性能并识别潜在的过度拟合。集成方法,如 bagging 或 boosting,也可以用于通过组合多个模型来减少方差。

了解偏差方差权衡对于模型选择和超参数调整至关重要。它使我们能够评估模型的泛化性能并做出明智的决策以提高其准确性和可靠性。

 

8.6 术语“偏差”的不同用法(L08:模型评估第 1 部分)



8.6 术语“偏差”的不同用法(L08:模型评估第 1 部分)

讲座并没有特别令人兴奋,因为它深入探讨了机器学习中偏差和方差分解的主题。演讲者承认主题很乏味。然而,关于机器学习中不同形式的偏见,演讲者想要解决的最后一点很重要。

术语“机器学习偏差”被解释为一个重载术语,这意味着它用于在不同的上下文中指代不同的事物。之前讲者讲过的机器学习课程,讲过bias unit和neural network,但是和这次讲的statistical bias不同。在机器学习的上下文中,偏差是指机器学习算法的偏好或限制,也称为归纳偏差。

演讲者举了一个决策树算法的例子来说明归纳偏差。决策树偏爱较小的树而不是较大的树。如果两个决策树在训练集上具有相同的性能,则该算法会更喜欢较小的树,并且在无法做出改进时停止生长树。这种对较小树的偏好是影响决策树算法的归纳偏差的一个例子。

演讲者提到了 Dieterich 和 Khan 的一篇论文,该论文将机器学习偏差与统计偏差进行了对比。讨论了与绝对偏见相关的适当和不适当的偏见。不适当的偏差不包含对目标函数的任何良好逼近,这意味着该算法不适合该问题。另一方面,适当的偏差可以很好地逼近目标函数。

相对偏差被描述为太强或太弱。太强的偏差可能不会排除良好的近似值,而是更喜欢较差的假设。相反,太弱的偏差会考虑太多假设,可能会导致过度拟合。

演讲者分享了一个涉及决策树模型的模拟研究示例,以证明偏差和方差之间的相互作用。该研究评估了平均错误率,发现一些错误是由于偏差造成的,而另一些是由于方差造成的。

讨论的另一种重要偏见类型是公平偏见,它指的是算法系统中因社会原因而令人反感的人口差异。机器学习模型可能会不公平地对待某些人口统计数据,这种偏见可能源于不平衡的数据集或其他因素。演讲者建议参阅 Fair ML Book,了解有关机器学习公平性的更多信息。

演讲者简要提到了他们从事的一个项目,该项目涉及从面部图像中隐藏软生物识别信息,同时仍保持匹配准确性。目标是通过防止算法从面部图像中提取性别信息来保护隐私。演讲者评估了他们的系统和商业人脸匹配算法的性能,注意到商业软件基于肤色的二元性别分类器存在偏差。

演讲者强调了最小化偏差的重要性,并注意分类器在不同人群中的表现。他们强调需要使用过采样等技术来解决偏差并确保更公平的结果。

讲座涵盖了机器学习中各种形式的偏见,包括归纳偏见、统计偏见和公平偏见。这些示例和讨论阐明了在机器学习算法中减少偏见和促进公平性所涉及的挑战和考虑因素。

 

9.1 简介(L09 模型评估 2:置信区间)



9.1 简介(L09 模型评估 2:置信区间)

大家好!今天,我们将进行一场引人入胜且内容丰富的讲座。与之前的讲座相比,该讲座深入探讨了设置和偏差方差分解的相当枯燥的主题,这节课有望更加令人兴奋。我们将讨论各种重采样技术,并对不同的数据集进行模拟,以观察重采样如何影响算法的训练。通过将数据集划分为训练集和测试集,我们减少了可用的训练规模,可能会影响模型性能。

此外,我们将探索置信区间和构建它们的不同方法。这包括使用正态近似区间和各种引导技术。置信区间在机器学习中具有重要意义,最近提交的论文要求将其包括在内。审稿人现在也更加重视置信区间。它们提供了该领域的期望,并且证明不仅对审阅者有用,而且对检查您的模型的其他读者也有用。

现在,让我们深入探讨讲座主题。我们将从介绍开始,然后是用于模型评估的 holdout 方法。然后,我们将探讨如何将 holdout 方法用于模型选择。展望未来,我们将深入研究使用不同技术构建置信区间,从正态近似区间开始。

重采样方法也将是一个重点。我们将分析 repeated holdout 方法,其中 holdout 方法应用于训练集的重采样版本。此外,我们将检查依赖于重采样技术的经验置信区间。在这里,我们将遇到在 bagging 和集成模型讲座中讨论的熟悉的 bootstrap 技术。

一旦我们了解了如何使用 bootstrap 方法创建经验置信区间,我们将探索两个增强版本:point 632 bootstrap 和 point 632 plus bootstrap。在更广泛的模型评估框架内注意本讲座的上下文非常重要。我们不会介绍新的机器学习算法,而是专注于比较和选择模型的基本技术。

这些技术至关重要,因为确定哪种机器学习算法在给定数据集上表现良好具有挑战性。我们经常需要尝试和比较众多算法以找到性能最佳的算法。此外,评估模型性能对于开发 iPhone 上的图像识别等应用程序至关重要,其中准确预测图像标签至关重要。

除了估计未见数据的泛化性能外,我们还比较了不同的模型。通过使用相同的算法和训练集,我们可以获得具有不同超参数设置的多个模型。我们比较这些模型以选择最佳模型。此外,我们可能会使用不同的算法,并希望评估它们在特定数据类型(例如图像或文本)上的性能。

要选择最佳模型,我们可以准确估计绝对泛化性能,也可以对没有绝对性能值的模型进行排名。后一种方法有助于避免多次使用同一测试集时引入的偏差。排名系统允许我们选择最佳模型,而无需依赖泛化性能的准确估计。

在接下来的讲座中,我们将介绍交叉验证技术、模型评估的统计测试以及超出准确性的评估指标,例如精度、召回率和受试者工作特征 (ROC) 曲线。

这些讲座非常重要,因为它们提供了比较不同机器学习算法并选择最合适模型的方法。虽然他们没有引入新算法,但他们提供了用于评估模型性能的实用见解和技术。

总之,我们今天的讲座将涵盖重采样技术、置信区间及其在机器学习中的相关性。到本系列讲座结束时,您将全面了解模型评估以及在机器学习中做出明智决策所需的工具。让我们开始探索这些主题吧!

 

9.2 坚持评估(L09 模型评估 2:置信区间)



9.2 坚持评估(L09 模型评估 2:置信区间)

在本视频中,我们将讨论用于模型评估的 holdout 方法。虽然这种方法并不新鲜,但有一些有趣的方面是我们以前没有探索过的。 holdout 方法涉及将数据集划分为训练集和测试集。训练集用于训练或拟合模型,而测试集用于评估模型的性能。

但是,需要牢记一些注意事项。首先,训练集误差是泛化误差的乐观偏差估计。这意味着训练误差可能无法可靠地估计模型的性能,因为它可能过度拟合训练数据。另一方面,如果测试集独立于训练集,则它提供泛化误差的无偏估计。然而,从概念的角度来看,测试集可能存在悲观偏见。出现这种偏差是因为当我们将数据集划分为训练集和测试集时,我们丢失了有价值的数据。即使是小数据集,移除 30% 的数据进行评估也会显着影响模型的性能。

为了说明这一点,让我们考虑一个简单的例子。假设我们有一个仅包含 10 个数据点的数据集。如果我们移除 30% 的数据进行评估,模型将仅在 70% 的数据上进行训练。这种有限的训练数据会导致模型性能下降,因为机器学习模型通常受益于更多数据。如果我们绘制学习曲线,我们通常会观察到随着数据集大小的增加,泛化性能会提高。因此,保留大部分数据进行评估会使模型变得更糟。

尽管有这个缺点,评估模型是必要的。在学术界,我们通常报告测试集性能并认为我们的任务已完成。然而,在工业中,我们经常在测试集上评估模型后,在整个数据集上训练模型。这使我们能够向项目经理等利益相关者准确报告模型的性能。但是对整个数据集进行训练可能会导致测试集性能估计出现悲观偏差。例如,如果模型在测试集上达到 95% 的准确率,则在完整数据集上进行训练可能会将模型的性能提高到 96%。在这种情况下,95% 准确度的初始估计存在悲观偏差。

单独使用 holdout 方法并不总是理想的。它有局限性,例如不考虑训练数据中的差异。当我们随机拆分数据时,不同的拆分会导致不同的模型性能。这种可变性使得测试集估计不太可靠,因为它仅提供点估计。此外,holdout 方法没有考虑多次使用测试集来调整和比较模型时出现乐观偏差的可能性。

为了进一步了解偏见的影响,让我们考虑一下悲观偏见的概念。在模型选择方面,10%的悲观偏差不会影响基于预测精度的模型排名。假设我们有三个模型:h2、h1 和 h3。即使所有的准确度估计都悲观地有 10% 的偏差,排名仍然保持不变。模型选择的目标是选择可用的最佳模型,所有模型的一致悲观偏见不会改变相对排名。

同样,在某些情况下,测试集误差可能存在乐观偏差。当多次使用相同的测试集来调整和比较不同的模型时,就会发生这种情况。重复使用测试集会导致幸存者偏差,即只考虑在测试集上表现良好的模型。这方面的一个例子是“Do CIFAR-10 classifiers generalized to CIFAR-10?”论文,它检查了在 CIFAR-10 图像数据集上训练和评估的分类器的过度拟合和乐观偏差。

总之,虽然 holdout 方法是一种常用的模型评估方法,但它有其局限性和潜在的偏差。为了克服这些限制,已经开发了替代技术,例如交叉验证和引导程序。

交叉验证是一种涉及将数据集划分为多个子集或折叠的方法。该模型在这些折叠的组合上进行训练,并在剩余的折叠上进行评估。这个过程重复几次,每个折叠作为测试集一次。交叉验证利用不同的数据子集进行训练和测试,因此可以更全面地评估模型的性能。它有助于减轻随机数据拆分的影响,并为模型的泛化性能提供更可靠的估计。

Bootstrapping 是另一种重采样技术,它解决了 holdout 方法的局限性。它涉及通过替换对数据集进行随机抽样以创建多个引导样本。每个bootstrap样本作为训练集,其余数据作为测试集。通过重复抽样和替换,自举生成多个训练-测试拆分,从而可以对模型的性能进行更稳健的评估。

交叉验证和自举都有助于减轻与 holdout 方法相关的偏差。它们通过更有效地利用可用数据并考虑训练-测试拆分中的可变性,提供更可靠的模型性能估计。

虽然 holdout 方法是一种直接的模型评估方法,但它有局限性和潜在的偏差。为了缓解这些问题,交叉验证和引导程序等技术提供了对模型性能的更稳健和可靠的估计。根据手头问题的具体要求和限制考虑这些替代方法很重要。

 

9.3 坚持模型选择(L09 模型评估 2:置信区间)



9.3 坚持模型选择(L09 模型评估 2:置信区间)

在上一个视频中,我们讨论了用于模型评估的 holdout 方法。现在,我们将探索如何修改此模型选择方法。回顾一下,在上一个视频中,我们将数据集拆分为训练集和测试集。我们使用机器学习算法和固定的超参数设置在训练集上训练了一个模型。然后,我们在测试集上评估了模型。此外,我们可选择将模型拟合到整个数据集以利用更多数据,从而期望提高性能。

现在,我们的目标是使用 holdout 方法进行模型选择,这与超参数调整密切相关。模型选择涉及在不同的超参数设置中选择最佳模型。在超参数调整过程中,我们生成多个模型,每个模型对应一个特定的超参数设置。模型选择帮助我们识别具有最佳超参数设置的模型。

为了解释用于模型选择的改进的 holdout 方法,让我们分解这些步骤。首先,我们不是将数据集拆分为训练集和测试集,而是将其分为三组:训练集、验证集和测试集。这种分离使我们能够拥有一个独立的数据集,即验证集,用于模型选择。

接下来,我们考虑不同的超参数设置并使用训练数据拟合多个模型。例如,我们可以使用超参数值 k=3、k=5 和 k=7 的 K 最近邻算法,从而产生三个模型。

模型选择步骤涉及使用验证集评估这些模型。由于模型可能过度拟合训练数据,因此不适合选择最佳模型。因此,我们依靠独立的验证集来评估模型。我们为每个模型计算性能指标,例如预测准确性,并选择具有最佳性能的模型作为最佳模型,对应于最佳超参数设置。

但是,多次使用验证集进行模型选择会引入偏差,类似于我们在上一个视频中遇到的测试集问题。为了获得对模型性能的无偏估计,我们保留了一个独立的测试集。选择最佳模型后,我们评估其在测试集上的性能并报告结果。

或者,在最终评估之前,我们可以使用组合的训练和验证数据重新拟合模型。此步骤利用更多数据来潜在地提高模型的性能。最后,我们在独立测试集上评估最终模型并报告其性能。虽然我们没有测试集来进一步评估与组合数据拟合的模型,但由于数据量的增加,通常预期它会更好。

在实践中,用于模型选择的 holdout 方法可能会有所不同,并且并非所有步骤都严格遵循。一些从业者直接在测试集上评估所选模型,而无需对组合数据进行重新训练。尽管如此,关键思想是为训练、验证和测试提供单独的数据集,以确保无偏差的性能估计并促进最佳模型的选择。

在下一个视频中,我们将深入探讨置信区间的概念。

 

9.4 通过正态近似的 ML 置信区间(L09 模型评估 2:置信区间)



9.4 通过正态近似的 ML 置信区间(L09 模型评估 2:置信区间)

在本视频中,我们的重点是置信区间,特别是用于估计测试集的分类错误或分类准确度。我们将使用正态近似法,这是最简单的方法。但是,我们还将在以后的视频中讨论基于重采样的更好方法。

目前,我们处于基础部分,使用正态近似法探索置信区间。在随后的视频中,我们将深入研究不同的重采样技术,从重复保持法开始,然后转向用于构建经验置信区间的自举等方法,这些方法在处理传统机器学习中常见的较小数据集时更为有效。

让我们从讨论二项分布开始,您可能已经从其他统计课程中熟悉它。二项分布提供了成功的次数,参数 n 和 p 分别代表试验次数和成功概率。二项式分布的均值由 n 乘以 p 给出。例如,如果我们有 100 次成功概率为 33% 的试验,则平均值为 30。

在左侧的图中,您可以看到不同 p 和 n 值的二项式分布的概率密度函数。该密度函数说明了不同成功次数的概率。此外,二项式分布的方差计算为 n 乘以 p 乘以 (1 - p),我们将在稍后使用。花点时间熟悉一下这个模型。

现在,让我们将二项分布与机器学习联系起来。我们可以将 0-1 损失视为伯努利试验,其中我们有两种可能性:正确分类(成功)和错误分类(失败)。我们可以认为错误的分类是成功的,而正确的分类是失败的。这种观点与抛硬币时正面和反面的概念一致。为了估计成功的概率(即,不正确的分类),我们可以通过执行大量试验并计算成功次数除以试验总数来凭经验计算它。平均成功次数是 n 乘以 p,这对应于二项分布的均值。

0-1 损失与二项分布之间的关系有助于我们理解机器学习中误差的概念。我们可以将 0-1 损失视为伯努利试验,将真实误差视为正确预测的概率。为了估计真实错误,我们使用测试集并计算不正确预测的比例。这个比例代表分类误差,可以进一步除以测试集的大小,得到一个介于 0 和 1 之间的值。

在构建置信区间时,我们使用与其他统计类的单样本置信区间相同的方法。置信区间是预期包含具有一定概率的感兴趣参数的区间。最常见的置信水平是 95%,但也可以使用其他水平,例如 90% 或 99%。置信水平的选择决定了区间的宽度,水平越高,区间越宽。

为了正式定义置信区间,我们考虑从假设分布中重复抽取的多个样本。在我们的例子中,我们假设服从正态分布。使用此方法构建 95% 置信区间时,如果我们要基于无限数量的样本构建无限数量的区间,我们会期望这些区间中的 95% 包含真实参数。

您可能想知道为什么我们假设数据可以从正态分布中提取。原因是当试验次数较多时,二项分布类似于正态分布。即使是相对较少的试验,数据也已经呈现出类似于标准正态分布的形状。这就是我们使用正态近似的原因

在这种情况下构建置信区间的方法。

现在,让我们深入探讨使用正态近似法构建分类误差置信区间的细节。首先,我们需要计算二项分布的标准差。如前所述,二项式分布的方差由 n 乘以 p 乘以 (1 - p) 给出。因此,标准差是方差的平方根。

接下来,我们确定对应于所需置信水平的 z 分数。 z 分数表示偏离标准正态分布均值的标准差数。对于 95% 的置信水平,z 得分约为 1.96。计算 z 分数的通用公式是 (x - μ) / σ,其中 x 是所需的置信度,μ 是平均值,σ 是标准差。

为了构建置信区间,我们从测试集中的估计错误率开始,它代表我们的点估计。然后,我们从点估计中减去并加上 z 分数和标准差的乘积。这分别为我们提供了置信区间的下限和上限。生成的区间表示我们期望真实分类误差落在指定置信水平内的值范围。

需要注意的是,正态逼近法假定试验次数(测试集的大小)足够大。如果测试集很小,这个近似值可能不准确。在这种情况下,重采样方法(如自举)可以提供更可靠的置信区间。

综上所述,使用正态近似法构造分类误差的置信区间包括以下步骤:

  1. 使用公式 sqrt(n * p * (1 - p)) 计算二项式分布的标准差。
  2. 确定与所需置信水平对应的 z 分数。
  3. 通过分别从点估计中减去和添加 z 分数和标准偏差的乘积来计算置信区间的下限和上限。

请记住,在后续视频中,我们将探索基于重采样技术的更高级方法,这对较小的数据集特别有用。这些方法提供经验置信区间,通常比正态近似方法更准确。

 

9.5 重采样和重复保持(L09 模型评估 2:置信区间)



9.5 重采样和重复保持(L09 模型评估 2:置信区间)

在本视频中,我们将深入探讨重采样主题,并专门讨论重复保持方法。之前,我们探索了常规的 holdout 方法,其中将数据集分为训练集和测试集。我们还探讨了如何使用正态逼近法来根据测试集上估计的性能构建置信区间。现在,我们将重点转移到重采样方法,从重复保持方法开始。

为了提供直观的说明,让我们考虑一下学习曲线。学习曲线可作为我们的模型是否会受益于额外训练数据的指标。在图中,x 轴表示训练集的大小,而 y 轴表示性能,以准确度衡量。然而,同样的图可以用来通过翻转来测量误差。此处显示的性能基于 Amnesty 手写数字数据集,但仅使用 5000 张图像的子集来加速计算。在这 5000 张图像中,分配了 3000 张用于训练,1500 张留作测试集。还创建了另一个包含 3500 张图像的数据集,并从中构建了不同大小的训练集。

图中的每个数据点都对应一个特定的训练集大小,而测试集大小保持不变,为 1500。观察到的趋势是,随着训练集大小的减小,训练精度会增加。但是,随着训练集大小的增加,训练精度会下降。对这种趋势的一种可能解释是,使用较小的训练集,模型更容易记住数据,包括任何异常值或噪声。随着训练集大小的增长,由于存在更多不同的异常值,记忆数据变得更具挑战性。然而,更大的训练集有助于更好的泛化,从而提高测试集的性能。

值得注意的是,该图在训练集大小为 3500 时停止,因为没有更大的数据集可用。以红色显示的测试集保持固定在 1500 个样本。通过保留这些样本进行测试,引入了悲观偏见,因为该模型可能尚未达到其全部容量。容量是指模型使用更多数据进行改进的潜力。在这种情况下,为了提高效率,使用了一个简单的 softmax 分类器,它是一个多项逻辑回归。然而,其他分类器可以用于类似的实验。

关于学习曲线,重要的是要考虑数据集的大小及其对分类器性能的影响。增加数据集大小可以提高分类器的性能,尤其是当学习曲线表明随着训练集大小的增加测试错误减少时。例如,在处理涉及电影评级预测的项目时,从 IMDb 等来源收集更多电影评论可以提高分类器的性能。

在办公时间,学生们经常询问如何提高他们项目的分类器性能。增强分类器可能涉及各种策略,例如参数更改、特征选择或特征提取。然而,增加数据集大小是一种简单而有效的方法,可能会产生积极的结果。检查学习曲线有助于确定更多数据是否可以使模型受益,而不是仅仅关注调整超参数。

重要的是要承认将数据集拆分为训练集和测试集所导致的悲观偏见。通过保留大部分数据进行测试,由于训练数据有限,模型可能无法充分发挥其潜力。一种解决方案是减少测试集的大小以解决这种偏差。然而,减少测试集的大小会带来另一个挑战:方差的增加。模型性能估计的方差随着较小的测试集而增加,可能导致不太可靠的估计。

为了减轻这些挑战,我们可以采用一种称为蒙特卡洛交叉验证的技术,该技术涉及多次重复 holdout 方法并对结果取平均。这种技术通常称为重复保持法。

在重复坚持方法中,我们执行坚持过程的多次迭代,我们将数据集随机拆分为训练集和测试集。每次迭代使用不同的随机拆分,确保在每次迭代中使用不同的数据子集进行训练和测试。通过多次重复此过程,我们可以获得模型的多个性能估计。

重复 holdout 方法的主要优势在于,与单次 holdout 拆分相比,它可以更稳健、更可靠地估计模型的性能。由于每次迭代使用不同的随机拆分,我们可以捕获由于数据随机性而导致的性能变化。这有助于我们更准确地估计模型在未见数据上的真实性能。

一旦我们有了每次迭代的性能估计,我们就可以计算平均性能并将其用作我们的最终估计。此外,我们还可以计算性能估计的方差或标准差,以了解结果的可变性。

重要的是要注意,在重复保持方法中,训练集和测试集在每次迭代中应该是不相交的,以确保模型是在看不见的数据上进行评估的。此外,训练集和测试集的大小应根据可用数据集的大小以及训练和评估数据之间所需的权衡来确定。

当数据集足够大以允许多次随机拆分时,重复保持方法特别有用。它有助于对模型的性能进行更可靠的评估,并且在处理有限数据时尤其有用。

总之,重复保持方法是一种重采样技术,涉及使用数据集的不同随机分割多次重复保持过程。它有助于获得更可靠的性能估计并捕获模型性能的可变性。通过对重复 holdout 迭代的结果进行平均,我们可以获得对模型真实性能的更好估计。

 

9.6 Bootstrap 置信区间(L09 模型评估 2:置信区间)



9.6 Bootstrap 置信区间(L09 模型评估 2:置信区间)

欢迎回来!我们现在已经到达了本讲座中更有趣的部分。在本视频中,我们的重点将放在使用 bootstrap 方法的经验置信区间上。快速回顾一下,我们之前在讨论装袋方法时已经讨论了引导方法。在 bagging 中,我们从训练集中抽取了 bootstrap 样本。但是你有没有想过为什么它被称为“bootstrap”方法?

嗯,bootstrap这个词起源于“靠自己的努力使自己振作起来”,比喻不可能完成的任务。 bootstrap 方法确实是一项具有挑战性的技术,因为它涉及从单个样本估计抽样分布。因此,在某种程度上,我们通过尝试这项艰巨的任务来隐喻地试图通过我们的引导来振作起来。

随着时间的推移,“bootstrap”的含义扩展到包括通过严格、独立的努力来改善自己的概念。然而,在自力更生方法的背景下,我们只关注技术本身,而不是与“自力更生”相关的政治内涵。

现在,让我们深入研究 bootstrap 方法,以及它如何让我们估计抽样分布和性能估计的不确定性。 bootstrap 方法由 Bradley Efron 于 1979 年首次提出,是一种重采样技术,用于在我们只能访问单个数据集时估计采样分布。

要理解这个概念,假设您只有一个数据集,并且您想利用它来估计各种样本统计数据。这些统计数据可以是任何感兴趣的内容,例如样本均值、标准差、R 平方或相关性。 bootstrap 方法允许我们通过从原始数据集中重复采样来生成新的数据集,模拟从总体中抽取样本的过程。重要的是要注意采样是通过替换完成的,这与重复保留方法不同,后者在没有替换的情况下进行采样。

通过绘制这些引导样本并计算所需的样本统计量,例如样本均值,我们可以观察到样本均值的分布服从正态分布。这种分布的标准差,称为均值的标准误差,可以用样本标准差除以样本量的平方根来估计。

bootstrap 方法使我们能够通过估计标准偏差并使用它来确定与我们的性能估计相关的不确定性来构建置信区间。置信区间为真实总体参数提供了一系列合理的值。对于 bootstrap 方法,我们根据经验计算标准偏差并利用它来计算置信区间。

现在,让我们了解引导过程中涉及的步骤。首先,我们从原始数据集中抽取一个带有替换的样本。接下来,我们使用这个 bootstrap 样本计算所需的样本统计量。我们大量重复这两个步骤,通常建议在 200 次左右或更多次,以获得样本统计量的分布。该分布的标准差用作样本统计量标准误差的估计值。最后,我们可以使用标准误差来计算置信区间,它提供了对我们性能估计的不确定性的度量。

当谈到使用引导方法评估分类器的性能时,我们可以稍微修改一下方法。考虑一个大小为 n 的数据集。在这种情况下,我们执行 p 轮自举,在每一轮中,我们从原始数据集中抽取一个自举样本。然后,我们将一个模型拟合到这些引导样本中的每一个,并计算袋外样本的准确性,这些样本不包括在引导样本中。通过对所有 bootstrap 回合的准确度进行平均,我们获得了 bootstrap 准确度。这种方法通过在看不见的数据而不是用于训练的样本上评估模型来解决过度拟合的问题。此外,自举准确性提供了模型性能可变性的度量。

总结使用引导方法评估分类器性能所涉及的步骤:

  1. 从原始数据集中随机选择一个大小为 n(带替换)的引导样本。
  2. 在 bootstrap 样本上训练分类器。
  3. 在袋外样本(不包括在引导样本中的样本)上评估经过训练的分类器并计算准确性。
  4. 对大量引导轮次(p 次)重复步骤 1-3。
  5. 计算所有 bootstrap 轮次的平均准确度以获得 bootstrap 准确度。

bootstrap 精度可以作为分类器对未见数据性能的估计,并提供与性能估计相关的不确定性的度量。此外,它可以帮助评估分类器的稳定性和鲁棒性。

通过使用引导方法,我们可以获得对模型性能的宝贵见解,并估计与我们的性能估计相关的不确定性。当我们的数据有限并希望充分利用可用数据集时,此技术特别有用。 bootstrap 方法使我们能够近似抽样分布,构建置信区间,并有效地评估分类器的性能。

总之,bootstrap 方法是一种强大的重采样技术,使我们能够使用单个数据集估计采样分布并评估性能估计的不确定性。它提供了一种实用的方法来应对各种统计挑战,并在机器学习、统计和数据分析等广泛领域得到了应用。通过理解和实施引导方法,我们可以增强做出明智决策的能力,并从有限的数据中得出可靠的结论。

 

9.7 .632 和 .632+ Bootstrap 方法(L09 模型评估 2:置信区间)



9.7 .632 和 .632+ Bootstrap 方法(L09 模型评估 2:置信区间)

在本视频中,我们将深入探讨上一个视频中讨论的主题。在之前的视频中,我们介绍了 bootstrap 方法,特别是用于构建经验置信区间的袋外 bootstrap。在本视频中,我们将探索两种高级引导技术:0.632 引导和 0.632+ 引导。这些技术是相关的,它们的起源将在本视频中进一步解释。

为了简要回顾引导过程,我们从一个数据集开始,并通过有放回抽样来创建引导样本。对于每个 bootstrap 样本,我们拟合一个模型并评估其在袋外样本上的性能。在之前的视频中,我们还演示了如何使用面向对象的方法在 Python 中实现此过程。

在当前视频中,演示者介绍了简化流程的代码实现。他们创建了一个名为“BootstrapOutOfBag”的类,该类将引导轮数和随机种子作为输入。该类提供了一种称为“split”的方法,将数据集划分为训练和测试子集。训练子集对应于 bootstrap 样本,而测试子集代表袋外样本。通过迭代这些拆分,演示者演示了如何执行引导程序和评估模型的性能。

然后演示者介绍了另一个名为“bootstrap_0.632_score”的实现。此实现允许用户方便地计算袋外或自举分数。通过提供分类器、训练集、分割数和随机种子,用户可以使用百分位数方法计算平均准确度并获得置信区间。

接下来,该视频解决了袋外引导方法的一个缺点,即悲观偏差。 Bradley Efron 提出了 0.632 估计值作为解决这种偏差的方法。悲观偏差的出现是因为与原始数据集相比,自举样本包含的唯一数据点更少。事实上,bootstrap 样本中只有 63.2% 的数据点是唯一的。演示者解释了该图背后的概率计算,并提供了一个可视化来说明它在不同样本量下的表现。

为了克服悲观偏见,视频介绍了 0.632 bootstrap 方法。该方法结合了每一轮袋外样本和自举样本的准确性。每轮的准确度计算为两项的总和:袋外准确度和重新代入准确度。袋外精度表示未包含在引导样本中的样本的性能,而再代入精度衡量用于拟合模型的相同数据的性能。

通过结合这两项,0.632 bootstrap 方法旨在提供对模型性能的偏差较小的估计。该方法通过结合袋外精度解决了再代入精度过于乐观的问题。

总之,本视频以上一个视频中讨论的概念为基础,介绍了高级自举技术:0.632 自举和 0.632+ 自举。这些方法旨在通过同时考虑袋外和自举样本的准确性来减轻袋外自举的悲观偏见。该视频提供了代码实现和解释,以促进对这些技术的理解和应用。

 

10.1 交叉验证讲座概述(L10:模型评估 3)


10.1 交叉验证讲座概述(L10:模型评估 3)

大家好!上周,我们深入探讨了模型评估这一重要话题,讨论了评估模型性能和构建置信区间等各个方面。然而,我们对模型评估的探索尚未完成,因为我们还需要涵盖其他基本概念。实际上,这不仅仅是评估特定模型;我们还需要首先找到一个我们可以评估的好模型。

在本讲座中,我们将重点介绍交叉验证技术,其中包括调整超参数和比较不同超参数设置产生的模型的方法。此过程称为模型选择。我们今天的主要重点是交叉验证。

本周我们有很多话题要讨论,但别担心,每个话题都比较短。让我概述一下我们将在本讲和下一讲中讨论的内容:

  1. 用于模型评估的交叉验证技术:我们将探索 K 折交叉验证和其他用于评估模型性能的相关技术。我将使用 Python 和 scikit-learn 演示代码示例。

  2. 模型选择的交叉验证:我们将讨论如何使用交叉验证来选择最佳模型,包括超参数调整。我将向您展示如何在 scikit-learn 中使用网格搜索和随机搜索来执行模型选择。

  3. 简约法则:我们将探讨单一标准误差法的概念,它将 K 折交叉验证的思想与保持模型简单的原则相结合。我还将提供一个标准错误方法和重复 K 折交叉验证的代码示例,这与前面几节课中讨论的重复保持方法类似。

在我们深入研究交叉验证之前,让我们快速重新介绍一下超参数并阐明它们与模型参数的区别。然后我们将继续讨论用于模型评估的 K 折交叉验证和其他相关技术。我们将使用 Python 和 scikit-learn 检查这些技术的实际实现。最后,我们将讨论扩展到模型选择的交叉验证,强调模型评估和模型选择之间的区别。

我还根据广泛的研究和阅读准备了一个概述,根据具体任务和问题对不同的技术进行分类。这种分类将帮助我们浏览不同的技术并了解何时使用每种技术。请务必注意,概述中提供的建议有待进一步讨论,我们将在接下来的讲座中进行讨论。

这总结了讲座概述。现在,让我们继续重新介绍超参数,然后详细探索交叉验证。