第 1 节 · 约 30 分钟
看着测试集调参,那个数字会替你说谎。
四行比选 Adam 还是 SGD 更早决定你会不会自欺。测试集只在方案冻住以后看一次。
先讲
任务写成接口:预测发生的那一秒看得见什么、输出什么。第 6 周预测期末不及格,输入只能是前 6 周已经产生的提交、测验、登录。第 12 周的出勤那时还不存在,补进去等于让模型偷看未来。同一个人的照片不能一半训练一半测试。
1000 个样本里 20 个是故障。永远猜「正常」,准确率 98%,故障一封都没抓住。主指标要跟着价钱走。漏报一台停机值 8 万,误报一次巡检值 400 元,阈值偏向多报。模型吐出 0.62,并不等于正类,只有跟你选定的阈值比过才算决策。
三份数据三种用途。训练拟合参数。验证用来挑学习率、何时停、哪次 checkpoint。测试只在方案冻住以后看一次。按时间切:前四个月训练,第五个月验证,第六个月测。用全体数据算均值再切分,也把测试信息带进了训练。
测试集边看边调,那个数字就开始说谎。它会慢慢变成第二份验证集。你对外报的分数,比真实世界好看。验证集可以反复看。给每次运行一个短 ID,记下数据版本、切分、种子。同一协议跑三次,报均值和波动,比只贴最好的一次诚实。
先让简单基线上跑道。多数类、一条规则、线性模型。网络赢不了它们,先查数据和实现,不要加层。一次只改一件事。四格写满,下一节才碰矩阵。
例:第 6 周预测,传感器故障
- 任务:第 6 周结束时给出不及格概率
- 输入:前 6 周提交次数、测验、登录天数
- 漏报停机 8 万,误报巡检 400;主看故障 recall
- 切分:前 120 天训练,121–150 验证,151–180 测试
- 测试集冻住。第 7 周登录天数不准进特征
你来做
写下四格。测试格写成「边调边看」,会警告。
留下键名 v3-dl-card。下一节手算 (2,3)@(3,4)。