朱鵬軍
摘要:用戶畫像是數(shù)據挖掘領域非常重要的研究領域,該文通過對工業(yè)用戶行為數(shù)據的分析與研究,提出了一種用戶特征分析方法,通過結合集成學習中的隨機森林方法,達到非常好的預測結果!與邏輯斯回歸、支持向量機、梯度提升決策樹等方法的進行對比,本方法無論是在預測效果上,還是在訓練時間上,都具有壓倒性的優(yōu)勢。
關鍵詞:機器學習;用戶畫像;性別預測
中圖分類號:TP311 文獻標識碼:A 文章編號:1009-3044(2018)02-0158-03
隨著大數(shù)據時代到來,產生了越來越多的數(shù)據,這些看上去雜亂無章的數(shù)據,工程師可以通過利用機器學習算法挖掘出這些數(shù)據存在的內在規(guī)律。將這項技術應用工業(yè)場景中去,可以對用戶進行精準的推薦和營銷,進而可以產生極大的經濟效益!
用戶畫像通常可以幫助企業(yè)進行精細化運作[1],而傳統(tǒng)的方法常常通用標簽來對用戶進行標記,隨著使用用戶越來越多,用戶的行為也越來越多樣化,傳統(tǒng)的方法在準確率差的弊端越來越明顯。例如,通過對某個流行游戲的性別比例、年齡分布等進行可視化,可以為企業(yè)分析決策提供理論依據,轉化為實際價值和效益。
本文研究的任務屬于人工智能人物畫像中的性別預測,即通過統(tǒng)計機器學習方法給未帶性別標簽的數(shù)據打上性別標簽。本文的創(chuàng)新與貢獻有兩個:第一、使用工業(yè)數(shù)據進行建模挖掘,這些數(shù)據是通過爬取而來,將該數(shù)據集進行脫敏處理,供學術界進行研究使用。第二、根據數(shù)據的特點,提出一種新的行為特征表征思路,即將用戶行為特征離散化處理,映射到高維空間,最后結合集成學習中的隨機森林方法進行建模,取得了非常好的效果!由于面對的是真實的工業(yè)數(shù)據,更加貼近實際,故可以將該方法應用到類似的工業(yè)場景中去。
1 概述
本研究任務在機器學習領域中,該任務屬于分類任務。常見的分類算法[2]有感知機、邏輯斯回歸(LR)、支持向量機(SVM)、決策樹(DT)等等。此外,還有一類綜合了幾種弱分類器的集成方法[3],它可以將多個基學習器進行線性組合,進而構建出一個強大的學習器。最常見的集成學習方法有Bagging和Boosting方法,Bagging的代表方法有隨機森林(RF),Boosting的常見方法有Adaboost、梯度提升決策樹(GBDT)等。
用戶行為特征具有以下特點:第一、數(shù)據分布不均勻。有些數(shù)據極度不均衡,導致無法直接應用到模型中去。第二、數(shù)據質量差,數(shù)據常常有定性和定量特征。。在面對這種特點的工業(yè)數(shù)據時,我們思路常常是將基于用戶來進行數(shù)據挖掘分析,但本文實踐表明,這種方法取得的效果并不好!本文的研究思路是將用戶數(shù)據特征離散化處理,即在處理數(shù)據時不再基于每一個用戶所有特征來進行用戶挖掘,而是基于每一條用戶的行為特征來進行處理。這樣做的好處可以將數(shù)據從線性不可分轉化為線性可分。
在機器學習過程中,特征分為定性特征和定量特征。定性特征和定量特征都是能在某種程度上反應用戶的行為特性及規(guī)律,它們的區(qū)別在于是否是數(shù)值型。定性特征常常是一個字符串,所有定性特征可看作為一個標記符來處理。對定性特征處理最常用的方法是獨熱編碼,又稱啞編碼。定量特征的處理往往沒有這么復雜,最常見的處理就是進行標準化,或進行縮減處理。
定性特征和定量特征都是用戶的行為特征,但不是所有用戶特征對于預測性別都有幫助:有的特征在模型時所起的作用很小,有時還起到負面的作用,例如用戶各種行為的ID號。這時就需要從這些特征中找出重要的特征,這用到特就會用到特征降維,如組成成分分析,特征重要性排序等方法。
2 模型訓練
2.1 建模思路
在對用戶特征處理之后,如何對這些數(shù)據進行建模,是整個研究的核心組件之一,而建模就是找出這些數(shù)據內在規(guī)律。本文在選用模型時,使用了機器學習中常見的算法,做了兩組對比實驗:第一、基于用戶所有的行為特征進行建模。第二、基于用戶的每一條行為特征進行建模。
基于用戶所有的行為特征來建模,需要將數(shù)據集進行合并整理。從邏輯上來講,基于用戶所有的行為特征相當于將一個時間窗內的所有用戶行為特征整合在一起,通過這種方式,能夠更加直觀的對人物表征,并且這個建模方法更符合人們的正常邏輯思維。
2.2 建模方法
由于本研究的問題屬于分類問題,所以下面就使用一些常見的分類方法進行實現(xiàn)研究。
2.2.1 邏輯斯回歸
邏輯斯回歸[3]是個常見的分類方法,良好的性能以及訓練效率,使得它成為一個非常受歡迎的分類方法。假設帶有標簽訓練數(shù)據集[T={(x1,y1),(x2,y2),...,(xn,yn)}]:
[f(x)=g(wTx)] (1)
[g(z)=1/(1+exp(-z))] (2)
在式1中,w和x分別是參數(shù)和特征向量,x是已知的。在式2中,g(z)是sigmoid函數(shù)。邏輯斯回歸是的損失函數(shù)L([θ])是對數(shù)損失函數(shù),通過使用隨機梯度下降法作為最優(yōu)化方法求出參數(shù),如式3
[L(θ)=i=1nyi(θTxi)-inlog(1+exp(θTxi))] (3)
2.2.2 支持向量機
支持向量機[4]是也工業(yè)界常用的分類算法,它是定義在特征空間上的間隔最大化的分類器。假設帶有標簽訓練數(shù)據集[T={(x1,y1),(x2,y2),...,(xn,yn)}]。SVM的優(yōu)化目標就是分離超平面的間隔最大化,其目標函數(shù)即為式(4):
[minw,b 12||w||2] (4)
[s.t yi(w.xi+b)-1≥0, i=1,2...N] (5)
在式(4)中,w和x分別是參數(shù)和特征向量,x是已知的。在求解上式的參數(shù)時,可以通過應用拉格朗日對偶性進行平滑處理,進而得到原始問題的最優(yōu)解。endprint
2.2.3 梯度提升決策樹
梯度提升決策樹[5]是集成學習中boosting族的算法,在分類和回歸中應用極廣,其原理是計算損失函數(shù)的負梯度在當前模型的值,將它作為殘差的估計。梯度提升方法在迭代優(yōu)化過程中采用了梯度計算而非加權計算,通過在每一步的殘差減少的梯度方向上訓練新的基學習器,最后通過集成得到強學習器。GBDT的預測函數(shù)如式(6):
[F(x;P)=F(x;{βm,βm}M1)=m=1Mβmh(x;αm)] (6)
在上式中,[F(x;P)]表示以P為參數(shù)的x的函數(shù),即我們的預測函數(shù)。GBDT模型是由每輪迭代的弱分類器線性組合而來,[β]表示每個模型的權重,[α]表示模型里面的參數(shù)。該模型的損失函數(shù),即為式(8):
[P*=argmin(Φ(P))] (7)
[Φ(P)=Ex,yL(y,F(xiàn)(x;P))] (8)
上式[Φ(P)]表示P的似然函數(shù),即[F(x;P)]的損失函數(shù)。另外求解參數(shù)的優(yōu)化方法為梯度下降法。GBDT算法幾乎適用于所有的回歸問題,比較適用于二分類問題。
2.2.4 隨機森林
隨機森林[6]是由多棵決策樹組成的集成分類器[{h(x,Θk),k=1....}],每一個棵樹都是一個基分類器[h(x,Θk)],各個分類器之間是相互獨立的,將每個基分類器的分類結果進行投票獲取最終的分類結果。
構建隨機森林的過程也是逐步構建決策的過程,從原始數(shù)據集中,進行Bootstrap方法進行有放回的抽取k個新的樣本,由此構建出一個決策樹。將上述步驟不斷的迭代,然后構建出m棵樹,進而由這些樹構建出隨機森林[7],如圖1所示。
隨機森林算法中的隨機采樣樣本以及隨機抽取樣本特征,在某種程度上保證了模型的泛化能力。式(9)說明了使用多數(shù)投票決策的方式來 確定最終的分類。
[H(x)=argmaxYi=1kI(hi(x)=Y)] (9)
其中, [H(x)]表示組合分類模型,[hi(x)]是單個決策樹分類模型,Y表示輸出變量(或稱目標變量)。隨機森林除了做分類器外,還可以輔助給特征重要性排序和特征選擇[8]。
3 實驗結果與分析
3.1 數(shù)據集描述
訓練數(shù)據集有30萬條用戶行為數(shù)據,每條數(shù)據是一個用戶行為記錄,測試集有5萬條用戶行為數(shù)據。每個用戶大約各有7條行為記錄。
在表1中,表頭中,D_i表示用戶設備的device_id,A_p表示用戶使用的App_name,d_b_n表示device_brand_name,p_n表示用戶所在的省份province_name,n_n表示用戶使用的網絡。當基于每一個用戶的行為記錄進行建模時,需要進行合并處理,依據每個用戶的devide_id進行合并。
3.2 實驗結果分析
基于用戶行為特征對用戶的性別進行預測是一個二分類問題,而對與二分類問題常用的評價指標是精準率(P)、召回率(R)[3]。分類器在測試數(shù)據集上的預測或正確或不正確,四種情況出現(xiàn)的總數(shù)分別記作:
TP:將正類預測為正類數(shù);
FN:將正類預測為負類數(shù);
FP:將負類預測為正類數(shù);
TN:將負類預測為負類數(shù);
P和R代表精準率和查全率,它們的定義如公式(10-11)所示:
P = TP/(TP+FP) (10)
R = TP/(TP+FN) (11)
另外,F(xiàn)1代表精準率和召回率的調和平均數(shù),如公式(12)所示:
F1 = 1/P + 1/R1 (12)
另外,我們使用正確率(acc)來表示分類器正確分類的樣本數(shù)和總樣本數(shù)之比。
使用以上指標,分別對每一個模型進行評估,下面分別對兩種不同的特征工程進行評估:(1)首先,用以上評估指標對用戶所有行為記錄進行建模評估,各項指標如表3所示:
從表3可以看出,幾種算法的表現(xiàn)都不是很令人滿意,其中LR和RF的精準率最高,均比精準率最低的SVM高了0.2個百分點左右。召回率最高的是SVM和GBDT模型,說明預測集中所有男性都被預測了出來。另外,F(xiàn)1和準確率兩個指標的表現(xiàn)類似,但是總體來說,以上常見模型的表現(xiàn)并不能令人感到滿意。
(2) 其次,使用以上評估指標對用戶每一條行為記錄進行建模評估,各項指標如表2所示:
從表2中,相對于表3,可以看出,各評估指標都有課明顯的提升。其中,隨機森林算法模型提升效果最為顯著,準確率提升了29.1%,精準率提升了26.16%,召回率和F1值也提升了20%左右。
從以上實驗可以看出,使用集成學習中的RF方法對用戶每一條行為記錄進行建模,相比其他模型來講,可以對用戶的性別進行有效的預測。該方法可以將若干弱分類器進行集成,通過減小每次迭代的方差提升效果。此外,基于用戶的每一條行為記錄進行建模,可以增大某個特征類別比重。在訓練時間上,隨機森林的訓練時間最短,效率最高。
4 未來工作
工業(yè)中的數(shù)據比較復雜,雖然在該任務取得了非常不錯的效,但是本文在對特征的處理上仍然存在著一定的缺點:當數(shù)據中的某一列特征的類別非常多時,編碼后特征維度就會非常大,整個特征矩陣就會非常稀疏,在模型訓練時耗內存和耗時非常嚴重。下一步研究思路是將這些高基數(shù)的特征類別進行壓縮,該思路可以有效可降低特征維度。同時,降低訓練機器的內存消耗,訓練時間。
參考文獻:
[1] 黃文彬,徐山川,吳家輝,等.移動用戶畫像構建研究[J].現(xiàn)代情報, 2016,36(10):54-61.
[2] 周志華,王玨.機器學習及其應用[M].清華大學出版社,2009.
[3] 李航.統(tǒng)計學習方法[M].清華大學出版社,2012.
[4] C.Cortes and V.Vapnik. Support vector networks.Machine Learning, 20:1-25, 1995.
[5] Friedman J H. Greedy function approximation: A gradient boosting machine.[J]. Annals of Statistics, 2001, 29(5):1189-1232.
[6] BreimanL.RandomForest[J].Machine Learning,2001, 45:5-32.
[7] 方匡南,吳見彬,朱建平,等.隨機森林方法研究綜述[J].統(tǒng)計與信息論壇, 2011, 26(3):32-38.
[8] 姚登舉,楊靜,詹曉娟.基于隨機森林的特征選擇算法[J].吉林大學學報(工), 2014, 44(1):137-141.endprint