1. 程式人生 > >利用合成數據進行時間序列分類的資料擴充方法

利用合成數據進行時間序列分類的資料擴充方法

Data augmentation using synthetic data for time series classification with deep residual networks

利用合成數據進行時間序列分類的資料擴充方法

Abstract

資料增強技術在計算機視覺方面使用的十分廣泛,對於樣本數量較少的資料集來說模型很容易達到過擬合,使用資料增強技術可以有效的見識過擬合的程度。然而在時間序列分類方面的資料增強技術很有限,作者提出了一種基於DTW距離的資料增強技術來填補這一方面的空白。

Introduction

對於圖片來說資料增強技術取得了不錯的效果,然而應用在時間序列方面效果卻並不理想。這可能是因為,對於圖片來說資料增強之後並不會改變圖片的類別,例如一張貓的圖片,通過對圖片進行平移,旋轉,縮放等變換並不會將貓變為狗,而對於時間序列來說人們無法輕易地控制這種特殊轉換對時間序列性質的影響。

本文提出了一種基於DTW的時間序列增強技術,通過在UCR資料集上進行實驗,實驗結果表明資料增強可以極大地提高神經網路模型對某些資料集的精度,同時對其他資料集有較小的負面影響。最後,提出將這兩種訓練模型的決策結合起來,說明如何在保證資料集的高增益精度的同時,有效地減少資料增加帶來的罕見的負面影響。

Method

  • Architecture

網路結構採用殘差網路,該網路的輸入是一個長度為l的單變數時間序列。輸出由資料集中C類的概率分佈組成。網路的核心包含由3個殘差塊,之後是1個全域性平均池化層和一個softmax分類層。每個殘差塊包含3個1-D卷積層,卷積層大小分別為8,5,3。每個卷積層之後是一個batch normalization然後是Relu啟用單元。3個卷積塊中的過濾器數目分別為64,128,128。

網路所有的引數初始化使用的是Glorot's Uniform初始化方法,優化器使用Adam,學習率設定為0.001,將第一階矩估計值和第二階矩估計值的指數衰減率分別設定為0.9和0.999,最後使用cross-entropy作為網路的代價函式。

  • Data augmentation

作者使用了基於加權形式的DTW重心平均(DBA)技術來進行時間序列資料增強,通過簡單地改變這些權重,該方法可以從給定的一組時間序列建立無窮多個新的時間序列。作者在3中加權方法中採用了一種叫做平均選擇法的加權方法。

  1. 從訓練集中隨機選擇一個初始時間序列開始,我們賦予它一個等於0.5的權重。這個隨機選擇的時間序列將作為DBA的初試化時間序列。
  2. 根據DTW距離找到和DBA初試化時間序列最近的5個時間序列。然後在這5箇中隨機選擇兩個,並將這兩個的權重都設定為0.15。
  3. 為了使權重之和等於1,訓練集中剩下的時間序列的權重和為\(1-0.15*2-0.5=0.2\),將剩下的時間序列平均分配這0.2的權重。
  4. 平均序列的生成使用加權的DBA演算法。

其他平均序列生成的演算法將在作者以後的研究中使用。

Result

實驗結果表明,在最壞的情況下,資料增強可以顯著提高深度學習模型的準確性,同時對一些資料集產生較小的負面影響。為了使資料增強更具有泛化效能,作者使用了整合兩個殘差網路(有資料增強和沒有資料增強的),事實上,是對兩個分類器輸出的每個類的後驗概率求平均值,然後為每個時間序列分配平均概率最大的標籤,從而為樣本外生成的時間序列提供了一種更健壯的方法。結果表明從資料擴充中獲益最多的資料集,其精度幾乎沒有變化。

[原文地址][https://arxiv.org/abs/1808.02455]

[論文程式碼][https://github.com/hfawaz/aaltd18]