UCR_Time_Series_Classification_Deep_Learning_Baseline

GitHub
714 207 中等 1 次阅读 2周前开发框架
AI 解读 由 AI 自动生成,仅供参考

UCR_Time_Series_Classification_Deep_Learning_Baseline 是一个专注于时间序列分类的深度学习开源项目,旨在提供一套高效、可解释的端到端解决方案。针对传统方法(如动态时间规整)或复杂特征工程模型存在的部署难、黑盒化问题,该工具通过引入全卷积神经网络(FCN)、残差网络(ResNet)及多层感知机(MLP),在无需繁重预处理和大量超参数调整的前提下,实现了与当前最先进算法相媲美的分类精度。

该项目特别适合人工智能研究人员、数据科学家以及需要处理金融、医疗或工业时序数据的开发者使用。其核心亮点在于不仅提供了坚实的性能基线,还天然支持模型可解释性:利用类激活映射(CAM)技术,它能直观地高亮显示输入数据中对分类结果起关键作用的时间片段,帮助用户理解模型的决策逻辑;同时结合格拉姆角场(GASF)可视化滤波器权重,进一步揭开了深度网络内部的工作机制。无论是作为新研究的起点,还是实际业务中的快速部署方案,UCR_Time_Series_Classification_Deep_Learning_Baseline 都是一个简洁而强大的选择。

使用场景

某工业预测性维护团队正试图通过分析电机振动传感器产生的单变量时间序列数据,来自动识别设备早期的故障模式。

没有 UCR_Time_Series_Classification_Deep_Learning_Baseline 时

  • 特征工程繁琐且依赖经验:团队需手动设计复杂的时域和频域特征,或调整动态时间规整(DTW)等传统算法参数,耗时费力且难以复现。
  • 模型部署复杂度高:尝试多通道或多尺度 CNN 方案时,面临大量的预处理步骤和超参数调优,导致模型难以快速落地到生产环境。
  • 决策过程如同“黑盒”:传统深度学习模型无法解释为何判定某段波形为故障,工程师不敢信任模型报警,必须人工二次复核。
  • 基线对比困难:缺乏统一、标准的端到端深度基准模型,难以客观评估新算法在真实工业数据上的性能提升幅度。

使用 UCR_Time_Series_Classification_Deep_Learning_Baseline 后

  • 实现端到端自动化分类:直接利用内置的 FCN 或 ResNet 模型,无需手工提取特征即可从原始振动数据中训练出高精度分类器,大幅缩短开发周期。
  • 简化架构与部署流程:采用标准化的网络结构和全局平均池化层,减少了复杂的预处理需求和超参数搜索,使模型更轻量、易部署。
  • 具备可解释性的故障定位:通过类激活图(CAM)技术,模型能高亮显示导致故障判定的关键时间子序列,让工程师直观看到“哪段波形出了问题”,建立信任。
  • 提供可靠的性能基准:基于 UCR 数据集验证过的 MLP、FCN 和 ResNet 架构,为团队提供了坚实的对比基线,快速验证业务数据的有效性。

UCR_Time_Series_Classification_Deep_Learning_Baseline 将复杂的时序分类任务转化为透明、高效且可解释的端到端解决方案,显著降低了工业 AI 落地的门槛。

运行环境要求

GPU

未说明

内存

未说明

依赖
notesREADME 中未提供具体的运行环境需求(如操作系统、GPU、内存、Python 版本及依赖库)。该项目主要包含三种深度学习模型(MLP, FCN, ResNet)用于时间序列分类,并提供了在 85 个 UCR 数据集上的实验结果对比。建议查看项目源码中的具体要求文件或联系作者获取详细配置信息。
python未说明
UCR_Time_Series_Classification_Deep_Learning_Baseline hero image

快速开始

用于时间序列分类的深度学习

作为时间序列中最简单的一种类型, 一元时间序列为研究时间序列信号提供了一个相当不错的起点。 在表示学习与分类领域,相关研究已发现其在金融、工业以及医疗保健等多个领域的广泛应用潜力。诸如动态时间规整(DTW)或欧几里得距离(ED)等常见的相似性度量已有数十年的历史。近年来,研究人员在特征工程和距离度量的设计上不断探索,使得在UCR时间序列分类基准测试中取得了更高的准确率——例如BOSS [1][2]、PROP [3]以及COTE [4]——然而,这些进展也带来了复杂度更高、可解释性更差的潜在问题。

