国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

數(shù)據(jù)歸一化方法綜述

2023-02-14 10:30楊寒雨趙曉永
關(guān)鍵詞:數(shù)據(jù)流優(yōu)點(diǎn)滑動(dòng)

楊寒雨,趙曉永,2,王 磊

1.北京信息科技大學(xué) 信息管理學(xué)院,北京 100129

2.北京信息科技大學(xué) 北京材料基因工程高精尖創(chuàng)新中心,北京 100129

如今的大數(shù)據(jù)場(chǎng)景信息非常豐富,從物聯(lián)網(wǎng)到智能城市,再到醫(yī)療保健、社交媒體和金融應(yīng)用。大數(shù)據(jù)呈現(xiàn)容量大、種類(lèi)多等特點(diǎn),大規(guī)模且雜亂無(wú)章的數(shù)據(jù)會(huì)對(duì)研究結(jié)果產(chǎn)生巨大的影響[1]。大數(shù)據(jù)因其高價(jià)值的特征,可以作為機(jī)器學(xué)習(xí)的輸入以預(yù)測(cè)未來(lái)趨勢(shì)[2]。在機(jī)器學(xué)習(xí)任務(wù)中,對(duì)大數(shù)據(jù)應(yīng)該進(jìn)行規(guī)范化的預(yù)處理,從而提高模型的預(yù)測(cè)精度[3-4],獲得機(jī)器學(xué)習(xí)的高性能[5]。數(shù)據(jù)歸一化是數(shù)據(jù)預(yù)處理的一個(gè)重要步驟。

歸一化(normalization)是一種簡(jiǎn)化計(jì)算的方式。即將所有屬性以相同的測(cè)量單位表示,并使用通用的刻度或范圍。歸一化試圖賦予所有數(shù)據(jù)屬性同等的權(quán)重,使屬性之間的比較與聚合更容易,數(shù)據(jù)的收斂條件更好[6]。不會(huì)出現(xiàn)屬性值凌駕于其他屬性值之上的情況。另一方面,歸一化有助于防止使用屬性之間距離度量的機(jī)器學(xué)習(xí)算法產(chǎn)生扭曲的結(jié)果,并提高了數(shù)據(jù)分析的效率。常用的歸一化方法有Min-Max、Z-Score和Sigmoid等。

歸一化在當(dāng)今數(shù)據(jù)應(yīng)用的不同方面都有深刻影響[7]。在深度學(xué)習(xí)方面,由于深度學(xué)習(xí)是包含很多隱藏層的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),在訓(xùn)練過(guò)程中,各層參數(shù)在不停變化,所以會(huì)存在內(nèi)部變量偏移(internal covariate shift)[8]。在基于機(jī)器學(xué)習(xí)的分類(lèi)任務(wù)中,應(yīng)用了Min-Max數(shù)據(jù)歸一化技術(shù)的隨機(jī)數(shù)森林和決策樹(shù)模型的平均準(zhǔn)確率最高可達(dá)到99%[9]。在股指價(jià)格變動(dòng)預(yù)測(cè)任務(wù)中,選取合適歸一化方法的支持向量機(jī)(support vector machine,SVM)可以提高預(yù)測(cè)準(zhǔn)確率2.4%[10]。同時(shí),歸一化在數(shù)據(jù)流挖掘方面同樣重要。不同評(píng)價(jià)指標(biāo)往往具有不同量綱,數(shù)值間差別較大,不進(jìn)行處理可能會(huì)影響到數(shù)據(jù)分析的結(jié)果[6,11]。為消除指標(biāo)之間的量綱和取值范圍差異的影響,需要對(duì)輸入數(shù)據(jù)進(jìn)行歸一化處理。將其按照比例進(jìn)行縮放,落入一個(gè)特定的區(qū)域,以便進(jìn)行綜合分析[12]。例如將人的身高屬性值映射到[-1,1]或[0,1]內(nèi)。而在流式數(shù)據(jù)場(chǎng)景下,處理的是非連續(xù)的數(shù)據(jù),數(shù)據(jù)以流的形式先后到達(dá)訓(xùn)練點(diǎn),一次一個(gè)樣本,所以流處理方法必須在時(shí)間和資源的嚴(yán)格限制下處理數(shù)據(jù)[13]。這就為流場(chǎng)景下數(shù)據(jù)的歸一化帶來(lái)了極大的挑戰(zhàn)性。

目前,國(guó)外對(duì)歸一化問(wèn)題的研究很多。比較著名的有Google(谷歌)、Texas Tech University(得克薩斯理工大學(xué))等。但當(dāng)前研究?jī)H僅側(cè)重于神經(jīng)網(wǎng)絡(luò)隱藏層之間的歸一化算法,包括文獻(xiàn)[8,14-15]等,缺乏流場(chǎng)景下綜述類(lèi)文獻(xiàn)。目前國(guó)內(nèi)較為詳盡的歸一化綜述為文獻(xiàn)[16],此文獻(xiàn)著重于深度神經(jīng)網(wǎng)絡(luò)下隱藏層之間的批數(shù)據(jù)歸一化算法。本文則系統(tǒng)地整理并分析了相關(guān)文獻(xiàn),提出基于批數(shù)據(jù)的歸一化分類(lèi)方法以及基于流數(shù)據(jù)的歸一化分類(lèi)方法,通過(guò)上述方法對(duì)近年來(lái)的研究進(jìn)行了綜述,并討論了未來(lái)研究方向。

1 數(shù)據(jù)歸一化的基本方法

1.1 輸入層的數(shù)據(jù)歸一化方法

數(shù)據(jù)集的數(shù)據(jù)對(duì)學(xué)習(xí)建模不是完全有效。有時(shí)直接選定的屬性是原始屬性,僅在獲取它們的原始域中具有意義,不足以獲得準(zhǔn)確的預(yù)測(cè)模型[6]。機(jī)器學(xué)習(xí)應(yīng)注意輸入數(shù)據(jù)屬性的統(tǒng)計(jì)分布,且檢查屬性統(tǒng)計(jì)的變化[17]。

