高 潔,張 濤,程新洲,關(guān) 鍵(中國聯(lián)通網(wǎng)絡(luò)技術(shù)研究院,北京100048)
隨著移動網(wǎng)絡(luò)和智能手機的迅速發(fā)展,幾乎每個人都離不開手機。咨詢公司的報告顯示,在近5年的時間里,智能手機在移動市場的滲透率已經(jīng)從2014年的50%上升到2019年的80%,到2019年底,預(yù)計將達(dá)到85%。在日常生活中,人們幾乎每天都在使用手機瀏覽網(wǎng)頁、聊天和網(wǎng)上購物,手機的上網(wǎng)數(shù)據(jù)可以直觀地反映用戶的屬性特征和行為偏好。因此,運營商可以通過智能網(wǎng)管平臺采集移動用戶終端APP安裝列表、APP使用記錄、終端類型和終端價格等數(shù)據(jù),再結(jié)合GiHtub上開源的機器學(xué)習(xí)算法,便可以開展移動用戶的精準(zhǔn)畫像工作,例如預(yù)測用戶的年齡、性別等信息,這些在精準(zhǔn)營銷中是非常重要的客戶標(biāo)簽屬性。它不僅可以幫助互聯(lián)網(wǎng)公司了解用戶的行為特征,迭代開發(fā)產(chǎn)品,還可以幫助企業(yè)提高廣告投放的精準(zhǔn)度,從而節(jié)約廣告投資成本。
在機器學(xué)習(xí)算法領(lǐng)域,監(jiān)督學(xué)習(xí)算法中最常用的2類算法為回歸(Regression)算法和分類(Classification)算法?;貧w和分類的算法區(qū)別在于輸出變量的類型,定量輸出或者連續(xù)變量預(yù)測稱為“回歸”;定性輸出或者離散變量預(yù)測稱為“分類”。而對移動用戶年齡和性別的預(yù)測過程是一個典型的分類問題,因此,可以利用分類算法對移動用戶的年齡和性別進(jìn)行精準(zhǔn)預(yù)測。
目前比較流行的分類算法包括經(jīng)典的決策樹、集成學(xué)習(xí)Boosting算法中的梯度提升樹(GBDT——Gradient Boosting Decision Tree)算法和極端梯度提升(XGBOOST——eXtreme Gradient Boosting)算法。其中,GBDT算法通過多輪迭代,每輪迭代產(chǎn)生一個弱分類器,后續(xù)每個分類器在上一輪分類器的殘差基礎(chǔ)上進(jìn)行訓(xùn)練,如圖1所示。
圖1 GBDT的模型訓(xùn)練過程
XGBOOST算法是GBDT的改進(jìn),它是大規(guī)模并行boosted tree的工具,是目前最快最好的開源boosted tree工具包。在XGBOOST之后,微軟公司又提出了一種LightGBM算法來增強GBDT的性能。LightGBM是一個實現(xiàn)GBDT算法的框架,支持高效率的并行訓(xùn)練,并且具有更快的訓(xùn)練速度、更低的內(nèi)存消耗、更好的準(zhǔn)確率以及支持分布式海量數(shù)據(jù)處理的能力。首先它拋棄了GBDT算法使用的按層生長的決策樹生長策略,而使用了帶有深度限制的按葉子生長算法,以加速訓(xùn)練過程,減少內(nèi)存使用。因此,基于以上集成機器學(xué)習(xí)算法優(yōu)劣勢比較,提出了一種基于LightGBM機器學(xué)習(xí)算法的預(yù)測用戶年齡和性別的方法。
為了提高算法模型預(yù)測的準(zhǔn)確性,筆者采用了LightGBM機器學(xué)習(xí)算法和交叉驗證的訓(xùn)練方式。該模型算法的整體流程框架如圖2所示,整個模型訓(xùn)練過程可分為5個步驟:數(shù)據(jù)收集、特征工程、模型訓(xùn)練、交叉驗證和精度評價。
運營商通過智能網(wǎng)管平臺可實時采集到用戶的基本屬性,如用戶標(biāo)識、終端品牌、終端子品牌、終端價格、性別、年齡以及用戶的業(yè)務(wù)信息(APP的安裝列表、APP所屬類型、APP所屬子類型、APP的訪問時間和結(jié)束時間記錄)。當(dāng)然,用戶的年齡和性別信息只在訓(xùn)練集中存在,在預(yù)測集中是目標(biāo)預(yù)測結(jié)果。本次研究收集了近73 000名Android用戶的基本屬性和業(yè)務(wù)信息,其中有5萬名用戶提供了性別和年齡信息,其中男性用戶32 324人(占64.6%),女性用戶17 676人(占35.4%)。
表1和表2展示了智能網(wǎng)管平臺采集到的用戶基本屬性和業(yè)務(wù)信息,在后續(xù)的流程中,將用這些數(shù)據(jù)去訓(xùn)練預(yù)測模型。
圖2 用戶年齡及性別預(yù)測算法的整體流程框架
表1 用戶基本屬性
表2 用戶業(yè)務(wù)信息
特征工程是機器學(xué)習(xí)研究課題中最重要的部分。在這一過程中需要找到最能反映分類本質(zhì)的特征來完成原始數(shù)據(jù)的分類工作??傊卣鞴こ痰难芯渴欠窬?xì),會直接影響到模型的預(yù)測性能。因此,首先對有5萬用戶的訓(xùn)練數(shù)據(jù)集進(jìn)行大數(shù)據(jù)挖掘分析。
將男性和女性用戶分別表示為1和2,同時,將每個用戶群體的年齡按10年為一個段進(jìn)行劃分。例如,在25~30組的使用者會在年齡特征中以3表示,如表3所示。
通過對用戶基本屬性以及業(yè)務(wù)信息進(jìn)行分析,發(fā)現(xiàn)了不同性別和不同年齡段對終端品牌的傾向分布規(guī)律,分別如圖3和圖4所示。從圖3可以看出華為、小米、三星占領(lǐng)了安卓智能手機的主要市場份額,其中,使用小米手機的男女性別占比分別為20.5%和18.7%。從圖4可以看出對于1~5年齡組的用戶來說,小米、三星品牌呈現(xiàn)“齊頭并進(jìn)”的趨勢,而8~10年齡組又呈現(xiàn)出“反轉(zhuǎn)”的走勢,這主要是受樣本數(shù)量的影響。
接下來對用戶APP安裝列表進(jìn)行了分析,不同性別安裝APP類型的分布情況如圖5所示。對于圖5中的男性用戶來說,最受歡迎的3類應(yīng)用是社交、購物和應(yīng)用管理。而對于圖5的女性用戶而言,社交、購物和健康類APP深受關(guān)注。當(dāng)然,這種市場規(guī)律的分布是由不同的生活習(xí)慣、思維方式所決定的。
表3 年齡、性別的分組映射關(guān)系表
圖3 不同性別對終端品牌的傾向性分析
圖4 不同年齡對終端品牌的傾向性分析
圖5 不同性別對APP類型的傾向性分析
本文研究了包括GBDT、XGBOOST和LightGBM 3種最常用的機器學(xué)習(xí)算法的區(qū)別和特點,通過比較預(yù)測精度和復(fù)雜度,最終選擇了LightGBM作為整個模型的核心算法,并通過Python實現(xiàn)數(shù)據(jù)處理和模型訓(xùn)練。其中,Python中的LightGBM參數(shù)設(shè)置如表4所示。
表4 LightGBM的參數(shù)設(shè)置
在此步驟中,采用交叉驗證的方式來優(yōu)化LightGBM算法迭代分類過程中特征間的不同權(quán)重情況。將訓(xùn)練數(shù)據(jù)集分為5份,其中的1份用于模型訓(xùn)練,其余4份數(shù)據(jù)用于驗證模型精度。
為了明確模型訓(xùn)練后的精準(zhǔn)性,采用損失函數(shù)評估其分類精度。損失函數(shù)如式(1)所示。
其中,N是預(yù)測集中的用戶數(shù),j是按性別和年齡劃分的不同用戶組數(shù),yij是一個布爾值,表示用戶是否屬于這一個年齡—性別組,pij是由模型計算出的該用戶屬于這一年齡—性別組的概率。在模型訓(xùn)練過程中,通過損失函數(shù)計算出該次訓(xùn)練的分類精度。
本文對實際用戶的基本屬性和業(yè)務(wù)信息等數(shù)據(jù)進(jìn)行了分析挖掘,提出了一套基于機器學(xué)習(xí)算法的用戶年齡及性別的預(yù)測方法,并通過Python數(shù)據(jù)挖掘工具實現(xiàn)整體流程。通過調(diào)用Sklearn工具包中的機器學(xué)習(xí)模型,對比不同繼承算法下的模型的精準(zhǔn)性,結(jié)果如圖6所示。
圖6 不同集成算法下模型精準(zhǔn)性的差異
從圖6可以看出,整體模型算法的精準(zhǔn)性將隨著特征的不斷積累而得以提升,而且圖5所列舉的特征都是對分類有增益的,對結(jié)果有干擾的特征已經(jīng)被排除。通過不斷的特征迭代訓(xùn)練,使用LightGBM算法的最佳損失函數(shù)可以控制在2.78左右,是整個研究過程中能達(dá)到的最佳結(jié)果。
本文提出了一種基于大數(shù)據(jù)分析和機器學(xué)習(xí)算法的用戶性別和年齡的預(yù)測方法。該算法框架基于集成算法對移動用戶的年齡和性別進(jìn)行預(yù)測,最佳結(jié)果可以將損失函數(shù)控制在2.78左右。同時,如果在后續(xù)的研究中引入更多、更豐富的數(shù)據(jù),整體模型的精準(zhǔn)性還可以進(jìn)一步提升。該模型算法可以豐富用戶的標(biāo)簽信息,不僅可以幫助互聯(lián)網(wǎng)公司了解用戶的行為特征,迭代開發(fā)產(chǎn)品,還可以幫助企業(yè)提高廣告投放的精準(zhǔn)度,從而節(jié)約廣告投資成本。