与此同时,对深度神经网络,尤其是卷积神经网络(CNN)在端到端时间序列分类中的应用探索也在持续进行之中。例如多通道卷积神经网络(MC-CNN) [5]和多尺度卷积神经网络(MCNN) [6]等技术方案也正受到广泛关注。不过,这些方法仍需经过复杂的预处理步骤,并且需要设置大量超参数,这使得模型的部署过程变得十分复杂。

本仓库收录了三种深度神经网络模型(MLP、FCN和ResNet),旨在实现纯端到端且具有高可解释性的时间序列分析。这些模型不仅为现实世界数据的应用提供了良好的基线,也为未来深度学习在时间序列领域的研究奠定了坚实的基础。

开始前须知

究竟哪种方法最适合对时间序列进行分类?这个问题其实很难一概而论。根据我们的实验结果,COTE和BOSS是表现最为出色的模型之一;而基于深度学习的方法(如FCN、ResNet或MCNN)与它们之间的差异并不显著。如果你偏爱“白盒”模型,不妨先尝试BOSS;若你更倾向于端到端的解决方案,那么FCN甚至带有Dropout机制的MLP都可以作为你的首选基线(FCN同样支持一定程度的模型可解释性,例如通过CAM或grad-CAM来实现)。

不过,UCR时间序列确实堪称“极其理想的”数据集。而在实际应用场景中,高度偏斜的标签、非平稳的时间动态,以及频繁发生的数据分布或概念漂移等问题却比比皆是。我们衷心希望,借助一套简洁高效、基于深度学习的框架,能够有效应对这些更为复杂的挑战,从而实现端到端的解决方案,并兼顾良好的模型可解释性。而目前,我们正是在这一方向上开展着深入的研究与探索。

网络结构

网络结构 我们采用了三种深度神经网络架构,以构建一个全面且完整的基线模型。

利用类激活图定位贡献区域

FCN和ResNet在使用全局平均池化层时,还有一个显著优势:其天然的扩展能力——类激活图(CAM)——能够帮助我们解读数据中各分类特定的区域 [7]CAM

我们可以看到,对于正确类别而言,时间序列中那些最具区分性的区域被清晰地突出显示。 此外,我们还特别关注不同标签之间类激活图的差异。不同类别所对应的贡献区域各不相同。类激活图为我们提供了一种自然的方式,可以精准地识别出原始数据中对应特定标签的贡献区域。这种特性使经过分类训练的卷积神经网络能够在无需额外干预的情况下,自主学会如何定位这些关键区域。同时,类激活图还能让我们直观地观察到每一段时间序列的预测分类得分,从而凸显出卷积神经网络所检测到的那些具有区分性的子序列。此外,类激活图还为我们提供了一种途径,帮助我们深入了解卷积神经网络在分类任务中的工作原理及其背后的逻辑。

可视化滤波器/权重