因此,需要對(duì)數(shù)據(jù)執(zhí)行一系列預(yù)處理步驟以實(shí)現(xiàn)將原始屬性轉(zhuǎn)換成能利用的屬性,這將有助于模型的建立。線性無(wú)量綱方法可用于批數(shù)據(jù)在不同學(xué)習(xí)模式中在輸入層的歸一化操作。詹敏等[18]根據(jù)線性無(wú)量綱化方法函數(shù)構(gòu)成所使用的中心點(diǎn)值和值域指標(biāo),對(duì)線性無(wú)量綱化方法進(jìn)行分析總結(jié);郭亞軍等[19]在多種線性無(wú)量綱化方法的基礎(chǔ)上,就指標(biāo)無(wú)量綱化過(guò)程的穩(wěn)定性問(wèn)題提出了改進(jìn)型方法理論;鄭宏宇等[20]討論了綜合評(píng)價(jià)中線性無(wú)量綱方法的選擇問(wèn)題。

表1列出了批數(shù)據(jù)與流數(shù)據(jù)分別在學(xué)習(xí)模式和處理階段兩方面的歸一化方法的對(duì)比。對(duì)于流數(shù)據(jù)在離線學(xué)習(xí)下的歸一化操作,可通過(guò)將流數(shù)據(jù)轉(zhuǎn)為批數(shù)據(jù)從而選取與批數(shù)據(jù)在離線學(xué)習(xí)下相同的歸一化方法。而對(duì)于批數(shù)據(jù)在在線學(xué)習(xí)下的歸一化方法,可通過(guò)海量批數(shù)據(jù)的方式以采用與流數(shù)據(jù)在在線模式下相同的歸一化方法。

表1 數(shù)據(jù)歸一化方法對(duì)比Table 1 Comparison of data normalization methods

在本節(jié)中,重點(diǎn)介紹將數(shù)據(jù)的原始分布轉(zhuǎn)換為目標(biāo)數(shù)據(jù)分布的一系列線性無(wú)量綱方法。

1.1.1 Min-Max

Min-Max歸一化[21-24]也稱(chēng)為線性函數(shù)歸一化,對(duì)原始數(shù)據(jù)做一次線性變換,通過(guò)以下函數(shù)(1),將原數(shù)據(jù)映射到[0,1]之間,不改變?cè)紨?shù)據(jù)分布。函數(shù)(1)中,擬歸一化數(shù)據(jù)用x表示,xnew則為x歸一化后的數(shù)據(jù),Max、Min分別表示為當(dāng)前數(shù)據(jù)中最大值和最小值。

優(yōu)點(diǎn):對(duì)原數(shù)據(jù)做處理之后并不改變數(shù)據(jù)分布。

缺點(diǎn):過(guò)度依賴(lài)最大最小值,當(dāng)有異常數(shù)據(jù)點(diǎn)出現(xiàn)時(shí)會(huì)對(duì)結(jié)果產(chǎn)生較大影響。

1.1.2 Z-Score

Z-Score[21-24]的原理是將原數(shù)據(jù)處理成符合正態(tài)分布的數(shù)據(jù),具體是取得數(shù)據(jù)的均值和標(biāo)準(zhǔn)差,通過(guò)以下函數(shù)(2)實(shí)現(xiàn)歸一化操作。此方法對(duì)數(shù)據(jù)的映射沒(méi)有一個(gè)固定的范圍,由數(shù)據(jù)本身均值和標(biāo)準(zhǔn)差決定。函數(shù)(2)中Mean表示數(shù)據(jù)的均值,StandardDeviation表示數(shù)據(jù)的標(biāo)準(zhǔn)差。

優(yōu)點(diǎn):受離群值影響較小,適合最大值、最小值未知的情況。

缺點(diǎn):改變數(shù)據(jù)的分布。

1.1.3 Sigmoid

Sigmoid函數(shù)也稱(chēng)為L(zhǎng)ogistic函數(shù)[25-26],值域?yàn)閇0,1],經(jīng)過(guò)函數(shù)(3),輸入的數(shù)據(jù)被映射在[0,1]之間。Sigmoid函數(shù)具體函數(shù)圖像如圖1所示。

圖1 Sigmoid函數(shù)圖Fig.1 Sigmoid function diagram

優(yōu)點(diǎn):適合用于反映二分類(lèi)結(jié)果的概率,對(duì)于計(jì)算反向傳播較為簡(jiǎn)單。

缺點(diǎn):可能存在梯度消失問(wèn)題。

1.1.4 小數(shù)定標(biāo)

小數(shù)定標(biāo)[21-24]通過(guò)移動(dòng)小數(shù)點(diǎn)直觀地對(duì)數(shù)據(jù)進(jìn)行處理,將原始數(shù)據(jù)的絕對(duì)值映射到始終小于1的范圍內(nèi)。函數(shù)如公式(4)所示,其中j是整個(gè)輸入數(shù)據(jù)的絕對(duì)值最大的數(shù)據(jù)的位數(shù)。

優(yōu)點(diǎn):適用范圍廣,受到數(shù)據(jù)分布影響小,更加實(shí)用。

缺點(diǎn):過(guò)度依賴(lài)最大最小值,容易受異常點(diǎn)影響。

1.1.5 Rank Gauss

Rank Gauss[27]是一種對(duì)變量的處理方法,它分為四個(gè)步驟。第一步,先對(duì)要處理的數(shù)據(jù)進(jìn)行排序;第二步,將目標(biāo)數(shù)據(jù)轉(zhuǎn)換尺度到[-1,1];第三步,調(diào)整極端值;第四步,使用erfinv()函數(shù),其中erfinv(1)等于正無(wú)窮,erfinv(-1)等于負(fù)無(wú)窮。erfinv()是erf()的反函數(shù),erf()的值域?yàn)閇-1,1],表達(dá)式如公式(5)所示。第四步使得歸一化后的數(shù)據(jù)滿(mǎn)足高斯分布。

優(yōu)點(diǎn):數(shù)據(jù)變?yōu)楦咚狗植?,更為直觀。

缺點(diǎn):只保留了數(shù)據(jù)的排序信息。

1.1.6 反余切函數(shù)

反余切函數(shù)的值域?yàn)閇0,π],函數(shù)表達(dá)式如公式(6)所示,值域范圍為[0,1],歸一化后的數(shù)據(jù)映射到[0,1]之間。同時(shí)也有研究人員提出基于反三角函數(shù)的非線性預(yù)處理方法[28]。

