You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

基于CNN与加速度计的人类活动识别准确率偏低问题求助

人类活动识别准确率异常问题排查与解决方案

同数据集预测准确率偏低(0.7 vs 训练验证0.9)的原因

  • 数据泄露导致验证准确率虚高:你先对全量数据集做滑窗切帧,再随机拆分训练测试集。由于帧之间有50%重叠(帧长80,步长40),测试集的大部分帧和训练集存在时间片段重叠,相当于模型训练时已经见过测试集的大部分数据,0.9的验证准确率不代表真实泛化能力。
  • 预测帧生成逻辑不一致:训练时你使用get_frames函数生成帧,预测时调用的是get_frames_2,如果两个函数的滑窗逻辑、数据维度处理逻辑有差异,会导致输入模型的帧和训练时的分布不一致,准确率下降。
  • 标签映射错误:LabelEncoder是按类别字母顺序生成标签,而非你append数据的顺序。你默认Jogging标签为1,实际需要打印label.classes_确认映射关系,如果映射不匹配,准确率计算会完全错误。
  • 样本量不足:当前全数据集生成的总帧数仅500多帧,样本量过小极易发生过拟合,泛化能力天然较差。

自采集手机数据准确率为0的原因

  • 坐标系不匹配:训练集的加速度计三轴坐标系定义(轴向、佩戴方向)和你手机采集时的坐标系不一致,比如训练集设备固定佩戴在腰部轴向朝前,你采集时手机随意放在口袋中,三轴数值分布和训练集完全不同。
  • 设备与预处理偏差:不同型号的加速度计存在零点偏移、灵敏度差异,你直接用训练集拟合的StandardScaler缩放自采集数据,缩放后的数据分布和训练集差异过大,模型无法识别。
  • 佩戴位置/行为模式差异:如果训练集的设备佩戴位置、活动执行幅度和你自采集时的情况不一致,加速度特征会存在明显分布差异,模型没有学习过对应的特征就会预测错误。
  • 标签对齐误差:自采集数据如果没有剔除活动切换的过渡片段、没有严格对齐标签,会导致输入帧的实际标签和你假设的标签不符。

优化建议

  • 修正数据集拆分逻辑,避免数据泄露,优先按用户维度/不重叠的时间片段拆分训练测试集,再单独做滑窗切帧。
  • 统一训练和预测的帧生成逻辑,使用同一个get_frames函数处理所有数据。
  • 打印label.classes_确认标签映射关系,修正准确率计算时传入的预期标签值。
  • 针对自采集数据,先做坐标系归一化(比如重力方向对齐、轴向旋转校正),如果自采集数据量足够,可以用少量自采集数据对scaler做微调,或者做域适配处理。
  • 模型层面建议替换为1D卷积提取时序特征,更适合加速度计这类时序信号;增加训练epoch数(可搭配早停策略防止过拟合),适当扩充训练数据量提升泛化能力。

内容的提问来源于stack exchange,提问作者magdizal

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.05 08:09:04