高 和,籍漢超,陳 玲(.中國聯(lián)通研究院,北京 00048;.億覽在線網絡技術(北京)有限公司,北京000)
隨著數據“爆炸式”增長的信息時代的到來,運用人工智能技術從海量數據中獲取價值信息,進而推動業(yè)務發(fā)展、支撐運營決策,已成為企業(yè)發(fā)展的關鍵。例如,今日頭條既沒有傳統(tǒng)媒體的內容優(yōu)勢,也沒有門戶網站的海量用戶資源,卻憑借數據挖掘和個性化推薦技術迅速崛起,成為移動端資訊市場中的一匹“黑馬”;網易云音樂雖然在音樂版權方面不具優(yōu)勢,并受到阿里與騰訊兩大巨頭的夾擊,但憑借精準多樣的推薦和基于大數據的優(yōu)質運營,在中國數字音樂市場占有著一席之地。
對于通信運營商而言,覆蓋全國的移動網絡承載著上億級用戶,人工智能中的機器學習工具可幫助運營商分析用戶特征、建立用戶畫像。目前,運營商在用戶性別及年齡判斷、用戶離網預測、用戶網絡滿意度分析等方面已經形成了一些研究成果,這些成果對企業(yè)了解用戶,制定用戶維系挽留策略,制定感知提升策略提供了依據,體現(xiàn)了機器學習的應用價值。
當然,這些研究成果遠遠不夠,還有更多的領域需要人工智能的協(xié)助支撐,例如,在用戶變更業(yè)務套餐的意向方面,目前還鮮有研究。如果能事先洞察用戶的套餐變更需求,甄選出其中需要升級套餐內容和價格的用戶,就能夠提升營銷推薦的精準度,增強關懷服務的主動性,提高用戶向高ARPU 套餐的轉化率。鑒于此,本文在綜合應用邏輯回歸、因式分解機、深度神經網絡3種機器學習算法的基礎上,提出用戶是否會向高ARPU 套餐升級的預判模型,并使用移動網絡業(yè)務域的真實用戶數據驗證了模型的有效性與準確性。
在預測移動用戶變更套餐的意向時,本文將其轉化為一個二分類問題,即套餐升級與否,常用的分類模型有:以邏輯回歸算法為代表的線性模型、以梯度提升樹為代表的樹模型、以樸素貝葉斯為代表的貝葉斯模型、以神經網絡為代表的深度學習模型等。不同模型適合于不同的場景:線性模型相對簡單,計算量小,更適合輸入特征多、樣本數據量大的場景,但如果特征線性可分性差,則容易欠擬合;樹模型的優(yōu)勢在于可解釋性強,非線性擬合效果好,但對于缺失數據十分敏感,不適用于特征量超大的場景;貝葉斯模型在小規(guī)模數據上表現(xiàn)較好,如果數據規(guī)模很大,一般建議使用其他模型;近年來,隨著云計算的發(fā)展,計算能力得到了前所未有的增強,計算量很大但表現(xiàn)能力很強的深度學習模型得到了越來越多的應用。
工信部統(tǒng)計的移動電話普及率已經超過了100%,運營商擁有上億級的移動用戶信息和海量的用戶行為數據。這部分數據分為2 類,一類是連續(xù)特征數據,另一類是離散特征數據。連續(xù)特征可以經過簡單的處理直接輸入到機器學習模型,但離散特征——比如用戶職業(yè)特征(教師、工人、職員等),則需要獨熱(One-hot)編碼數字化處理后才能輸入。One-hot 編碼,即使用N位狀態(tài)寄存器來對N個狀態(tài)進行編碼,比如使用[1,0,0,...]代表教師、[0,1,0,...]代表工人等等。經過獨熱處理后,一維特征會轉化為多維特征,而維度的個數跟離散特征的取值個數有關,其中大部分取值為零,因此會產生嚴重的特征稀疏問題。
因此,本文選取了較為經典的、適用于大規(guī)模數據和稀疏特征的3 種分類算法(邏輯回歸、因式分解機、深度學習神經網絡)進行研究對比。
邏輯回歸(LR——Logic Regression)是傳統(tǒng)機器學習中的一種分類模型。邏輯回歸以樣本特征的線性組合作為自變量,使用sigmoid 函數將自變量映射到(0,1)上,其預測函數為:
模型假設預測函數的值即為結果為1的概率。
邏輯回歸算法參數個數較少,具有計算量小、計算速度快、占用存儲資源少、易于并行等特點,在處理超多維度特征問題上有獨到的優(yōu)勢,在生產環(huán)境中有非常廣泛的應用空間。但模型本身一方面對特征與預測結果的線性相關性依賴性很高,另一方面無法表達特征直接的組合關系,因此對人工特征處理提出比較高的要求。
因式分解機(FM——Factorization Machine)是對邏輯回歸模型的擴展。因式分解機基于邏輯回歸,加入了特征兩兩交叉的交叉項,其自變量擴展為:
為適應高維稀疏特征,基于矩陣分解原理提出隱藏矩陣v代替參數矩陣Θ,令
其中m為隱藏矩陣深度,可以根據實際情況進行調整。
在一般的線性模型中,各個特征是獨立考慮的,沒有考慮特征與特征之間的相互關系。但實際上,大量的特征之間是有關聯(lián)的。以用戶年齡與終端類型為例,一般年輕人關注手機的運行內存,并樂意購買新上市的機型,而老人可能更偏愛蓄電時間長、功能簡易的機型。很明顯,用戶年齡特征與終端類型特征之間有一定關聯(lián)關系。與線性模型相比,因式分解機能夠找出有關聯(lián)的特征組合,顯然是很有意義的。
邏輯回歸等淺層學習模型雖然簡單有效,但是一個重要特點是依靠人工經驗預先提取出樣本數據的特征,特征提取的好壞就成為影響整個模型系統(tǒng)性能的重要因素,為此,通常需要開發(fā)人員耗費精力、深入理解待解決的問題,才能提取出合適的特征以便淺層模型處理。
深度學習,其實質就是包含很多隱層結構的機器學習模型。層次化的結構使其可以通過學習和組合低層特征,形成更為深層意義、更加抽象的高層特征,最后得到數據的分布式特征表示的一種特殊網絡模型。和人工特征提取方法相比,深度學習通過大量數據訓練提取特征對數據中的豐富內在信息更有代表性,從而提高了分類和預測的精度。
深度學習最基礎的模型為神經網絡(NN——Neu?ral Network)。神經網絡可看作一系列邏輯回歸的網狀組合,圖1展示了一個三層神經網絡的結構,圖中節(jié)點的計算方式為:
其中g(*)與f(*)為激活函數,可能為sigmoid 函數,也可能根據實際需要調整為其他形式。
圖1 神經網絡結構圖
從網絡連接關系可以看出,如果選取的激活函數是非線性函數,只要網絡結構足夠復雜,神經網絡可以表示任意的非線性和特征組合關系。
本文數據集來自移動網絡業(yè)務域的用戶數據。采用用戶畫像特征(省份、性別、年齡、職業(yè)、手機等)、2018 年某月的用戶運營信息(套餐、VIP 級別、付費類型等)、和該月份用戶消費情況(月話費、月流量值、月通話時長等),共70 個維度作為用戶特征。由于沒有進行實地推廣實驗,所以采用一年后該月份仍在網、轉換了套餐、并且該月總流量大于等于30 GB 并且消費大于等于129 元(5G 最低消費套餐標準)的用戶近似作為正樣本,取得數據共1 000 萬條。用戶升級預判系統(tǒng)的整體處理流程如圖2所示。
圖2 用戶升級預判系統(tǒng)流程
首先進行數據清洗:部分用戶并沒有任何升級意向,如行業(yè)用戶、合約一年后仍在期用戶等需要剔除;還有部分用戶活躍度很低,(對于預測目標)升級幾率很小,比如每月話費小于40 元、月流量小于100 MB 的用戶,也將其去除。最終剩余樣本數140.88 萬條,其中正樣本2.21萬條,其余為負樣本。
然后根據樣本特征的不同類型分別進行處理。對于離散值特征,如性別、職業(yè)等,先將其標簽轉化為數字,然后再使用獨熱編碼將一維特征轉化為多維。比較特殊的是,有些特征可能包含的標簽種類很多,而長尾標簽包含的樣本又很少(如手機型號),此時需要截取頭部標簽再進行獨熱編碼,其余長尾標簽統(tǒng)一編碼為未知。對于連續(xù)值特征,如年齡、月流量值等,有2 種處理方式:對于年齡等數值大小對比非線性的特征,按高低分為若干個區(qū)間,等同于離散特征,將各數值區(qū)間進行獨熱編碼;對于數值相對線性度較高的特征,可以剔除一部分(比如頭部2%)的異常值,然后使用最大值-最小值法進行歸一化處理。本文采用的數據集中每條樣本收集到原始特征共77個,經過獨熱編碼處理后,每條樣本的特征維度擴展為18 959維。
將樣本數據按比例7∶2∶1 分為3 份,分別作為訓練集、驗證集和測試集,如表1所示。其中訓練集用來對模型進行訓練;驗證集則在訓練過程中對訓練模型進行驗證,提前終止訓練,令模型保持在最優(yōu)狀態(tài);測試集則對各個模型進行評估。由于正負樣本數量相差懸殊(達到1∶62),直接輸入模型,如果模型將所有樣本都預測為負樣本,則準確率就能達到98.3%,顯然不是期望的目標。因此在訓練過程中,一般對負樣本進行隨機采樣,使得正負樣本比例達到1∶1。測試集則不需要采樣處理。
表1 數據集劃分
本文使用邏輯回歸、因式分解機與四層神經網絡來訓練模型。設定:因式分解機的隱藏矩陣深度為32,神經網絡隱藏層層數為2,每層節(jié)點數大小分別為256 與32,學習率(Learning Rate)為0.02,使用隨機梯度下降(Stochastic Gradient Descent)優(yōu)化算法,批處理大?。˙atch Size)32,累積訓練50輪次。各模型超參數量和可訓練參數量(一定程度上代表模型復雜度)對比如表2所示。
圖3 與圖4 比較了邏輯回歸、因式分解機、神經網絡3 個模型在訓練過程中,訓練數據集的準確率與驗證數據集準確率變化情況。
可見,越復雜的模型(一般等同于可訓練參數更多的模型),最大準確率越高。在驗證集上,神經網絡的準確率可達84.35%,而邏輯回歸的準確率最高只有82.84%。并且越復雜的模型收斂速度也越快。神經網絡可以在第1 次迭代后就達到了80%的準確率,因式分解機需要3 次迭代,邏輯回歸則需要5 次。同時,越復雜的模型,在訓練過程中也愈加不穩(wěn)定,也更可能達到過擬合狀態(tài)(即訓練集準確率上升,驗證集準確率不再上升或下降)。
圖3 基于訓練數據集的模型準確率對比
圖4 基于驗證數據集的模型準確率對比
由于模型最簡單,邏輯回歸模型基本沒有出現(xiàn)過擬合狀態(tài),訓練集準確率和驗證集準確率基本一直在增長,并且相差不大。與之對比,因式分解機隨迭代次數增加,訓練集準確率一直在上升,但驗證集準確率到20次迭代基本就保持穩(wěn)定,并且最大驗證集準確率跟邏輯回歸相近,說明本實驗中數據對于交叉特征并不敏感,所以加入交叉特征對驗證集準確率提升不大,但由于模型更加復雜,所以訓練集準確率能夠達到更高的水平。使用神經網絡后,由于不僅能匹配交叉特征(與預測結果間的關系),還能匹配非線性特征,所以驗證集準確率有了進一步提升。當然由于模型進一步復雜化,過擬合現(xiàn)象同樣難以避免。
對于訓練到最優(yōu)狀態(tài)的模型,邏輯回歸、因式分解機、神經網絡的ROC 曲線如圖5 所示。AUC 值分別為0.899 6、0.901 9、0.920 2,結果都比較理想,說明選取的特征能比較好地區(qū)分出正負樣本,并且(對于連續(xù)特征來說)線性相關度比較高。
圖5 模型ROC曲線對比
事實上,上述通用評估指標并不太適用于本文的建模目的。本文最終目的是希望建立一個模型,使得可以使用較小的推廣成本,即較少的推廣人數,覆蓋盡可能多的目標用戶,因此對于在相同推廣人數情況下能更加關心覆蓋到的目標用戶數(正確召回人數)和覆蓋的目標用戶數占所有目標用戶的比例(正確召回率),而并不在意對于負樣本的預測情況。為有效評估模型質量,使用沒有參與訓練過程的測試集進行評估,目標為通過預測排序來使用更少的推廣用戶覆蓋盡量多的目標用戶。為了對比基于機器學習方法的模型與基于一般規(guī)則的模型的效果差異,采用用戶月流量值(DOU)排序與月消費(ARPU)排序作為基于一般規(guī)則的模型,對比情況如圖6所示。
圖6 模型召回量對比
使用機器學習模型,向測試數據集中的10 000 個用戶做推廣時,能覆蓋934~1 089 個目標用戶,召回率達到50%,但同樣情況下使用規(guī)則模型,只能覆蓋241~348 個目標用戶,召回率只有10%~15%。在給30 000 人做推廣活動時,機器學習模型能覆蓋1 431~1 607個目標用戶,召回率65%~72%,使用規(guī)則模型只能覆蓋530~1 036 個用戶,召回率24%~47%??梢娛褂脵C器學習模型的效果遠遠優(yōu)于使用規(guī)則排序的模型。
本文提出了一種基于機器學習的用戶升級預測方法,使用邏輯回歸、因式分解機、深度神經網絡3 種算法實現(xiàn)了該方法,預測準確率分別可達82.84%、83.14%、84.35%,AUC 分別達到89.96%、90.19%、92.02%,并且3 種算法的召回效果都遠優(yōu)于傳統(tǒng)的ARPU/DOU 排序模型。實驗對比可見,神經網絡算法的預測表現(xiàn)最佳,但算法復雜度高,耗費時間和算力更多,邏輯回歸算法的預測結果與神經網絡算法的差距并不明顯,因此,邏輯回歸其實已經可以滿足一般化的使用要求,如果對邏輯回歸的預測精準度不夠滿意,則可以使用更復雜的因式分解機或神經網絡進一步優(yōu)化預測效果。該研究結果適用于挖掘潛在高價值(高ARPU)用戶,為運營商制定營銷服務策略和網絡保障方案提供了依據。尤其在5G 商用初期,結合5G 套餐特征,本預測模型可拓展應用于推薦5G 潛力用戶,從現(xiàn)網用戶中挖掘出有需求、有能力、有興趣使用5G套餐的用戶,這對于運營商推廣5G業(yè)務、爭奪首批用戶具有重要意義。