優(yōu)點(diǎn):函數(shù)圖像平穩(wěn),對(duì)于計(jì)算反向傳播較為簡(jiǎn)單。

缺點(diǎn):僅當(dāng)數(shù)據(jù)都大于等于0時(shí),映射的區(qū)間為[0,1]。并非所有數(shù)據(jù)標(biāo)準(zhǔn)化的結(jié)果都映射到[0,1]區(qū)間上。

1.1.7 tanh

tanh函數(shù)[29]值域?yàn)椋?1,1),經(jīng)過(guò)此函數(shù)數(shù)據(jù)被映射在(-1,1)之間,其中tanh函數(shù)的表達(dá)式如公式(7)所示。圖2為tanh函數(shù)具體函數(shù)圖像。

圖2 tanh函數(shù)圖Fig.2 tanh function diagram

優(yōu)點(diǎn):訓(xùn)練容易。

缺點(diǎn):全部激活,使得神經(jīng)網(wǎng)絡(luò)較重(heavy)。

1.2 隱藏層的數(shù)據(jù)歸一化方法

當(dāng)批數(shù)據(jù)進(jìn)入深度神經(jīng)網(wǎng)絡(luò)后,容易出現(xiàn)“Internal Covariate Shift”的問(wèn)題。由于深度學(xué)習(xí)是由多層神經(jīng)元組成,某一層更新參數(shù),在深度的迭代下,即使參數(shù)的變化較小,在多層次的影響下也會(huì)對(duì)結(jié)果產(chǎn)生較大影響[8]。

流數(shù)據(jù)按順序先后到達(dá),難以存儲(chǔ)在內(nèi)存中。當(dāng)前深度學(xué)習(xí)下絕大多數(shù)的隱藏層歸一化方法需要在學(xué)習(xí)任務(wù)之前提供整個(gè)訓(xùn)練數(shù)據(jù)集,所以在隱藏層下對(duì)流數(shù)據(jù)進(jìn)行歸一化任務(wù)極為困難。而對(duì)于流數(shù)據(jù)下的深度學(xué)習(xí)應(yīng)用,Zhang等[30]提出了在線深度學(xué)習(xí)模型,此模型能夠從數(shù)據(jù)流中連續(xù)訓(xùn)練深度學(xué)習(xí)模型,并且它能夠隨著時(shí)間的推移使模型能力從簡(jiǎn)單到復(fù)雜,很好地結(jié)合了在線學(xué)習(xí)和深度學(xué)習(xí)的優(yōu)點(diǎn)。在線深度學(xué)習(xí)模型中的隱藏層歸一化方法可使用深度學(xué)習(xí)隱藏層中的歸一化方法。深度學(xué)習(xí)隱藏層下有如下六種歸一化方法被先后提出。

1.2.1 Batch Normalization

由于低層網(wǎng)絡(luò)更新了參數(shù),經(jīng)多層迭代使后面層輸入數(shù)據(jù)發(fā)生變化。Ioffe等[8]提出Batch Normalization,中心思想是在隱藏層的每一層輸入前加一個(gè)歸一化層,在數(shù)據(jù)進(jìn)入隱藏層前,先進(jìn)行歸一化處理,處理之后再進(jìn)入神經(jīng)元進(jìn)行運(yùn)算[4]。例如網(wǎng)絡(luò)第四層輸入數(shù)據(jù)為X4(X4表示網(wǎng)絡(luò)第四層的輸入數(shù)據(jù)),把輸入數(shù)據(jù)歸一化為均值為0、方差為1的數(shù)據(jù)集,然后再輸入至第四層進(jìn)行計(jì)算。

優(yōu)點(diǎn):提升訓(xùn)練速度,尤其在計(jì)算機(jī)視覺(jué)任務(wù)上表現(xiàn)較好。

缺點(diǎn):過(guò)度依賴(lài)批量大?。╞atchsize)。

1.2.2 Layer Normalization

由于BN(batch normalization)過(guò)度依賴(lài)批量的大小,當(dāng)批量較小時(shí),可能由于批量大小太小,均值和方差不具有全局代表性,導(dǎo)致模型效果惡化。Ba等[14]提出Layer Normalization,中心思想是對(duì)當(dāng)前隱藏層整層做歸一化操作。與Batch Normalization的不同之處在于,BN是針對(duì)同一個(gè)樣本中的所有數(shù)據(jù),而LN(layer normalization)是針對(duì)于單個(gè)樣本來(lái)操作。在LN中,一個(gè)批里就有與批量大小同數(shù)量的均值和方差。均值計(jì)算方法如表達(dá)式(8)所示,方差計(jì)算方法如表達(dá)式(9)所示。Batch Normalization與Layer Normalization中均值與方差的不同計(jì)算方式如圖3所示。

圖3 BN與LN對(duì)比Fig.3 Comparison of BN and LN

其中H是一層神經(jīng)元的個(gè)數(shù),一層網(wǎng)絡(luò)共享一個(gè)均值和方差,ai表示當(dāng)前層中第i個(gè)神經(jīng)元。

優(yōu)點(diǎn):批量大小較小時(shí),效果好;適用于自然語(yǔ)言處理任務(wù)。

缺點(diǎn):批量大小較大時(shí),效果不如BN。

1.2.3 Instance Normalization

BN針對(duì)于對(duì)數(shù)據(jù)的歸一化,但對(duì)于圖像風(fēng)格化任務(wù)來(lái)說(shuō),應(yīng)注重于圖像實(shí)例的處理,Ulyanov等[15]提出Instance Normalization。與BN的不同之處在于,IN(instance normalization)作用于單張圖片的單個(gè)通道,對(duì)此單獨(dú)進(jìn)行歸一化操作,而B(niǎo)N是對(duì)同一個(gè)批中的所有圖片的同一通道進(jìn)行歸一化。圖4具體展示了BN、LN與IN的不同之處,BN是針對(duì)所有圖片同一通道,LN針對(duì)一張圖片的所有通道,而IN針對(duì)一張圖片的一個(gè)通道。IN歸一化表達(dá)式如式(10)所示,其中均值計(jì)算方法如表達(dá)式(11)所示,方差計(jì)算方法如表達(dá)式(12)所示。xtijk表示它的第tijk個(gè)元素,k和j代表空間維度,i是特征通道(如果輸入是RGB圖像,則是顏色通道),t是該圖像在當(dāng)前批量中的索引。公式中ε是一個(gè)很小的正常量,以防止除0,H、W表示特征圖的高和寬。

