- VisualStudio2022插件的安装及使用-编程手把手系列文章
- pprof-在现网场景怎么用
- C#实现的下拉多选框,下拉多选树,多级节点
- 【学习笔记】基础数据结构:猫树
具体的软硬件实现点击 http://mcu-ai.com/ MCU-AI技术网页_MCU-AI人工智能 卷积神经网络(CNN)通过从原始数据中自动学习层次特征表示,在图像识别任务中取得了巨大成功。虽然大多数时间序列分类(TSC)文献都集中在1D信号上,但本文使用递归图(RP)将时间序列转换为2D纹理图像,然后利用深度CNN分类器。时间序列的图像表示引入了1D信号不可用的不同特征类型,因此TSC可以被视为纹理图像识别任务。CNN模型还允许与分类器一起联合自动地学习不同级别的表示。因此,在统一的框架中使用RP和CNN有望提高TSC的识别率。在UCR时间序列分类档案上的实验结果表明,与现有的深度架构以及最先进的TSC算法相比,所提出的方法具有竞争性的准确性.
时间序列是具有自然时间顺序的数据点(测量)序列。许多重要的现实世界模式识别任务都涉及时间序列分析。生物医学信号(例如脑电图和心电图)、金融数据(例如股票市场和货 币汇率)、工业设备(例如气体传感器和激光激励)、生物识别技术(例如语音、签名和手势)、视频处理、音乐挖掘、预测和天气具有时间序列性质的应用领域的示例.
现有的时间序列分类(TSC)方法可以从不同的角度进行分类。从特征类型来看,"频域"方法包括谱分析和小波分析; "时域"方法包括自相关、自回归和互相关分析。从分类策略来看,也可以分为"基于实例"和"基于特征"方法。前者测量任何传入的测试样本与训练集之间的相似性;并为最相似的类分配标签(基于欧氏距离的 1-最近邻 (1-NN) 和动态时间包裹 (DTW) 是此类中两种流行且广泛使用的方法。后者首先转换时间序列进入新的空间并提取更多的区分性和代表性特征,以便由旨在找到最佳分类边界的模式分类器.
最近,深度学习(DL也称为特征学习或表示学习)模型在计算机视觉和语音识别方面取得了很高的识别率。卷积神经网络(CNN)是最流行的深度学习模型之一。与传统的"基于特征"的分类框架不同,CNN 不需要手工制作特征。特征学习和分类部分都统一在一个模型中并共同学习。因此,他们的表现是相互促进的。多层不同的处理单元(例如卷积、池化、S形/双曲正切压缩、整流器和归一化)负责学习(表示)从低级到高级的特征层次结构。本文研究了 TSC 深度 CNN 模型中递归图 (RP) 的性能。RP 提供了一种通过相空间可视化 轨迹周期性质的方法,并使我们能够研究 m 维相空间轨迹的某些方面通过 2D 表示。由于 CNN最近在图像识别方面取得了出色的成果,我们首先将时间序列信号编码为2D图,然后将 TSC问题视为纹理识别任务。使用具有 2 个隐藏层和后跟一个全连接层的 CNN 模型.
深度学习在 TSC 上的应用直到最近才得到充分探索。 CNN在TSC上的应用主要有两种方法:一些方法修改传统的CNN架构并使用一维时间序列信号作为输入,而另一些方法首先将一维信号转换为二维矩阵,然后应用CNN,类似于传统的 CNN 用于图像识别.
递归图(recurrence plot, RP)是分析时间序列周期性、混沌性以及非平稳性的一个重要方法,可以揭示时间序列的内部结构,给出有关相似性、信息量和预测性的先验知识。递归图特别适合短时间序列数据,可以检验时间序列的平稳性、内在相似性。 一维时间序列转换到递归图的实例 任何CNN模型都有两个方面需要仔细考虑:一、设计合适的架构,二、选择正确的学习算法。架构和学习规则的选择不仅要相互兼容,还要适当地适应数据和应用程序.
这里应用了 2 级深度 CNN 模型,其 1 通道输入大小为 28 × 28,输出层有 c 个神经 元。每个特征学习阶段代表不同的特征级别,分别由卷积(过滤器)、激活和池化算子组成。 每层的输入和输出称为特征图。过滤层将其输入与一组可训练的内核进行卷积。卷积层是 CNN 的核心构建块,通过在相邻层的神经元之间强制执行局部连接模式来利用空间局部相关 性。连接是局部的,但始终沿着输入体积的整个深度延伸,以便对空间局部输入模式产生最强 的响应。激活函数(例如 sigmoid 和 tanh)将非线性引入网络,并允许它们学习复杂模型。 这里我们应用 ReLU(整流线性单元),因为它训练神经网络的速度要快几倍 29,并且不会 对泛化精度造成重大损失。池化(又名子采样)降低了输入的分辨率,并使其对先前学习的特 征的微小变化具有鲁棒性。在两阶段特征提取结束时,特征图被展平并输入到全连接(FC)层中进行分类。 FC 层将一 层中的每个神经元连接到另一层中的每个神经元,其原理与传统的多层感知器(MLP)相 同。 训练上述 CNN 架构与 MLP 类似。利用基于梯度的优化方法(误差反向传播算法)来 估计模型的参数。为了更快地收敛,使用随机梯度下降(SGD)来更新参数。训练阶段有两个主要步骤:传播和权重更新.
在 UCR 档案中选定的 20 个数据上,所提出的方法与最先进的 TSC 算法的性能如下表: 提出了一种新的 TSC 管道。利用 CNN 在图像分类方面的高性能,时间序列信号首先转换为纹理图像(使用 RP),然后由深度 CNN 模型处理。该流程具有以下优点: 一、 RP 使我们能够可视化某些方面通过 2D 图像绘制 m 维相空间轨迹,二、 CNN 以监督方式联合自动学习不同级别的时间序列特征和分类。实验结果证明了所提出的管道的优越性。特别是,与使用传统分类框架的 RP 模型和其他基于 CNN 的时间序列图像分类的模型相比,表明:在我们提出的模型中使用 RP 图像和 CNN 可以获得更好的结果.
最后此篇关于基于深度卷积神经网络的时间序列图像分类,开源、低功耗、低成本的人工智能硬件提供者的文章就讲到这里了,如果你想了解更多关于基于深度卷积神经网络的时间序列图像分类,开源、低功耗、低成本的人工智能硬件提供者的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。
我正在阅读 Python 文档以真正深入了解 Python 语言,并遇到了 filter 和 map 函数。我以前使用过过滤器,但从未使用过映射,尽管我在 SO 上的各种 Python 问题中都见过这
当我尝试打印 BST 的级别顺序时,这个问题提示了我。 这是一个 Pre-Order Sequence: 4, 1, 2, 3, 5, 6, 7, 8 In_order Sequence : 1, 2
我的代码在 main(序列测试;)的第一行出现错误,指出它是对 sequence::sequence() 的 undefined reference 。我无法更改 main 中的代码。有谁知道我该如何
这可能很简单,但我在通常的 latex 指南中找不到任何相关内容。在这句话中: {\em hello\/} “\/”的目的是什么? 最佳答案 这就是所谓的斜体校正。其目的是确保斜体文本后有适当的间距。
当我从 Postgresql 表中删除所有记录,然后尝试重置序列以在插入时开始一个编号为 1 的新记录时,我得到不同的结果: SELECT setval('tblname_id_seq', (SELE
在版本10.0.3中,MariaDB引入了一种称为序列的存储引擎。 其ad hoc为操作生成整数序列,然后终止。 该序列包含正整数,以降序或升序排列,并使用起始,结束和递增值。 它不允许在多个查询中
如何在 Groovy 中获取给定数字的序列,例如: def number = 169 // need a method in groovy to find the consecutive number
基本上,如果这是 .NET,它看起来像这样: ISomething { string A { get; } int B { get; } } var somethings = new List
说以下代码部分(同一块): A <= 1 A <= 2 变量 A 总是被赋值为 2 吗?还是会出现竞争条件并分配 1 或 2? 我对非阻塞赋值的理解是,由硬件在 future 分配变量 A,因此它可能
在运行 WiX 设置时,我正在寻找操作列表及其顺序。不知何故,官方网站似乎没有提供任何信息。 基本问题是我想正确安排我的自定义操作。通常我需要使用 regsvr32.exe 注册一个 DLL,而这只能
F#初学者在这里 我想创建一个类型,它是具有至少一个元素的另一种具体类型(事件)的序列。任何其他元素都可以在以后随时添加。通常在 C# 中,我会创建一个具有私有(private) List 和公共(p
作为构建过程和不断发展的数据库的一部分,我试图创建一个脚本,该脚本将删除用户的所有表和序列。我不想重新创建用户,因为这将需要比所允许的更多的权限。 我的脚本创建了一个过程来删除表/序列,执行该过程,然
我想恢复两个向量的第一个日期和相同向量的第二个日期之间的日期序列,.... 这是一个例子: dates1 = as.Date(c('2015-10-01', '2015-03-27', '2015-0
这个问题已经有答案了: sql ORDER BY multiple values in specific order? (12 个回答) 已关闭 9 年前。 我有一个 sql 语句,我想要ORDER
我想恢复两个向量的第一个日期和相同向量的第二个日期之间的日期序列,.... 这是一个例子: dates1 = as.Date(c('2015-10-01', '2015-03-27', '2015-0
在用java编写代码时,我需要用“],[”分割字符串。下面是我的代码。 try (BufferedReader reader = new BufferedReader(new InputStreamR
这个问题已经有答案了: Project Euler Question 14 (Collatz Problem) (8 个回答) 已关闭 9 年前。 我正在尝试查找数字的 Collatz 序列。以下
我有一个例程函数process_letter_location(const char& c, string &word)。 在我的 main 中,我声明了一系列字符串变量,如下所示: string s
我需要找到最长的多米诺骨牌链,给定一组 12 个随机挑选的多米诺骨牌。我已经递归地生成了多米诺骨牌的所有可能性(使用 0 到 12 的面值有 91 种可能性)。多米诺骨牌由一 block “砖 blo
我有这个数据结构 Seq,它继承了类 vector 但有一些额外的功能。使用这个数据结构 Seq 我有这个预定义的数据结构: typedef Seq > MxInt2d; 我现在想要一个包含多个 Mx
我是一名优秀的程序员,十分优秀!