基于深度迁移学习进行时间序列分类

简介:

论文动机

通常来说,用传统的机器学习方法(例如 KNN、DTW)进行时间序列分类能取得比较好的效果。但是,基于深度网络的时间序列分类往往在大数据集上能够打败传统方法。另一方面,深度网络必须依赖于大量的训练数据,否则精度也无法超过传统机器学习方法。在这种情况下,进行数据增强、收集更多的数据、实用集成学习模型,都是提高精度的方法。这其中,迁移学习也可以被用在数据标注不足的情况。

从深度网络本身来看,有研究者注意到了,针对时间序列数据,深度网络提取到的特征,与 CNN 一样,具有相似性和继承性。因此,作者的假设就是,这些特征不只是针对某一数据集具有特异性,也可以被用在别的相关数据集。这就保证了用深度网络进行时间序列迁移学习的有效性。

论文方法

本文基本方法与在图像上进行深度迁移一致:先在一个源领域上进行 pre-train,然后在目标领域上进行 fine-tune。

然而,与图像领域有较多的经典网络结构可选择不同,时间序列并没有一个公认的经典网络架构。因此,作者为了保证迁移的效果不会太差,选择了之前研究者提出的一种全卷积网络(FCN,Fully Convolutional Neural Network)。这种网络已经在之前的研究中被证明具有较高的准确性和鲁棒性。

网络的结构如下图所示。网络由 3 个卷积层、1 个全局池化层、和 1 个全连接层构成。使用全连接层的好处是,在进行不同输入长度序列的 fine-tune 时,不需要再额外设计池内化层。

90b8184bfd698cd79401f18aec1695ec852b3726

与图像的区别就是,输入由图片换成了时间序列。注意到,图片往往具有一定的通道数(如常见的 R、G、B 三通道);时间序列也有通道:即不同维的时间序列数据。最简单的即是1维序列,可以认为是 1 个通道。多维时间序列则可以认为是多个通道。

网络迁移适配

Fine-tune 的基本方法就是,不改变除 softmax 层以外的层的结构,只改变 softmax 层的构造。例如,预训练好的网络可能是一个分 5 类的网络,而目标领域则是一个 10 类的分类问题。这时候,就需要改变预训练网络的 softmax 层,使之由原来的 5 层变为 10 层,以适应目标领域的分类。

因此,源领域和目标领域的网络相比,除最后一层外,其他都相同。当然,相同的部分,网络权重也相同。

作者对整个网络都在目标领域上进行了fine-tune,而不是只fine-tune最后一层。因为以往的研究标明,在整个网络上进行 fine-tune,往往会比只 fine-tune 某些层效果好。

选择合适的源领域:数据集间相似性

在进行迁移学习前,一个重要的问题就是:给定一个目标域,如何选择合适的源领域?如果选择的源域与目标域相似性过小,则很可能造成负迁移。

度量时间序列相似性的另一个问题是,如何度量不同维度的时间序列的相似性。作者提出把多维时间序列规约成每类由一维序列构成,然后利用 DTW(Dynamic Time Warping)来度量两个时间序列的相似性。

9ab5a78aa853f3f39cfbe4941ffc6ec7dee31d17

在进行规约时,作者利用了之间研究者提出的 DTW Barycenter Averaging (DBA) [2] 方法进行了时间序列的规约。经过规约后,两个数据集便可度量相似性。

然而,这种方法具有很大的局限性。例如,它没有考虑到数据集内部不同维度之间的关联性。作者自己也承认这种方法不够好,但是由于他们的主要关注点是如何迁移,因此,并未在这个方面多做文章。

经过相似度计算,可以针对 n 个数据集,得到一个 n×n 的相似性矩阵。此矩阵表示了不同数据集之间的相似度。相似度高的两个数据集,迁移效果最好。

实验

作者利用了 UCI 机器学习仓库中的 85 个时间序列分类数据集,构建了 7140 对迁移学习任务。为了进行如此大量的实验,他们用了来自英伟达的 60 个 GPU(只想说,有钱真好)。

实验非常充分,这里简要说一下部分结论:

1. 利用迁移往往效果比不迁移好,并且,几乎不会对原来的网络产生负面作用;