圖4 BN、LN與IN的對(duì)比Fig.4 Comparison of BN,LN and IN

優(yōu)點(diǎn):不受批量大小和圖片通道的影響。

缺點(diǎn):丟失通道之間的相關(guān)性。

1.2.4 Group Normalization

在視覺(jué)識(shí)別任務(wù)上,Wu等[31]提出Group Normalization,在GN(group normalization)中,將圖片的通道分為不同的組,針對(duì)于不同的組來(lái)做歸一化操作。具體表現(xiàn)為將特征的維度由[N,C,H,W]重新修改為[N,G,C∥G,H,W],歸一化的維度為[C∥G,H,W],其中G是分的組的數(shù)量。

優(yōu)點(diǎn):不依賴(lài)批量大小。

缺點(diǎn):當(dāng)批量大小較大時(shí),性能不如BN。

1.2.5 Switchable Normalization

不同的神經(jīng)層可能需要不同的歸一化操作,而每一層歸一化都是由人工設(shè)計(jì)并操作,這將消耗大量人力。Luo等[32]設(shè)計(jì)了一個(gè)自適應(yīng)歸一化層,通過(guò)建立一個(gè)通用的歸一化層來(lái)解決所有問(wèn)題。主要操作是將BN、LN、IN分別賦予不同的權(quán)重并結(jié)合,由網(wǎng)絡(luò)自行學(xué)習(xí)調(diào)整。圖5展示SN(switchable normalization)的詳細(xì)計(jì)算方法。

圖5 SN計(jì)算方法Fig.5 SN calculation method

優(yōu)點(diǎn):集BN、LN、GN優(yōu)點(diǎn)于一身。

缺點(diǎn):訓(xùn)練復(fù)雜。

1.2.6 Filter Response Normalization

谷歌研究所的Singh等[33]提出FRN(filter response normalization)方法,旨在消除批量大小影響的同時(shí)也能獲得大批量下BN的性能。主要方法是設(shè)計(jì)一個(gè)歸一化層,里面包含一個(gè)歸一層和一個(gè)激活層。FRN方法具體框架如圖6所示,其中的歸一層類(lèi)似于IN,是對(duì)單個(gè)圖片的單一通道操作的。FRN中v2是x的二次范數(shù)的平均值,歸一化層需要進(jìn)行縮放和平移變換,γ和β是可學(xué)習(xí)的參數(shù)。

優(yōu)點(diǎn):不受批量大小的影響。

缺點(diǎn):暫無(wú)。

綜上,本研究將隱藏層歸一化算法的方法與優(yōu)缺點(diǎn)進(jìn)行了對(duì)比。表2列出了隱藏層歸一化方法,從提出原因、方法、優(yōu)點(diǎn)與缺點(diǎn)四個(gè)維度進(jìn)行具體分析。通過(guò)表2可以看出BN主要用于解決內(nèi)部斜變量遷移的問(wèn)題。然而B(niǎo)N過(guò)度依賴(lài)批量大小,為解決此問(wèn)題,繼而研究LN、GN、FRN等歸一化方法。當(dāng)批量大小較大時(shí),BN的效果仍為最優(yōu)。不同的應(yīng)用任務(wù)應(yīng)選擇不同的歸一化方法,BN適用于計(jì)算機(jī)視覺(jué)任務(wù);LN更適用于自然語(yǔ)言處理;對(duì)于圖像實(shí)例應(yīng)用來(lái)說(shuō),IN為最佳選擇。

表2 隱藏層歸一化算法對(duì)比Table 2 Comparison of hidden layer normalization algorithms

2 流數(shù)據(jù)的歸一化法

大數(shù)據(jù)流具有不斷變化的性質(zhì),有嚴(yán)格的內(nèi)存和時(shí)間限制以及學(xué)習(xí)訓(xùn)練前無(wú)法獲得全部數(shù)據(jù)的特點(diǎn),所以大數(shù)據(jù)流的預(yù)處理比批數(shù)據(jù)更具挑戰(zhàn)性[34]。但就目前為止,對(duì)于數(shù)據(jù)流的歸一化算法研究較少。預(yù)處理數(shù)據(jù)參數(shù)保持固定或手動(dòng)調(diào)整可能導(dǎo)致預(yù)測(cè)結(jié)果不佳[35]。通常采用滑動(dòng)窗口技術(shù)對(duì)流數(shù)據(jù)進(jìn)行預(yù)處理參數(shù)調(diào)整。窗口的選擇對(duì)結(jié)果至關(guān)重要。本章重點(diǎn)從窗口選擇及流式數(shù)據(jù)下的歸一化法兩方面進(jìn)行歸納分析。

2.1 窗口

由于流數(shù)據(jù)以流的形式輸入,需要使用滑動(dòng)窗口或者翻轉(zhuǎn)窗口來(lái)暫時(shí)存放數(shù)據(jù)。流場(chǎng)景下,對(duì)于窗口的選擇也至關(guān)重要。

2.1.1 滑動(dòng)窗口

在流處理應(yīng)用中,對(duì)于數(shù)據(jù)的傳輸,通常使用滑動(dòng)窗口技術(shù)?;瑒?dòng)窗口有一個(gè)固定的長(zhǎng)度或時(shí)間長(zhǎng)度,不停捕捉隨著數(shù)據(jù)流到來(lái)的數(shù)據(jù),待窗口內(nèi)數(shù)據(jù)被填滿(mǎn)(比如收集了5個(gè)數(shù)據(jù))或滿(mǎn)足規(guī)定的時(shí)間長(zhǎng)度(比如到達(dá)10 s)后,窗口根據(jù)規(guī)定的滑動(dòng)長(zhǎng)度向前移動(dòng)并對(duì)窗口內(nèi)數(shù)據(jù)進(jìn)行處理。一般來(lái)說(shuō)滑動(dòng)長(zhǎng)度小于或等于窗口長(zhǎng)度,因此窗口是重疊的,相鄰的窗口每次都包含一些共同的元素?;瑒?dòng)窗口模型的優(yōu)點(diǎn)是保持存儲(chǔ)空間,從最近的數(shù)據(jù)點(diǎn)保持新的知識(shí)和有效的處理。