我们采用广义角和求和场(GASF) [[8]](https://arxiv.org/abs/1506.00327)来可视化神经网络中的滤波器和权重。在MLP中,第二层和最后一层的权重结构清晰、层次分明,且失真程度极低。相比之下,第一层的权重通常比后续各层的权重数值更高。 特征

分类结果

下表展示了在85个UCR时间序列数据集上的测试(而非训练)分类错误率。更多实验设置的相关信息,请参阅我们的论文。

请注意,“最佳”行并非衡量性能的合理标准。MPCE评分仍有待完善。

MLP FCN ResNet PROP COTE 1NN-DTW 1NN-BOSS BOSS-VS
50字 0.288 0.321 0.273 0.180 0.191 0.310 0.301 0.367
Adiac 0.248 0.143 0.174 0.353 0.233 0.396 0.220 0.302
ArrowHead 0.177 0.120 0.183 0.103 / 0.337 0.143 0.171
Beef 0.167 0.25 0.233 0.367 0.133 0.367 0.200 0.267
BeetleFly 0.150 0.050 0.200 0.400 / 0.300 0.100 0.000
BirdChicken 0.200 0.050 0.100 0.350 / 0.250 0.000 0.100
Car 0.167 0.083 0.067 / / / / /
CBF 0.14 0 0.006 0.002 0.001 0.003 0 0.001
ChlorineCon 0.128 0.157 0.172 0.360 0.314 0.352 0.340 0.345
CinCECGTorso 0.158 0.187 0.229 0.062 0.064 0.349 0.125 0.130
Coffee 0 0 0 0 0 0 0 0.036
Computers 0.460 0.152 0.176 0.116 0.300 0.296 0.324
CricketX 0.431 0.185 0.179 0.203 0.154 0.246 0.259 0.346
CricketY 0.405 0.208 0.195 0.156 0.167 0.256 0.208 0.328
CricketZ 0.408 0.187 0.187 0.156 0.128 0.246 0.246 0.313
DiatomSizeR 0.036 0.07 0.069 0.059 0.082 0.033 0.046 0.036
DistalPhalanxOutlineAgeGroup 0.173 0.165 0.202 0.223 / 0.208 0.180 0.155
DistalPhalanxOutlineCorrect 0.190 0.188 0.180 0.232 / 0.232 0.208 0.282
DistalPhalanxTW 0.253 0.210 0.260 0.317 / 0.290 0.223 0.253
Earthquakes 0.208 0.199 0.214 0.281 / 0.258 0.186 0.193
ECG200 0.080 0.100 0.130 / / 0.230 0.130 0.180
ECG5000 0.065 0.059 0.069 0.350 / 0.250 0.056 0.110
ECGFiveDays 0.03 0.015 0.045 0.178 0 0.232 0.000 0.000
ElectricDevices 0.420 0.277 0.272 0.277 / 0.399 0.282 0.351
FaceAll 0.115 0.071 0.166 0.152 0.105 0.192 0.210 0.241
FaceFour 0.17 0.068 0.068 0.091 0.091 0.170 0 0.034
FacesUCR 0.185 0.052 0.042 0.063 0.057 0.095 0.042 0.103
fish 0.126 0.029 0.011 0.034 0.029 0.177 0.011 0.017
FordA 0.231 0.094 0.072 0.182 / 0.438 0.083 0.096
FordB 0.371 0.117 0.100 0.265 / 0.406 0.109 0.111
GunPoint 0.067 0 0.007 0.007 0.007 0.093 0 0
Ham 0.286 0.238 0.219 / / 0.533 0.343 0.286
HandOutlines 0.193 0.224 0.139 / / 0.202 0.130 0.152
Haptics 0.539 0.449 0.494 0.584 0.481 0.623 0.536 0.584
Herring 0.313 0.297 0.406 0.079 / 0.469 0.375 0.406
InlineSkate 0.649 0.589 0.635 0.567 0.551 0.616 0.511 0.573
InsectWingbeatSound 0.369 0.598 0.469 / / 0.645 0.479 0.430
ItalyPower 0.034 0.03 0.040 0.039 0.036 0.050 0.053 0.086
LargeKitchenAppliances 0.520 0.104 0.107 0.232 / 0.205 0.280 0.304
Lightning2 0.279 0.197 0.246 0.115 0.164 0.131 0.148 0.262
Lightning7 0.356 0.137 0.164 0.233 0.247 0.274 0.342 0.288
MALLAT 0.064 0.02 0.021 0.050 0.036 0.066 0.058 0.064
Meat 0.067 0.033 0.000 / / 0.067 0.100 0.167
MedicalImages 0.271 0.208 0.228 0.245 0.258 0.263 0.288 0.474
MiddlePhalanxOutlineAgeGroup 0.265 0.232 0.240 0.474 / 0.250 0.218 0.253
MiddlePhalanxOutlineCorrect 0.240 0.205 0.207 0.210 / 0.352 0.255 0.350
MiddlePhalanxTW 0.391 0.388 0.393 0.630 / 0.416 0.373 0.414
MoteStrain 0.131 0.05 0.105 0.114 0.085 0.165 0.073 0.115
NonInvThorax1 0.058 0.039 0.052 0.178 0.093 0.210 0.161 0.169
NonInvThorax2 0.057 0.045 0.049 0.112 0.073 0.135 0.101 0.118
OliveOil 0.60 0.167 0.133 0.133 0.100 0.167 0.100 0.133
OSULeaf 0.43 0.012 0.021 0.194 0.145 0.409 0.012 0.074
PhalangesOutlinesCorrect 0.170 0.174 0.175 / / 0.272 0.217 0.317
Phoneme 0.902 0.655 0.676 / / 0.772 0.733 0.825
Plane 0.019 0 0 / / / /
ProximalPhalanxOutlineAgeGroup 0.176 0.151 0.151 0.117 / 0.195 0.137 0.244
ProximalPhalanxOutlineCorrect 0.113 0.100 0.082 0.172 / 0.216 0.131 0.134
ProximalPhalanxTW 0.203 0.190 0.193 0.244 / 0.263 0.203 0.248
RefrigerationDevices 0.629 0.467 0.472 0.424 / 0.536 0.512 0.488
ScreenType 0.592 0.333 0.293 0.440 / 0.603 0.544 0.464
ShapeletSim 0.517 0.133 0.000 / / 0.350 0.044 0.022
ShapesAll 0.225 0.102 0.088 0.187 / 0.232 0.082 0.188
SmallKitchenAppliances 0.611 0.197 0.203 0.187 / 0.357 0.200 0.221
SonyAIBORobot 0.273 0.032 0.015 0.293 0.146 0.275 0.321 0.265
SonyAIBORobotII 0.161 0.038 0.038 0.124 0.076 0.169 0.098 0.188
StarLightCurves 0.043 0.033 0.025 0.079 0.031 0.093 0.021 0.096
Strawberry 0.033 0.031 0.042 / / 0.060 0.042 0.024
SwedishLeaf 0.107 0.034 0.042 0.085 0.046 0.208 0.072 0.141
Symbols 0.147 0.038 0.128 0.049 0.046 0.050 0.032 0.029
SyntheticControl 0.05 0.01 0.000 0.010 0.000 0.007 0.030 0.040
ToeSegmentation1 0.399 0.031 0.035 0.079 / 0.228 0.048 0.031
ToeSegmentation2 0.254 0.085 0.138 0.085 / 0.162 0.038 0.069
Trace 0.18 0 0 0.010 0.010 0 0 0
TwoLeadECG 0.147 0 0 0.067 0.015 0.096 0.016 0.001
TwoPatterns 0.114 0.103 0 0 0 0 0.004 0.015
UWaveGestureLibraryAll 0.046 0.174 0.132 0.199 0.196 0.272 0.241 0.270
UWaveX 0.232 0.246 0.213 0.283 0.267 0.366 0.313 0.364
UWaveY 0.297 0.275 0.332 0.290 0.265 0.342 0.312 0.336
UWaveZ 0.295 0.271 0.245 0.029 / 0.108 0.059 0.098
wafer 0.004 0.003 0.003 0.003 0.001 0.020 0.001 0.001
Wine 0.204 0.111 0.204 / / 0.426 0.167 0.296
WordSynonyms 0.406 0.42 0.368 0.226 / 0.252 0.345 0.491
Worms 0.657 0.331 0.381 / / 0.536 0.392 0.398
WormsTwoClass 0.403 0.271 0.265 / / 0.337 0.243 0.315
yoga 0.145 0.155 0.142 0.121 0.113 0.164 0.081 0.169
Best 6 27 21 14 10 4 21 9

依赖项

Keras(TensorFlow 后端)、Numpy。

引用

如果您发现我们的代码或结果对您的工作有所帮助,请务必引用我们的论文:

[从零开始使用深度神经网络进行时间序列分类:一种强大的基线方法](https://arxiv.org/abs/1611.06455)

[通过图像化时间序列来提升分类与插值性能](https://arxiv.org/abs/1506.00327)

许可证

本项目采用 MIT 许可证授权。

MIT 许可证

版权所有 [2019] [王志光]

特此许可,免费向任何获得本软件及其相关文档文件(以下简称“软件”)的个人提供使用权限,且在不加限制的情况下,包括但不限于以下权利:使用、复制、修改、合并、发布、分发、再许可以及销售软件的副本,并允许收到软件的人员按照以下条件使用该软件:

上述版权说明及本许可声明应包含在软件的所有副本或大部分副本中。

软件按“原样”提供,不附带任何形式的保证,无论是明示的还是默示的,包括但不限于对商品适销性、特定用途适用性以及不侵权的保证。在任何情况下,作者或版权所有者均不对因使用本软件、因软件的使用而产生的任何索赔、损害赔偿或其他责任负责,无论该责任是基于合同、侵权行为,还是其他原因,均与本软件或其使用有关。

常见问题

相似工具推荐

stable-diffusion-webui

stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面,旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点,将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。 无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师,还是想要深入探索模型潜力的开发者与研究人员,都能从中获益。其核心亮点在于极高的功能丰富度:不仅支持文生图、图生图、局部重绘(Inpainting)和外绘(Outpainting)等基础模式,还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外,它内置了 GFPGAN 和 CodeFormer 等人脸修复工具,支持多种神经网络放大算法,并允许用户通过插件系统无限扩展能力。即使是显存有限的设备,stable-diffusion-webui 也提供了相应的优化选项,让高质量的 AI 艺术创作变得触手可及。

162.1k|★★★☆☆|今天
开发框架图像Agent

everything-claude-code

everything-claude-code 是一套专为 AI 编程助手(如 Claude Code、Codex、Cursor 等)打造的高性能优化系统。它不仅仅是一组配置文件,而是一个经过长期实战打磨的完整框架,旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。 通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能,everything-claude-code 能显著提升 AI 在复杂任务中的表现,帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略,使得模型响应更快、成本更低,同时有效防御潜在的攻击向量。 这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库,还是需要 AI 协助进行安全审计与自动化测试,everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目,它融合了多语言支持与丰富的实战钩子(hooks),让 AI 真正成长为懂上

139k|★★☆☆☆|今天
开发框架Agent语言模型

ComfyUI

ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎,专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式,采用直观的节点式流程图界面,让用户通过连接不同的功能模块即可构建个性化的生成管线。 这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景,也能自由组合模型、调整参数并实时预览效果,轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性,不仅支持 Windows、macOS 和 Linux 全平台,还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构,并率先支持 SDXL、Flux、SD3 等前沿模型。 无论是希望深入探索算法潜力的研究人员和开发者,还是追求极致创作自由度的设计师与资深 AI 绘画爱好者,ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能,使其成为当前最灵活、生态最丰富的开源扩散模型工具之一,帮助用户将创意高效转化为现实。

107.7k|★★☆☆☆|2天前
开发框架图像Agent

NextChat

NextChat 是一款轻量且极速的 AI 助手,旨在为用户提供流畅、跨平台的大模型交互体验。它完美解决了用户在多设备间切换时难以保持对话连续性,以及面对众多 AI 模型不知如何统一管理的痛点。无论是日常办公、学习辅助还是创意激发,NextChat 都能让用户随时随地通过网页、iOS、Android、Windows、MacOS 或 Linux 端无缝接入智能服务。 这款工具非常适合普通用户、学生、职场人士以及需要私有化部署的企业团队使用。对于开发者而言,它也提供了便捷的自托管方案,支持一键部署到 Vercel 或 Zeabur 等平台。 NextChat 的核心亮点在于其广泛的模型兼容性,原生支持 Claude、DeepSeek、GPT-4 及 Gemini Pro 等主流大模型,让用户在一个界面即可自由切换不同 AI 能力。此外,它还率先支持 MCP(Model Context Protocol)协议,增强了上下文处理能力。针对企业用户,NextChat 提供专业版解决方案,具备品牌定制、细粒度权限控制、内部知识库整合及安全审计等功能,满足公司对数据隐私和个性化管理的高标准要求。

87.6k|★★☆☆☆|今天
开发框架语言模型

ML-For-Beginners

ML-For-Beginners 是由微软推出的一套系统化机器学习入门课程,旨在帮助零基础用户轻松掌握经典机器学习知识。这套课程将学习路径规划为 12 周,包含 26 节精炼课程和 52 道配套测验,内容涵盖从基础概念到实际应用的完整流程,有效解决了初学者面对庞大知识体系时无从下手、缺乏结构化指导的痛点。 无论是希望转型的开发者、需要补充算法背景的研究人员,还是对人工智能充满好奇的普通爱好者,都能从中受益。课程不仅提供了清晰的理论讲解,还强调动手实践,让用户在循序渐进中建立扎实的技能基础。其独特的亮点在于强大的多语言支持,通过自动化机制提供了包括简体中文在内的 50 多种语言版本,极大地降低了全球不同背景用户的学习门槛。此外,项目采用开源协作模式,社区活跃且内容持续更新,确保学习者能获取前沿且准确的技术资讯。如果你正寻找一条清晰、友好且专业的机器学习入门之路,ML-For-Beginners 将是理想的起点。

85k|★★☆☆☆|今天
图像数据工具视频

ragflow

RAGFlow 是一款领先的开源检索增强生成(RAG)引擎,旨在为大语言模型构建更精准、可靠的上下文层。它巧妙地将前沿的 RAG 技术与智能体(Agent)能力相结合,不仅支持从各类文档中高效提取知识,还能让模型基于这些知识进行逻辑推理和任务执行。 在大模型应用中,幻觉问题和知识滞后是常见痛点。RAGFlow 通过深度解析复杂文档结构(如表格、图表及混合排版),显著提升了信息检索的准确度,从而有效减少模型“胡编乱造”的现象,确保回答既有据可依又具备时效性。其内置的智能体机制更进一步,使系统不仅能回答问题,还能自主规划步骤解决复杂问题。 这款工具特别适合开发者、企业技术团队以及 AI 研究人员使用。无论是希望快速搭建私有知识库问答系统,还是致力于探索大模型在垂直领域落地的创新者,都能从中受益。RAGFlow 提供了可视化的工作流编排界面和灵活的 API 接口,既降低了非算法背景用户的上手门槛,也满足了专业开发者对系统深度定制的需求。作为基于 Apache 2.0 协议开源的项目,它正成为连接通用大模型与行业专有知识之间的重要桥梁。

77.1k|★★★☆☆|2天前
Agent图像开发框架