SMARTWATCH 学习手册有 C 基础 · 嵌入式从零开始
支线四 / 数据、训练与部署 / 07

训练越久,为什么新数据可能反而更差

围绕具体错误理解过拟合、类别不均衡和独立测试。把一个总分拆成每类结果,再决定下一步该补数据还是改模型。

接续上一篇:为什么要让一个小窗口沿波形移动

1 · 先区分学会规律与记住训练记录

训练损失下降只说明模型对用于更新的记录更适应。若训练损失继续下降,验证错误开始增加,模型可能越来越依赖训练记录中的细节,这叫过拟合。先比较曲线,而不是把轮数越大当作效果越好。

控制模型规模、增加具有差异的真实场次、根据验证停止训练,都可能有帮助。每项调整应有一个可检验的问题,例如模型是不是只认某个人的动作速度。

2 · 一个总准确率会掩盖什么

假如九十份静止、十份走路,模型全猜静止就有 90% 准确率,但完全不会识别走路。需要按类别记录正确与错误。

真实类别 / 预测类别静止走路
静止900
走路100

这张表叫混淆矩阵,行表示真实类别,列表示预测类别。某类召回率是实际属于该类的样本中找回了多少;精确率是预测为该类的结果里有多少是真的。F1 综合二者;宏平均先算每类再平均,不让大类完全主导。

3 · 用错误记录指导下一次采集

若走路常被判成慢跑,检查这两类的速度和标签边界;若某个佩戴方向全面退化,检查坐标与训练覆盖;若过渡时连续误报,检查窗口标签和输出时序。先看具体错误片段,再决定补哪些记录。

不能仅删除难样本来提高分数,也不能把模型预测直接当成新的人工真值。片内决策树建议与网络输出可以帮助找分歧,最终标签仍需独立证据。

4 · 离线结果怎样与使用场景对应

窗口级准确率不能直接说明一次告警会误报多少次。高重叠窗口的错误常连续发生,实际产品要看每段活动、每小时误报、响应延迟等结果。健康相关指标也要有对应参考来源,不把运动分类成绩当成血氧或睡眠的证明。

报告中同时写人员数、场次数、总时长、有效和丢弃窗口数、每类数量、划分方式及处理延迟。结果数字只有和这些条件一起出现才容易复核。

5 · 冻结一次评估,再准备部署

在方案确定后保存权重、配置和独立测试结果。量化及主控接入以后,先保持同一批参考输入,比较输出变化,再另做实际佩戴评估。这样可以区分转换错误与场景泛化问题。

动手观察

自己构造一个总体准确率高、某类召回为零的例子,手算矩阵。给已有错误片段写采集改进计划,每项说明为什么新增记录能够验证怀疑。

资料与代码