圖7為滑動(dòng)窗口模型的示意圖。如圖所示,定義了一個(gè)持續(xù)時(shí)間為10 s,滑動(dòng)間隔為5 s的滑動(dòng)窗口。第一個(gè)窗口(W1)包含從0~10 s到達(dá)的元素,第二個(gè)窗口(W2)包含從5~15 s的元素,每隔5 s,一些元素被添加,一些元素過(guò)期。例如在t=15時(shí),e7、e8、e9、e10被添加到窗口,而e1、e2從窗口過(guò)期。通過(guò)這種方式,所有的元素都被處理,直至流的結(jié)束。

圖7 滑動(dòng)窗口示意圖Fig.7 Sliding window diagram

2.1.2 翻轉(zhuǎn)窗口

翻轉(zhuǎn)窗口是滑動(dòng)窗口的一個(gè)特殊形式。與滑動(dòng)窗口不同的是,翻轉(zhuǎn)窗口沒(méi)有重疊的窗口,相鄰窗口沒(méi)有共同的元素。窗口的滑動(dòng)長(zhǎng)度或者時(shí)間間隔等于窗口長(zhǎng)度。在翻滾窗口中,數(shù)據(jù)的處理都是在一個(gè)窗口內(nèi)進(jìn)行然后到下一個(gè)窗口,中間沒(méi)有任何重合部分。翻滾窗口收集隨著流到達(dá)的數(shù)據(jù),當(dāng)窗口長(zhǎng)度或時(shí)間間隔達(dá)到規(guī)定長(zhǎng)度時(shí),滑動(dòng)相應(yīng)的長(zhǎng)度到下一個(gè)窗口。翻轉(zhuǎn)窗口的示意圖如圖8所示。

圖8 翻轉(zhuǎn)窗口示意圖Fig.8 Tumbling window diagram

圖8中定義了一個(gè)長(zhǎng)度為5 s的翻滾窗口。第一個(gè)窗口(W1)包含0~5 s的元素,W2包含5~10 s的元素,然后W3包含10~15 s的元素,每隔5 s滑動(dòng)此窗口,只有新的元素被添加到窗口中,沒(méi)有一個(gè)窗口重疊。例如在t=10時(shí),e4、e5、e6被添加到窗口中,而e1、e2、e3則從窗口中過(guò)期。通過(guò)這樣的方式,整個(gè)數(shù)據(jù)流將被處理。

2.2 流數(shù)據(jù)輸入層歸一化方法

2.2.1 Smart Preprocessing for Streaming Data(SPSD)

大多數(shù)關(guān)于數(shù)據(jù)流挖掘的研究都將模型再訓(xùn)練和預(yù)處理放在一起。但在真實(shí)流挖掘情況下,很多時(shí)候不需要對(duì)模型重新訓(xùn)練,只需要對(duì)輸入的流數(shù)據(jù)進(jìn)行重新歸一化的操作。Hu等[36]提出了一種SPSD的方法,該方法有兩個(gè)重點(diǎn)。

重點(diǎn)一:計(jì)算兩個(gè)指標(biāo)。

指標(biāo)一:新的流數(shù)據(jù)塊中至少有一個(gè)數(shù)據(jù)的值在參考的最小-最大值范圍樣本之外的百分比。目的是將噪音和異常值從數(shù)據(jù)流的實(shí)際變化中分離出來(lái)。

指標(biāo)二:新的樣本數(shù)據(jù)在每個(gè)維度的值與該維度的參考最小-最大值之間的最大差異百分比。目的是減少重新規(guī)范化的次數(shù),以加快方法的速度。

如圖9所示,當(dāng)前的滑動(dòng)窗口共有100個(gè)數(shù)據(jù),其中有95個(gè)正常數(shù)據(jù),5個(gè)異常數(shù)據(jù)。參考的最大最小值分別為2和-1,指標(biāo)一的計(jì)算方法則為(5/100),假定存在一個(gè)值為3的數(shù)據(jù)x,對(duì)于數(shù)據(jù)x,指標(biāo)二的計(jì)算方法則為[(3-2)/2=1/2]。

圖9 滑動(dòng)窗口指標(biāo)計(jì)算例子Fig.9 Example of sliding window indicator calculation

重點(diǎn)二:獲得指標(biāo)返回值

算法中自定義兩個(gè)閾值,若兩個(gè)指標(biāo)都超過(guò)閾值則返回真(True),反之則為假(False)(True表示重新進(jìn)行歸一化操作,即用更新后的最大值和最小值來(lái)對(duì)數(shù)據(jù)塊做Min-Max歸一化操作;False表示暫時(shí)不更新最大最小值,用當(dāng)前的最大最小值對(duì)窗口內(nèi)的數(shù)據(jù)進(jìn)行Min-Max歸一化操作)。

SPSD算法分為如下流程:

首先將第一個(gè)數(shù)據(jù)塊作為初始的參考數(shù)據(jù)塊,第一個(gè)數(shù)據(jù)塊的最大、最小值作為初始的參考最大、最小的范圍。

然后進(jìn)行兩個(gè)指標(biāo)計(jì)算,獲得指標(biāo)返回值,進(jìn)行Min-Max歸一化,將歸一化后的數(shù)據(jù)發(fā)送到基礎(chǔ)學(xué)習(xí)模型中進(jìn)行分類(lèi)。當(dāng)前的這個(gè)數(shù)據(jù)塊則會(huì)取代原參考數(shù)據(jù)塊成為一個(gè)新的參考點(diǎn),更新后的最大、最小值也將成為參考的最大最小范圍。

優(yōu)點(diǎn):減少模型再訓(xùn)練的次數(shù),降低新模型生成的成本。

缺點(diǎn):某些時(shí)候效率與重新的模型再訓(xùn)練相比會(huì)較低。

2.2.2 特征直方圖

