羅云松,黃慕宇,賈 韜
(1. 西南大學(xué) 計算機(jī)與信息科學(xué)學(xué)院,重慶 400715;2. 長安汽車金融有限公司,重慶 400020)
類別分布不平衡的數(shù)據(jù)廣泛存在于現(xiàn)實生產(chǎn)生活中,并且在諸多領(lǐng)域具有重要的科學(xué)研究價值。在諸如網(wǎng)絡(luò)安全檢測、欺詐交易識別、醫(yī)療診斷、垃圾郵件過濾、工業(yè)故障異常檢測等不平衡分類領(lǐng)域中,雖然少類樣本的占比極低,但其重要性遠(yuǎn)大于多類樣本。例如在社交媒體機(jī)器人檢測中,Twitter上的機(jī)器人賬號約占總量的5%~9%[1],而這少量的機(jī)器人賬戶卻產(chǎn)生了約24%的虛假推文。近年來如微博等國內(nèi)社交媒體的迅速發(fā)展使得中國民間信息發(fā)布的門檻大幅降低,不同信息在快速傳播的同時也具有不同以往的強(qiáng)影響力[2]。許多海內(nèi)外非法技術(shù)團(tuán)體利用微博的這些特點(diǎn),大量注冊機(jī)器人賬號并將其用于宣傳、營銷、炒作等活動。這些機(jī)器人群體通過劫持熱門話題,間接地刺激和誘導(dǎo)激進(jìn)民眾,從而形成巨大的虛假輿論場[3-5],這些行為在擾亂網(wǎng)絡(luò)秩序的同時,也會妨害經(jīng)濟(jì)利益,造成惡劣的社會影響。因此,微博機(jī)器人賬戶的識別研究對促進(jìn)微博等社交媒體的發(fā)展以及社會治安管理都有非常重要的意義。
目前,圍繞微博機(jī)器人賬戶識別的研究主要有兩種方式,即監(jiān)督學(xué)習(xí)和無監(jiān)督學(xué)習(xí)。其中監(jiān)督學(xué)習(xí)又可以分為基于特征內(nèi)容的識別算法和基于圖模型的識別算法[6]?;谔卣鲀?nèi)容的監(jiān)督學(xué)習(xí)是將微博機(jī)器人檢測看作一個分類問題,利用微博賬號的各種特征來區(qū)分機(jī)器人賬號與正常賬號[7]。所使用的特征內(nèi)容包括微博文本、粉絲數(shù)、關(guān)注數(shù)以及個人資料等多種屬性[8]。張等人[9]選擇互相關(guān)注數(shù)等屬性作為分類器的輸入,使用遺傳算法和貝葉斯模型的集成框架提高了微博機(jī)器人識別的準(zhǔn)確率。Gargari等人[10]提出了一種基于構(gòu)造賬戶資源模式這一重要特征的新穎檢測框架并在特定背景下獲得了較高的識別率。Chen等人[11]根據(jù)機(jī)器人賬戶的交互行為來定義特征向量并量化傳播行為,然后再使用決策樹算法進(jìn)行識別。Yuan等人[12]綜合分析了機(jī)器人賬戶的多個特征,利用熵值來衡量各個特征的權(quán)重,建立了結(jié)合多屬性的微博水軍識別模型。此外,近年來還出現(xiàn)了許多利用深度神經(jīng)網(wǎng)絡(luò)(Deep Neural Networks,DNN)模型對社交媒體機(jī)器人進(jìn)行識別的研究工作[13-15]。
基于圖模型的微博機(jī)器人識別是利用賬戶之間的關(guān)注、轉(zhuǎn)發(fā)等關(guān)聯(lián)關(guān)系,構(gòu)造相應(yīng)的社交網(wǎng)絡(luò),再使用不同圖挖掘算法來區(qū)分機(jī)器人與正常用戶[16]。Wang等人[17-18]通過引入復(fù)雜關(guān)系模型,對網(wǎng)絡(luò)節(jié)點(diǎn)之間的關(guān)系建模分析,迭代得到網(wǎng)絡(luò)水軍的置信度。程等人[19]發(fā)現(xiàn)用戶雙向關(guān)注比和賬戶注冊時間是區(qū)分機(jī)器人與正常用戶的重要特征,并提出一種基于用戶關(guān)系圖特征表示的算法。Jiang等人[20]根據(jù)每個賬戶的最大似然度計算謠言的傳播規(guī)模,并基于此提出了一種結(jié)合網(wǎng)絡(luò)拓?fù)鋵傩缘膫鞑ゾW(wǎng)絡(luò)時變模型。文獻(xiàn)[21-23]對大多數(shù)社交網(wǎng)絡(luò)中的異常檢測方法進(jìn)行了總結(jié)。
無監(jiān)督學(xué)習(xí)是通過各種聚類算法對所有賬戶的特征進(jìn)行降維,觀測其形成的類簇,從而達(dá)到識別目的。Miller等人[24]通過對Twitter用戶中的個人信息以及文本特征進(jìn)行聚類,達(dá)到了較高的識別率。Chu等人[25]則采用對Twitter內(nèi)容中URL的最終跳轉(zhuǎn)地址進(jìn)行聚類的方式,來判斷類內(nèi)賬號是否為機(jī)器人賬號。
在以往的微博機(jī)器人識別研究中,研究人員大多是爬取搜集多個微博賬號的特征信息并人工標(biāo)注是否為機(jī)器人賬號。這種方式獲得的數(shù)據(jù)集往往樣本量較少,并且驗證集機(jī)器人與正常用戶的分布比例相對平衡。由于在微博機(jī)器人識別中天然的樣本不平衡性,利用平衡的驗證集評價的模型,必然在處理真實問題時存在局限性,然而已有的研究相對缺少針對相應(yīng)條件下機(jī)器人識別算法性能降低的比較分析。
另一方面,當(dāng)前已有在算法或數(shù)據(jù)層面改善不平衡分類的研究。重采樣就是一種從數(shù)據(jù)層面上解決不平衡分類的簡單有效方法[26]。由于當(dāng)前研究并沒有過多關(guān)注機(jī)器人與正常用戶分布嚴(yán)重不平衡這一特點(diǎn),重采樣技術(shù)在微博機(jī)器人識別這一場景下的應(yīng)用較少,尤其缺少重采樣技術(shù)對已有算法性能影響的系統(tǒng)性分析。
針對以上兩個問題,本文使用微熱點(diǎn)大數(shù)據(jù)平臺提供的微博機(jī)器人數(shù)據(jù),該數(shù)據(jù)集取自2019年4月1日到5月8日新浪微博6個熱點(diǎn)話題下的真實數(shù)據(jù),數(shù)據(jù)量大且正負(fù)樣本分布嚴(yán)重不平衡。本文的主要貢獻(xiàn)總結(jié)如下:
(1) 提出了一種結(jié)合重采樣方法的微博機(jī)器人識別框架,使用5種重采樣方法對訓(xùn)練集進(jìn)行處理,比較了7種監(jiān)督學(xué)習(xí)算法的性能差異。由于不同重采樣方法與不同識別算法的結(jié)合對結(jié)果的提升各不相同,因此相關(guān)對比分析為不同場景下的算法選擇提供了借鑒,為后續(xù)其他研究提供了有益的參考。
(2) 采用隨機(jī)平衡欠采樣(Random Undersampling,RUS)的方式模擬了以往研究中小規(guī)模平衡樣本下的模型訓(xùn)練情況。通過比較基于該平衡樣本訓(xùn)練的模型與結(jié)合重采樣算法的模型在樣本不平衡條件下的識別性能,量化說明了過去研究在處理真實識別問題中存在的局限性。
(3) 分析了不同采樣方法下特征重要性排名的變化,在一定程度上解釋了結(jié)合重采樣的微博機(jī)器人識別框架分類性能提升的原因,同時總結(jié)了機(jī)器人賬戶特征上存在的共性特點(diǎn)。
為了更好地處理廣泛存在的不平衡分類問題,部分研究專注于在監(jiān)督學(xué)習(xí)算法層面上進(jìn)行改進(jìn),而另一部分則側(cè)重于在數(shù)據(jù)層面上進(jìn)行重采樣處理。現(xiàn)有重采樣方法大致分為過采樣和欠采樣兩類,其中過采樣是通過增加少類樣本的數(shù)量來平衡數(shù)據(jù)集,而欠采樣則是減少多類樣本使之與少類樣本數(shù)量相當(dāng),然后組成新的子樣本集。重采樣的主要目的是降低訓(xùn)練集的不均衡程度,使得正負(fù)樣本大致相當(dāng)后再做訓(xùn)練,從而提高少類樣本的分類正確率。Esmaeel等人[27]提出了一種基于多次重采樣的新型洪水敏感性綜合預(yù)測模型,實驗結(jié)果顯示重采樣提高了模型的泛化性能。Wang等人[28]為解決化學(xué)預(yù)測ADMET中因數(shù)據(jù)不平衡而導(dǎo)致的較高假陽性率問題,提出了一種同時使用機(jī)器學(xué)習(xí)和重采樣方法對二維分子描述的化學(xué)物質(zhì)模型。Borges等人[29]為創(chuàng)建一種能夠在加密貨幣交換市場上進(jìn)行交易的投資策略而提出了一種對金融序列進(jìn)行重采樣的機(jī)器學(xué)習(xí)算法。Liang等人[30]為解決Fitbit腕帶經(jīng)常將喚醒歸為睡眠的低特異性識別問題,提出了一種結(jié)合四種重采樣策略的決策樹算法,結(jié)果表明重采樣能使Fitbit的特異性最多提高75%。在現(xiàn)有的重采樣方法中,ADASYN過采樣和NearMiss欠采樣是應(yīng)用最為廣泛、最具代表性的兩種算法。除此之外,本文還選擇了包括SMOTE過采樣在內(nèi)的其他3種重采樣算法來增加不同重采樣的覆蓋度。
1.1.1 ADASYN過采樣
ADASYN[31](Adaptive Synthetic Sampling,ASS)是一種自適應(yīng)合成的抽樣算法,其主要思想是使用少類樣本的密度分布作為自動確定合成樣本數(shù)目的標(biāo)準(zhǔn),且根據(jù)少類樣本的重要程度不同,通過自適應(yīng)改變少類樣本的權(quán)重,為每個少類樣本產(chǎn)生相應(yīng)數(shù)目的合成樣本。具體過程如下:
(1) 計算需要生成的新樣本總量G,如式(1)所示。
G=(Sma-Smi)×β
(1)
其中,Sma為多類樣本數(shù)量,Smi為少類樣本數(shù)量,β∈[0,1]為控制生成樣本數(shù)量的系數(shù)。
(2) 對于每個少類樣本xi,找出其K個近鄰樣本并計算其密度分布Γi,如式(2)所示。
(2)
(3) 對每個少類樣本xi計算需要合成的樣本數(shù)量gi,如式(3)所示。
gi=Γi×G
(3)
經(jīng)過ADASYN過采樣處理后的數(shù)據(jù)集會根據(jù)分布Γi自動合成對應(yīng)數(shù)量的少類樣本,從而使少類樣本得到平衡。具體生成少類樣本的方式與SMOTE算法相同,見式(4)。
1.1.2 SMOTE過采樣
SMOTE[32](Synthetic Minority Oversampling Technique)是一種對少類樣本進(jìn)行分析并根據(jù)少數(shù)類樣本人工合成新樣本達(dá)到平衡數(shù)據(jù)集目的的過采樣算法,它的原理就是在少類樣本之間進(jìn)行插值從而產(chǎn)生額外的少類樣本。具體來說,對于一個少類樣本xi,求出離xi距離最近的k個少數(shù)類樣本,其中距離定義為多維特征空間的歐氏距離,然后隨機(jī)選擇一個最近鄰的樣本xj,從xi與xj的連線上隨機(jī)選取一個點(diǎn)xk作為新的少數(shù)類樣本,如式(4)所示。
xk=xi+(xj-xi)×δ
(4)
其中,δ∈[0,1],最后將新的少類樣本添加到數(shù)據(jù)集中得到新的訓(xùn)練集。
1.1.3 NearMiss欠采樣
NearMiss[33]是一種基于k近鄰算法(k-Nearest Neighbour,k-NN)的啟發(fā)式欠采樣方法,根據(jù)啟發(fā)規(guī)則可細(xì)分為三種方式。第一種是選出到最近的N個少類樣本平均距離最小的多類樣本,將這些多類樣本刪除后組成新的子樣集。第二種是選出到最遠(yuǎn)的N個少類樣本平均距離最小的多數(shù)類樣本刪除。第三種是為每個少類樣本都選擇出M個近鄰樣本(同時包含少類和多類),然后篩選出距離N個近鄰樣本平均距離最大的多類樣本進(jìn)行刪除??傊?,欠采樣的本質(zhì)是刪除多類樣本從而平衡數(shù)據(jù)集,而NearMiss就是針對該選擇哪些多類樣本進(jìn)行刪除而提出的算法。本文中使用的是第一種方式。
1.1.4 TomekLinks欠采樣
TomekLinks[34]是一種數(shù)據(jù)清洗方法(Data Cleaning Technology),這種方法也是通過某種啟發(fā)性規(guī)則來清洗重疊的樣本從而達(dá)到欠采樣目的。對于一對屬于不同類別的兩個樣本x與y,如果不存在另一個樣本z,使得樣本x與z之間的距離或者樣本y與z之間的距離小于樣本x與y之間的距離,那么就稱樣本x與y是一對TomekLink。因此樣本x與y互為近鄰關(guān)系并且很有可能是處于決策邊界的噪聲數(shù)據(jù),然后通過刪除TomekLinks中的多類樣本以達(dá)到欠采樣的目的。
1.1.5 SMOTETomek組合采樣
SMOTE算法的缺點(diǎn)是生成的少類樣本容易與周圍的多類樣本產(chǎn)生重疊從而造成誤分,而TomekLinks則可以剔除重疊的噪聲樣本。因此SMOTETomek[35]組合采樣的思想就是將SMOTE與TomekLinks兩種算法結(jié)合起來,通過先進(jìn)行過采樣再進(jìn)行數(shù)據(jù)清洗的方式達(dá)到平衡數(shù)據(jù)集的目的。
因數(shù)據(jù)集所含的特征都為內(nèi)容特征,故本文使用基于特征內(nèi)容的監(jiān)督學(xué)習(xí)算法來對機(jī)器人賬戶進(jìn)行識別。
1.2.1 隨機(jī)森林算法
隨機(jī)森林[36](Random Forest,RF)是一種用隨機(jī)方式建立的,以多個CART決策樹為基分類器的集成分類算法。該算法先通過Bagging自助采樣法隨機(jī)從數(shù)據(jù)集中采樣出T個包含有m個訓(xùn)練樣本的子樣集,然后基于每個子樣集隨機(jī)選取一定特征訓(xùn)練出一個CART樹,再將這些決策樹的分類結(jié)果用簡單投票法輸出。RF的隨機(jī)性體現(xiàn)在數(shù)據(jù)集的隨機(jī)選取以及待選特征的隨機(jī)選取兩方面。其中CART樹是以基尼指數(shù)作為特征選擇的度量方式,具體定義如式(5)所示。
(5)
其中,D為樣本集;K表示類別個數(shù);ρk表示類別為k的樣本占所有樣本的比值。RF算法具有對缺失值不敏感、不易過擬合的優(yōu)點(diǎn)。
1.2.2 XGBoost算法
XGBoost[37]是一種通過Gradient Tree Boosting實現(xiàn)的集成樹算法,其基分類器也為CART樹,可以解決分類、回歸等問題。假設(shè)訓(xùn)練集為(xi,yi),其中xi∈m,yi∈。xi表示具有m維的特征向量,yi表示樣本標(biāo)簽,算法包含K棵樹,XGBoost算法的定義如式(6)所示。
(6)
其中,fK(xi)表示第K棵樹,函數(shù)f(x)表示對樣本特征進(jìn)行映射,使每個樣本落在該樹中的某個葉子節(jié)點(diǎn)上。每個葉子節(jié)點(diǎn)均包含一個權(quán)重分?jǐn)?shù)作為落在此葉子節(jié)點(diǎn)的樣本在本棵樹的預(yù)測值ω。計算樣本在每棵樹的ω之和,并將其作為最終的輸出預(yù)測值。XGBoost的目標(biāo)函數(shù)定義如式(7)所示。
(7)
該目標(biāo)函數(shù)由兩項組成: 第一項為損失函數(shù),用于評估模型預(yù)測與真實值的誤差;第二項為正則化項,用于控制復(fù)雜程度,防止出現(xiàn)過擬合。
XGBoost算法通過引入泰勒公式來簡化目標(biāo)函數(shù),式(7)就改寫為:
(8)
其中,gi為損失函數(shù)的一階梯度統(tǒng)計,hi為二階梯度統(tǒng)計,ωj為葉子節(jié)點(diǎn)的權(quán)重,Ij為葉子節(jié)點(diǎn)j的樣本集,λ為L2正則化系數(shù),γT為正則項通過葉子節(jié)點(diǎn)數(shù)及其系數(shù)控制模型復(fù)雜程度。
1.2.3 Lightgbm算法
針對XGBoost算法在處理高維特征大數(shù)據(jù)時占用內(nèi)存大、運(yùn)行緩慢的不足,微軟于2017年提出了一種Lightgbm[38]的集成提升樹算法。該算法通過使用以下三個子算法優(yōu)化了XGBoost算法的模型復(fù)雜度。
(1) 直方圖算法(Histogram): Lightgbm引入Histogram算法代替預(yù)排序算法,將連續(xù)特征離散到固定數(shù)量的分箱上,同時構(gòu)造一個寬度等于該數(shù)量的直方圖用于信息統(tǒng)計。該直方圖算法無需遍歷數(shù)據(jù),只需要遍歷固定數(shù)量的分箱即可找到最佳分裂節(jié)點(diǎn),使算法時間復(fù)雜度降低。
(2) 基于梯度的單邊采樣算法(Gradient-based one-side sampling,GOSS): 其主要思想是通過對樣本使用降采樣的方法來減少目標(biāo)函數(shù)的計算復(fù)雜度。其創(chuàng)新之處在于只對梯度絕對值較小的樣本按照一定比例進(jìn)行采樣,而保留了梯度絕對值較大的樣本。由于目標(biāo)函數(shù)增益主要來自于梯度絕對值較大的樣本,因此這種方法在計算性能和計算精度之間取得了很好的平衡。
(3) 互斥特征捆綁算法(Exclusive Feature Bundling,EFB): 在許多數(shù)據(jù)集中都存在大量的稀疏特征,這些稀疏特征因幾乎不會同時取非零值而被認(rèn)為是互斥的。EFB算法利用這種互斥性,將多個互斥特征捆綁成一個新的特征,減少用于構(gòu)建直方圖的特征數(shù)量,進(jìn)而降低計算復(fù)雜度。
Lightgbm通過引入以上三種算法使其內(nèi)存消耗與計算量比XGBoost更低。
1.2.4 Catboost算法
Catboost[39]算法是一種專門針對類別型特征的監(jiān)督學(xué)習(xí)算法。該算法通過引入貪心目標(biāo)變量統(tǒng)計(Greedy Target-based Statistics,Greedy TS),將類別特征分組成有限個群體再進(jìn)行One-hot編碼轉(zhuǎn)為數(shù)值型特征進(jìn)行處理。Greedy TS的計算如式(9)所示。
(9)
本文采用微熱點(diǎn)平臺提供的自2019年4月1日到5月8日微博上出現(xiàn)的6個熱點(diǎn)話題的真實數(shù)據(jù)。數(shù)據(jù)集包括“發(fā)布時間”“用戶性別”等14個特征和1個類別標(biāo)簽“是否是機(jī)器人”,具體特征表和示例樣本如表1所示,6個熱點(diǎn)話題數(shù)據(jù)集中的正常用戶與機(jī)器人用戶比例如表2所示。
表1 特征說明
表2 數(shù)據(jù)集總量與不平衡比例說明
探索性數(shù)據(jù)分析(Exploratory Data Analysis,EDA)是數(shù)據(jù)挖掘的重要步驟,其中的特征工程分析直接決定了后期算法的分類結(jié)果。由于EDA本身并沒有嚴(yán)格的流程,本文主要從數(shù)據(jù)清洗、特征工程以及降維聚類這三方面開展EDA工作。
2.2.1 數(shù)據(jù)清洗
6個熱點(diǎn)話題數(shù)據(jù)集中主要含有重復(fù)值,異常值和缺失值三種類型的臟數(shù)據(jù)。重復(fù)值方面主要出現(xiàn)在用戶ID等4個ID屬性的特征上。由于本文專注于微博機(jī)器人賬號的識別檢測,因此對用戶ID這一屬性的重復(fù)值進(jìn)行剔除,而對其他三個屬性的重復(fù)值不作處理。具體剔除的方式是選擇出現(xiàn)的第一個重復(fù)值而剔除剩余的全部。缺失值處理方面,盡管如XGBoost、Lightgbm等算法有關(guān)于缺失值的處理,但考慮到與其他監(jiān)督學(xué)習(xí)算法的對比以及樣本量大小等因素,本文對缺失值仍然采用剔除的處理方式,即只要出現(xiàn)缺失值則刪除這個樣本。我們也對所有出現(xiàn)異常值的樣本進(jìn)行了刪除,如在性別中出現(xiàn)了除“男”和“女”之外的其他特征的異常樣本。
2.2.2 特征工程
本文采用構(gòu)造差異性特征的方式來增加新的特征屬性,如用原微博發(fā)布時間減去當(dāng)前微博發(fā)布時間得到“發(fā)布時間間隔”這一新的特征;對認(rèn)證類型這一特征進(jìn)行數(shù)字編碼后,用原微博認(rèn)證類型減去當(dāng)前微博認(rèn)證類型得到“認(rèn)證類型差異”這一特征屬性。本文采用發(fā)布時間、性別、地域、認(rèn)證類型、原微博發(fā)布時間、原微博性別、原微博地域、原微博認(rèn)證類型、發(fā)布時間間隔以及認(rèn)證類型差異共10個特征屬性,舍棄了ID和發(fā)布內(nèi)容等6個屬性。
2.2.3 降維聚類
在確定10個特征后,需要對屬性進(jìn)行降維聚類并觀察數(shù)據(jù)集正負(fù)樣本的分布狀態(tài),以確定相應(yīng)監(jiān)督學(xué)習(xí)算法的選擇。以對數(shù)據(jù)集4進(jìn)行平衡欠采樣后得到的150∶150子樣本集為例,采用t-SNE、PCA和SVD三種算法進(jìn)行降維后,發(fā)現(xiàn)淺色的正常用戶與黑色的機(jī)器人用戶在二維特征空間中基本重疊在一起,如圖1所示。這是由于在10個特征中,除了“發(fā)布時間間隔”這一屬性為數(shù)字型特征外,其他特征全部都為類別型特征,而針對類別型特征的編碼方式如label編碼等,都會在類別型屬性所含元素較少的情況下使樣本發(fā)生重疊。所以在建模分類的時候須選擇能較好處理多種類別型特征重疊的監(jiān)督學(xué)習(xí)算法。
圖1 三種降維算法結(jié)果圖
2.3 實驗流程與評價指標(biāo)2.3.1 實驗流程
本文提出的結(jié)合重采樣技術(shù)的改進(jìn)微博機(jī)器人識別框架如下: 首先對原始數(shù)據(jù)集進(jìn)行數(shù)據(jù)清洗和特征工程等探索性分析;然后采用五折交叉驗證的方式對數(shù)據(jù)集進(jìn)行劃分,由于數(shù)據(jù)集具有不平衡性,所以在劃分的時候也是按照不同類別的相同比例劃分;接著對劃分好的訓(xùn)練集進(jìn)行重采樣,并在經(jīng)過重采樣后的訓(xùn)練集上應(yīng)用各種監(jiān)督學(xué)習(xí)算法,訓(xùn)練識別模型;最后在驗證集上使用多種評估指標(biāo)評價算法的性能,具體框架如圖2所示。
圖2 結(jié)合重采樣的機(jī)器人識別算法框架
2.3.2 評價指標(biāo)
以往的微博機(jī)器人識別研究一般僅采用準(zhǔn)確率(Accuracy)為評價標(biāo)準(zhǔn),但該指標(biāo)在類別不平衡的數(shù)據(jù)集上評估效果較差。例如,在正負(fù)樣本比例為9∶1的驗證集上,如果一個算法把全部樣本都識別為正類,那么其準(zhǔn)確率為90%,而負(fù)類樣本的召回率則為0。由于微博機(jī)器人識別研究為類別不平衡學(xué)習(xí),在選擇評價指標(biāo)時應(yīng)區(qū)別對待不同類別的準(zhǔn)確率,所以本文采用Recall、G-mean[40]、AUC等指標(biāo)來評估算法性能。為定義相關(guān)的評價指標(biāo),需要引入混淆矩陣,如表3所示。
表3 二分類混淆矩陣
其中,TN(True Negative)為正常用戶樣本被預(yù)測為正常的數(shù)量,TP(True Positive)為機(jī)器人樣本被預(yù)測為機(jī)器人的數(shù)量,F(xiàn)N(False Negative)、FP(False Positive)分別是預(yù)測錯誤的實際機(jī)器人和正常用戶樣本數(shù)目。以這四個基本指標(biāo)衍生出多種不同場景下的評價指標(biāo),其中Recall和G_mean對于不平衡分類較為重要,其基本公式如式(10)、式(11)所示。
ROC(Receiver Operating Characteristic)曲線又稱接受者操作特征曲線,是監(jiān)督學(xué)習(xí)中另一種重要的模型評價指標(biāo)。該指標(biāo)以偽陽性率FPR為X軸,真陽性率TPR為Y軸構(gòu)造出ROC空間。給定一個二元分類模型和相應(yīng)的閾值后,通過不斷調(diào)整分類閾值就能得到該模型的ROC曲線。雖然ROC曲線能綜合評估模型的優(yōu)劣,但如果兩條ROC曲線出現(xiàn)了交叉,則很難直觀地評估兩個模型,于是出現(xiàn)了AUC (Area Under the Curve )指標(biāo)。AUC定義為ROC 曲線下的面積,反映了分類器對樣本的排序能力,同時考慮了分類器對正例和負(fù)例的分類能力,在樣本不平衡的情況下,依然能夠?qū)Ψ诸惼髯鞒龊侠淼脑u價。AUC的值越大,說明模型性能越好,具體如式(12)所示。
(12)
其中,M和N分別表示正負(fù)樣本的數(shù)量,rankinsi表示正樣本概率排第i名的樣本,分子表示所有正樣本概率大于負(fù)樣本概率的樣本數(shù)量。
本文采用原始數(shù)據(jù)集生成的訓(xùn)練集以及經(jīng)過多種重采樣處理之后的訓(xùn)練集進(jìn)行模型訓(xùn)練。 分類算法包含3種傳統(tǒng)監(jiān)督學(xué)習(xí)算法: 樸素貝葉斯(Naive Bayes,NB)、支持向量機(jī)(Support Vector Machine,SVM)、k近鄰(k-Nearest Neighbor, kNN)以及4種集成提升樹算法: Lightgbm、XGBoost、RF、Catboost。
盡管微博機(jī)器人識別研究是一個傳統(tǒng)的二分類問題,但在現(xiàn)實的應(yīng)用場景中,模型將一個正常用戶識別為機(jī)器人和將機(jī)器人識別為正常用戶所產(chǎn)生的代價是不一樣的,后者產(chǎn)生的負(fù)面影響會明顯大于前者。因此,微博機(jī)器人識別研究關(guān)注的重點(diǎn)是模型對機(jī)器人賬戶的識別準(zhǔn)確率。經(jīng)過多種重采樣處理后7種算法在6個數(shù)據(jù)集上的Recall如表4所示。
續(xù)表
其中,NB在所有原始訓(xùn)練集上的Recall最高,而在NearMiss欠采樣下卻表現(xiàn)較差。在ADASYN過采樣下,NB 在5個數(shù)據(jù)集上的Recall都為最高。在不平衡比例最大的數(shù)據(jù)集5上,SVM、Lightgbm和XGBoost三種算法在原始訓(xùn)練集下的Recall和G_mean都為0,即三種算法都未能準(zhǔn)確識別出一個機(jī)器人賬戶。而在數(shù)據(jù)集5上進(jìn)行重采樣之后,算法的Recall都有了較大的提高??偟膩碚f,除了NB之外,其余6種算法在應(yīng)用NearMiss欠采樣之后Recall的提升比應(yīng)用ADASYN過采樣要高。SMOTE、TomekLinks和SMOTETomek三種采樣方式都會使算法的召回率有一定程度的提高。
G_mean是衡量不平衡數(shù)據(jù)集分類效果的綜合指標(biāo),表5為不同采樣方式下7種算法在6個數(shù)據(jù)集上的G_mean。在原始訓(xùn)練集上,RF在1、2、4數(shù)據(jù)集上表現(xiàn)最好。在結(jié)合NearMiss欠采樣的訓(xùn)練集上,XGBoost在1、2、4數(shù)據(jù)集上表現(xiàn)最好。在結(jié)合ADASYN過采樣的訓(xùn)練集上,Lightgbm在1,3,4,5四個數(shù)據(jù)集上表現(xiàn)最好。
從表4和表5中可以看出,NB的Recall雖然很高但其G_mean卻很低,模型整體泛化性不強(qiáng),而4種基于樹模型的集成算法的Recall和G_mean則比較平均??偟膩碚f,在6個數(shù)據(jù)集上應(yīng)用ADASYN、SMOTE、TomekLinks和SMOTETomek之后,大部分算法的G_mean較原始訓(xùn)練集都會得到提高,而在應(yīng)用NearMiss欠采樣之后,部分算法會降低,其余的G_mean都會提高。
表5 不同采樣方式采樣方式下7種算法在6個數(shù)據(jù)集上的G_mean
續(xù)表
表6為7種算法在6個數(shù)據(jù)集上的AUC對比。整體上Catboost、Lightgbm和SVM三種算法模型的AUC較高。在多種采樣方式的對比中,除了NB之外,其余結(jié)合ADASYN過采樣的6種算法的AUC都比結(jié)合NearMiss欠采樣要高。因此,在整個數(shù)據(jù)集上算法模型結(jié)合ADASYN過采樣的機(jī)器人識別結(jié)果較結(jié)合NearMiss欠采樣好。
表6 不同采樣方式下7種算法在6個數(shù)據(jù)集上的AUC
續(xù)表
綜上,使用重采樣方法能夠讓模型的機(jī)器人識別精度大幅提高,相應(yīng)的重采樣算法能夠剔除處于分類邊界的模糊樣本或生成不同的少類樣本來增大分類器的擬合程度,從而提升泛化性。但現(xiàn)實生活中的微博機(jī)器人識別還要結(jié)合不同的業(yè)務(wù)背景。如果只是追求高召回率而放棄查準(zhǔn)率,那么微博平臺的大量正常用戶就會被識別為機(jī)器人用戶,從而使整個平臺的用戶體驗變差。所以,本文認(rèn)為在真實微博機(jī)器人識別場景下,根據(jù)不同的業(yè)務(wù)背景應(yīng)采取不同模型結(jié)合不同重采樣處理的方式來進(jìn)行框架構(gòu)建。如果只是以提高機(jī)器人賬戶識別率為目的,應(yīng)采用NB或結(jié)合NearMiss欠采樣的其他算法框架。如果要在查準(zhǔn)率、召回率和特異度之間取得平衡,追求較高的AUC和較好的泛化性,則應(yīng)采用結(jié)合過采樣處理的集成樹算法??偟膩碚f,欠采樣和過采樣都能使模型的Recall得到提高,G_mean整體上得到提高。其中NearMiss欠采樣在大幅提高召回率的同時會讓G_mean和AUC降低,而過采樣在能使模型召回率得到一定程度提高的同時基本上保持AUC不變。
當(dāng)前對微博機(jī)器人識別的研究大多基于爬取搜集的小規(guī)模平衡數(shù)據(jù)集,并不能反映真實情況下的數(shù)據(jù)統(tǒng)計特征,因此基于小規(guī)模平衡樣本訓(xùn)練的模型,在處理真實問題上可能存在局限性。為進(jìn)一步量化分析,我們使用經(jīng)過隨機(jī)欠采樣處理后的平衡訓(xùn)練集來模擬以往研究中的模型訓(xùn)練和驗證。RUS通過隨機(jī)選取一些多類樣本剔除,最終得到正負(fù)樣本接近的訓(xùn)練集。與本文討論的其他欠采樣方法相比,RUS在減少樣本的過程中并沒有考慮保留整體數(shù)據(jù)的特征,僅僅通過簡單刪除的方法獲得平衡的訓(xùn)練樣本,與爬取搜集數(shù)據(jù)的情況較為類似。結(jié)合以往研究中的數(shù)據(jù)情況,我們按照6個數(shù)據(jù)集機(jī)器人樣本數(shù)量的1/100,將訓(xùn)練集隨機(jī)欠采樣成1∶1的子樣本集進(jìn)行訓(xùn)練 (數(shù)據(jù)集5為30∶30)。實驗結(jié)果表明,RUS處理后訓(xùn)練出的模型,大部分在真實數(shù)據(jù)集上的召回率會有較大程度的下降。如在數(shù)據(jù)集2中,RUS處理后所訓(xùn)練的最佳模型(Lightgbm),其召回率比Nearmiss處理后的最佳模型低了20個百分點(diǎn),比ADASYN處理后的最佳模型低了超過30個百分點(diǎn)。而在G_mean和AUC指標(biāo)上,小規(guī)模平衡樣本所訓(xùn)練的模型與重采樣處理后訓(xùn)練的模型相差不大。
因此,以往研究使用爬取方式搜集的少量數(shù)據(jù),由于具有較大隨機(jī)性,訓(xùn)練出的模型對真實場景下的擬合程度不高,整體泛化性較低。如果使用這種模型對現(xiàn)實中的微博機(jī)器人賬戶進(jìn)行識別,則會出現(xiàn)識別率降低的問題,與其他方法訓(xùn)練出的模型相比存在較大不足。
(13)
定義所有節(jié)點(diǎn)的集合為N,特征xi是在第K棵決策樹中作為節(jié)點(diǎn)分裂的屬性,則特征xi在整個模型中的重要性如式(14)所示。
(14)
圖3為4種集成樹模型在數(shù)據(jù)集5上的特征重要性計算結(jié)果。因4種算法的特征重要性性質(zhì)相同而計算方式不同,計算結(jié)果會存在數(shù)值區(qū)間上的較大差異,所以對4種算法的特征重要性結(jié)果做了歸一化處理。從圖3可以看出,盡管特征的排名順序各有不同,但在4種整體表現(xiàn)較好的集成樹算法中,發(fā)布時間、原微博發(fā)布時間和發(fā)布時間間隔三個特征的重要性都排在前三位,并且大幅高于其他七個特征。因此,微博賬戶與時間相關(guān)的特征是模型對機(jī)器人賬戶識別的重要屬性[41-42]。
圖3 4種集成樹算法中的特征重要性
我們通過分析不同重采樣處理后模型時間屬性的特征重要性排名變化,來探究重采樣對模型識別機(jī)器人賬戶的影響。表7為不同采樣方式下4種集成樹算法特征重要性在數(shù)據(jù)集5上的排名情況。原微博發(fā)布時間這一特征在過采樣數(shù)據(jù)集上排名第一,而在欠采樣中則排名靠后。在過采樣處理中,訓(xùn)練集樣本量較原始數(shù)據(jù)有較大增加,而原微博發(fā)布時間這一特征的重要性也會上升;而在欠采樣中,訓(xùn)練集樣本數(shù)量相對減少,其重要性也相對下降。又如,Lightgbm和Catboost兩個模型在原始訓(xùn)練集上排名第三的特征分別為地域和原微博性別,而過采樣之后變?yōu)榘l(fā)布時間間隔和發(fā)布時間。這說明重采樣通過減少訓(xùn)練集的噪聲樣本數(shù)或生成少類樣本讓模型的擬合程度提高,使得不同特征在同一算法中的重要性發(fā)生了改變,尤其是與時間相關(guān)的三個特征在名次上發(fā)生了較大的變化,從而改變了最終的分類結(jié)果。
表7 不同采樣方式下4種集成樹算法的Feature Importance排名
本文以微熱點(diǎn)平臺的微博機(jī)器人數(shù)據(jù)集為基礎(chǔ),針對少量機(jī)器人用戶識別率低的問題,提出一種結(jié)合重采樣方法的微博機(jī)器人識別框架,該框架先對原始數(shù)據(jù)進(jìn)行數(shù)據(jù)清洗,特征構(gòu)造,訓(xùn)練集劃分等工作,再對訓(xùn)練集進(jìn)行重采樣。在平衡訓(xùn)練集上訓(xùn)練出模型后,再通過劃分好的驗證集進(jìn)行評估。本文用隨機(jī)平衡欠采樣的方式模擬了以往研究中小規(guī)模平衡樣本下的模型訓(xùn)練情況,討論了過往研究在處理真實識別問題中存在的局限性。在不同采樣方式的基礎(chǔ)上綜合評估了7種監(jiān)督學(xué)習(xí)算法的分類性能,同時討論了不同重采樣方式對特征重要性排名的影響。實驗結(jié)果表明,在重采樣后的訓(xùn)練集上訓(xùn)練出的算法模型能夠在正常用戶與機(jī)器人用戶分布嚴(yán)重不平衡的驗證集上得到較高的機(jī)器人賬戶識別率,也進(jìn)一步說明了重采樣方法對機(jī)器人識別的必要性。同時本文也針對不同的業(yè)務(wù)背景,總結(jié)了不同模型結(jié)合不同重采樣處理方式進(jìn)行機(jī)器人識別框架的構(gòu)建,探究了結(jié)合重采樣的微博機(jī)器人識別框架分類性能提升的原因。最后我們對本數(shù)據(jù)集機(jī)器人賬戶特征上存在的共性特點(diǎn)進(jìn)行了總結(jié): 賬號認(rèn)證類型基本上都為普通;機(jī)器人賬戶傾向于轉(zhuǎn)發(fā)認(rèn)證類型為藍(lán)V的官方微博賬戶;地域和原微博地域是海外的賬戶有很大概率是機(jī)器人賬戶;部分具有相同特征的機(jī)器人賬戶會在一個較短的時間間隔內(nèi)大量轉(zhuǎn)發(fā)同一條微博。
本文提出的結(jié)合重采樣的機(jī)器人識別框架能夠在類別不均衡的驗證集上對機(jī)器人賬戶有較高的識別率,但同時將正常用戶誤分為異常用戶的概率也較高。如何將召回率、查準(zhǔn)率和特異度同時提高是下一步的研究重點(diǎn)。此外,本文主要利用了微博用戶的發(fā)布時間、地域、認(rèn)證類型等特征進(jìn)行建模分析,而用戶的關(guān)注數(shù)、粉絲數(shù)以及發(fā)布內(nèi)容等多種屬性也非常重要。在未來的微博機(jī)器人識別研究中,也需要從網(wǎng)絡(luò)科學(xué)、傳播學(xué)、情感分析、用戶興趣屬性[43-47]等多種角度去分析機(jī)器人用戶的行為特點(diǎn)。