任金虎 李亞楠 王艷玲
摘? ?要:目前互聯(lián)網(wǎng)軟件的功能調(diào)整和改進(jìn)方案主要以用戶的行為習(xí)慣為依據(jù)進(jìn)行調(diào)整。為了高效利用現(xiàn)有用戶數(shù)據(jù)進(jìn)行用戶行為、用戶傾向等分析與預(yù)測,本文通過對(duì)包括多種用戶在線行為的數(shù)據(jù)進(jìn)行分析。首先對(duì)用戶傾向評(píng)估產(chǎn)生較大影響的屬性值進(jìn)行權(quán)值分析,將已有的特征值綜合整合后生成全面的用戶行為數(shù)據(jù);再對(duì)行為數(shù)據(jù)中的同類行為進(jìn)行細(xì)化分級(jí),強(qiáng)化行為指向。通過使用模型融合的方法針對(duì)單模型進(jìn)行優(yōu)化和處理,進(jìn)一步提高預(yù)測準(zhǔn)確率。
關(guān)鍵詞:模型融合? 滑窗法? XGBoost? BI-LSTM
如何建立新的運(yùn)營處理模式、有效利用現(xiàn)有數(shù)據(jù)制定合適的營銷機(jī)制、改進(jìn)和調(diào)整軟件的功能,達(dá)到吸引目標(biāo)用戶、保持用戶粘度的目的,將是每個(gè)互聯(lián)網(wǎng)企業(yè)在大數(shù)據(jù)時(shí)代的核心問題。而對(duì)“活躍用戶”(將會(huì)在未來一段時(shí)間內(nèi)登錄軟件的用戶)的行為數(shù)據(jù)進(jìn)行有效分析和預(yù)測是軟件功能改進(jìn)和企業(yè)服務(wù)質(zhì)量提升的重要途徑之一。
本文以短視頻APP的用戶數(shù)據(jù)為例進(jìn)行分析與預(yù)測,以前30d的用戶數(shù)據(jù)作為數(shù)據(jù)集,以后7d登錄的用戶id作為測試集,以XGBoost模型、LGB模型和BI-LSTM模型作為子模型進(jìn)行模型融合建立綜合預(yù)測模型,預(yù)測將會(huì)在未來7天內(nèi)登錄的“活躍用戶”。在進(jìn)行用戶數(shù)據(jù)的分析過程中,由于行為分類較為復(fù)雜,需將行為因素分級(jí)考慮。一方面對(duì)于主動(dòng)動(dòng)作用戶(主動(dòng)發(fā)起點(diǎn)贊、轉(zhuǎn)發(fā)、拉黑等動(dòng)作的用戶)自身,針對(duì)連續(xù)較長時(shí)間活動(dòng)的用戶進(jìn)行篩選并增加其優(yōu)先級(jí)。另一方面對(duì)于被動(dòng)動(dòng)作用戶(被動(dòng)接受上述動(dòng)作的用戶),針對(duì)不同分類的動(dòng)作進(jìn)行分類處理。
1? 模型融合技術(shù)簡介
模型融合( Model Ensemble )是一種通過構(gòu)建并融合多個(gè)模型來完成學(xué)習(xí)任務(wù),從而提高機(jī)器學(xué)習(xí)效率的方法。
圖1是一種常見的模型融合結(jié)構(gòu)。其主要包含兩個(gè)階段:構(gòu)建若干單模型( Single Model)和模型融合。單模型通常是由基本的學(xué)習(xí)算法在訓(xùn)練集上學(xué)習(xí)得到的,它們可以是決策樹、神經(jīng)網(wǎng)絡(luò)或者其他類型的學(xué)習(xí)算法。
在單模型多樣性較大情況下,嘗試模型融合極有可能取得顯著的效果提升。因此,選擇一些單模型特征與多個(gè)單模型融合在一起進(jìn)行訓(xùn)練,融合模型的泛化能力在某些場景下效果會(huì)更好。但應(yīng)注意,線上系統(tǒng)對(duì)預(yù)測或分類服務(wù)的響應(yīng)速度通常要求較高,線上特征獲取和模型預(yù)測會(huì)消耗一定時(shí)間,而多階模型融合只能以串行的方式來運(yùn)算。因此,在線上系統(tǒng)使用模型融合要謹(jǐn)慎。
2? 單模型建立與處理
2.1 數(shù)據(jù)分析與處理
2.1.1 用戶數(shù)據(jù)說明
主要數(shù)據(jù)集信息如下:
注冊日志(user_register_log.txt):包括用戶注冊時(shí)的基礎(chǔ)信息。
APP啟動(dòng)日志(app_launch_log.txt):包括前30天內(nèi)用戶登錄的精確時(shí)間。
拍攝行為日志(video_create_log.txt):包括用戶使用APP拍攝功能的日期等。
用戶行為日志(user_activity_log.txtt):包括用戶的點(diǎn)贊、轉(zhuǎn)發(fā)等各種行為記錄。
2.1.2 滑窗法劃分?jǐn)?shù)據(jù)集
使用滑窗法來構(gòu)造樣本格式,不僅能給數(shù)據(jù)賦予標(biāo)簽值,同時(shí)還可以劃分多個(gè)訓(xùn)練測試集用以完善模型。針對(duì)數(shù)據(jù)量較小的情況,通過滑動(dòng)窗口增加樣本數(shù)量,可覆蓋更多數(shù)據(jù),提高模型學(xué)習(xí)效率。
2.1.3 特征提取
若僅用表中所給的數(shù)據(jù)作為目標(biāo)值進(jìn)行預(yù)測,結(jié)果準(zhǔn)確率有限。因此需要在四個(gè)表中分別提取特征、添加目標(biāo)值。在拍攝行為日志中,對(duì)其次數(shù)進(jìn)行統(tǒng)計(jì)并將創(chuàng)建視頻相隔的天數(shù)的均值,方差,峰度等提取作為新的七個(gè)特征;在啟動(dòng)日志和用戶行為日志中,在page列里統(tǒng)計(jì)0 1 2 3 4的個(gè)數(shù)并且統(tǒng)計(jì)其占總個(gè)數(shù)的頻次,以該方式提取100余個(gè)特征。
由于注冊方式來源、登錄拍攝與行為次數(shù)值極值相差過大或數(shù)據(jù)過于離散,此時(shí)采用歸一化的方法對(duì)數(shù)據(jù)集進(jìn)行處理更有利于分類和預(yù)測。
2.2 兩個(gè)基于GBDT的模型實(shí)現(xiàn)——以XGBoost為例
在數(shù)據(jù)集中,不同的用戶的行為是不一樣的,在此選取其中的多個(gè)維度、多種特征,可通過 GBDT綜合分析它們對(duì)用戶活躍度結(jié)果產(chǎn)生的影響。其改進(jìn)后的XGBoost模型可在相對(duì)短的時(shí)間內(nèi)對(duì)大型數(shù)據(jù)源做出良好的效果;而LGB模型因其更快的訓(xùn)練效率、更低的內(nèi)存使用、更高的準(zhǔn)確率等優(yōu)勢,更適用于處理較大規(guī)模數(shù)據(jù)。在此以XGBoost模型的處理過程為例。
(1)XGBoost模型的參數(shù)調(diào)節(jié)與優(yōu)化。
XGBoost在訓(xùn)練開始時(shí)進(jìn)行一次預(yù)處理后,使用平均絕對(duì)誤差對(duì)結(jié)果進(jìn)行衡量,從而提高之后每次迭代的效率。在進(jìn)行交叉驗(yàn)證得到第一個(gè)基準(zhǔn)后,建立數(shù)量為100的樹模型,得到比前者數(shù)據(jù)0.45更加可靠的新紀(jì)錄 MAE = 0.445。樹的最大深度(max_depth)和正則化參數(shù)(min_child_weight)對(duì)XGBoost性能影響最大,應(yīng)優(yōu)先進(jìn)行調(diào)整。
在得到目前最好的結(jié)果后,降低學(xué)習(xí)速度,同時(shí)增加更多的估計(jì)量。對(duì)比后發(fā)現(xiàn),學(xué)習(xí)率較低的效率提升更明顯。
2.3 BI-LSTM模型實(shí)現(xiàn)
2.3.1 時(shí)序特征處理
對(duì)記錄數(shù)進(jìn)行可視化分析發(fā)現(xiàn)其頻次變動(dòng)的模式有很強(qiáng)的非線性趨勢性,因此選擇對(duì)輸入序列分別進(jìn)行加一取對(duì)數(shù)處理的方法,更有易于觀察變化趨勢而且能夠有效防止過擬合。
2.3.2 參數(shù)調(diào)整
優(yōu)化學(xué)習(xí)速率和動(dòng)量因子。選取一組較小學(xué)習(xí)速率和動(dòng)量因子的取值范圍:從0.2到0.8,步長為0.2,以及0.9。調(diào)優(yōu)Dropout正則化。采用取值范圍為0.0-0.9(1.0無意義)的dropout percentages和范圍為0-5的最大范數(shù)權(quán)值約束(maxnorm weight constraint)。
3? 模型融合
對(duì)已有三個(gè)模型結(jié)果進(jìn)行分析,具體分析包括了每個(gè)模型的精確率,召回率與F1值。
最后將XGB模型、LGB模型與BI-LSTM模型作為三個(gè)單模型進(jìn)行模型融合,以三種模型的最終F1值作為參考,調(diào)整融合權(quán)重比:
XGB:LGB:BI-LSTM≈ 0.31:0.31:0.38
之后通過調(diào)整閾值得到最終預(yù)測模型,預(yù)測準(zhǔn)確率保持在90%左右。
4? 結(jié)語
本文采用的算法通過使用XGBoost處理普通特征、基于LGB和神經(jīng)網(wǎng)絡(luò)的算法優(yōu)化和模型融合處理,精確預(yù)測得到未來一段時(shí)間內(nèi)的“活躍用戶”id,為互聯(lián)網(wǎng)企業(yè)進(jìn)行軟件功能調(diào)整以及提出可靠的用戶推送方案提供準(zhǔn)確數(shù)據(jù)參考。
參考文獻(xiàn)
[1] 韓家煒. 數(shù)據(jù)挖掘概念與技術(shù)[M].北京:機(jī)械工業(yè)出版社,2007.
[2] 美 Megan Squire.干凈的數(shù)據(jù)—數(shù)據(jù)清洗入門與實(shí)踐[M].北京:人民郵電出版社,2016.
[3] 梁軍,柴玉梅,原慧斌,等.基于極性轉(zhuǎn)移和LSTM遞歸網(wǎng)絡(luò)的情感分析[J].中文信息學(xué)報(bào),2015,29(5):152-159.
[4] 連克強(qiáng).基于Boosting的集成樹算法研究與分析[D].中國地質(zhì)大學(xué)(北京),2018
[5] 王華勇,楊超,唐華.基于LightGBM改進(jìn)的GBDT短期負(fù)荷預(yù)測研究[J].自動(dòng)化儀表,2018,39(9):76-78,82.
[6] 周飛燕,金林鵬,董軍.卷積神經(jīng)網(wǎng)絡(luò)研究綜述[J].計(jì)算機(jī)學(xué)報(bào),2017,40(6):1229-1251.
[7] 林珠,邢延.數(shù)據(jù)挖掘中適用于分類的時(shí)序數(shù)據(jù)特征提取方法[J].計(jì)算機(jī)系統(tǒng)應(yīng)用,2012,21(10):224-229.
[8] 王毅,謝娟,成穎.結(jié)合BI-LSTM和CNN混合架構(gòu)的深度神經(jīng)網(wǎng)絡(luò)語言模型[J].情報(bào)學(xué)報(bào),2018,37(2):194-205.