在網(wǎng)絡(luò)安全方面,對(duì)于入侵檢測(cè)等應(yīng)用,必須注意實(shí)時(shí)性,及時(shí)做好防護(hù)[37]。數(shù)據(jù)處理的操作大部分選擇在網(wǎng)絡(luò)邊緣的邊緣端進(jìn)行,處理之后形成適用于數(shù)據(jù)分析的樣式[38]。

Lopez等[39]提出一種基于特征相關(guān)和特征歸一化的網(wǎng)絡(luò)流量分類(lèi)的快速預(yù)處理方法。此方法基于特征直方圖的歸一化,特征直方圖即為用直方圖的形式來(lái)表示特征的劃分。具體實(shí)現(xiàn)方式如下。

滑動(dòng)窗口的每個(gè)特征fi被劃分為b1,b2,…,bm,m=n1/2+1,n為特征的數(shù)量,b1=[min,k1),b2=[k1,k2),bm=[km-1,max](其中k表示閾值,k=(maxi-mini)/m)。每一個(gè)區(qū)間稱(chēng)為bin,bk表示落在第k個(gè)bin中樣本的數(shù)量,每個(gè)bin的高度為樣本落在此區(qū)間的相對(duì)頻率fri,其中fri=fqj/N(其中N為樣本總數(shù),fqj表示為樣本落在binj的數(shù)量)。樣本直方圖如圖10所示。

圖10 特征直方圖劃分Fig.10 Feature histogram division

對(duì)于每一個(gè)滑動(dòng)窗口,首先獲取到每個(gè)特征的最小值和最大值,在生成單個(gè)滑動(dòng)窗口的樣本直方圖之后再通過(guò)滑動(dòng)窗口獲取新的最大、最小值。如果新的滑動(dòng)窗口的最小值小于前一個(gè)滑動(dòng)窗口的最小值或者新的滑動(dòng)窗口的最大值大于前一個(gè)滑動(dòng)窗口的最大值,即mini-1<mini或maxi-1>maxi,則創(chuàng)建新的倉(cāng),直至區(qū)間包含新的最小值或最大值再停止建倉(cāng)。劃分好所有的倉(cāng)之后,即特征直方圖建立完畢,再將所有的倉(cāng)近似為正態(tài)分布則完成歸一化操作。與此同時(shí),在建立新的倉(cāng)的過(guò)程中,由于是動(dòng)態(tài)建立,可以實(shí)時(shí)觀察到異常點(diǎn)的出現(xiàn)。

優(yōu)點(diǎn):可以實(shí)現(xiàn)流數(shù)據(jù)歸一化并檢測(cè)異常點(diǎn)。

缺點(diǎn):計(jì)算效率不高,在無(wú)限數(shù)據(jù)的情況下,不適合在內(nèi)存中存放。

2.2.3 窗口平均值變化百分比

為解決不斷變化的大數(shù)據(jù)流規(guī)范化問(wèn)題,Gupta等[40]提出了一種分布式的大數(shù)據(jù)流自適應(yīng)規(guī)范化的方法。此方法提供了一個(gè)簡(jiǎn)單的機(jī)制,以適應(yīng)每個(gè)窗口中不斷變化的數(shù)據(jù)的規(guī)范化統(tǒng)計(jì)。

主要方法如下:

第一步:獲取第一個(gè)窗口的統(tǒng)計(jì)數(shù)據(jù)(比如最大值、最小值、平均值等),將這些數(shù)據(jù)設(shè)置為初始的參考數(shù)據(jù)。第一個(gè)窗口使用這些參考數(shù)據(jù)進(jìn)行Min-Max歸一化。

第二步:滑動(dòng)到下一個(gè)窗口后,計(jì)算當(dāng)前窗口和上一個(gè)窗口之間平均值的百分比變化,用于檢測(cè)是否有重大變化。自行定義一個(gè)閾值,如果百分比的變化超過(guò)閾值,當(dāng)前窗口的最大最小值將取代原始的最大最小值作為新的參考值;反之,當(dāng)百分比變化不超過(guò)閾值時(shí),數(shù)據(jù)流變化被看成是不重要的,為保持最大最小的實(shí)際范圍并消除對(duì)一個(gè)窗口的依賴(lài),參考的最大最小值將被逐步更新,選取兩個(gè)窗口更小或者更大的那個(gè)值作為新的參考值。

優(yōu)點(diǎn):可以應(yīng)用于全領(lǐng)域的數(shù)據(jù)流。

缺點(diǎn):閾值無(wú)法動(dòng)態(tài)調(diào)整。

2.2.4 動(dòng)態(tài)調(diào)節(jié)窗口大小

Gupta等[41]提出了一種基于自適應(yīng)窗口大小的規(guī)范化方法,主要方法是根據(jù)數(shù)據(jù)速率來(lái)調(diào)整窗口大小。如果數(shù)據(jù)速率增加,則窗口大小減少;反之,如果數(shù)據(jù)速率減少,則窗口大小增加,以保證在一個(gè)理想的速率中處理數(shù)據(jù),方法流程如下。

第一步:首先將第一個(gè)窗口作為當(dāng)前窗口,使用當(dāng)前窗口的最大最小值,對(duì)其進(jìn)行Min-Max歸一化。

第二步:當(dāng)下一個(gè)窗口到來(lái)時(shí),將這個(gè)窗口代替前一個(gè)窗口作為當(dāng)前窗口,比較當(dāng)前窗口和前一個(gè)窗口的數(shù)據(jù)率,預(yù)測(cè)下一個(gè)窗口的大小或時(shí)間間隔。數(shù)據(jù)率百分比計(jì)算如下:rw=rc/rp(其中rc表示當(dāng)前窗口的數(shù)據(jù)速率,rp表示前一個(gè)窗口的數(shù)據(jù)速率)。自行定義一個(gè)理想數(shù)據(jù)率r來(lái)作為閾值。比較rw和r的大小,如果rw小于r,則將窗口長(zhǎng)度增加一個(gè)固定的常數(shù)c,反之,如果rw大于r,則將窗口長(zhǎng)度減少一個(gè)固定的常數(shù)c,其中c自行定義。

第三步:改成理想速率的窗口大小后,用修改后的窗口里的最大值和最小值來(lái)對(duì)窗口中的數(shù)據(jù)進(jìn)行Min-Max歸一化。

優(yōu)點(diǎn):能保持一個(gè)穩(wěn)定的數(shù)據(jù)處理速度。

