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