李旭陽 邵峰晶
摘要: 為預(yù)測用戶的購買行為,本文提出了一種基于LSTM與隨機(jī)森林相結(jié)合的預(yù)測模型。該模型不僅對用戶的行為數(shù)據(jù)進(jìn)行量化提取特征和商品的屬性提取特征,同時(shí)結(jié)合LSTM對序列數(shù)據(jù)處理的優(yōu)勢,將用戶的行為數(shù)據(jù)作為先后關(guān)聯(lián)的序列進(jìn)行動(dòng)態(tài)特征提取,再結(jié)合隨機(jī)森林對用戶的購買行為進(jìn)行預(yù)測,最后采用某商城真實(shí)的商品月銷售數(shù)據(jù)進(jìn)行實(shí)驗(yàn)驗(yàn)證。研究結(jié)果表明,該基于動(dòng)態(tài)特征的組合模型精確率達(dá)到了98%以上,比單一的隨機(jī)森林模型采用靜態(tài)特征預(yù)測有較大提高,同時(shí)召回率和正確率也有所提高。該模型為用戶購買行為的預(yù)測提供了有效方法。
關(guān)鍵詞: 靜態(tài)購買行為特征; 動(dòng)態(tài)購買行為特征; 長短期記憶網(wǎng)絡(luò); 隨機(jī)森林
中圖分類號(hào): TP18; F724.6文獻(xiàn)標(biāo)識(shí)碼: A
隨著電子商務(wù)的發(fā)展,用戶逐漸從線下消費(fèi)轉(zhuǎn)移到線上消費(fèi)。對用戶購買行為準(zhǔn)確的預(yù)測,對商品的預(yù)先投放起到關(guān)鍵性作用。因此,如何利用用戶在購買之前一系列的網(wǎng)上操作行為來準(zhǔn)確預(yù)測用戶的購買意圖至關(guān)重要。目前,用于購買行為預(yù)測的方法很多,如決策樹方法、貝葉斯分類算法、支持向量機(jī)、神經(jīng)網(wǎng)絡(luò)方法及時(shí)間序列預(yù)測方法等。預(yù)測的方法和數(shù)據(jù)不同,產(chǎn)生的效果也不同。預(yù)測方法是對數(shù)據(jù)從不同角度進(jìn)行分析,而多個(gè)模型相互組合能夠發(fā)揮不同方法的優(yōu)勢。常見的組合模型有兩種,一是利用制定一些如離差絕對值和預(yù)測誤差平方和等來確定每個(gè)模型在組合模型中所占的權(quán)重[1];二是運(yùn)用機(jī)器學(xué)習(xí)的方法[2],例如神經(jīng)網(wǎng)絡(luò)和支持向量機(jī)等,對訓(xùn)練數(shù)據(jù)進(jìn)行訓(xùn)練來獲得模型參數(shù),在組合模型中進(jìn)行參數(shù)擴(kuò)展。相關(guān)研究表明,結(jié)合機(jī)器學(xué)習(xí)方法的組合模型,在總體的預(yù)測效果上優(yōu)于另一種方法[3]。解決用戶購買行為的預(yù)測,首先是確定用戶購買行為的特征,用戶購買行為特征分為靜態(tài)和動(dòng)態(tài)兩種。靜態(tài)購買行為特征是指不包含用戶操作行為先后關(guān)聯(lián)特征,只有商品特征和用戶操作行為的數(shù)量特征;動(dòng)態(tài)購買行為特征是指包含用戶操作行為先后關(guān)聯(lián)的特征。用戶購買行為的數(shù)據(jù),除了提取商品的靜態(tài)特征,還要挖掘用戶操作行為數(shù)據(jù)的動(dòng)態(tài)特征。長短期記憶網(wǎng)絡(luò)[45](longshort term memory,LSTM)能夠?qū)χ鞍l(fā)生的行為特征進(jìn)行記憶,提取序列特征具有明顯的優(yōu)勢;隨機(jī)森林方法是利用多棵樹對樣本進(jìn)行訓(xùn)練并預(yù)測的一種分類器,在處理高緯度數(shù)據(jù)時(shí),不需要對特征進(jìn)行選擇。基于此,本文根據(jù)長短期記憶網(wǎng)絡(luò)和隨機(jī)森林的特點(diǎn),選擇二者相結(jié)合的模型對用戶購買行為進(jìn)行建模預(yù)測。相比于單一的隨機(jī)森林模型,該模型具有更好的穩(wěn)定性和更高的預(yù)測準(zhǔn)確率。該研究具有一定的實(shí)際應(yīng)用價(jià)值。
1用戶購買行為預(yù)測模型
1.1長短期記憶網(wǎng)絡(luò)方法
循環(huán)神經(jīng)網(wǎng)絡(luò)(recurrent neural networks,RNN)是將t1時(shí)刻的輸出作為t+1時(shí)刻的部分輸入,但該網(wǎng)絡(luò)存在梯度消失的問題,很難處理長期的依賴關(guān)系。LSTM是一種特殊的循環(huán)神經(jīng)網(wǎng)絡(luò),在循環(huán)神經(jīng)網(wǎng)絡(luò)的基礎(chǔ)上進(jìn)行改進(jìn),使它能學(xué)習(xí)長期的依賴關(guān)系。LSTM的神經(jīng)元結(jié)構(gòu)如圖1所示。圖1中,每個(gè)神經(jīng)元的輸入都是t-1時(shí)刻的輸出h t-1、時(shí)間記憶量C t-1和t時(shí)刻的輸入xt;輸出是t時(shí)刻對應(yīng)的ht,Ct。輸入變量在神經(jīng)元內(nèi)部的運(yùn)算過程(σ是sigmoid函數(shù))為
ft=σ(Wf[ht-1,xt]+bf), it=σ(Wi[ht-1,xt]+bi), Ct=tan h(Wc[ht-1,xt]+bc)
Ct=ftCt-1+itCt~, ot=σ(Wo[ht-1,xt]+bo), ht=ottan h(Ct)
式中,Wf、Wi、Wc、Wo均為權(quán)重;bf、bi、bc、bo均為偏置量;xt為t時(shí)刻的輸入;it為t時(shí)刻的輸出;ft為t時(shí)刻的輸出;ot為t時(shí)刻的輸出。
1.2隨機(jī)森林方法介紹
隨機(jī)森林[68]是一種集成學(xué)習(xí)方法,由美國科學(xué)家Leo Breiman在2001年提出的一種機(jī)器學(xué)習(xí)算法,該算法結(jié)合Bagging集成學(xué)習(xí)理論和隨機(jī)子空間方法,在數(shù)據(jù)分類和非參數(shù)回歸方面廣泛應(yīng)用。隨機(jī)森林中存在多種不同的決策樹,如決策樹ID3[910]、決策樹C45[1112]等算法。建立隨機(jī)森林階段,按照一定策略選取部分?jǐn)?shù)據(jù)和屬性分別建樹;在預(yù)測階段,根據(jù)森林中各棵樹的預(yù)測結(jié)果進(jìn)行投票表決,最終表決結(jié)果為隨機(jī)森林預(yù)測結(jié)果。
1.3LSTM與隨機(jī)森林相結(jié)合的購買行為預(yù)測模型
1.3.1預(yù)處理
用戶購買行為數(shù)據(jù)由用戶在線瀏覽行為數(shù)據(jù)和商品數(shù)據(jù)兩部分組成[1315]。用戶在線瀏覽行為是指用戶在某一時(shí)刻對網(wǎng)頁上的某一商品進(jìn)行點(diǎn)擊、瀏覽、加入購物車等操作,商品數(shù)據(jù)包含商品的類別、屬性等相關(guān)信息。
預(yù)處理階段主要完成清理數(shù)據(jù)中的冗余數(shù)據(jù)[1618]和提取用戶一段時(shí)間內(nèi)對某一商品的行為數(shù)據(jù)兩個(gè)工作。由于用戶在某一時(shí)刻只能進(jìn)行一次操作,可根據(jù)用戶商品的編號(hào)及操作時(shí)間對整個(gè)數(shù)據(jù)集進(jìn)行冗余數(shù)據(jù)處理,選取7 d為一個(gè)時(shí)間窗口,提取用戶編號(hào)和商品編號(hào)對窗口期的數(shù)據(jù),形成以時(shí)間為順序的用戶對特定商品的購買行為數(shù)據(jù)。
1.3.2靜態(tài)特征提取
特征提取階段是針對預(yù)處理之后的購買行為數(shù)據(jù)和購買行為對應(yīng)的特定商品。該過程分為如下2個(gè)階段:
1)購買行為的特征提取階段。用戶點(diǎn)擊行為特征表示用戶一種行為點(diǎn)擊次數(shù)與用戶所有行為的總點(diǎn)擊次數(shù)之比。用戶對特定商品的購買行為數(shù)據(jù)進(jìn)行特征提取之后,特定用戶對特定商品的多條購買行為數(shù)據(jù)將轉(zhuǎn)化成特定用戶對特定商品的一條購買行為特征數(shù)據(jù)。
2)商品特征提取階段。根據(jù)購買行為特征數(shù)據(jù)中的商品編號(hào),從已有商品信息中提取該商品的類別信息、功能分類信息及商品屬性信息。商品的特征數(shù)據(jù)與購買行為特征數(shù)據(jù)組合,形成用戶購買行為的靜態(tài)特征。
1.3.3動(dòng)態(tài)特征提取
根據(jù)對預(yù)處理后用戶購買行為數(shù)據(jù)的分析,發(fā)現(xiàn)90%以上的用戶在時(shí)間窗口之內(nèi)的操作次數(shù)介于4~20次之間,因此將LSTM的訓(xùn)練數(shù)據(jù)取該數(shù)量間隔間的數(shù)據(jù)。用戶的操作順序作為LSTM的輸入,LSTM內(nèi)部采用
一層網(wǎng)絡(luò)結(jié)構(gòu),輸出由單個(gè)神經(jīng)元構(gòu)成[19],通過訓(xùn)練數(shù)據(jù)將模型訓(xùn)練穩(wěn)定。將用戶行為數(shù)據(jù)輸入到已穩(wěn)定的LSTM模型中,提取模型中間層的輸出,作為購買行為的動(dòng)態(tài)特征。
1.3.4購買行為預(yù)測
將靜態(tài)特征和動(dòng)態(tài)特征作為用戶購買行為的總特征,采用隨機(jī)森林方法對用戶購買行為進(jìn)行預(yù)測,在模型訓(xùn)練過程中,發(fā)現(xiàn)森林中樹木的數(shù)量對結(jié)果有較大影響。對比發(fā)現(xiàn),樹木在20棵的時(shí)候預(yù)測結(jié)果最優(yōu)。因此,該組合模型中取森林樹木量為20棵。精確率樹數(shù)量曲線如圖2所示。
1.4組合預(yù)測模型
預(yù)測模型主要分為五步:一是輸入用戶數(shù)據(jù);二是對輸入的數(shù)據(jù)進(jìn)行預(yù)處理模塊;三是對處理完成后的數(shù)據(jù)分別進(jìn)行靜態(tài)和動(dòng)態(tài)特征進(jìn)行提取,將兩類特征輸入到隨機(jī)森林預(yù)測模塊中;四是根據(jù)用戶總的行為特征進(jìn)行分析預(yù)測[20];五是輸出預(yù)測結(jié)果。模型流程圖如圖3所示。
2實(shí)驗(yàn)結(jié)果與分析
2.1評價(jià)標(biāo)準(zhǔn)
預(yù)測效果的評價(jià)是以召回率、正確率、精確率和錯(cuò)誤率為指標(biāo)進(jìn)行衡量。分類結(jié)果混淆矩陣如表1所示。
1)召回率為A/(A+C),反映系統(tǒng)發(fā)錯(cuò)誤行為的能力,召回率越高,將錯(cuò)誤行為判斷成正確行為的概率越少。
2)正確率為A/(A+B),即對正確行為的檢對率,正確率越大,將正確行為判為錯(cuò)誤行為的可能性越小。
3)精準(zhǔn)率為(A+D)/(A+B+C+D),即對所有行為的判對率。
4)錯(cuò)誤率為(B+C)/(A+B+C+D),即對所有行為的判錯(cuò)率。
2.2數(shù)據(jù)獲取
本文所采用的數(shù)據(jù)來自某商城真實(shí)的商品月銷售數(shù)據(jù)。該數(shù)據(jù)由兩部分組成,一是用戶對商城中商品的操作信息;二是商品本身的屬性類別等信息。實(shí)驗(yàn)中,分別采用隨機(jī)森林和文中提出的組合模型兩種方式對上述數(shù)據(jù)進(jìn)行預(yù)測。隨機(jī)森林的特征只來自用戶購買行為的靜態(tài)特征和商品自身的信息,實(shí)驗(yàn)顯示,以最優(yōu)的隨機(jī)森林模型對數(shù)據(jù)進(jìn)行預(yù)測,實(shí)驗(yàn)結(jié)果:召回率為0404 5,正確率為0785 1,精確率為0658 2,錯(cuò)誤率為0341 8。組合模型對數(shù)據(jù)進(jìn)行預(yù)測的實(shí)驗(yàn)結(jié)果:召回率為0983 3,正確率為0985 1,精確率為0983 3,錯(cuò)誤率為0016 7。
對比發(fā)現(xiàn),組合模型的召回率更高,說明組合模型比單一的隨機(jī)森林模型更容易識(shí)別出異常數(shù)據(jù);正確率值越大,說明組合模型在將正常行為判為異常的可能比單一隨機(jī)森林越小。同時(shí),精準(zhǔn)率的提升和錯(cuò)誤率的下降說明組合模型預(yù)測的準(zhǔn)確性較單一隨機(jī)森林具有明顯提升。
3結(jié)束語
本文提出了一種基于LSTM與隨機(jī)森林相結(jié)合的預(yù)測模型。該模型將用戶的特征分為靜態(tài)特征和動(dòng)態(tài)特征,不僅對用戶的行為數(shù)據(jù)進(jìn)行量化提取特征和商品屬性提取特征,同時(shí)結(jié)合LSTM對序列數(shù)據(jù)處理的優(yōu)勢,將用戶的行為數(shù)據(jù)作為先后關(guān)聯(lián)的序列進(jìn)行動(dòng)態(tài)特征提取,再結(jié)合隨機(jī)森林來對用戶的購買行為進(jìn)行預(yù)測。實(shí)驗(yàn)證明,以動(dòng)態(tài)特征為基礎(chǔ)的組合模型較單一的隨機(jī)森林模型有更好的穩(wěn)定性和更高的預(yù)測準(zhǔn)確率。而進(jìn)一步細(xì)化用戶的購買行為的動(dòng)態(tài)特征是下一步研究工作的主要內(nèi)容。
參考文獻(xiàn):
[1]孫李紅, 沈繼紅. 基于相關(guān)系數(shù)的加權(quán)幾何平均組合預(yù)測模型的性質(zhì)研究[J]. 系統(tǒng)工程理論與實(shí)踐, 2009, 29(9): 8491.
[2]李斌, 郗濤, 史明華. 基于支持向量機(jī)的交通流組合預(yù)測模型[J]. 天津工業(yè)大學(xué)學(xué)報(bào), 2008, 27(2): 7376.
[3]韓冬梅, 朱文清, 楊榮, 等. 線性與非線性最優(yōu)組合預(yù)測方法的比較研究[J]. 情報(bào)科學(xué), 2007, 25(11): 16721678.
[4]Hochreiter S, Schmidhuber J. Long ShortTerm Memory[J]. Neural Computation, 1997, 9(8): 17351780.
[5]Gers F A, Schmidhuber J, Cummins F. Learning to Forget:Continual Prediction with LSTM[J]. Neural Computation, 2000, 12(10): 24512471.
[6]尹華, 胡玉平. 基于隨機(jī)森林的不平衡特征選擇算法[J]. 中山大學(xué)學(xué)報(bào): 自然科學(xué)版, 2014, 53 (5): 5965.
[7]楊飚, 尚秀偉. 加權(quán)隨機(jī)森林算法研究[J]. 微型機(jī)與應(yīng)用, 2016, 35(3): 2830.
[8]姚登舉, 楊靜, 詹曉娟. 基于隨機(jī)森林的特征選擇算法[J]. 吉林大學(xué)學(xué)報(bào): 工學(xué)版, 2014, 44(1): 137141.
[9]梁辰, 陳明浩. 數(shù)據(jù)挖掘ID3分類算法研究綜述[J]. 信息通信, 2015, 149(5): 2628.
[10]朱琳, 楊楊. ID3算法的優(yōu)化[J]. 軟件, 2016, 37(12): 8992.
[11]馮帆, 徐俊剛. C4.5決策樹改進(jìn)算法研究[J]. 電子技術(shù), 2012, 39(6): 710.
[12]徐磊, 方源敏. 基于決策樹C4.5改進(jìn)算法的交通數(shù)據(jù)挖掘[J]. 微處理機(jī), 2010, 31(6): 5759.
[13]Rassin E, Muris P. Indecisiveness and the Interpretation of Ambiguous Situations [J]. Personality and Individual Differences, 2005, 39(7): 12851291.
[14]Liu Q, Zeng X, Lin C, et al. Mining Indecisiveness in Customer Behaviors[C]∥Proc of the 15th International Conference on Data Mining. NJ, USA: IEEE, 2015: 281290.
[15]Cappellari L, Jenkins SP. Multivariate Probit Regression Using Simulated Maximum Likelihood[J]. The Stata Journal, 2003, 3(3): 278294.
[16]雷華歡, 劉麗蘭, 趙改平, 等. 基于BP神經(jīng)網(wǎng)絡(luò)的銷售預(yù)測分析系統(tǒng)[J]. 現(xiàn)代制造工程, 2012(2): 3236.
[17]趙改平, 劉麗蘭, 程功勛, 等.銷售預(yù)測分析系統(tǒng)的研究與應(yīng)用[J]. 現(xiàn)代制造工程, 2011(3): 2831.
[18]金連文, 鐘卓耀, 楊釗, 等. 深度學(xué)習(xí)在手寫漢字識(shí)別中的應(yīng)用綜述[J]. 自動(dòng)化學(xué)報(bào), 2016, 42(8): 11251141.
[19]Liu Y H, Liu L L. Sales Forecasting Through Fuzzy Neural Networks[C]∥International Conference on Electronic Computer Technology. Macau, China: IEEE, 2009: 511515.
[20]蔣勝利. 高維數(shù)據(jù)的特征選擇與特征提取研究[D]. 西安: 西安電子科技大學(xué), 2011.