缺點(diǎn):暫時(shí)沒(méi)有實(shí)驗(yàn)來(lái)證明。

2.2.5 時(shí)間序列歸一化

對(duì)于時(shí)間序列數(shù)據(jù)來(lái)說(shuō),時(shí)序性是其重要特征[42]。由于時(shí)序數(shù)據(jù)具有高維度、動(dòng)態(tài)性等特點(diǎn),直接對(duì)時(shí)序數(shù)據(jù)進(jìn)行分析會(huì)無(wú)法提取有用信息,甚至得出錯(cuò)誤結(jié)果。對(duì)時(shí)序數(shù)據(jù)進(jìn)行預(yù)處理也是時(shí)序數(shù)據(jù)分析的重要步驟[43]。在非穩(wěn)定的時(shí)間序列流的歸一化方面,Passalis等[44]提出一種進(jìn)入深度神經(jīng)網(wǎng)絡(luò)前的深度自適應(yīng)歸一化層,Ogasawara等[45]提出了一種對(duì)非平穩(wěn)異方差(具有非均勻波動(dòng)性)時(shí)間序列進(jìn)行歸一化的新方法。該方法被命名為自適應(yīng)歸一化(AN)。其完整的數(shù)據(jù)歸一化過(guò)程可分為三個(gè)階段:(1)將非穩(wěn)態(tài)時(shí)間序列轉(zhuǎn)化為穩(wěn)態(tài)序列,從而創(chuàng)建一個(gè)不相交的滑動(dòng)窗口序列(不重疊);(2)去除離群點(diǎn);(3)數(shù)據(jù)標(biāo)準(zhǔn)化。

具體步驟如下:

第一步:基于移動(dòng)平均數(shù),將非平穩(wěn)的時(shí)間序列轉(zhuǎn)換成一個(gè)平穩(wěn)的時(shí)間序列。先計(jì)算原始時(shí)間序列的移動(dòng)平均數(shù),使用其值來(lái)創(chuàng)建一個(gè)新的靜止序列,并將這個(gè)序列劃分成不相干的滑動(dòng)窗口。

第二步:利用箱型圖來(lái)檢測(cè)數(shù)據(jù)的異常值,檢測(cè)出來(lái)的異常值根據(jù)情況進(jìn)行調(diào)整。

第三步:對(duì)做過(guò)處理后的數(shù)據(jù)使用這個(gè)序列的全局統(tǒng)計(jì)信息(最大值、最小值等)進(jìn)行Min-Max歸一化。

優(yōu)點(diǎn):每個(gè)相對(duì)的滑動(dòng)窗口內(nèi)保留原有的時(shí)間序列屬性。

缺點(diǎn):暫無(wú)。

2.2.6 SUCR-DTW

在動(dòng)態(tài)時(shí)間扭曲下時(shí)間序列的相似性搜索上,歸一化操作極有必要,Giao等[46]提出SUCR-DTW方法,包含增量化的歸一化法。主要方法如下:首先,用Quic-ksort算法從數(shù)據(jù)點(diǎn)創(chuàng)建一個(gè)升序數(shù)字?jǐn)?shù)組,先對(duì)時(shí)間序列的子序列排序,然后插入新數(shù)據(jù)移除老數(shù)據(jù),最后Min-Max歸一化。由于是時(shí)間序列歸一化的同時(shí)進(jìn)行相似性搜索,相似性搜索過(guò)程中需要更新首尾的最大最小值,使用Quicksort對(duì)其進(jìn)行排序,xmin是排序數(shù)組的第一個(gè)元素,xmax是最后一個(gè)。在刪除和插入的過(guò)程中必須保持?jǐn)?shù)組的升序,所以還需要使用二進(jìn)制搜索的算法來(lái)尋找需要?jiǎng)h除的元素和插入新數(shù)據(jù)點(diǎn)的合適位置。

2.2.7 NSPRING

在時(shí)間序列匹配上,Sakurai等[47]提出動(dòng)態(tài)時(shí)間扭曲(dynamic time warping,DTW)距離下的子序列匹配方法SPRING,SPRING不支持歸一化,而歸一化在匹配中極為重要。Gong等[48]提出基于SPRING的歸一化方法NSPRING。該方法選取一個(gè)暫時(shí)性的子序列S′用于存儲(chǔ)原序列S,但S′的長(zhǎng)度等于查詢(xún)序列Q,當(dāng)一個(gè)新的時(shí)間節(jié)點(diǎn)進(jìn)入,最開(kāi)始進(jìn)入的時(shí)間節(jié)點(diǎn)就會(huì)被刪除,維持S′的長(zhǎng)度等于查詢(xún)序列Q的長(zhǎng)度。隨著S′不斷更新,當(dāng)S′的長(zhǎng)度等于查詢(xún)序列Q時(shí),NSPRING算法開(kāi)始,存儲(chǔ)序列S′可以被用于計(jì)算整個(gè)時(shí)間序列的均值和方差,繼而對(duì)整個(gè)時(shí)間序列S進(jìn)行Z-Score標(biāo)準(zhǔn)化運(yùn)算,從而實(shí)現(xiàn)時(shí)間序列的歸一化。

表3列出多類(lèi)流數(shù)據(jù)歸一化算法,從窗口及評(píng)判標(biāo)準(zhǔn)兩個(gè)維度進(jìn)行對(duì)比。窗口細(xì)化分為固定窗口和滑動(dòng)窗口,評(píng)判標(biāo)準(zhǔn)細(xì)化為4個(gè)評(píng)判標(biāo)準(zhǔn),用于評(píng)判是否進(jìn)行歸一化操作或者是否更新歸一化參數(shù)。

表3 流數(shù)據(jù)歸一化算法對(duì)比Table 3 Comparison of stream data normalization algorithms

3 總結(jié)與展望