2. 同一个目标域,不同的源域,产生的迁移效果千差万别:总能找到一些领域,迁移效果比不迁移好;

3. 在选择正确的源域上,有时,随机选择的效果不一定会比经过作者的方法计算出来的要差。这说明,计算领域相似性的方法还有待加强。

总结

本文利用大量的时间序列进行了深度迁移学习分类的实验。用众多的实验结果证明了迁移学习对于时间序列分类的有效性。作者还提出了一种简单比较时间序列相似性从而选择源领域的方法。


原文发布时间为:2018-11-15
本文作者:王晋东
本文来自云栖社区合作伙伴“ PaperWeekly”,了解相关信息可以关注“ PaperWeekly”。
相关文章
LSTM+Transformer混合模型时间序列预测实战教学
LSTM+Transformer混合模型时间序列预测实战教学
855 0
|
5月前
|
机器学习/深度学习 调度 知识图谱
TimeDART:基于扩散自回归Transformer 的自监督时间序列预测方法
近年来,深度神经网络成为时间序列预测的主流方法。自监督学习通过从未标记数据中学习,能够捕获时间序列的长期依赖和局部特征。TimeDART结合扩散模型和自回归建模,创新性地解决了时间序列预测中的关键挑战,在多个数据集上取得了最优性能,展示了强大的泛化能力。
163 0
TimeDART:基于扩散自回归Transformer 的自监督时间序列预测方法
|
5月前
|
机器学习/深度学习 算法 数据可视化
机器学习的核心功能:分类、回归、聚类与降维
机器学习领域的基本功能类型通常按照学习模式、预测目标和算法适用性来分类。这些类型包括监督学习、无监督学习、半监督学习和强化学习。
135 0
|
7月前
|
机器学习/深度学习 资源调度 算法
R语言逻辑回归与分类模型的深度探索与应用
【8月更文挑战第31天】逻辑回归作为一种经典的分类算法,在R语言中通过`glm()`函数可以轻松实现。其简单、高效且易于解释的特点,使得它在处理二分类问题时具有广泛的应用价值。然而,值得注意的是,逻辑回归在处理非线性关系或复杂交互作用时可能表现不佳,此时可能需要考虑其他更复杂的分类模型。
|
7月前
|
数据采集 存储 数据可视化
R语言时间序列分析:处理与建模时间序列数据的深度探索
【8月更文挑战第31天】R语言作为一款功能强大的数据分析工具,为处理时间序列数据提供了丰富的函数和包。从数据读取、预处理、建模到可视化,R语言都提供了灵活且强大的解决方案。然而,时间序列数据的处理和分析是一个复杂的过程,需要结合具体的应用场景和需求来选择合适的方法和模型。希望本文能为读者在R语言中进行时间序列分析提供一些有益的参考和启示。
|
9月前
|
机器学习/深度学习 算法 Python
机器学习算法的比较与选择是在实际应用中非常重要的一步,不同的算法适用于不同的问题和数据特征。
机器学习算法的比较与选择是在实际应用中非常重要的一步,不同的算法适用于不同的问题和数据特征。
时间序列分析实战(四):Holt-Winters建模及预测
时间序列分析实战(四):Holt-Winters建模及预测
|
10月前
|
机器学习/深度学习 开发者
论文介绍:基于扩散神经网络生成的时空少样本学习
【2月更文挑战第28天】论文介绍:基于扩散神经网络生成的时空少样本学习
107 1
论文介绍:基于扩散神经网络生成的时空少样本学习
|
机器学习/深度学习 存储 算法
如何利用Transformer建立时间序列预测模型
如何利用Transformer建立时间序列预测模型
1693 0
如何利用Transformer建立时间序列预测模型
|
机器学习/深度学习 数据采集 算法
机器学习-特征选择:如何使用Lassco回归精确选择最佳特征?
本文旨在介绍Lasso回归在精确特征选择中的应用。首先,我们将探讨特征选择的重要性,包括如何提高模型性能和降低计算成本。接着,我们将深入解析Lasso回归的原理和算法,并说明其在特征选择中的优势。为了支撑我们的观点,我们将引用相关文献提供的实证结果和案例分析。
2384 1