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中加權方法中采用了一種叫做平均選擇法的加權方法。
- 從訓練集中隨機選擇一個初始時間序列開始,我們賦予它一個等於0.5的權重。這個隨機選擇的時間序列將作為DBA的初試化時間序列。
- 根據DTW距離找到和DBA初試化時間序列最近的5個時間序列。然后在這5個中隨機選擇兩個,並將這兩個的權重都設置為0.15。
- 為了使權重之和等於1,訓練集中剩下的時間序列的權重和為\(1-0.15*2-0.5=0.2\),將剩下的時間序列平均分配這0.2的權重。
- 平均序列的生成使用加權的DBA算法。
其他平均序列生成的算法將在作者以后的研究中使用。
Result
實驗結果表明,在最壞的情況下,數據增強可以顯著提高深度學習模型的准確性,同時對一些數據集產生較小的負面影響。為了使數據增強更具有泛化性能,作者使用了集成兩個殘差網絡(有數據增強和沒有數據增強的),事實上,是對兩個分類器輸出的每個類的后驗概率求平均值,然后為每個時間序列分配平均概率最大的標簽,從而為樣本外生成的時間序列提供了一種更健壯的方法。結果表明從數據擴充中獲益最多的數據集,其精度幾乎沒有變化。
[原文地址][https://arxiv.org/abs/1808.02455]