李 堃,李 猛,李艷玲,林 民
內(nèi)蒙古師范大學 計算機科學技術(shù)學院,呼和浩特 010022
隨著網(wǎng)絡(luò)技術(shù)發(fā)展,流媒體應(yīng)用之一的音樂應(yīng)用也得到了快速發(fā)展,先后出現(xiàn)諸如QQ音樂、酷我音樂、阿里音樂、網(wǎng)易云音樂等應(yīng)用軟件。人們在線試聽、分享、下載、收藏、發(fā)表評論交流音樂感想的同時,會在服務(wù)器上產(chǎn)生大量的用戶行為數(shù)據(jù),包括歌曲名、藝人、曲風、播放時長、播放次數(shù)等。這些數(shù)據(jù)不僅對生成用戶畫像有影響,也對藝人曲風變化具有指導(dǎo)作用。早期研究大多數(shù)集中在通過分析音樂播放列表[1]、音樂特性(和聲、節(jié)奏、音色和情緒)[2]、音樂語義結(jié)構(gòu)(流派、感情、樂器和主題)[3]為用戶精準推送音樂。而通過分析大量藝人及用戶行為數(shù)據(jù)對音樂流行趨勢進行預(yù)測的研究仍處于早期。
阿里音樂經(jīng)過多年發(fā)展積累了數(shù)百萬的曲庫資源、數(shù)以億計的用戶行為數(shù)據(jù)。并在2016年,通過天池大數(shù)據(jù)平臺舉辦了“阿里音樂流行趨勢預(yù)測大賽”。該比賽是第一個對音樂流行長趨勢預(yù)測的比賽,參賽選手需要利用給定的6個月數(shù)據(jù),預(yù)測未來2個月的藝人每日音樂播放量。從而實現(xiàn)對潛在熱門藝人的挖掘。而當前大多數(shù)研究主要集中在短趨勢預(yù)測,對長趨勢預(yù)測誤差仍然較大。這是因為現(xiàn)有模型在預(yù)測長達30天以上的數(shù)據(jù)時,預(yù)測波動會在短時間內(nèi)變?yōu)橐粋€恒定值。這給長趨勢預(yù)測帶來了極大的挑戰(zhàn)。
傳統(tǒng)的時間序列模型由于歷史信息在模型中逐漸衰減,因此無法在長序列(趨勢)預(yù)測中獲得較高的性能。而深度神經(jīng)網(wǎng)絡(luò)可以學習序列中潛在的序列波動信息以及周期信息,但仍面臨歷史信息衰減的問題。因此,針對該問題,本文基于循環(huán)神經(jīng)網(wǎng)絡(luò)提出具有不同特性的長短期記憶滾動預(yù)測模型(long short-term memory rolling prediction algorithm,LSTM-RPA)。通常來說,研究人員認為已訓(xùn)練的模型是含有數(shù)據(jù)的高維抽象信息?;诖?,RPA算法利用模型已學習的高維信息指導(dǎo)模型進行滾動預(yù)測,即在預(yù)測階段將前一次輸入與當前預(yù)測結(jié)果相結(jié)合作為下一次預(yù)測的輸入,使得歷史信息可以沿模型指導(dǎo)的預(yù)測方向流動,從而緩解模型內(nèi)部帶來的長趨勢信息衰減。實驗結(jié)果證明:在長趨勢預(yù)測中,LSTM-RPA相比于基于循環(huán)神經(jīng)網(wǎng)絡(luò)的模型,預(yù)測性能有較大的提升。
早期,時間序列建模主要采用人工規(guī)則、回歸模型、自回歸滑動平均模型(auto regressive moving average,ARMA)[4]、差分整合滑動平均自回歸模型(auto regres‐sive integrated moving average,ARIMA)[5]。ARMA與ARIMA模型常用于周期性平穩(wěn)序列預(yù)測,但無法應(yīng)對具有復(fù)雜周期波動的長序列預(yù)測任務(wù)。
隨著人工智能技術(shù)的發(fā)展,深度神經(jīng)網(wǎng)絡(luò)逐漸應(yīng)用在音樂流行趨勢預(yù)測中。Salganik等人通過建立人工音樂市場(artificial“music market”),發(fā)現(xiàn)一首獲得成功的音樂不僅與其本身質(zhì)量有關(guān),也與社會偏好有關(guān)[6]。這種外部影響因素的不確定性極大增加了音樂流行走勢預(yù)測的難度。呂倩倩通過建立人工神經(jīng)網(wǎng)絡(luò)(artifi‐cial neural network,ANN)和支持向量機(support vector machine,SVM)的組合模型,與SVM回歸預(yù)測模型相比,在預(yù)測未來30天播放量的任務(wù)中均方誤差(mean square error,MSE)降低12.90%[7]。但該組合模型難以應(yīng)對突增的數(shù)據(jù)波動以及周期較長的數(shù)據(jù)。顏家康提出使用BP(back propagation,BP)神經(jīng)網(wǎng)絡(luò)對音樂流行趨勢進行預(yù)測,他們采用5天真實播放量數(shù)據(jù)預(yù)測未來1天的播放量,然后“滑動”預(yù)測30次得到30天的預(yù)測結(jié)果。BP神經(jīng)網(wǎng)絡(luò)的預(yù)測結(jié)果與二次平滑法、ARIMA模型相比平均相對誤差率分別減少2.81%和3.4%[8]。實驗證實BP神經(jīng)網(wǎng)絡(luò)在短時間序列預(yù)測中具有較高的性能,但仍然難以應(yīng)對長時間序列預(yù)測。
郁偉生等人首先將藝人音樂播放量的時序特征通過編碼分為基本趨勢編碼和增量趨勢編碼?;沮厔菥幋a采用one-hot編碼,1代表上月均值大于當月均值,反之為0。增量趨勢編碼則將當月均值和上月均值相比取整得到兩月之間的倍數(shù)關(guān)系。之后采用k-means聚類算法的方式將藝人分為24個類別。然后通過基于類別最優(yōu)值選擇法的音樂流行趨勢預(yù)測算法(time series music prediction,TSMP),循環(huán)遍歷候選預(yù)測算法集得到最優(yōu)結(jié)果。但當藝人播放量突然成倍增加時會使TSMP模型預(yù)測準確度降低,因此提出結(jié)合子序列模式匹配法(sub-sequence pattern matching method,SSPMM)和附加處理(additional processing,AD)的擴展音樂流行趨勢預(yù)測算法(extend-time series music prediction,E-TSMP)來進一步提高預(yù)測精度。具體的,先從其他藝人數(shù)據(jù)中尋找類似的突變趨勢,然后計算之間的歐式距離,最后從距離最小的5個曲線數(shù)據(jù)中選擇變化趨勢最平穩(wěn)的數(shù)據(jù)作為預(yù)測結(jié)果[9]。他們提出的算法在比賽復(fù)賽中獲得亞軍,但該算法沒有考慮具有周期性疊加變化的序列,以及無法學習序列中隱含的趨勢變化信息。同時,該算法依賴人工數(shù)據(jù)清洗,難以在更復(fù)雜的場景中應(yīng)用。
在深度學習中,循環(huán)神經(jīng)網(wǎng)絡(luò)(recurrent neural net‐work,RNN)可以很好地從序列中提取并記憶關(guān)鍵信息。但由于RNN網(wǎng)絡(luò)的結(jié)構(gòu)缺陷會導(dǎo)致歷史信息在反向傳播中丟失,并出現(xiàn)梯度消失和梯度爆炸的問題。因此,Hochreiter對RNN網(wǎng)絡(luò)進行改良后,提出長短期記憶(long short-term memory,LSTM)神經(jīng)網(wǎng)絡(luò)[10],該模型可以有效解決RNN在長序列中的梯度爆炸和梯度消失問題。這也使得LSTM相比于RNN更加適用于時間序列預(yù)測任務(wù)。Yu等人在音樂趨勢預(yù)測中比較了SVM與LSTM模型,結(jié)果顯示采用前9天的數(shù)據(jù)預(yù)測未來1天的情況下,當模型的輸入特征一致時,SVM模型比LSTM的預(yù)測準確度高1%[11]。王振業(yè)等人采用LSTM和Attention機制的組合模型預(yù)測音樂流行走向,他們在2層LSTM層后增加注意力機制,使得LSTM的每一個神經(jīng)元可以獲取來自其他神經(jīng)元的交互信息。在采用3天真實數(shù)據(jù)預(yù)測未來1天的情況下,該模型相比LSTM和SVM均方根誤差分別減少0.027和0.013[12]。
綜上,當前鮮有對音樂流行長趨勢的研究,其難點是在單次預(yù)測長達15天以上時,模型中的歷史信息會在短時間內(nèi)完全衰減。本文在分析現(xiàn)有時間序列模型和神經(jīng)網(wǎng)絡(luò)后,發(fā)現(xiàn)在模型預(yù)測階段將歷史信息引入可以有效緩解歷史信息衰減的問題。因此,本文提出基于LSTM的滾動預(yù)測算法,該算法將預(yù)測模型t-1時刻的部分輸入與t時刻的預(yù)測結(jié)果組合,從而緩解歷史信息在模型中的衰減。在預(yù)測藝人8月每日播放量的實驗中,與傳統(tǒng)時間序列模型:ARIMA模型、簡單移動平均(simple moving average,SMA)模型[13]和多種循環(huán)神經(jīng)網(wǎng)絡(luò)模型:LSTM、雙向長短期記憶網(wǎng)絡(luò)(bidirectional long-short term memory,BiLSTM)[14]、門控循環(huán)單元(gated recurrent unit,GRU)[15]、RNN模型相比,預(yù)測精確度均有較大的提升。
隨著深度學習的發(fā)展,研究人員大多采用循環(huán)神經(jīng)網(wǎng)絡(luò)對時間序列建模,以提高在短趨勢預(yù)測中的準確性。當前文獻大多采用如下兩種方式預(yù)測:(1)模型直接輸出長度為預(yù)測天數(shù)的長趨勢預(yù)測結(jié)果,(2)每次預(yù)測采用3~5天的真實數(shù)據(jù)作為模型輸入以預(yù)測未來1天的趨勢,然后“滑動”預(yù)測30或60次,作為最終預(yù)測30天或60天的結(jié)果。但這種預(yù)測方式仍然是短趨勢預(yù)測,所提出的模型并不能真正預(yù)測長趨勢。
上述預(yù)測方式在對長趨勢預(yù)測建模中,歷史信息會因預(yù)測時長的增加而快速衰減。因此,在長趨勢預(yù)測中,本文提出針對滾動預(yù)測算法的可復(fù)用LSTM模型。代碼:https://github.com/maliaosaide/lstm-rpa。
藝人音樂每日播放量預(yù)測可以看作是時間序列預(yù)測任務(wù)。而LSTM在克服了RNN的缺陷后,更擅長應(yīng)對時間序列預(yù)測任務(wù)。LSTM網(wǎng)絡(luò)通過使用三種門控機制(遺忘門、輸入門以及輸出門)控制歷史信息的流動,通過時間反向傳播(back-propagation through time,BPTT)進行訓(xùn)練,使模型準確學習到時間序列之間的信息[10]。
設(shè)時間序列X={x1,x2,…,xn},x1,x2,…,xn表示每一個時間點,其中包含該時間點的特征信息。LSTM塊中遺忘門ft通過Sigmoid函數(shù)激活上一層隱狀態(tài)ht-1和當前輸入狀態(tài)xt,該激活值在[0,1]之間。公式如式(1)所示:
輸入門it則是控制當前層哪些信息作為新增記憶加入當前記憶狀態(tài)Ct,it同樣由Sigmoid函數(shù)激活上一層隱狀態(tài)ht-1和當前輸入狀態(tài)xt生成,但權(quán)重與ft的權(quán)重不同。公式(2)、(3)所示:
記憶狀態(tài)更新是通過ft控制的上一層歷史記憶狀態(tài)Ct-1與it控制的新增記憶C共同生成當前記憶狀態(tài)Ct,公式如式(4)所示:
最后,當前層隱狀態(tài)ht由tanh函數(shù)激活記憶狀態(tài)Ct以及輸出門ot共同生成。公式如式(5)、(6)所示:
在模型訓(xùn)練結(jié)束后,除了隱藏狀態(tài)會記憶一部分歷史信息,記憶狀態(tài)還會記憶整個序列的高維隱信息,諸如序列的變化率、衰減率等信息。
2.1.1 單特征LSTM模型
通常來說,與當前藝人音樂播放量最為相關(guān)的特征就是該音樂的歷史播放量。因此,將該特征作為首選特征,并建立如圖1所示單特征LSTM模型(single-feature LSTM,SF-LSTM),該模型由輸入層輸入不同時間步長的時間序列數(shù)據(jù),經(jīng)過分別由64和32個神經(jīng)元構(gòu)成的2層LSTM層,并使用ReLU作為激活函數(shù),以減少信息丟失。同時,設(shè)置第一層LSTM的記憶狀態(tài)傳遞到第二層LSTM。之后采用全連接層將最后的LSTM層的神經(jīng)元線性組合,使輸出維度與輸入維度一致。圖1中p為輸入時間步長,用于控制輸入長度,q為輸出時間步長,用于控制輸出長度,hinit為初始隱狀態(tài)。
圖1 單特征LSTM模型Fig.1 Single feature LSTM model
2.1.2 多特征LSTM模型
除上述所提出的音樂歷史播放量特征外,音樂流行趨勢還可能受其他相關(guān)特征影響,諸如:周播放量均值、月播放量均值、下載量、收藏量等。本文建立如圖2所示的多特征LSTM模型(multi-feature LSTM,MF-LSTM),該模型由3層LSTM層構(gòu)成,前2層同樣是由64和32個神經(jīng)元構(gòu)成的LSTM層,ReLU作為激活函數(shù)。同時,為了減少特征之間的直接相互作用和影響,輸出層并沒有采用全連接層進行輸出,而是采用LSTM層直接輸出,其輸出步長為q,Sigmoid作為激活函數(shù)。
圖2 多特征LSTM模型Fig.2 Multiple features LSTM model
在音樂趨勢預(yù)測中,現(xiàn)有的模型大多采用第二種預(yù)測方式,即采用真實數(shù)據(jù),在短時間預(yù)測1天,然后“滑動”預(yù)測30~60次。無法真正用于長趨勢預(yù)測。而第一種預(yù)測方式則會帶來極大的誤差,在長趨勢預(yù)測中無法應(yīng)對長尾效應(yīng)和歷史信息衰減。
LSTM在訓(xùn)練后,記憶狀態(tài)仍然含有整個序列的高維信息,該信息可以在多次預(yù)測中指導(dǎo)模型,從而緩解時間序列模型在長趨勢預(yù)測中歷史信息衰減嚴重的問題。因此,本文提出滾動預(yù)測算法(rolling prediction algorithm,RPA)使得歷史信息可以沿預(yù)測方向流動。具體描述為:已訓(xùn)練的可復(fù)用模型具有相同的輸入和輸出,然后將模型前一次的部分輸入和當前輸出序列組合作為模型預(yù)測下一個時間段的輸入序列。
RPA考慮將一個時間步長為T的序列轉(zhuǎn)化為多個長度為p的預(yù)測任務(wù)。算法在構(gòu)建模型預(yù)測t+1時刻的輸入數(shù)據(jù),將t-1時刻和t時刻的信息共同引入,使得模型在t+1時刻的預(yù)測中既考慮t-1時刻數(shù)據(jù)也考慮t時刻的數(shù)據(jù)。算法如公式(7)、(8)所示:
設(shè)模型的輸入序列X長度為p,輸出序列Y長度為q,l為滾動步長,則有0≤l≤p,0≤p-l≤q。式(7)中Xt-1是模型預(yù)測t時刻的輸入序列,從中倒序選取l個輸入值x'1,x'2,…,x'l。Yt是模型預(yù)測t時刻的預(yù)測結(jié)果,從中正序選取p-l個預(yù)測值y1,y2,…,yp-l。則預(yù)測t+1時刻模型輸入序列X*t由Xt-1和Yt共同構(gòu)成。式(8)中,unit為已訓(xùn)練好的序列神經(jīng)網(wǎng)絡(luò),組合序列X*t通過unit得到預(yù)測結(jié)果Y*t+1。
將SF-LSTM和MF-LSTM作為unit,構(gòu)建LSTM滾動預(yù)測模型,模型結(jié)構(gòu)如圖3所示。其中xt,xt-1,…,xt-p為t-1時刻的輸入;yt+1,yt+2,…,Yt+q為t時刻的預(yù)測結(jié) 果 。 模 型 預(yù) 測t+1時 刻 的 輸 入X*t由Xt-1[x'1,x'2,…,x'l]和Yt[y1,y2,…,yp-l]序列共同組合而成,然后通過訓(xùn)練后的LSTM模型得到t+1時刻的預(yù)測值Y*[Y*t+1,Y*t+2,…,Y*t+n]。對于單特征數(shù)據(jù),每一個x∈Rl×1,y∈R(p-l)×1。對 于 多 特 征 數(shù) 據(jù),每 一 個x∈Rl×feature,y∈R(p-l)×feature,feature為特征數(shù)量。
圖3 LSTM滾動預(yù)測模型Fig.3 LSTM rolling prediction model
數(shù)據(jù)集來自“2016年阿里音樂流行趨勢預(yù)測大賽”,該數(shù)據(jù)集自2015年3月1日到8月30日共計183天,50位藝人,349 946位用戶,10 842首歌曲(數(shù)據(jù)集:https://tianchi.aliyun.com/competition/entrance/231531/informa‐tion)。數(shù)據(jù)經(jīng)脫敏處理后發(fā)布,即使用長度固定的字符串來代替歌曲名、藝人名、用戶ID;歌曲與藝人唯一對應(yīng),即一首歌曲只屬于一位藝人。數(shù)據(jù)格式如表1和表2所示。
表1記錄了用戶行為,如曲目名稱、所屬藝人、操作記錄日期、對歌曲操作類型。表2記錄藝人與歌曲對應(yīng)關(guān)系,如歌曲所屬藝人、歌曲語種、初始播放量。在對數(shù)據(jù)集預(yù)處理后發(fā)現(xiàn)1位藝人數(shù)據(jù)缺失嚴重,為保證最后得分的準確性,實驗選擇其余49位藝人數(shù)據(jù)作為最終實驗數(shù)據(jù)。并且考慮到不同特征對模型的影響,本文設(shè)計了兩個對比實驗,即單特征和多特征實驗,并選擇藝人每日歌曲播放量作為單特征實驗的輸入特征,選擇藝人每日歌曲播放量、下載量、收藏量作為多特征實驗的輸入特征。同時,將3月至7月數(shù)據(jù)集以122∶31進行切分作為訓(xùn)練集與開發(fā)集,將8月份數(shù)據(jù)作為測試集。
表1 用戶行為Table 1 User action
表2 歌手與歌曲信息映射表Table 2 Relations between artists and songs
圖4展示了從49位藝人中隨機抽取的4位藝人3月到7月的每日播放量趨勢。藝人A前40天播放量波動幅度較大,40天后逐漸穩(wěn)定在每日1 000左右的播放量;推測前40天可能是該藝人發(fā)布新專輯后的推薦期,也可能是該藝人制作的當季熱門電視劇、電影插曲。藝人B總播放量趨勢呈抖動上升,30天后有近10天的高速增長期,這期間可能受外部平臺推薦或同類歌曲推薦影響;80天后播放量趨勢呈波動緩慢上升。藝人C前70天播放量趨勢平穩(wěn)但在第75天時數(shù)據(jù)出現(xiàn)跳躍式增長,對此有如下猜測:(1)該數(shù)據(jù)為錯誤數(shù)據(jù)。(2)增長與特殊節(jié)日有關(guān)。(3)受轟動性娛樂新聞影響。藝人D的每日播放量極不穩(wěn)定但總趨勢平穩(wěn)。
圖4 3~7月藝人A、B、C、D的歌曲播放量趨勢Fig.4 From March to July,trend of songs played by artists A,B,C,D
綜上所述,由于每一位藝人的歷史播放量數(shù)據(jù)都含有獨特的時間信息,而且數(shù)據(jù)區(qū)間差距較大,無法使用同一個模型進行預(yù)測,因此本文對每位藝人單獨建立音樂趨勢預(yù)測模型。
比賽主辦方給出了量化音樂趨勢預(yù)測準確度的評估函數(shù)。設(shè)藝人a,a∈W,W為藝人集合,其在第d天的真實播放量為Ya,d,預(yù)測播放量為Xa,d,則藝人a歸一化方差σa可由如下公式求得:
式(9)中N為預(yù)測的總天數(shù),σa表示預(yù)測值Xa,d與真實值Ya,d之間的差距,σa越小則(1-σa)越大,表示預(yù)測越準確。藝人權(quán)重?a由每日真實播放量求和后的算術(shù)平方根表示,如式(10)所示:
最后定義評估函數(shù)F:
本文將評估函數(shù)F作為衡量預(yù)測準確度的標準,F(xiàn)值越大則預(yù)測越準確。
藝人歌曲播放量趨勢不僅受不同特征的影響,也受滾動步長與時間步長不同的影響。實驗探究了在單特征與多特征下不同滾動步長與時間步長對長趨勢預(yù)測準確度的影響。實驗使用Keras框架編寫,設(shè)置輸入步長與輸出步長相等,并在相同條件下進行多次實驗。
實驗對LSTM、BiLSTM、GRU、RNN這4種神經(jīng)網(wǎng)絡(luò)建立模型并進行對比。其中GRU、RNN的網(wǎng)絡(luò)結(jié)構(gòu)與前文提出的SF-LSTM模型的網(wǎng)絡(luò)結(jié)構(gòu)一致,BiLSTM模型將前兩層LSTM層修改為雙向LSTM層,即數(shù)據(jù)僅在當前雙向LSTM層進行正向和反向流動?;鶞示€(黑線)則采用結(jié)構(gòu)相同的模型直接預(yù)測30天的結(jié)果。實驗只考慮得分為正數(shù)的情況,對得分為負進行歸0處理。
圖5展示了在單特征情況下,不同的滾動預(yù)測模型在不同輸入時間步長與滾動步長下對49位藝人的預(yù)測F值總分。當輸入時間步長小于3時,LSTM-RPA模型的預(yù)測準確度優(yōu)于未使用RPA的LSTM模型。但當輸入時間步長大于3時,該模型由于出現(xiàn)過擬合現(xiàn)象導(dǎo)致預(yù)測準確度大幅降低。BiLSTM-RPA模型在前4個時間步長中,只有當輸入時間步長與滾動步長為2時出現(xiàn)欠擬合情況(F值為276.951 4),其余預(yù)測得分均高于基準線;同時在輸入時間步長為4時,不同的滾動步長對預(yù)測準確度有不同的影響,且隨著滾動步長的增加準確度也不斷提升。GRU-RPA模型作為LSTM-RPA模型的一種變體,在輸入時間步長小于3時同樣有較高的預(yù)測準確度。在輸入時間步長大于3時相比于LSTM-RPA模型,GRU-RPA模型仍有一定的預(yù)測精度(滾動步長4)。RNN-RPA模型在前5個輸入時間步長的預(yù)測得分均超過基準得分。
圖5 單特征實驗中不同RPA模型預(yù)測得分Fig.5 Prediction scores of different RPA models in single feature experiment
由于歌曲播放量趨勢不僅與歌曲歷史播放量有關(guān),還與歌曲下載量、收藏量有一定的關(guān)系。本實驗使用歷史播放量、下載量、收藏量作為模型輸入特征,并探究不同輸入時間步長與滾動步長對各種模型的影響。在單特征實驗的基礎(chǔ)上對上文的4種神經(jīng)網(wǎng)絡(luò)進行修改。
GRU、RNN的網(wǎng)絡(luò)結(jié)構(gòu)與前文提出的MF-LSTM模型的網(wǎng)絡(luò)結(jié)構(gòu)一致。BiLSTM模型的輸出層為單向LSTM層,其余為雙向LSTM層。基準線采用結(jié)構(gòu)相同的模型直接預(yù)測30天的結(jié)果。
圖6展示了多特征實驗下不同時間步長與滾動步長下不同模型的預(yù)測得分。在增加特征數(shù)量后,LSTMRPA模型在8個不同的輸入時間步長下預(yù)測準確度均高于未使用RPA的LSTM模型。BiLSTM-RPA模型在輸入時間步長大于5時,其預(yù)測準確度隨著輸入時間步長的增加而減少。這是因為隨著輸入時間步長的增加,參與模型訓(xùn)練的數(shù)據(jù)量也在增加,同時在雙向網(wǎng)絡(luò)結(jié)構(gòu)中,網(wǎng)絡(luò)的正向和反向會導(dǎo)致訓(xùn)練數(shù)據(jù)的增加,使得模型再次鞏固非關(guān)鍵數(shù)據(jù)的記憶,從而導(dǎo)致預(yù)測準確度的降低。在GRU模型實驗中,GRU-RPA模型的基準預(yù)測得分高于其他實驗的基準模型。但RPA對基準GRU模型仍有優(yōu)化作用。RNN-RPA模型的預(yù)測準確度在相同時間步長下,受不同滾動步長的影響較大,但仍然有部分預(yù)測準確度高于基準線。
圖6 多特征實驗中不同RPA模型預(yù)測得分Fig.6 Prediction scores of different RPA models in multiple features experiment
實驗探究了在不同特征數(shù)量下,時間步長數(shù)與滾動步長數(shù)對RPA的影響。最終選取不同特征下各滾動模型的最優(yōu)F值及基準線進行對比。表3展示了單特征實驗下不同滾動預(yù)測模型的最優(yōu)值與基線得分。在4種模型中SF-LSTM-RPA模型的預(yù)測得分最高,且平均誤差低于其他模型。同時,SF-GRU-RPA模型與SFLSTM-RPA模型的預(yù)測得分差距極小。并且,RPA對RNN模型的預(yù)測準確度提升效果優(yōu)于其他模型,其次是BiLSTM模型。該實驗發(fā)現(xiàn)在單特征條件下本文提出的RPA對這4種模型均有超過10%的優(yōu)化效果,證明RPA算法在單特征長趨勢預(yù)測中對序列神經(jīng)網(wǎng)絡(luò)有一定的優(yōu)化效果。
表3 單特征實驗中各模型最優(yōu)F值和基準線Table 3 Optimal F value and baseline of each model in single feature experiment
表4展示了多特征實驗中不同滾動預(yù)測模型的最優(yōu)F值與基線得分。其中LSTM-RPA、BiLSTM-RPA、GRU-RPA這三種滾動預(yù)測模型的最優(yōu)預(yù)測得分差距不大。但分別與各自基準線相比,RPA對LSTM模型的優(yōu)化提升占比最高,但略遜于對RNN模型的優(yōu)化效果。同時GRU-RPA模型的預(yù)測準確度優(yōu)于其他模型,且具有最低的平均誤差,并且該模型的基準線也優(yōu)于其他模型。該實驗表明,在多特征實驗下本文提出的RPA算法仍然對這4種模型有超過4%的優(yōu)化效果。
表4 多特征實驗中各模型最優(yōu)F值和基準線Table 4 Optimal F value and baseline of each model in multiple features experiment
在單特征及多特征實驗的基礎(chǔ)上,本文選取預(yù)測準確度最高的RPA模型(SF-LSTM-RPA)與不同的基準模型以及傳統(tǒng)時間序列預(yù)測模型:ARIMA模型、SMA模型進行對比。表5展示了傳統(tǒng)時間序列預(yù)測模型、RPA模型以及基準模型的最優(yōu)F值和平均誤差情況。實驗結(jié)果表明SF-LSTM-RPA模型的預(yù)測準確度優(yōu)于其他模型,與ARIMA模型、SMA模型相比F值分別提高10.67%、3.43%,同時平均誤差分別降低32.64%、11.23%,平均誤差方差分別降低368.73%、35.29%;與LSTM模型、BiLSTM模型、GRU模型、RNN模型相比F值分別提高13.03%、16.74%、11.91%、18.52%,平均誤差分別降低39.02%、48.55%、36.02%、52.88%,平均誤差方差分別降低183.69%、252.83%、175.23%、225.79%。
表5 各模型的最優(yōu)F值和平均誤差Table 5 Optimal F values and mean errors of each model
綜上,實驗發(fā)現(xiàn)LSTM-RPA在單特征實驗中具有較高的預(yù)測準確度,并且與多特征實驗相比單特征實驗的平均相對誤差更低。在算法優(yōu)化提升占比中,RPA算法對多特征實驗的優(yōu)化效果略低于對單特征實驗的優(yōu)化效果。同時與傳統(tǒng)時間序列預(yù)測算法相比,SF-LSTMRPA模型具有更高的預(yù)測準確度。在平均誤差方差的比較中,SF-LSTM-RPA模型與LSTM模型相比具有更低的方差,這也證明本文提出的RPA在長趨勢預(yù)測任務(wù)中對神經(jīng)網(wǎng)絡(luò)模型具有一定的優(yōu)化效果。最終實驗結(jié)果顯示,在長趨勢預(yù)測任務(wù)中,通過RPA復(fù)用模型可以有效緩解隨著預(yù)測序列增加所帶來的歷史信息衰減問題。
在時間序列預(yù)測中,長趨勢預(yù)測建模一直是研究的重點和難點。在對音樂流行長趨勢預(yù)測任務(wù)的建模中,為了解決模型在長趨勢預(yù)測中歷史信息衰減嚴重的問題,本文提出一種基于LSTM的滾動預(yù)測模型。該模型利用已訓(xùn)練的LSTM模型中記憶狀態(tài)含有的高維序列信息的特點,在構(gòu)建模型預(yù)測t+1時刻的輸入序列時,將t-1時刻和t時刻的信息共同引入,使得歷史信息在預(yù)測中進一步傳遞,從而緩解在音樂長趨勢預(yù)測任務(wù)中歷史信息衰減的問題。實驗證明在音樂長趨勢預(yù)測中,SF-LSTM-RPA模型的預(yù)測準確度要優(yōu)于傳統(tǒng)的ARIMA模型和SMA模型,且總F值分別提高10.67%、3.43%,同時平均誤差分別降低32.64%、11.23%。該模型與深度學習序列模型LSTM、BiLSTM、GRU、RNN相比F值提高13.03%、16.74%、11.91%、18.52%,平均誤差減少39.02 %、48.55%、36.02%、52.88%。
時間序列預(yù)測是近幾年對多個行業(yè)都有重要研究意義的課題。大數(shù)據(jù)時代下,許多互聯(lián)網(wǎng)公司通過對用戶行為分析后提供歌曲推薦、廣告精準投放、搜索結(jié)果優(yōu)化等個性化服務(wù)。長趨勢預(yù)測研究可以挖掘網(wǎng)絡(luò)潛在熱點,進而為公司的決策及發(fā)展方向提供幫助。
未來在該研究的基礎(chǔ)上還可以進行的工作:模型超參數(shù)無法隨著藝人的不同而改變,導(dǎo)致部分藝人模型在訓(xùn)練中出現(xiàn)欠擬合現(xiàn)象,且時間步長與滾動步長的不同組合對預(yù)測結(jié)果具有一定的影響。在后續(xù)研究中,針對滾動步長、時間步長加入Attention機制來建立自適應(yīng)LSTM滾動預(yù)測模型。