任金虎 李亞楠 王艷玲

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