鞏珂,王霞
(1.北方工業(yè)大學(xué)信息學(xué)院,北京100144;2.中共湖南省委黨校湖南行政學(xué)院,長沙410006)
隨著電商技術(shù)的快速發(fā)展,用戶畫像技術(shù)逐漸興起。從電子商務(wù)應(yīng)用的特征出發(fā),對互聯(lián)網(wǎng)數(shù)據(jù)進(jìn)行分析,基于分析結(jié)果對用戶進(jìn)行畫像,并根據(jù)結(jié)果對用戶進(jìn)行有針對性的服務(wù),來提高電商平臺的效益,是現(xiàn)如今電子商務(wù)平臺的發(fā)展趨勢。2015年,“互聯(lián)網(wǎng)+”寫進(jìn)政府工作報告,對知識產(chǎn)權(quán)等傳統(tǒng)服務(wù)行業(yè)產(chǎn)生了巨大的影響,出現(xiàn)了一批潛力巨大的新型“互聯(lián)網(wǎng)+知識產(chǎn)權(quán)”企業(yè)。如何利用互聯(lián)網(wǎng)的優(yōu)勢,提高知識產(chǎn)權(quán)代理企業(yè)的訂單量,提高用戶的滿意度,增強(qiáng)用戶粘性,值得我們深入探討和研究。
本文在對某知識產(chǎn)權(quán)平臺用戶進(jìn)行畫像研究時,發(fā)現(xiàn)數(shù)據(jù)存在不平衡的情況。不平衡數(shù)據(jù)指的是數(shù)據(jù)集中某一類或某些類的數(shù)量遠(yuǎn)小于其他類,通常比例低于1:2[1]。不平衡分類問題在醫(yī)療診斷[2]、信用卡欺詐行為檢測[3]、軟件缺陷檢測[4]、垃圾郵件判斷等領(lǐng)域尤其常見。傳統(tǒng)的研究方法以總體分類的準(zhǔn)確率為評價標(biāo)準(zhǔn),分類結(jié)果會更多地偏向多數(shù)類樣本,造成結(jié)果不夠準(zhǔn)確,難以獲得有效的分類器。本文通過對不平衡數(shù)據(jù)的處理,結(jié)合隨機(jī)森林算法,并對該算法進(jìn)行改進(jìn),提出了一種基于特征組合和SMOTE的隨機(jī)森林算法RFFCS(Random Forest based on Feature Combination and SMOTE),用改進(jìn)后的方法在用戶類型、VIP上進(jìn)行實驗。結(jié)果表明,本文所提方法在少數(shù)類的分類效果上有一定的提升。
對不平衡數(shù)據(jù)的處理一直是數(shù)據(jù)挖掘領(lǐng)域最具挑戰(zhàn)性的問題之一。由于樣本分布不平衡,多數(shù)類樣本(負(fù)樣本)在總樣本占據(jù)的比重較大,這種情況下訓(xùn)練出來的分類器不能得到很好的效果。目前比較常用的方法是從數(shù)據(jù)層面進(jìn)行改進(jìn)。對不平衡數(shù)據(jù)集進(jìn)行重構(gòu),使多數(shù)類樣本和少數(shù)類樣本達(dá)到一個數(shù)量上的平衡,以實現(xiàn)提高少數(shù)類在傳統(tǒng)分類器上的分類準(zhǔn)確率的目的。
通常的做法是對樣本進(jìn)行重采樣。包括對多數(shù)類樣本進(jìn)行的欠采樣(Under-Sampling)、對少數(shù)類樣本進(jìn)行的過采樣(Over-Sampling),以及結(jié)合了欠采樣和過采樣的混合采樣(Hybrid-Sampling)。
欠采樣的主要思想是通過某種方式選擇部分的多數(shù)類樣本組成負(fù)樣本,使其和全部的少數(shù)類樣本(正樣本)組成正負(fù)均衡的樣本子集。
隨機(jī)欠采樣(Random Under-Sampling,RUS)是最常用的方式[5],即隨機(jī)地從多數(shù)類樣本中選擇樣本。雖然RUS易于理解,操作簡單,但是存在一定的問題:隨機(jī)選擇樣本可能會遺漏多數(shù)類樣本中潛在的高價值信息,導(dǎo)致分類性能降低,特別是當(dāng)樣本的不平衡率非常高時,會嚴(yán)重影響分類器的泛化性能。因此,研究人員會通過改進(jìn)方法來彌補隨機(jī)欠采樣的缺陷。例如方昊則通過多次隨機(jī)欠采樣取代單次隨機(jī)欠采樣,提高了軟件缺陷檢測時的準(zhǔn)確率,降低了誤差[4]。
過采樣則是通過某種方法生成少數(shù)類樣本或?qū)ι贁?shù)類樣本進(jìn)行重復(fù)采樣,使其達(dá)到和多數(shù)類樣本平衡的狀態(tài)。隨機(jī)過采樣(Random Over-Sampling,ROS)是最簡單的過采樣方式[6]。ROS通過將少數(shù)類樣本隨機(jī)復(fù)制的方式,使正負(fù)類樣本達(dá)到一個平衡。ROS的缺點也顯而易見,在樣本不平衡率非常高時,生成大量相同的少數(shù)類樣本,容易造成過擬合現(xiàn)象。
為此,Chawla提出了合成少數(shù)類樣本過采樣技術(shù)[7](Synthetic Minority Oversampling Technique,SMOTE)。
SMOTE算法是在ROS基礎(chǔ)之上改進(jìn)的一種線性插值的過采樣方法。采樣過程如下:
第一步:隨機(jī)選擇一個少數(shù)類樣本x;
第二步:基于KNN算法找出距離樣本x最近的K個少數(shù)類樣本;
第三步:從上一步中的K個樣本中隨機(jī)取出一個樣本x~;
第四步:在x和x~連線上,根據(jù)如下公式,生成一個新樣本;
第五步:重復(fù)前四個步驟,直到和多數(shù)類樣本達(dá)到平衡。
SMOTE算法示意圖如圖1所示。
圖1 SMOTE算法
SMOTE算法有效地改善了ROS隨機(jī)復(fù)制新樣本造成的過擬合問題,很大程度上提高了分類器的泛化能力?;赟MOTE算法,研究人員后續(xù)提出了一系列的衍生算法,例如趙錦陽提出了SCSMOTE算法[8],先在少數(shù)類樣本中找到合適的候選樣本及其中心,然后在候選樣本與樣本中心之間產(chǎn)生新的樣本。除此之外,還 有MSMOTE、Borderline-SMOTE[9]、Safe-Level-SMOTE、TSMOTE等,其核心思想都是在特定的連線上進(jìn)行插值。
無論是過采樣還是欠采樣,在面對較為復(fù)雜的情況時,使用單一的方法不可避免地存在一定的局限性。欠采樣通過選擇部分多數(shù)類樣本的方式,容易遺漏潛在的有用信息。而過采樣也容易造成過擬合問題,降低分類器性能。混合采樣則將兩者結(jié)合在一起,在保留兩者優(yōu)點的情況下,彌補兩者的缺點,通常能得到比單一采樣策略更優(yōu)的效果。例如馮宏偉[10]對邊界中的少數(shù)類樣本的進(jìn)行SMOTE過采樣,對多數(shù)類樣本進(jìn)行隨機(jī)欠采樣。通過該方法得到了分類性能較好的分類器。
通常情況下,構(gòu)造單一的決策樹分類器時需要進(jìn)行剪枝操作,防止出現(xiàn)過擬合現(xiàn)象,而隨機(jī)森林由于在特征選擇的過程中是隨機(jī)地選取其中的一部分特征,故不需要進(jìn)行剪枝,也不會出現(xiàn)過擬合的現(xiàn)象,在處理高維數(shù)據(jù)時也具有較高的性能。利用該優(yōu)點,再結(jié)合本文數(shù)據(jù)的特點,對特征空間進(jìn)行擴(kuò)展處理。
對于離散型特征,首先將它的n個屬性值劃分為n個特征。以性別為例,該特征包含男和女兩個值,將其劃分為{男,女}兩個特征,屬性值用1(是)和0(否)表示。例如樣本A在性別特征上值為男,其在性別上的特征則可以表示為{1,0}。
對于連續(xù)型特征,可根據(jù)等寬劃分法將值劃分為長度相等的段。屬性值上的斷點可表示為:Fmin+n(Fmax-Fmin)/k。其中Fmin表示最小值,F(xiàn)max表示最大值,k表示將值域分成k個區(qū)間,可根據(jù)具體情況自定義k的值,n=0,1,2,3,…,k。以年齡為例,年齡是一個取值大于0的連續(xù)整數(shù),取k為5,假設(shè)Fmax為100(大于100按100計算),則年齡特征可離散化為{[0,20),[20,40),[40,60),[60,80),[80,100]}五個特征。
將離散后不同類型的單一特征進(jìn)行兩兩交叉,形成二元的組合特征。例如特征m有兩個可能值{m1,m2},特征n也有兩個可能值{n1,n2},特征m和特征n進(jìn)行交叉后可表示為{{m1,n1},{m1,n2},{m2,n1},{m2,n2}}共4個特征。以性別和年齡為例,則可表示為{{男,[0,20)},{女,[0,20)},{男,[20,40)},{女,[20,40)},{男,[40,60)},{女,[40,60)},{男,[60,80)},{女,[60,80)},{男,[80,100]},{女,[80,100]}}共10個特征。
決策樹(Decision Tree)是由Breiman提出,基于樹形結(jié)構(gòu)來對樣本進(jìn)行劃分的一種分類算法。一顆完整的決策樹通常包含以下三種元素:根節(jié)點、內(nèi)部節(jié)點和葉節(jié)點。其中根節(jié)點是所有樣本的集合,內(nèi)部節(jié)點是根據(jù)一定規(guī)則選出的特征屬性測試點,葉節(jié)點表示分類的結(jié)果。決策樹的結(jié)構(gòu)如圖2所示。
圖2 決策樹結(jié)構(gòu)
早期的決策樹算法分類回歸樹(Classification and Regression Tree,CART或CRT)使用基尼系數(shù)(Gini In?dex)來作為屬性選擇標(biāo)準(zhǔn)?;嵯禂?shù)的定義如下:
其中k為分類的數(shù)量,Pi表示樣本屬于第i類的概率。
除了CART算法,研究人員還提出了基于信息增益(information gain)的ID3算法[11]和基于信息增益率(information gain ratio)的C4.5算法[12]。
隨機(jī)森林算法(Random Forest,RF)[13]是一種以決策樹為基分類器的集成學(xué)習(xí)(Ensemble Learning)算法。集成學(xué)習(xí)為了突破單一分類器在性能提升時遇到的瓶頸而被提出,除了RF,常用的集成學(xué)習(xí)方法還包括Boosting、Bagging[14](也稱作“套袋法”)。
與Bagging類似,RF同樣也是通過自助采樣法進(jìn)行樣本的選擇。兩者最大的不同是:①隨機(jī)森林只用決策樹作為基分類器。②隨機(jī)森林在樣本擾動的基礎(chǔ)上加入屬性擾動,即在選擇屬性時也是隨機(jī)的,增強(qiáng)了模型的泛化能力[15]。
隨機(jī)森林還有一個很大的優(yōu)點,不需要進(jìn)行剪枝,也不需要進(jìn)行特征選擇,同樣可以獲得比單顆決策樹更好的分類性能。
隨機(jī)森林的算法過程如下:
(1)通過自助法重采樣技術(shù)從訓(xùn)練集中有放回地隨機(jī)采樣選擇n個樣本;
(2)從特征集中隨機(jī)選擇d個特征,利用這d個特征和步驟(1)中所選擇的n個樣本建立決策樹;
(3)重復(fù)步驟(1)和步驟(2),直至生成所需的N棵決策樹,形成隨機(jī)森林;
(4)對于測試數(shù)據(jù),經(jīng)過每棵樹決策判斷,最后投票確認(rèn)分到哪一類。
隨機(jī)森林作為一種集成學(xué)習(xí)方法在分類性能方面擁有比其他大多數(shù)模型更好的表現(xiàn),但當(dāng)面對不平衡數(shù)據(jù)時仍不能得到非常好的效果,根本原因就在于通過自助法取樣并不能改變樣本的不平衡分布。為此,本文對隨機(jī)森林算法進(jìn)行改進(jìn)。算法分為訓(xùn)練階段和測試階段。在訓(xùn)練階段,對隨機(jī)森林中的任意一顆樹來說,在通過自助采樣法取得訓(xùn)練樣本后,結(jié)合SMOTE算法生成少數(shù)類樣本,使正負(fù)樣本達(dá)到一個平衡狀態(tài),再利用得到的平衡數(shù)據(jù)對每一棵決策樹進(jìn)行訓(xùn)練。測試階段中,通過上一階段訓(xùn)練得到的決策樹決策出的結(jié)果,采用投票的方式確定最終結(jié)果。
改進(jìn)的隨機(jī)森林算法流程圖如圖3所示。
圖3 改進(jìn)的隨機(jī)森林算法流程圖
本算法擁有如下優(yōu)點:
(1)對每棵樹單獨進(jìn)行訓(xùn)練集平衡處理,而非針對原始訓(xùn)練集,最大程度上保證了各子樹間的差異性。
(2)每棵子樹都選擇部分樣本和部分特征,避免了過擬合現(xiàn)象。
(3)由于生成決策樹的過程中選擇的是部分特征,使得在面對高維數(shù)據(jù)時也能有較高的算法效率,因此適合對特征空間進(jìn)行擴(kuò)展處理。
某知識產(chǎn)權(quán)平臺數(shù)據(jù)(已作脫敏處理),包含3200多條用戶數(shù)據(jù),選擇用戶類型為企業(yè)和代理所的數(shù)據(jù),樣本數(shù)量比為5:1,VIP屬性包括非VIP和VIP,樣本數(shù)量比為4:1。為了驗證RFFCS算法的有效性,與決策樹算法(DT)、隨機(jī)森林算法(RF)進(jìn)行對比。
在一般的分類任務(wù)中,評價分類結(jié)果的好壞通常要用到如表1的混淆矩陣。
表1 混淆矩陣
根據(jù)混淆矩陣可得出三個基本評價指標(biāo):精確率(Precision)、召回率(Recall)、F-Score。公式如下:
其中,在式(5)中,α為調(diào)節(jié)精確率和召回率的權(quán)重系數(shù),當(dāng)α取1時,即為F1值。
在不平衡數(shù)據(jù)分類任務(wù)中,通常還會用到G-means。G-means可以用來衡量正負(fù)樣本的的綜合分類性能。其公式如下:
本文使用精確率、召回率、F1值、G-means作為算法的評價指標(biāo)。
本文設(shè)計了兩類各五組實驗。首先是將未經(jīng)特征組合處理的原始數(shù)據(jù)集用決策樹(DT)和隨機(jī)森林(RF)進(jìn)行驗證,然后對特征進(jìn)行組合處理,再用上述兩種算法進(jìn)行實驗(DT_FE和RF_FE),以驗證特征組合的有效性,最后在RF_FE的基礎(chǔ)上引入SMOTE(RFF?CS),并進(jìn)行實驗。實驗結(jié)果如表2所示。
表2 DT、DT_FE、RF、RF_FE、RFFCS在用戶類型上的分類效果比較
表2 給出的是五種算法模型在用戶類型上的分類結(jié)果。由表中數(shù)據(jù)可以看出,RFFCS的分類性能要明顯高于其他四種模型,F(xiàn)1值和G-means值達(dá)到了0.640和0.727,尤其是相較于DT,分別高出62.4%和41.3%,即使是性能最好的RF_FE,RFFCS在F1和G-means上也要高出27.0%和14.5%。值得一提的是,盡管對特征進(jìn)行了組合,擴(kuò)展了特征空間,DT_FE性能仍不及RF,但與DT相比,無論是精確率、召回率,還是F1值和G-means,DT_FE都有著不同程度的提高,平均提高了18.5%,而RF_FE和RF相比,除了精確率略有下降外,其余三個指標(biāo)都有所提高,證明了特征組合的有效性。
表3 給出的是在VIP屬性上的分類結(jié)果。結(jié)合表中數(shù)據(jù),我們可以得出如下結(jié)論:與在用戶類型上的結(jié)果相同,RFFCS算法得到了最好的分類效果,召回率和G-means甚至達(dá)到了0.9以上。DT效果最差,F(xiàn)1和G-means只有0.578和0.762,DT_FE次之,各項指標(biāo)較DT均有所提高,但平均提高率僅有3.7%,不及表2中的18.5%。和RF相比,RF_FE仍然優(yōu)勢明顯,各項指標(biāo)的平均提高率達(dá)到了4.6%。與其他四種方法進(jìn)行對比,RFFCS均有著可靠的性能。在G-means這個指標(biāo)上,RFFCS分別提高了20.7%、17.6%、8.1%和5.4%。
表3 DT、DT_FE、RF、RF_FE、RFFCS在VIP屬性上的分類效果比較
綜上所述,本文所提RFFCS算法對于不平衡的數(shù)據(jù)的分類是有效的。
本文針對用戶畫像研究過程中存在的數(shù)據(jù)不平衡問題,提出將SMOTE過采樣結(jié)合進(jìn)隨機(jī)森林的每棵子樹中,在解決了數(shù)據(jù)不平衡問題的同時,保證了子樹間的差異性,隱性地提高了隨機(jī)森林的分類性能。同時利用隨機(jī)森林在屬性選擇時的優(yōu)越性,提出了對原始特征空間進(jìn)行擴(kuò)展。實驗結(jié)果表明,本文所提的方法在對數(shù)據(jù)集分類時與其他對比方法相比有著較為顯著的提升效果。此外,本文在設(shè)計算法時森林規(guī)模是固定的,下一步將設(shè)置不同的決策樹數(shù)量來驗證算法的穩(wěn)定性。