交叉验证
交叉验证被引入作为对简单训练/测试划分思想的一种推广,用于评估机器学习模型。
Udacity · YouTube · 2:41
这段120秒的白板讲解通过首先展示单次训练-测试划分的局限性来引入交叉验证:对于一个固定的数据集,增大测试集会缩小训练集。随后,它将k折交叉验证作为一种结构化的替代方案进行介绍。数据被划分为k个等大小的分组;在所演示的例子中,200个数据点、,得到每组20个点。在k次实验中的每一次,都留出一组用于测试,其余k-1组用于训练,之后对k次测试结果取平均值。视频片段在讲话者刚开始提及额外计算开销时结束。 本导学环节讲解k折交叉验证的运作机制,强调其能将全部数据既用于训练又用于测试,从而得出更准确的评估结果。随后,讲师设置了一个静态训练/测试划分与10折交叉验证之间的实际对比,并请观众评估:哪种方法更适合最小化训练时间、最小化运行时间,以及最大化准确率。
在学习检查器中查看要点和时刻,或切换阅读标签查看完整笔记。
依据视频画面与讲解整理,并非逐字语音转写。
视频片段以对训练集和测试集的简要回顾开场,随后引出一种更广泛的方法——交叉验证。
为阐明该方法的动机,主讲人转向讨论如何将一个固定的数据集合理划分为训练部分与测试部分这一难题。
画出一条长条形图代表整个数据集,讲话者解释需决定其中多少比例作为测试数据、多少比例作为训练数据。
核心困境被明确指出:人们既希望训练集中有足够多的数据点以实现良好学习,也希望测试集中有足够多的数据点以实现良好验证。
由于数据总量固定,将任一数据点划入测试集,就意味着它将从训练集中移除,从而形成一种固有的权衡关系。
随后,交叉验证被提出作为对这一权衡问题的回应。
其基本构造是将数据集划分为大小相等的 k 个分组。
接下来是一个具体的数值示例:当有200个数据点、个分组时,每个分组包含20个点。
板书将旧的单次划分图示与新的重复留出图示进行对比,展示其中一个分组被选为测试集,其余分组则作为训练集。
接着阐述标准的 k 折交叉验证流程:执行 k 次独立的学习实验,每次从中选取 k 个子集之一作为测试集。
在每次实验中,其余 个分组被合并为训练集,学习算法在该训练集上进行训练,并在留出的那个分组上测试性能。
决定性的最后一步是聚合:完成全部 k 次实验后,将 k 个测试集上的性能结果取平均,从而得到交叉验证估计值。
主讲人在此片段结尾指出,该方法需要更多计算时间,因为学习实验需重复执行多次。
视频首先概述k折交叉验证的流程。白板上展示一个被均分为十份的数据集,其中一份被阴影标出,代表测试集。核心步骤逐条写出:执行k次独立的学习实验,每次实验包括选取一个测试集、在其余数据上训练模型,并在该特定测试集上进行测试;最后,将k次实验的测试结果取平均值。
主讲人强调该方法的主要优势:它能对学习算法提供更准确的评估。由于各折轮换使用,所有数据在k次实验中都会既参与训练又参与测试,从而最大化数据的利用效率。
画面切换至新的白板布局,提出一个实际问题。讲师写下两列标题:左侧为“训练/测试”,代表静态划分方法;右侧为“10折交叉验证(C.V.)”,代表交叉验证方法。
左侧列出了机器学习算法的三个关键评估目标:最小化训练时间、最小化运行时间(即训练完成后做出预测所需的时间),以及最大化准确率。
为便于对比,讲师在各目标与各方法的交叉位置画出一组圆圈。观众被提示思考:在两种验证策略——静态训练/测试划分与10折交叉验证——之中,哪一种更适合作为每个具体目标的最优选择。
交叉验证被引入作为对简单训练/测试划分思想的一种推广,用于评估机器学习模型。
单次划分迫使人们必须确定用于测试的数据比例和用于训练的数据比例。主讲人将其表述为一种两难困境:一方面希望训练集包含足够多的数据点以获得最佳学习效果,另一方面又希望测试集也包含足够多的数据点以实现最可靠的验证。
视频指出单次划分中存在一种固有折衷:将任一观测样本从训练集移至测试集,都会减少可用于训练的数据量。
k 折交叉验证将数据集划分为 k 个等大小的分箱,然后反复地将其中一个分箱用作测试集,其余 k-1 个分箱用作训练集,运行学习算法,在留出的分箱上进行评估,并对 k 次测试结果取平均。
对于包含 200 个数据点的数据集,若划分为 10 个等大小分箱,则每个分箱包含 20 个数据点。
在完成 k 次独立实验后,对每次留出的测试集上测得的性能进行平均,从而得到整体的交叉验证估计值。
k折交叉验证是一种模型评估技术,它将数据集划分为k个大小相等的子集(即“折”)。算法共训练和测试k次;每次迭代中,一个不同的折作为测试集,其余k-1折则用于训练。最终性能指标是k次实验结果的平均值。这确保了所有数据点均被用于训练和测试,从而对模型的泛化能力作出更稳健、更准确的评估。
在选择机器学习算法或验证策略时,实践者通常会优化三个主要标准:第一是缩短训练时间,这对快速原型开发和处理大规模数据集至关重要;第二是缩短运行时间,即训练好的模型对新数据生成预测的速度,这对实时应用尤为关键;第三是提升准确率,确保模型在未见过的数据上所犯错误尽可能少。
视频对静态的训练/测试集划分与10折交叉验证进行了直接比较。静态划分仅将数据一次性划分为一个训练集和一个测试集,通常速度较快,但性能估计的可靠性可能因数据划分方式而异。相比之下,10折交叉验证则执行十轮独立的训练/测试循环,每次轮换测试集。该方法使所有数据既参与训练又参与测试,在提高评估准确性的同时,也增加了计算耗时。
按知识点查看条件、步骤和证据。补充解释与视频直接内容分别标明。
主讲人称,该数据集被划分为 k 个等大小的组。
黑板上在分段条旁标出红色小写字母 k,随后写出 。
k
k 折交叉验证中所用的等大小折数或组数。
划分的整数个数;在例题中 。
主讲人举了一个含 200 个数据点的例子。
黑板上写出 200 = 数据集大小。
200 = data set size
例题数据集中数据点的总数。
观测值的正整数个数。
主讲人说:如果你有 10 个组,那么每组有多少个数据点?
黑板上写出 。
在例题中,折数为 10。
k 的一个具体取值。
主讲人回答:每个箱中包含20个数据点。
黑板上在一个小方框内写下20,然后用20标记可见的各个箱。
20
在总计200个数据点、划分为10折的示例中,每折所含的数据点数量。
由200除以10推导得出。
黑板上显示用红色圆圈标出的文字“”。
说话人提到“10折交叉验证”。
k
k折交叉验证中所使用的折数。
正整数
说话人在白板上写下“10折C.V.”。
C.V.
交叉验证的缩写。
文字缩写
主讲人介绍了一种名为交叉验证的方法,称其是对训练集与测试集划分思想的一种轻微推广。
黑板顶部写有标题“CROSS VALIDATION”。
交叉验证被呈现为一种对简单训练/测试划分思想的推广,用于评估机器学习模型。
当人们希望在兼顾训练集大小与测试集大小之间权衡的前提下评估模型性能时使用。
主讲人讨论了将数据集划分为训练数据与测试数据所存在的问题,并描述了同时最大化两个集合规模的困境。
黑板上写下‘将数据划分为训练集与测试集的问题’,随后画出一条长条形图,将其分为测试部分与训练部分,并用标有‘max’的箭头加以指示。
单次划分迫使我们在测试集和训练集之间做出选择:各自应占数据的多少比例。主讲人将其描述为一种两难困境,因为人们既希望训练集包含足够多的数据点以获得最佳学习效果,又希望测试集包含足够多的数据点以实现最佳验证效果。
适用于将数据集固定划分为训练子集和测试子集的情形。
主讲人指出存在一种固有的权衡关系:每从训练集中移出一个数据点放入测试集,训练集就损失一个可用于训练的数据点。
板书用圆圈标出了条形图中测试部分与训练部分之间的分界线。
视频指出单次划分存在一种固有的权衡:将任一观测样本从训练集移至测试集,都会减少训练可用的数据量。
假设整个数据集的规模是固定的。
主讲人表示其基本思想是将数据集划分为 k 个等大小的组,并分别开展 k 次独立的学习实验。
板书写出“k 折交叉验证”,显示 ,并列出:开展 k 次独立的学习实验、选定测试集、训练、在测试集上测试、对这 k 次实验的测试结果取平均值。
k 折交叉验证将数据集划分为 k 个等大小的组,然后重复执行以下操作:每次选其中一组作为测试集,其余 k-1 组作为训练集,运行学习算法,在留出的那组上进行评估,并对 k 次测试结果取平均值。
数据集被划分为 k 个等大小的组。
每次实验使用一个箱子进行测试,其余 个箱子用于训练。
最终报告的结果是这 k 次实验的平均值。
主讲人以 200 个数据点和 10 个箱子为例,并询问每个箱子中有多少个数据点。
黑板上在方框中写出 200 = 数据集大小、 和 20,然后用 20 标注各个箱子。
对于包含 200 个点的数据集,若将其划分为 10 个等大小箱子,则每个箱子包含 20 个数据点。
整个数据集的大小为 200。
箱子的数量为 10。
箱子大小相等。
主讲人指出,交叉验证的关键在于多次运行该过程,然后对各次测试集的表现结果取平均。
黑板上写着:这 k 次实验的测试结果平均值。
在完成k次独立实验后,对每次留出的测试集所测得的性能取平均值,从而得到整体的交叉验证估计。
共有k个独立的测试结果,每个折次各产生一个。
黑板上列出了步骤:“运行k次独立的学习实验”、“——选取测试集”、“——训练”、“——在测试集上进行测试”以及“对这k次实验的测试结果取平均值”。
说话人解释说,要运行k次独立的学习实验,并对测试结果取平均值。
该方法包含运行k次独立的学习实验:每次实验中,选取一个测试集,训练模型,然后在该特定测试集上进行测试;最后,对全部k次实验的测试结果取平均值。
数据集必须被划分为k个子集或折。
主讲人在黑板左侧写下“最短训练时间”、“最短运行时间”和“最高准确率”。
主讲人将最小化训练时间、最小化训练后的运行时间以及最大化准确率列为优化目标。
在评估机器学习算法时,常见目标包括:最小化模型训练所需时间、最小化训练后进行预测所需的运行时间,以及最大化模型预测的准确率。
说话者指出,这里存在一种固有的权衡关系:每个从训练集移入测试集的数据点,都会导致训练集损失该点。
对于固定的数据集,若通过将数据点从训练集移至测试集来扩大测试集,则训练集的规模必然减小。
数据集被划分为训练子集和测试子集。
数据点的总数是固定的。
每有一个数据点从训练集移至测试集。
说话者解释道,在k折交叉验证中,需将数据划分为k个等大小的桶,运行k次独立的学习实验,每次用其中一个桶作为测试集,其余k-1个桶作为训练集,最后对k次测试结果取平均。
黑板上列出了该流程:运行k次独立的学习实验;选定测试集;训练;在测试集上进行测试;对这k次实验的测试结果取平均。
k折交叉验证包括将数据划分为k个等大小的桶,然后对k次实验中的每一次,均使用其中一个桶作为测试集,其余k-1个桶作为训练集,执行训练与测试,并最终对k次测试结果取平均。
该数据集可被划分为 k 个大小相等的区间。
每次实验恰好使用一个预留的区间作为测试集。
对于这 k 个区间中的每一个,该区间均恰好被用作一次测试集。
主讲人指出,对你的学习算法的评估将更加准确。
相比固定的训练/测试集划分,采用 k 折交叉验证能对学习算法做出更准确的评估。
该算法通过 k 个相互独立的学习实验进行评估。
针对任意给定的数据集和学习算法。
主讲人说:“你实际上既用全部数据进行了训练,又用全部数据进行了测试。”
在 k 折交叉验证中,所有可用数据均会在不同折次中被用于训练和测试。
数据集被划分为 k 份。
在全部 k 次实验中。
主讲人提问:如果你有200个数据点和10个区间,那么每个区间包含多少个数据点?并给出答案20。
黑板上显示:200 = 数据集大小,,以及20(置于方框内)。
该示例从一个包含200个数据点的数据集开始。
该信息直接出现在音频中,并写在黑板上。
该示例使用10个区间。
该信息直接出现在音频中,并写在黑板上。
每个区间包含20个数据点。
主讲人口头陈述答案,并在黑板上写下20;其背后的运算是200除以10。
对于200个数据点,将其划分为10个等大小的组,每组包含20个数据点。
讲解者以200个数据点和10个组为例,指出每组包含20个数据点。
黑板上写出200=数据集大小、10=k,并将20写入方框,随后用20标记各组。
给定一个包含200个数据点的数据集,将其划分为10个等大小的组,求每组的数据点数量。
数据集大小=200
k 等于10
各组大小相等
求每组中的数据点数量。
使用题中给出的总数据集大小。
在示例中已给出。
使用题中给出的组数。
例题中已给出。
每个分箱包含20个数据点。
通过将数据点总数平均分配到10个分箱中计算得出。
每个分箱20个数据点。
黑板上明确写出20,并用20标记各分箱。
一只手书写蓝色标题“CROSS VALIDATION”并加下划线,然后书写黑色小标题“将数据划分为训练集与测试集存在的问题”。
蓝色标题文字“CROSS VALIDATION”。
黑色小标题“将数据划分为训练集与测试集存在的问题”。
先书写标题。
再在标题下方添加问题小标题。
黑板保持白色背景,文字为手写体。
视觉序列通过指出单次训练-测试划分所存在的问题,确立了本节主题并引出后续讨论。
画出一条长红色水平条,左侧部分为阴影区域并标注为“test”,右侧部分为点状区域并标注为“training”,两条绿色箭头分别从这两个区域向下延伸,并标注为“max”。
讲解者用笔圈出“test”与“training”两部分之间的分界处。
代表数据集的长红色条
标注为“test”的阴影左段
标注为“training”的点状右段
标注为“max”的绿色箭头
围绕划分边界的绿色圆圈
画出数据集条。
通过视觉方式区分测试部分与训练部分。
箭头表示希望同时最大化这两部分。
边界用圆圈标出,以强调其中的权衡关系。
该竖条代表一个固定的数据集。
这两部分合起来构成整个竖条。
该图表明:在单次划分中,扩大其中一个子集必然以缩小另一个子集为代价,因为数据集总长度是固定的。
清空黑板,仅保留标题,然后绘制一条新的红色竖条,将其等分为若干段,并标上小写字母 k。
写出示例数值:200 = 数据集大小,,以及20;随后呈现一个两行网格,每行五个可见方框,每个方框均标有20。
左上角方框涂成绿色,写上 ,并在下方添加步骤列表。
尽管口述和书面示例中使用 ,但每行仅 visibly 绘制了五个分箱。
红色分段竖条
红色小写字母 k
文字:200 = 数据集大小
文本
框出 20
两行网格,可见的容器均标有 20
左上角容器呈绿色阴影
绿色与黑色的步骤列表
单分割图被分段条形图替代。
示例数字已写出。
绘制了一个由等尺寸容器组成的网格。
其中一个容器被高亮显示为测试集。
算法步骤列于网格下方。
所有可见容器均标注相同尺寸 20。
被高亮的容器被单独指定为测试集,其余容器仍可用于训练。
该可视化模型展示了将数据等分为若干折的划分方式,以及k折交叉验证中重复使用的留出模式。
白板内容突然从 k 折示意图切换为仅显示标题“交叉验证”的空白画面。
白板内容
先前的示意图和文字消失。
标题“交叉验证”保留在顶部。
讲师清空白板,开始一项新的对比练习。
主讲人分别在“训练/测试”列和“10-折交叉验证”列下方画小圆圈,并使这些圆圈与左侧列出的三个目标对齐。
圆圈
文字标签
绘制六个圆圈,构成一个网格,用于为每个目标选择最佳方法。
方法与目标的文字标签保持不变。
创建一个可视化矩阵,将评估目标映射到两种不同的验证方法上。
主讲人指出,您希望同时最大化训练集和测试集,但二者存在固有取舍:每个被移入测试集的样本都会从训练集中丢失。
黑板上在“测试”和“训练”下方均画出最大化的箭头,并圈出二者之间的分界线。
人们可能希望训练集和测试集都尽可能大。
在数据集大小固定的前提下,单次划分无法同时使两个子集都达到最大;增大其中一个必然导致另一个减小。
主讲人说:“因此显然这会消耗更多计算时间,因为现在您必须运行……”
该句子在完整后果陈述之前被截断。
与单次训练-测试划分相比,交叉验证可能被视为零成本操作。
视频明确指出,该方法会消耗更多计算时间,因为学习实验需重复运行多次。
主讲人指出,交叉验证是对先前训练集与测试集思想的略微推广,随后解释了单次划分所存在的问题。
交叉验证被介绍为比简单的训练集-测试集划分框架更通用的方法。
讲述者从通用术语“交叉验证”过渡到具体的k折交叉验证过程。
板书将标题改为“k折交叉验证”,并列出了k步操作流程。
k折交叉验证是本片段中所描述的交叉验证的一种具体等分版本。
在说明固有折衷关系后,讲述者指出这正是交叉验证发挥作用之处,随后定义了将数据划分为k个分箱的操作。
单次划分所存在的折衷关系,促使人们采用k折交叉验证中重复留出法这一方案。
讲述者指出关键在于多次执行该过程,然后对各次测试集上的表现结果取平均值。
板书先列出各次实验,再写出“对这k次实验的测试结果取平均值”。
对各折的测试结果取平均值,是k折交叉验证流程的一部分。
主讲人并排写下列标题:'训练/测试' 和 '10折交叉验证'。
主讲人请观众在'静态训练/测试方法'与'10折交叉验证'之间做出选择。
视频将静态训练/测试划分方法与k折交叉验证进行对比,展示二者是实现评估目标的两种不同途径。
讲述者以名称“交叉验证”引出该概念。
讲述者解释了将数据划分为训练集和测试集时所面临的两难困境。
主讲人描述了将数据划分为 k 个桶并运行 k 次实验的过程。
主讲人以 200 个点、10 个桶的示例进行了演算。
主讲人指出,这会消耗更多计算时间,因为实验需运行多次。
该句子在视频片段边界处未说完。
黑板上列出了k折交叉验证过程的确切步骤。
黑板上列出了算法评估的三个主要目标。
已覆盖 · 开场对话将交叉验证引入为训练集与测试集概念的一种推广。
已覆盖 · 主讲人解释了单次训练集-测试集划分所面临的困境及其内在权衡。
已覆盖 · 板书展示了将数据划分为 k 个等大小桶的过程,并以 的示例进行了演算。
已覆盖 · k 折流程被明确写出:运行 k 次实验,每次选定一个测试集、训练模型、进行测试,并对结果取平均。
已覆盖 · 讲话者在视频片段结束前开始指出额外的计算开销。
已覆盖 · 讲解k折交叉验证的步骤及其优势。
已覆盖 · 过渡并准备将训练/测试划分方法与10折交叉验证进行比较。
已覆盖 · 列出评估目标,并构建矩阵以比较两种方法。
已审核中文素材 v1:知识卡片(概念卡片)「交叉验证」从 0:09 起——交叉验证被引入作为对简单训练/测试划分思想的一种推广,用于评估机器学习模型。
已审核中文素材 v1:知识卡片(概念卡片)「训练与测试的权衡」从 0:43 起——视频指出单次划分中存在一种固有折衷:将任一观测样本从训练集移至测试集,都会减少可用于训练的数据量。