第3章 机器怎样从数据中学习:数据、模型与训练
章首语
第2章的规则问答机器人只会执行开发者事先写好的条件。我们增加同义词,可以减少一部分漏答;继续增加规则,又会出现重复、冲突和顺序依赖。面对手写数字、商品图片、设备声音等变化很多的对象,人很难先列出所有判断规则。机器学习采用了另一种思路:不给程序写完每一种情况,而是提供带有答案的样本,让程序从样本中形成用于判断新输入的模型。
本章为班级AI应用系统增加一个手绘图形分类模块。页面上有一个12×12方格画板,我们在其中绘制圆形、三角形或方形,并给每幅图标上类别。程序把图形转换成144个数,再根据训练样本计算三个类别的平均模板。当新的图形进入页面时,程序比较它与三个模板的距离,输出最接近的类别。
第一版只使用一名同学的画法。它可能在自己的训练样本上表现很好,换一名同学来画,准确率却明显下降。第二版补充不同人的画法,保持三个类别数量基本平衡,再用新的未知样本检验。两版比较将回答四个问题:数据在学习中起什么作用;模型保存了什么;训练怎样改变模型;为什么训练成绩很好,仍不能证明模型真正可靠。
学习目标
完成本章学习后,你将能够:
- 说明数据集、模型和训练之间的关系。
- 区分训练集与测试集,避免用训练样本证明模型有效。
- 训练手绘图形分类器,读懂平均模板和距离比较的关键逻辑。
- 使用准确率和混淆矩阵分析两版模型的测试结果。
- 根据过拟合和数据偏差证据改进数据,并说明模型的适用范围。
本章项目 开发手绘图形分类模块
本章项目使用无身份意义的几何图形,完成一个三分类程序。程序接收学生在方格中绘制的图形,把每个方格记为0或1;训练样本还要附上“圆形”“三角形”或“方形”标签。训练程序分别计算三个类别的平均图形,形成模型;预测程序则把新图形与三个平均模板比较,选择距离最小的类别。它是一个可以看见数据、参数和结果的教学模型,不等同于手机中的成熟图像识别系统。
每组设置数据负责人、开发负责人、测试负责人和记录讲解员。数据负责人制定画法要求并检查标签;开发负责人使用AI编程助手生成或修改页面,保存程序版本;测试负责人保管未知样本,在模型训练完成前不得公开;记录讲解员整理类别数量、准确率、混淆矩阵和失败样例。三人小组可以合并开发与记录工作,但训练样本和测试样本必须由不同角色管理。
最终成果包括分类器v0.1和v0.2、两版训练数据摘要、开发测试集A、最终测试集B、两张混淆矩阵和一份模型说明卡。完成后的分类学习模块作为班级AI应用系统v0.3的一部分,与第2章规则问答模块并列展示:前者从样本中形成判断依据,后者执行人写出的固定条件。
采集第一批训练样本
3.1 样本、标签和数据集
程序不能直接把“画得像圆”当作可以计算的条件。12×12画板共有144个方格,涂黑的格子记为1,空白格记为0,一幅图就被转换成由144个数构成的记录。图形的位置、大小、线条粗细和缺口都会改变这些数,这些可供模型判断的信息称为特征(Feature)。本章直接使用144个方格值作为特征,不要求学生人工计算圆周或边角。
一条训练记录还需要正确答案。例如,某幅图由绘制者确认是三角形,“三角形”就是这条样本的标签(Label)。标签不是程序自己发现的真相,而是采集者按照任务规则给出的类别。把圆形误标成方形,程序会把错误答案当作学习依据,因此标注规则和复核过程与图形本身同样重要。
数据集(Data Set)是为特定任务组织起来的一组样本。本章每条样本由144个方格值、一个类别标签、绘制者代号和数据用途组成。绘制者只使用A、B、C等组内代号,不记录姓名。数据用途必须标明“训练”或“测试”,避免同一幅图同时进入两个集合。
第一版训练集只由一名组员绘制,每类5幅,共15幅。画图前统一三条要求:图形主体位于画板中央;线条可以有少量断点;不能使用文字提示类别。数据负责人完成下表后,检查三个类别数量是否相同,并随机抽查至少3条标签。
| 类别 | 计划数量 | 实际数量 | 绘制者代号 | 标签复核 |
|---|---|---|---|---|
| 圆形 | 5 | A | ||
| 三角形 | 5 | A | ||
| 方形 | 5 | A |
数量相同不等于数据已经足够。15幅图只包含A同学的线条习惯,可能都画得大小接近、位置居中、线条一样粗。这样的训练集可以用来观察学习过程,却不能代表全班可能出现的画法。第一版故意保留这个限制,后面的未知测试才有机会显示数据范围与模型表现之间的关系。
根据任务说明准备程序。 使用AI编程助手时,要把分类任务、数据格式、学习方法和验收条件写清楚。下面的说明可以直接使用,也可以根据班级资源调整界面,但不得把分类核心替换为网络接口或现成大模型回答。
开发任务说明:手绘图形分类器 v0.1
目标:制作一个可离线运行的圆形、三角形、方形三分类网页。
输入:12×12可点击或拖动绘制的黑白方格;类别标签为圆形、三角形、方形。
数据:每条样本保存144个0或1、标签、绘制者代号和训练/测试用途。
训练:分别计算每个类别在144个位置上的平均值,得到三个平均模板。
预测:计算新图形与三个平均模板的平方距离,输出距离最小的类别,同时显示三个距离。
评价:分别计算训练集和测试集准确率,生成3×3混淆矩阵,保存错误样本。
运行:只使用一个index.html,不加载外部脚本、字体和网络资源。
验收:少于2个类别或某类没有样本时拒绝训练;空白图形不得预测;训练样本和测试样本必须分开显示。
输出:先说明数据结构和训练逻辑,再给出完整程序,不省略代码。
把AI编程助手生成的文件保存到 AI_Project/ch03/,不要覆盖第2章程序。第一次运行只检查画板、类别按钮、数据列表、训练按钮和测试记录是否存在,不用先调整颜色。如果生成程序无法稳定运行,可以打开配套资源 labs/ch03/index.html,使用相同数据完成后续实验。
训练第一版分类器
3.2 模型保存的是从数据中形成的参数
采集完15条记录后,点击“训练模型A”。页面把同一类别的图形放在一起,对每个方格求平均值。假设5幅圆形在左上角某个方格中有2幅涂黑,这个位置的平均值就是0.4;如果5幅都涂黑,平均值就是1。144个位置分别计算后,得到一幅灰度的“平均圆形”,三角形和方形也用同样方法计算。
模型(Model)是从数据中形成、用于对新输入作出预测或判断的计算结构及其参数。本章模型由三个平均模板组成,每个模板包含144个0到1之间的数,共有432个由训练数据计算出的数值。网页程序负责采集、训练、预测和显示,模型则是程序训练后得到的这些参数;二者有关联,但不是同一个概念。
训练(Training)是使用训练数据,按照学习算法形成或调整模型参数的过程。在本章中,学习算法就是“按标签分组,再计算每个位置的平均值”。现代模型的训练可能要反复预测、计算误差并调整大量参数,本章先用一次即可看清的计算理解共同结构:训练数据进入算法,算法改变参数,参数组成模型。
训练完成后,页面应显示三个平均模板和训练数据摘要。先观察模板,不急着看准确率。圆形模板是否闭合,三角形顶部是否清楚,方形四边是否能够区分?如果某个模板模糊成一团,先检查该类样本的位置和标签是否一致。模型参数把训练数据中的共同特征压缩到模板里,也会把数据中重复出现的偏差一起保留下来。
分类是让模型从预先规定的类别中为输入选择一个类别的任务。本章程序对新图形执行三步:把图形转成144个数;分别计算它与三个模板的距离;输出距离最小的类别。距离越小,只说明它在这种表示方法下更接近某个模板,不代表程序理解了“圆”的几何定义。
平均模板的关键代码可以写成下面的形式。代码中的 samples 是某一类别的训练样本,prototype[i] 是平均模板的第 i 个位置。
for (let i = 0; i < 144; i++) {
let total = 0;
for (const sample of samples) {
total += sample.pixels[i];
}
prototype[i] = total / samples.length;
}
预测时,对每个位置计算输入值与模板值的差,再把差的平方相加。平方距离越小,说明两组数越接近。
function distance(input, prototype) {
let sum = 0;
for (let i = 0; i < 144; i++) {
sum += (input[i] - prototype[i]) ** 2;
}
return sum;
}
独立页面路径把第一版保存为 classifier_v01.html;配套实训页路径导出记录并改名为 model_A_record.json。两条路径都要保存训练数据摘要和模型A参数。此时不要把开发测试题加入训练集,模型版本必须与数据版本对应。
用未知样本测试第一版
3.3 训练集成绩不能代替未知测试
模型A首先在15个训练样本上运行。训练准确率的计算方法是“预测正确数÷样本总数”。如果15幅都分类正确,训练准确率就是100%。这个数字只说明模型能够处理用来形成自己的数据,不能说明它面对新画法也有同样表现。
测试负责人现在启用开发测试集A。测试集由另一组绘制,每类4幅,共12幅;绘制时至少包含四种变化中的三种:位置偏移、大小变化、线条加粗、少量旋转。测试样本在模型A训练结束前不得交给数据负责人,也不能与训练样本重复。
训练集(Training Set)用于形成或调整模型,测试集(Test Set)用于检查模型面对未参与训练的样本时能否作出正确判断。两者分开的目的不是增加手续,而是防止模型只记住已经见过的样例。如果把测试题和答案提前放进训练集,再报告这些题的成绩,就像先把考试题编进复习答案,不能证明面对新题的能力。
每运行一个测试样本,记录真实标签、预测标签、三个距离和是否正确。不要只保存总准确率。总数相同时,错误集中在哪一类会给出不同的修订方向。圆形经常被判成方形,可能与线条和位置有关;三类都随机混淆,则要检查数据、标签或算法是否存在更基本的问题。
| 样本编号 | 真实标签 | 预测标签 | 距离最小值 | 是否正确 | 观察到的变化 |
|---|---|---|---|---|---|
| T01 | |||||
| T02 | |||||
| … | |||||
| T12 |
页面还会生成混淆矩阵(Confusion Matrix)。矩阵的行表示真实类别,列表示模型预测类别;对角线上的数是正确分类,其他位置是误分类。下面是一组示例结果,不是本章实验的标准答案。
| 真实类别\预测类别 | 圆形 | 三角形 | 方形 |
|---|---|---|---|
| 圆形 | 3 | 1 | 0 |
| 三角形 | 1 | 2 | 1 |
| 方形 | 0 | 1 | 3 |
这组结果有8个对角线样本,测试准确率为8÷12,约66.7%。矩阵还显示三角形只答对2次,比另外两类更容易混淆。只有准确率时,我们看不到这个差异;保留错误样本后,才能继续检查三角形是否太小、偏离中心,或者训练集中三角形画法过于单一。
跨组测试结束后,选择一项成功和两项失败加入模型记录。成功样本用于说明当前模型能够处理什么,失败样本用于说明它在哪些条件下不可靠。不能删除画得不标准的正常样本来提高成绩,但可以排除空白、标签明显错误或违反采集规则的无效记录,并写明排除理由。
从测试结果理解机器学习
3.4 从人写规则到程序从样本中形成规律
第2章的规则机器人由人决定关键词和回答。第3章中,人仍然决定任务、类别、数据和学习算法,却不再逐条规定“某个位置涂黑就是三角形”。程序根据带标签的样本计算模板,再把计算结果用于新输入。这种从已知样本形成模型的方法属于机器学习。
第2章已经认识了机器学习(Machine Learning,ML):它是使计算机利用数据形成模型,并用模型完成预测、分类或其他任务的方法。它不是让机器脱离人类自己确定目标,也不是把数据倒进程序就会自动得到可靠智能。任务定义、数据来源、标签规则、模型选择、评价方法和使用范围仍由人设计和检查。
本章使用的是监督学习(Supervised Learning)。训练样本同时提供输入和正确标签,模型根据二者的对应关系学习。垃圾邮件分类、零件缺陷识别和设备状态判断都可能采用监督学习,但前提是能够取得与任务相关、标签可信的样本。没有标签的数据也能用于其他学习方法,本章不展开。
规则方法与机器学习不是简单的先进与落后关系。设备急停、账号权限和业务流程中的硬条件,通常仍适合用明确规则;手写图形、图像、语音等变化很多的输入,更常使用从数据中学习的模型。真实系统还会把两者组合起来:模型负责识别,规则负责限制允许执行的动作,关键结果由人复核。
3.5 特征、参数和预测怎样连成一条计算链
从画板到分类结果,中间没有“看懂图形”的神秘步骤。输入图形先编码为144个特征值;训练程序用带标签样本计算432个模板参数;预测程序再计算输入与各模板的距离。数据、模型和预测可以写成一条连续的计算链:
采集并标注样本 → 转换为特征 → 训练并形成参数 → 输入新样本 → 计算结果 → 对照真实标签评价
特征决定模型能够利用什么信息。本章只保留每个格子是否涂黑,所以模型能够比较线条占据的位置,却没有单独得到“有几个角”“边是否笔直”等几何知识。图形整体平移后,许多方格值同时改变;人仍然看出是同一个形状,模型却可能认为它离原模板很远。改进模型可以从数据、特征表示或学习算法入手,不能把所有问题都归结为“数据太少”。
参数是训练后保存在模型中的可调数值。本章参数能够直接显示成三幅灰度模板,便于检查。现代神经网络可能包含大量连接权重,单个数值很难独立解释,但训练的基本关系仍然相通:参数影响输出,训练根据样本结果调整参数,最终模型用这些参数处理新输入。
预测结果还要经过评价。准确率适合快速比较同一测试集上的两版模型,却会掩盖类别差异。若测试集中方形有100个、三角形只有2个,一个总准确率很高的模型仍可能完全不会识别三角形。因此,评价前要检查类别分布,并同时查看混淆矩阵和具体失败样本。
3.6 泛化、过拟合与测试数据泄漏
模型把训练中形成的规律用于未见样本,并保持可接受表现,这种能力称为泛化(Generalization)。本章真正关心的不是模型能否认出A同学画过的15幅图,而是换一名同学、换一种大小或位置后,它还能否分出三类。泛化能力只能通过未参与训练和修改决策的新样本估计,不能从训练成绩直接推出。
过拟合(Overfitting)是模型过度适应训练数据,在训练集上表现很好,却在新的、未见数据上明显变差的现象。例如,内置数据实验中模型A的训练准确率为100%,开发测试集A为41.7%,并且错误集中在变化较大的图形上,这就是需要检查过拟合和数据代表性的证据。不能只凭一次低分断言过拟合,还要排除标签错误、程序故障和训练测试任务不一致。
训练样本过少或过于单一,复杂模型记住偶然细节,都可能导致过拟合。相反,如果模型连训练数据也分不好,可能是模型过于简单、特征不足或训练没有完成,这通常称为欠拟合(Underfitting)。过拟合不是“学习太多”,欠拟合也不是“学习太少”这么简单,判断要同时比较训练和未见数据的表现。
测试数据泄漏会制造虚假的好成绩。如果小组看到T03被错分,就把T03原样加入训练集,再继续把原测试集称为“未知测试”,模型已经间接见过这道题。正确做法是:开发测试集A可以用于发现问题和指导修订,但一旦根据它修改了数据或模型,它就更接近验证集;最终还要使用从未参与修订的测试集B进行一次独立检查。
3.7 从感知机到多层神经网络
让机器从样本中调整参数,并不是近年来才出现的想法。1958年,弗兰克·罗森布拉特发表感知机研究。感知机接收若干输入,为输入连接设置权重,把加权结果与阈值比较,再输出类别。预测错误时,学习规则会调整权重。这一工作展示了“连接的强弱可以通过样例改变”,也让学习机器受到广泛关注。
早期感知机只能处理一部分可以用简单边界分开的任务。它的能力受到模型结构、学习方法和当时计算条件限制。研究者后来发展多层网络,希望中间层能逐步形成更有用的表示。1986年,David Rumelhart、Geoffrey Hinton和Ronald Williams等人的论文系统描述了反向传播学习:先得到输出,计算它与目标的差异,再把差异向前面的连接传递,反复调整权重。
神经网络(Neural Network)是一类由许多计算单元和加权连接组成的模型。“神经元”和“连接”这些名称受到生物神经系统启发,但人工神经网络不是人脑的复制品。输入层接收数据,中间层对前一层结果继续变换,输出层给出分类或预测。所谓“分层加工”,可以理解为每一层都把上一层的数值重新组合,使后面的层更容易完成任务。
训练多层网络时,程序用样本计算输出,再根据输出与标签之间的差异调整连接权重。大量样本经过多轮计算后,网络可能逐层形成边缘、局部形状和更复杂组合等表示。2012年前后,深度神经网络在大规模图像分类任务上的进展受到广泛关注,这与算法积累、数据集扩大和计算设备增强共同有关。卷积神经网络怎样利用局部信息识别图像,将在第5章详细学习。
本章的平均模板分类器不是神经网络,也没有反向传播。选择它是因为训练参数能够直接看到,计算过程能够在普通浏览器离线完成。理解一个简单模型的完整证据链,比只会点击复杂模型的“训练”按钮更重要;以后换成神经网络,仍要继续追问数据来自哪里、参数怎样形成、测试是否独立和结果在哪些条件下有效。
3.8 数据质量决定模型能够学到什么
模型只能从提供的数据中形成规律。训练集如果全由一名同学绘制,模型可能把这个人的位置和线条习惯当成类别特征;方形样本比三角形多很多,模型得到的信息分布也会不平衡;标签前后不一致,同一种图形被标成不同类别,训练程序就会收到相互冲突的信号。
数据质量至少要检查五个方面。第一,标签是否准确并遵守同一规则;第二,类别数量是否基本平衡;第三,样本是否覆盖任务中常见的变化;第四,训练集与测试集是否存在重复;第五,数据来源和使用是否得到允许。数量、代表性、一致性和合规性共同决定数据是否适合当前任务,不能用一个“数据越多越好”的口号代替检查。
偏差不一定来自恶意。若安全帽识别模型只用白天、正面、无遮挡照片训练,夜间或侧面识别变差,是采集范围没有覆盖使用环境;若商品评价数据只来自一家店,换品类后词语含义改变,是数据与新任务不匹配。发现偏差后,应说明没有覆盖哪些情况,再补充有目的的样本,而不是随意复制已有记录。
数据还带有责任。真实项目可能接触照片、声音、成绩、健康和行为记录,这些数据与具体的人有关。未经允许采集人脸或声音,把学习成绩作为“能力高低”标签,或者用少量课堂数据评价个人,都可能侵犯隐私并造成不公平。本章只使用手绘几何图形,得到的结论也只限于课堂分类实验。
补充数据、训练第二版并完成说明
第二版保持平均模板算法不变,先只修改训练数据。这样,两版结果的主要差异可以追溯到数据变化,不会因为同时更换算法而无法判断原因。每名组员为每个类别至少补画3幅,新增样本包含位置、大小、线条粗细和轻微旋转等合理变化;最终每类数量应基本相同,并且至少来自3名绘制者。
补充前先制定数据修订表。表中不能只写“增加更多样本”,而要对应第一版的失败证据。例如,偏左的小圆经常被判为方形,就补充不同位置的圆形;细线三角形容易漏判,就补充不同线宽,但不能只复制出错样本本身。每次新增都记录来源代号和理由,错误标签则单独更正并保留变更记录。
| 第一版证据 | 对数据的判断 | 第二版修改 | 不采用的做法 |
|---|---|---|---|
| 偏小圆形常被错分 | 训练集中大小变化不足 | 各绘制者补充大、中、小圆形 | 复制同一幅圆形多次 |
| 三角形正确率最低 | 三角形样本变化少或标签需复核 | 补充不同线宽和轻微偏移,复核标签 | 删除所有难画的三角形 |
| 方形数量较多 | 类别不平衡 | 补足另两类或减少重复样本 | 只报告总准确率 |
使用新数据训练模型B。独立页面路径保存为 classifier_v02.html;配套实训页路径在记录齐全后导出 ch03_classification_record.json。先检查训练集,再运行开发测试集A,比较两版在相同样本上的变化。A集已经指导数据修订,因此只用于开发比较,不再作为完全独立的最终证据。
最后由另一组启用测试集B。B集仍为每类4幅,但不得与A集和训练集重复,也不得提前公开。模型B只运行一次并完整保存结果;如果结果不理想,可以在模型说明卡中分析原因,但不能改完再把同一批B题称为第一次未知测试。真实项目会使用更多样本和更严格的验证流程,本章的小规模实验只用于看清基本原理。
比较两版模型。 版本比较至少包含训练数据、训练准确率、开发测试集A和最终测试集B四部分。只写“v0.2比v0.1更好”不够,要说明改变了什么、在什么数据上改善、还有哪些类别没有改善。若第二版总准确率提高,但某一类变差,也要如实记录。
| 比较项 | 模型A | 模型B | 可以得到的结论 |
|---|---|---|---|
| 训练样本数 | 数量是否增加 | ||
| 绘制者数量 | 画法是否更多样 | ||
| 三类数量 | 是否基本平衡 | ||
| 训练准确率 | 对已见样本的表现 | ||
| A集准确率 | 同一开发测试上的版本变化 | ||
| B集准确率 | 不必反复开发 | 对全新样本的最终检查 | |
| 主要混淆 | 哪些类别仍然容易混淆 |
模型说明卡要写清六项内容:任务是区分哪三类图形;输入怎样转换成144个特征;训练数据来自多少个代号;模型如何形成平均模板;A、B测试分别说明什么;模型不能用于哪些任务。不得把距离最小写成“模型有90%把握”,也不得把12道题的准确率推广为所有人的真实使用效果。
每组进行九十秒技术说明。前二十秒展示模型A和一项失败;接着三十秒解释数据、模型、训练的关系;再用二十秒比较模型B的测试证据;最后二十秒说明过拟合风险、数据范围和一条责任红线。互评重点是证据是否完整、概念是否准确,不比较页面装饰和准确率排名。
安全与责任
数据能够被程序读取,不表示我们有权使用。与个人相关的数据可能暴露身份、健康和学习情况,错误标签还可能对他人造成不公平评价。本章用几何图形正是为了把技术实验与身份判断分开。以后进入真实专业场景时,要先确认采集目的、授权范围、保存期限和访问权限,并尽量减少不必要的数据。
模型输出也不能替代人的责任。课堂分类器即使在12个样本上全部正确,也没有经过足够规模、设备变化和现场风险测试,不能用于门禁、安全检查、人员评价或生产控制。发现数据偏差和失败样本时,如实说明限制,比隐藏错误更符合职业规范。
本章小结
机器学习改变了程序获得判断依据的方式。规则系统由人直接写出条件,机器学习则由人规定任务和学习方法,再让程序利用数据形成模型。本章的每幅手绘图被转换成144个特征值,类别名称作为标签;训练程序按类别计算平均模板,三个模板中的432个参数组成了简单分类模型。
训练集用于形成模型,测试集用于检查模型面对未见样本的表现。训练准确率很高,不等于模型能够处理新画法;训练好、测试差,是检查过拟合的重要信号。准确率给出总体结果,混淆矩阵还能显示错误集中在哪个类别。若测试集参与了修订,就要另准备新的独立测试,避免数据泄漏制造虚假成绩。
从早期感知机到多层神经网络,学习方法不断发展,但数据、模型、训练和评价的关系始终重要。增加数据不能只追求数量,还要检查标签一致、类别平衡、变化覆盖、集合独立和使用授权。第二版模型的价值不在于消灭所有错误,而在于用可追溯的数据修改改善泛化,并准确说明仍未解决的问题。
习题
基础题
- 用自己的话解释数据集、模型和训练,并说明三者在手绘图形分类器中的对应对象。
- 为什么不能只用训练准确率评价模型?训练集和测试集分别承担什么作用?
- 某模型训练准确率为98%,未知测试准确率为55%。这是什么问题的重要信号?还应排查哪些可能原因?
- 平均模板分类器把圆形误判为方形。请从特征、数据和标签三个方面各提出一种可能原因。
应用题
- 某组训练集包含圆形30幅、三角形5幅、方形5幅,而且都由同一人绘制。指出两项数据问题,并设计一份不超过30幅的补充计划。
- 某商品分类模型在本店测试很好,换到另一类商品后明显变差。结合“任务条件”和“数据代表性”解释原因,不能只写“模型不够强”。
探究题
- 【选做】保持训练数据不变,把画板从12×12改为更高分辨率。预测模型一定会变好吗?从特征数量、样本数量和计算距离三个方面提出假设,再用实验验证。
- 【选做】查找一个采用规则与学习模型组合的系统,分别说明模型负责什么、规则负责什么、人在什么环节复核。不要使用未经授权的内部资料。
本章交付物
1. 程序、数据与测试证据
提交一个文件夹。独立页面路径包含两个HTML版本和两版数据记录;配套实训页路径包含 index.html、model_A_record.json 和最终实验记录。两条路径都要提交A/B测试、混淆矩阵和模型说明卡,注明模型与数据版本,至少保留两项真实失败。
| 评价维度 | 达成标志 |
|---|---|
| 程序运行 | 能离线采集、训练、预测并生成混淆矩阵 |
| 数据质量 | 标签经过复核,类别基本平衡,包含多名绘制者的合理变化 |
| 测试证据 | 训练、A集和B集用途清楚,记录成功与失败样本 |
| 原理解释 | 能说明数据、特征、参数、模型、训练和过拟合之间的关系 |
| 责任范围 | 不使用个人敏感数据,不把课堂结果用于现实人员评价或控制 |
2. 自评单
- [ ] 我能指出一条样本中的特征和标签。
- [ ] 我能在页面中找到训练数据、平均模板、距离和预测结果。
- [ ] 我们没有把测试样本原样复制进训练集再报告未知测试成绩。
- [ ] 我能根据混淆矩阵指出最容易错分的类别。
- [ ] 第二版的数据修改能够对应第一版的测试证据。
- [ ] 我能解释训练准确率高而未知测试较低为什么可能是过拟合。
- [ ] 我们没有采集同学的人脸、声音、成绩、健康或行为记录。
- [ ] 我能说明这个课堂模型不能用于哪些现实任务。