數(shù)據(jù)歸一化是數(shù)據(jù)預(yù)處理的重要一步。無(wú)論是在深度學(xué)習(xí)還是時(shí)間相似性搜索等方面都起了極大的作用。本文收集并整理了歸一化方法相關(guān)文獻(xiàn),從數(shù)據(jù)類(lèi)型角度對(duì)這些歸一化方法進(jìn)行劃分,凝煉提出了基于流數(shù)據(jù)的歸一化分類(lèi)方法。將數(shù)據(jù)歸一化方法劃分為基于批數(shù)據(jù)的歸一化法和基于流式數(shù)據(jù)的歸一化法。本文首先對(duì)歸一化的研究現(xiàn)狀以及發(fā)展趨勢(shì)進(jìn)行了詳細(xì)分析,通過(guò)收集相關(guān)文獻(xiàn),以數(shù)據(jù)類(lèi)型作為切入點(diǎn),提出了基于流式數(shù)據(jù)的歸一化分類(lèi)方法。然后,將批數(shù)據(jù)及流數(shù)據(jù)歸一化方法從學(xué)習(xí)模式與處理階段兩個(gè)維度進(jìn)行梳理。在大數(shù)據(jù)流的場(chǎng)景下,對(duì)于窗口和輸入數(shù)據(jù)歸一化方法的選擇也至關(guān)重要。在不同的場(chǎng)景下,使用特定的方法可以更有效地防止神經(jīng)網(wǎng)絡(luò)因數(shù)據(jù)量綱的復(fù)雜性而錯(cuò)誤建模并提高預(yù)測(cè)正確率等。由于流式數(shù)據(jù)的應(yīng)用需求日趨急迫,對(duì)流式數(shù)據(jù)的研究也逐漸成為各領(lǐng)域的重點(diǎn)?;诹鲾?shù)據(jù)的歸一化面臨著一些亟待解決的問(wèn)題。

(1)海量樣本下歸一化算法的魯棒性。隨著大數(shù)據(jù)技術(shù)的發(fā)展,呈現(xiàn)出海量、復(fù)雜的數(shù)據(jù)特點(diǎn)。在海量數(shù)據(jù)的應(yīng)用中,常常會(huì)出現(xiàn)異常值,而歸一化可能會(huì)受到異常值的影響。因此,如何在流式場(chǎng)景下,面對(duì)海量樣本的情況下,保證數(shù)據(jù)的魯棒性是當(dāng)前需要解決的問(wèn)題。

(2)自適應(yīng)性。不同的流式數(shù)據(jù)應(yīng)用需要與此最適合的歸一化方法,手動(dòng)選擇并調(diào)整歸一化方法會(huì)消耗大量人力物力資源。到目前為止,并沒(méi)有一個(gè)通用的自適應(yīng)方法以供選擇。

總體來(lái)說(shuō),由于流式數(shù)據(jù)應(yīng)用必須在時(shí)間和資源的嚴(yán)格限制下處理數(shù)據(jù),這為流數(shù)據(jù)應(yīng)用帶來(lái)了極大的挑戰(zhàn)。流式數(shù)據(jù)場(chǎng)景下的歸一化研究相對(duì)缺乏,在流場(chǎng)景下的歸一化方法還有許多需要研究的方向。

(1)面向深度網(wǎng)絡(luò)的動(dòng)態(tài)自適應(yīng)歸一化法。當(dāng)前深度神經(jīng)網(wǎng)絡(luò)的應(yīng)用作用于各行各業(yè),并取得了顯著的效果。但對(duì)于深度學(xué)習(xí)的歸一化研究大多停留在隱藏層的歸一化方法,對(duì)于流式數(shù)據(jù)在輸入層的歸一化方法則相對(duì)缺乏。當(dāng)前僅有的基于流式數(shù)據(jù)的歸一化方法需要手動(dòng)調(diào)整,缺乏一個(gè)通用的歸一化方案。將來(lái)關(guān)于歸一化的研究應(yīng)該致力于如何避免消耗大量人力資源下對(duì)流數(shù)據(jù)進(jìn)行自適應(yīng)的動(dòng)態(tài)歸一化操作。在深度神經(jīng)網(wǎng)絡(luò)中使用這樣的方法是當(dāng)前的一個(gè)重要研究方向。

(2)大數(shù)據(jù)流下歸一化法。數(shù)據(jù)的大規(guī)模增長(zhǎng)是當(dāng)前大數(shù)據(jù)分析的一個(gè)主要問(wèn)題。由于大數(shù)據(jù)呈現(xiàn)出海量、復(fù)雜的數(shù)據(jù)特點(diǎn),在數(shù)據(jù)挖掘等應(yīng)用下,對(duì)大數(shù)據(jù)應(yīng)該進(jìn)行歸一化的預(yù)處理,以實(shí)現(xiàn)應(yīng)用更好的性能與精度。而大數(shù)據(jù)流處理方法對(duì)時(shí)間和資源有著嚴(yán)格的限制,這對(duì)流式場(chǎng)景下的歸一化研究具有重大挑戰(zhàn)。因此,如何在大數(shù)據(jù)流場(chǎng)景下,設(shè)計(jì)一種更具適應(yīng)性歸一化方法具有重要的理論意義與實(shí)用價(jià)值。

猜你喜歡
數(shù)據(jù)流優(yōu)點(diǎn)滑動(dòng)
汽車(chē)維修數(shù)據(jù)流基礎(chǔ)(上)
《如此優(yōu)點(diǎn)》
我的優(yōu)點(diǎn)是什么(上)
我的優(yōu)點(diǎn)是什么(下)
汽車(chē)維修數(shù)據(jù)流基礎(chǔ)(下)
一種新型滑動(dòng)叉拉花鍵夾具
Big Little lies: No One Is Perfect
基于數(shù)據(jù)流聚類(lèi)的多目標(biāo)跟蹤算法
滑動(dòng)供電系統(tǒng)在城市軌道交通中的應(yīng)用
北醫(yī)三院 數(shù)據(jù)流疏通就診量
凭祥市| 乐东| 梅河口市| 峨眉山市| 怀化市| 龙游县| 清流县| 葵青区| 珠海市| 穆棱市| 合水县| 淮安市| 景宁| 黑龙江省| 沙洋县| 阳江市| 合水县| 周至县| 竹北市| 高阳县| 司法| 华蓥市| 荥阳市| 咸宁市| 合肥市| 冀州市| 城口县| 沂南县| 手机| 黔江区| 甘南县| 韶关市| 高清| 五原县| 凤山县| 屏边| 双城市| 肃南| 弥渡县| 勐海县| 临桂县|