孟廣婷,王 紅,3,劉海燕
1(山東師范大學(xué) 信息科學(xué)與工程學(xué)院,濟(jì)南250358 )2(山東省分布式計(jì)算軟件新技術(shù)重點(diǎn)實(shí)驗(yàn)室,濟(jì)南250014)3(山東師范大學(xué) 生命科學(xué)研究院,濟(jì)南250014)
鼠標(biāo)軌跡識(shí)別廣泛運(yùn)用于人機(jī)驗(yàn)證產(chǎn)品中,不僅便于用戶的理解記憶,而且極大增加了暴力破解難度.為了繞過驗(yàn)證碼的檢測,攻擊者可模擬產(chǎn)生類人軌跡,并且在“道高一尺,魔高一丈”的較量中,不斷升級技術(shù).因此,如何在人機(jī)驗(yàn)證產(chǎn)品中有效檢出各種機(jī)器行為成為亟待解決的問題.
在鼠標(biāo)識(shí)別研究方面Ahmed等人[1]首次證明了利用鼠標(biāo)行為特征對用戶進(jìn)行身份認(rèn)證的可行性,提取了用戶鼠標(biāo)行為中速度、距離、單擊次數(shù)等特征進(jìn)行分析,并提出基于這些特征識(shí)別用戶身份的初步方案.隨后Bours等人[2]提出一種靜態(tài)認(rèn)證方法,記錄了用戶穿越一個(gè)屏幕迷宮時(shí)的鼠標(biāo)活動(dòng),提取了過程中的速度向量,通過比較兩個(gè)速度向量的相似度來識(shí)別人機(jī)鼠標(biāo)軌跡.Ahmed等人[3]提出的持續(xù)認(rèn)證方法是在用戶日常工作中收集數(shù)據(jù),提取了包括在5個(gè)類別中的7個(gè)特征,然后將特征值聚集成直方圖形式,每個(gè)用戶的行為特征使用7個(gè)直方圖來標(biāo)記,使用人工神經(jīng)網(wǎng)絡(luò)的方法來進(jìn)行比較分析,從而進(jìn)行身份認(rèn)證.鼠標(biāo)識(shí)別研究一直在進(jìn)行,近年來,蘇濤等人[4]以行為式驗(yàn)證碼的滑動(dòng)驗(yàn)證軌跡數(shù)據(jù)提取的特征數(shù)據(jù),運(yùn)用梯度提升分類樹算法,對人的行為和機(jī)器行為進(jìn)行分類,以區(qū)分人和機(jī)器,并與樸素貝葉斯、邏輯回歸、支持向量機(jī)等分類算法相比較.得到較好的分類效果.徐劍等人[5]采用層次化劃分的方法對鼠標(biāo)行為進(jìn)行定義,同時(shí)根據(jù)不同行為需要提取了21個(gè)類別中的65個(gè)特征,采用隨機(jī)森林分類器作為鼠標(biāo)行為分類的工具,得到了較好的錯(cuò)誤拒絕率和錯(cuò)誤接受率.總之,為了提高鼠標(biāo)行為身份認(rèn)證的準(zhǔn)確性和可行性,研究者們對采集的鼠標(biāo)行為和使用的鼠標(biāo)特征給出了不同的實(shí)驗(yàn)定義,處理鼠標(biāo)特征的方法也各不相同,目前仍然有待研究的問題有如下幾個(gè)方面:
1)鼠標(biāo)軌跡特征挖掘不夠充分,忽略對局部軌跡特征的研究,也沒有采用多尺度特征;(
2)多用監(jiān)督學(xué)習(xí)方法,在軌跡數(shù)據(jù)不平衡和噪音較大的情況下,識(shí)別效果不理想;
3)識(shí)別模型效率低,不適合海量數(shù)據(jù).針對以上問題,本文提出基于并行投票決策樹的半監(jiān)督鼠標(biāo)軌跡識(shí)別方法.
主要?jiǎng)?chuàng)新點(diǎn)包括:
1)充分挖掘鼠標(biāo)軌跡特征,采用局部軌跡特征和全局軌跡特征相融合、多尺度特征相融合的方法,提高識(shí)別模型的準(zhǔn)確率;
2)采用半監(jiān)督學(xué)習(xí)方法,增強(qiáng)模型的抗噪能力和抗過擬合能力.
3)采用并行投票決策樹思想,保證了模型識(shí)別海量軌跡數(shù)據(jù)的高效性.
本文首先從鼠標(biāo)軌跡(包括局部軌跡)中提取了105個(gè)鼠標(biāo)軌跡特征,然后將這些特征根據(jù)重要程度劃分成多個(gè)層次,采用基于半監(jiān)督的策略,利用并行化決策投票樹的思想,識(shí)別鼠標(biāo)軌跡.最后,與當(dāng)前流行的方法進(jìn)行實(shí)驗(yàn)對比,實(shí)驗(yàn)驗(yàn)證了本文提出創(chuàng)新方法的有效性和高效性.
本文數(shù)據(jù)來源于某人機(jī)驗(yàn)證產(chǎn)品采集的鼠標(biāo)軌跡,我們通過數(shù)據(jù)分析,發(fā)現(xiàn)了數(shù)據(jù)具有兩方面突出的特點(diǎn):首先,鼠標(biāo)局部軌跡含有大量能區(qū)分人機(jī)鼠標(biāo)軌跡的信息;其次,由于采集鼠標(biāo)軌跡的時(shí)長不同或者驗(yàn)證軌跡有長有短,因此,每一條軌跡數(shù)據(jù)具有不同的長度,導(dǎo)致數(shù)據(jù)無法直接導(dǎo)入到一些必須限制維度相同的模型中.針對上述特點(diǎn),本文在提取特征時(shí),一方面,不僅提取出整條軌跡的特征,還提取了具有代表性的局部軌跡特征;另一方面,我們進(jìn)行了特征升維,采用多尺度的方法提取出可能會(huì)影響軌跡識(shí)別的特征;最后,用并行化模型訓(xùn)練提取的特征.
在特征工程中,我們不僅提取了全局軌跡特征,而且利用了許多局部軌跡特征,對增強(qiáng)模型的性能具有重要意義.通過對有代表性的軌跡分析發(fā)現(xiàn),人為或機(jī)器軌跡的區(qū)別常在于某些局部軌跡的特征.圖1所示的是人和機(jī)器在軌跡初始階段的軌跡點(diǎn)隨時(shí)間的變化情況.
圖1 人機(jī)鼠標(biāo)軌跡初始階段軌跡點(diǎn)隨時(shí)間變化情況Fig.1 Points tracking in initial stage
從圖中可以看出,機(jī)器鼠標(biāo)軌跡前20個(gè)軌跡點(diǎn)花費(fèi)的時(shí)間很長,而人的鼠標(biāo)軌跡前20個(gè)軌跡點(diǎn)用的時(shí)間很短.事實(shí)上,我們可以分析出原因:一般情況下,人在看驗(yàn)證碼滑窗時(shí),往往一眼就能看到起點(diǎn),消耗的時(shí)間少,且近乎均勻滑動(dòng);而機(jī)器為了找到起始點(diǎn)需要先搜索點(diǎn),不斷搜索的過程消耗大量時(shí)間,因此,在軌跡初始階段,當(dāng)采集相同個(gè)數(shù)的軌跡點(diǎn)時(shí),機(jī)器耗時(shí)更多.基于此,我們把軌跡初始階段的局部特征放入模型中訓(xùn)練.
此外,軌跡后期的數(shù)據(jù)也很有價(jià)值.如圖2顯示,人為鼠標(biāo)軌跡在軌跡末端出現(xiàn)了“回頭”現(xiàn)象,而如圖3顯示機(jī)器的鼠標(biāo)軌跡末端沒有出現(xiàn)“回頭”現(xiàn)象.這可以理解為:由于視差或者慣性力作用,人為拖動(dòng)鼠標(biāo)到達(dá)驗(yàn)證碼目標(biāo)點(diǎn)之后,有可能拖動(dòng)鼠標(biāo)超過目標(biāo)點(diǎn).當(dāng)再拖動(dòng)鼠標(biāo)返回到目標(biāo)點(diǎn)時(shí)就出現(xiàn)軌跡“回頭”現(xiàn)象.然而,對于機(jī)器就不會(huì)出現(xiàn)這種情況,當(dāng)機(jī)器模擬的鼠標(biāo)移動(dòng)到目標(biāo)點(diǎn)時(shí)即完成,軌跡也會(huì)瞬間停止,所以機(jī)器不會(huì)出現(xiàn)“回頭”現(xiàn)象.因此,我們把軌跡末端的局部特征放入模型中訓(xùn)練.
圖2 人為鼠標(biāo)軌跡圖Fig.2 Man′s mouse trajectory
這兩部分局部特征的提取方法如下:設(shè)一條軌跡的所有軌跡點(diǎn)為N,軌跡前期滑動(dòng)窗口的比率定義為k,軌跡前期滑動(dòng)窗口大小為N*k%,軌跡后期滑動(dòng)窗口的比率定義為m,后期滑動(dòng)窗口大小為N*m%.即重新選擇了軌跡的前k%個(gè)軌跡點(diǎn)和軌跡的后m%個(gè)軌跡點(diǎn),將其同整體軌跡特征一同用來訓(xùn)練模型.
圖3 機(jī)器鼠標(biāo)軌跡圖Fig.3 Machine′s mouse trajectory
對于一次鼠標(biāo)移動(dòng)軌跡(xi,yi,ti),我們將鼠標(biāo)移動(dòng)軌跡進(jìn)行升維,在升維過程中我們按照層次劃分特征為:基準(zhǔn)尺度特征[6]Hi、細(xì)分尺度特征Vi.細(xì)分尺度特征由基準(zhǔn)尺度特征轉(zhuǎn)化得到,它可以是基準(zhǔn)尺度特征的屬性也可以是基準(zhǔn)尺度特征通過數(shù)學(xué)公式轉(zhuǎn)化而來.我們首先提取基準(zhǔn)尺度數(shù)據(jù)集特征即:鼠標(biāo)移動(dòng)速度(Speed)、角度(Angle)、距離(Distance)、時(shí)間(Time)等,基準(zhǔn)尺度特征對于特征提取、分類模型至關(guān)重要.然后,我們按照基準(zhǔn)尺度特征劃分細(xì)分尺度特征:
基準(zhǔn)尺度特征Speed∈Hi,其對應(yīng)若干細(xì)分尺度數(shù)據(jù)集特征為:
括號(hào)內(nèi)屬性依次為:水平方向速率如公式(1),豎直方向速率如公式(2),切向速率如公式(3),切向加速度如公式(4),以及以上四個(gè)屬性的最大值,最小值,均值,極差,方差,標(biāo)準(zhǔn)差,中位數(shù),眾數(shù),眾數(shù)的個(gè)數(shù).
vx=δx/δt
(1)
vy=δy/δt
(2)
(3)
(4)
對于基準(zhǔn)尺度數(shù)據(jù)集特征Angle∈Hi,其對應(yīng)若干細(xì)分尺度數(shù)據(jù)集特征為:
括號(hào)內(nèi)屬性依次為:兩點(diǎn)間角度如公式(5);三點(diǎn)角度如公式(6),式(6)中Dis( ,)表示兩個(gè)點(diǎn)的歐式距離;角速度如公式(7),式(7)中θt指弧度;曲率如公式(8);曲率變化率如公式(9);以及以上5個(gè)屬性的最大值,最小值,均值,極差,方差,標(biāo)準(zhǔn)差,中位數(shù),眾數(shù),眾數(shù)的個(gè)數(shù).
(5)
(6)
ω=δθt/δt
(7)
c=δθ/δs
(8)
Δc=δc/δs
(9)
對于基準(zhǔn)尺度數(shù)據(jù)集特征Distance∈Hi,其對應(yīng)細(xì)分尺度數(shù)據(jù)集特征為:
括號(hào)內(nèi)屬性依次為:兩點(diǎn)間距離如公式(10),移動(dòng)路程,移動(dòng)位移,直線度如公式(11),路徑抖動(dòng)如公式(12),以及兩點(diǎn)間距離的最大值、最小值、均值、極差、方差、標(biāo)準(zhǔn)差、中位數(shù)、眾數(shù)、眾數(shù)的個(gè)數(shù).
(10)
(11)
Sd=S′/Sn
(12)
對于基準(zhǔn)尺度數(shù)據(jù)集特征Time∈Hi,其對應(yīng)若干細(xì)分尺度數(shù)據(jù)集特征為:
括號(hào)內(nèi)屬性依次為:找到目標(biāo)點(diǎn)所用的時(shí)間,完成時(shí)間如公式(13),兩點(diǎn)間時(shí)間差如公式(14),以及兩點(diǎn)間時(shí)間差的最小值、均值、極差、方差、標(biāo)準(zhǔn)差、中位數(shù)、眾數(shù)、眾數(shù)的個(gè)數(shù).
δTime1,n=Timen-Time1
(13)
δTime=Timei+1-Timei
(14)
數(shù)據(jù)類別不均衡會(huì)導(dǎo)致一系列問題.采取隨機(jī)取樣的方法,會(huì)導(dǎo)致樣本失去代表性,而采用降采樣的方法,只使用少量的有標(biāo)記示例,則訓(xùn)練出的模型往往很難具有強(qiáng)泛化能力.而且,僅使用少量有標(biāo)記示例而不利用大量未標(biāo)記示例,也是對數(shù)據(jù)資源的極大浪費(fèi).為了避免這些問題,常采取兩種辦法:分層抽樣方法和半監(jiān)督學(xué)習(xí)方法.分層抽樣方法是根據(jù)標(biāo)記對數(shù)據(jù)進(jìn)行分組,對每組數(shù)據(jù)進(jìn)行取樣,獲得每個(gè)類別的訓(xùn)練、測試數(shù)據(jù),最后將這些針對每個(gè)類別的訓(xùn)練數(shù)據(jù)集組合在一起形成訓(xùn)練集,這樣各個(gè)類別樣本所占比例與初始數(shù)據(jù)的比例一致.但是這種方法適用于帶標(biāo)記的數(shù)據(jù)基數(shù)較大的情況.本文的訓(xùn)練數(shù)據(jù)有400條帶標(biāo)記的軌跡數(shù)據(jù).其中,機(jī)器軌跡數(shù)據(jù)占13.3%,人的軌跡數(shù)據(jù)占86.7%.若分層抽樣,會(huì)導(dǎo)致總體訓(xùn)練樣本減少,同時(shí)導(dǎo)致整體特征減少.因此,我們使用半監(jiān)督學(xué)習(xí)方法(簡稱SSL).
半監(jiān)督學(xué)習(xí)的基本思想是:利用現(xiàn)有訓(xùn)練數(shù)據(jù)得到的模型,對無標(biāo)簽數(shù)據(jù)進(jìn)行預(yù)測,置信度(即對示例賦予正確標(biāo)記的程度)高的數(shù)據(jù)更可能被正確賦予了標(biāo)簽,所以可以用于加入訓(xùn)練集.Merz等人[7]在1992年首次提出了半監(jiān)督學(xué)習(xí)的概念,并將SSL用于分類問題.半監(jiān)督協(xié)同訓(xùn)練方法由Blum和Mitchell[8]提出,基于不同視圖訓(xùn)練出的兩個(gè)不同模型,相互協(xié)同,共同訓(xùn)練出最終的學(xué)習(xí)機(jī).Balcan等人[9]用概率近似正確理論和大偏差界理論分析了基于判別方法的SSL方法的性能,給出了無類標(biāo)簽樣例幫助改進(jìn)學(xué)習(xí)機(jī)性能的相容性函數(shù).隨后,Soleymani等人[10]指出在此之前提出的方法的目標(biāo)函數(shù)有許多局部最優(yōu)解,并且在訓(xùn)練過程中并不能很好的保持拓?fù)浣Y(jié)構(gòu),提出兩種基于核的度量學(xué)習(xí)方法.
本文使用標(biāo)記置信度最高的未標(biāo)記示例準(zhǔn)則[11],即標(biāo)記置信度最高的未標(biāo)記示例.令M表示當(dāng)前學(xué)習(xí)器學(xué)得的模型,L表示有標(biāo)記示例集,xu∈U表示一個(gè)未標(biāo)記示例,yi表示類標(biāo)簽,M′表示把M標(biāo)記過的示例(xu,M(xu))加入訓(xùn)練集后重新得到的學(xué)習(xí)器,則標(biāo)記置信度最高的未標(biāo)記示例是在U中最大化式(15)的示例.
(15)
本文采用半監(jiān)督分類的方法,在無類標(biāo)簽的樣例的幫助下訓(xùn)練有類標(biāo)簽的樣本,獲得比只用有類標(biāo)簽的樣本訓(xùn)練得到的分類器性能更優(yōu)的分類器,彌補(bǔ)有類標(biāo)簽的樣本不足的缺陷.實(shí)驗(yàn)證明,半監(jiān)督的分類方法可以提高有監(jiān)督分類方法的性能,訓(xùn)練得到分類性能更優(yōu)的分類器,從而預(yù)測無類標(biāo)簽的樣例的類標(biāo)簽.
為保證訓(xùn)練的模型有較好的正確率,我們需要大量的數(shù)據(jù)進(jìn)行訓(xùn)練.田嫦麗等人[12]在廣告點(diǎn)擊率預(yù)估模型中提出了基于梯度提升決策樹(GBDT)模型的多維特征提取方法.該方法的使用不僅減少了特征提取的人工成本和時(shí)間成本,也在很大程度上提升了模型的精度.我們使用并行投票決策樹方法(PV_Tree),它是由Qi[12]提出,實(shí)現(xiàn)了GBDT 算法的框架.基于該并行投票決策樹的思想,微軟提出了LightGBM 算法(Light Gradient Boosting Machine),支持高效率的并行訓(xùn)練同時(shí)能得到較高的正確率.
并行投票決策樹與傳統(tǒng)決策樹算法的主要不同之處在于:決策樹的生長方式和尋找最佳分割點(diǎn)的方法.并行投票決策樹應(yīng)用Leaf-wise方法,每次從當(dāng)前所有葉子中,找到分裂增益最大的一個(gè)葉子,然后分裂,如此循環(huán).與此同時(shí)增加了一個(gè)最大深度的限制,在保證高效率的同時(shí)防止過擬合.而傳統(tǒng)決策樹應(yīng)用Level-wise方法,所有葉子都是按層生長、分裂.在分裂次數(shù)相同的情況下,Leaf-wise可以降低更多的誤差,得到更好的精度.
在尋找最佳分割點(diǎn)方面,GBDT使用基于預(yù)排序的方法(pre-sorted),而并行投票決策樹使用直方圖方法(Histogram).直方圖算法的基本思想是先把連續(xù)的浮點(diǎn)特征值離散化成k個(gè)整數(shù),同時(shí)構(gòu)造一個(gè)寬度為k的直方圖.直方圖附屬在每個(gè)節(jié)點(diǎn)上,用來描述節(jié)點(diǎn)上某個(gè)屬性的類別分布.在遍歷直方圖中數(shù)據(jù)時(shí),根據(jù)離散化后的值作為索引在直方圖中累積統(tǒng)計(jì)量,當(dāng)遍歷一次數(shù)據(jù)后,直方圖累積了需要的統(tǒng)計(jì)量,然后根據(jù)直方圖的統(tǒng)計(jì)信息可以準(zhǔn)確地計(jì)算每個(gè)非葉節(jié)點(diǎn)的信息增益值,因此可以得到選擇哪個(gè)節(jié)點(diǎn)作為最優(yōu)分割點(diǎn)信息增益最大,此分割點(diǎn)用于確定決策樹的分支以及訓(xùn)練數(shù)據(jù)的分區(qū).
并行投票決策樹的核心是 PV-Tree_FindBestSplit[12]算法,其中FindBestSplit算法用于返回非葉節(jié)點(diǎn)的最佳分割點(diǎn),并根據(jù)最佳分割點(diǎn)分割訓(xùn)練數(shù)據(jù).FindBestSplit的細(xì)節(jié)在算法1中給出:首先轉(zhuǎn)換當(dāng)前節(jié)點(diǎn)上的所有訓(xùn)練數(shù)據(jù),構(gòu)造屬性的第一個(gè)直方圖.然后采用直方圖做差的優(yōu)化達(dá)到左右兩邊的加速,即一個(gè)葉子結(jié)點(diǎn)的直方圖可以由其父親節(jié)點(diǎn)的直方圖與兄弟節(jié)點(diǎn)直方圖的做差得到.
Algorithm1. FindBestSplit
Input:Dataset D
forallX in D.Attribute do
?構(gòu)建直方圖
H=newHistograms( )
forallx in X do
H.binAt(x.bin).Put(x.label)
endfor
?確定最佳分割點(diǎn)
leftSum = new HistogramsSum( )
forallbin in H do
LeftSum = leftSum+H.binAt(bin)
rightSun = H.AllSum - leftSum
Split.gain = CalSplitGain(leftSum,rightSum)
bestSplit = ChoiceBetterOne(split,bestSplit)
endfor
endfor
returnbestSplit
Algorithm2. PV-Tree_FindBestSplit
Input:Dataset X
?構(gòu)建本地直方圖
localHistograms=ConstructHistograms(D)
?本地投票
splits=[]
forallH in localHistograms do
Splits.Push(H.FindBestSplit())
endfor
localTop=splits.TopKByGain(K)
?集合所有投票
allCandidates=allGather(localTop)
?全局投票
globalTop=allCandidates.TopKByMajority(2*K)
?確定最佳屬性及分割點(diǎn)
globalHistograms=Gather(globalTop,localHistograms)
bestSplit=globalHistograms.FindBestSplit()
returnbestSplit
PV-Tree_FindBestSplit在算法2中給出,它將訓(xùn)練數(shù)據(jù)分為M個(gè)本地機(jī)器,每個(gè)機(jī)器都有n個(gè)訓(xùn)練數(shù)據(jù).利用每個(gè)本地機(jī)器中包含的屬性的意見統(tǒng)計(jì)信息,并通過本地投票和全局投票過程做出決策.算法包括以下幾個(gè)關(guān)鍵步驟:
1)本地投票:根據(jù)本地?cái)?shù)據(jù)集的信息增益大小來選擇每個(gè)機(jī)器的top-k,然后在各個(gè)機(jī)器上交換已選屬性的索引,此部分只需要傳遞k×M個(gè)屬性的數(shù)據(jù);
2)全局投票:當(dāng)本地機(jī)器的屬性排序完成后,從每個(gè)本地投票排名列表中選擇前2k個(gè)屬性.
3)確定最佳屬性及分割點(diǎn):合并全局top-2k屬性的直方圖,根據(jù)從全局分布計(jì)算的信息增益分?jǐn)?shù),確定最佳屬性及其分割點(diǎn).由于只需要傳遞top-k個(gè)預(yù)先選擇的屬性,而不是帶所有屬性的直方圖,此步驟的通信費(fèi)用很低.
我們將基準(zhǔn)尺度數(shù)據(jù)集和細(xì)分尺度數(shù)據(jù)集特征喂給并行投票決策樹,同時(shí)改進(jìn)決策樹中使用的全監(jiān)督學(xué)習(xí),提出了融合多尺度特征的半監(jiān)督并行投票決策樹策略,步驟為:
Step1. 我們將訓(xùn)練集與預(yù)測集的基準(zhǔn)尺度數(shù)據(jù)集特征與細(xì)分尺度數(shù)據(jù)集特征組成一個(gè)多維矩陣:
hij表示基準(zhǔn)尺度數(shù)據(jù)集的特征,i表示第i條軌跡,j表示第j個(gè)特征.xim表示細(xì)分尺度數(shù)據(jù)集的特征,m表示第m個(gè)特征,本文用了4個(gè)基準(zhǔn)尺度特征.
Step2. 我們將融合了多尺度的特征應(yīng)用到LightGBM算法中,利用現(xiàn)有訓(xùn)練數(shù)據(jù)集L:
預(yù)測無標(biāo)記數(shù)據(jù)U,而|L|<<|U|.(|L|和|U|分別為L和U集合的大小).
Step3. 根據(jù)公式(15)將置信度比較高的一部分無標(biāo)簽數(shù)據(jù)和它們被模型賦予標(biāo)簽一起加入訓(xùn)練集,直到|L|=|U|
Step4. 如果滿足訓(xùn)練集和模型符合要求,則輸出當(dāng)前的訓(xùn)練集和模型,否則,回到Step 2.
本數(shù)據(jù)來源于某人機(jī)驗(yàn)證產(chǎn)品采集的鼠標(biāo)軌跡,經(jīng)過脫敏處理后,訓(xùn)練集有3000條數(shù)據(jù),測試集有10萬條數(shù)據(jù).采集到的鼠標(biāo)軌跡包括:移動(dòng)軌跡(xi,yi,ti),其中xi表示橫坐標(biāo)向量,yi表示縱坐標(biāo)向量,ti表示捕獲這個(gè)移動(dòng)事件的時(shí)間;目標(biāo)點(diǎn)坐標(biāo)(X,Y);訓(xùn)練集還包括類別標(biāo)簽:1-正常軌跡,0-機(jī)器軌跡.
本文使用ROC曲線、AUC值來評價(jià)模型.ROC曲線使用一個(gè)圖來展示不同的列聯(lián)表,圖中繪制的是真正率TPR(True Positive Rate)隨假正率FPR(False Positive Rate)的變化情況.真正率TPR代表被正確分類的正樣本比例,如公式(16),假正率FPR是假正FP(False Positive)相對于實(shí)際負(fù)樣本的比例,如公式(17).AUC為ROC曲線下的面積值.
(16)
(17)
本文設(shè)計(jì)了使用本文方法與以下四種實(shí)驗(yàn)的對比:
實(shí)驗(yàn)1. 本文算法與應(yīng)用多尺度特征的半監(jiān)督GBDT算法對比;
實(shí)驗(yàn)2. 本文算法與應(yīng)用多尺度特征的全監(jiān)督并行投票決策算法對比;
實(shí)驗(yàn)3. 本文算法與應(yīng)用整條軌跡提取的特征(未提取局部軌跡特征)的半監(jiān)督并行投票決策算法對比.
實(shí)驗(yàn)4. 本文算法與當(dāng)前流行的方法(徐劍等人[5])進(jìn)行實(shí)驗(yàn)對比.實(shí)驗(yàn)結(jié)果如下:
圖4 本文方法與GBDT算法對比Fig.4 Comparison between my method and GBDT algorithm
如圖4所示,本文方法與實(shí)驗(yàn)一的對比可知:兩種方法都使用多尺度的特征,且采用半監(jiān)督的學(xué)習(xí)方法,使用并行投票決策樹算法的AUC值為0.93,而使用GBDT算法的AUC值為0.85.因此,使用并行投票決策樹的正確率更高.通過表1對比可知,在時(shí)間方面,使用并行投票決策樹所花費(fèi)的時(shí)間較短,而使用GBDT所消耗的時(shí)間較長.由此可證明使用并行投票決策樹模型對于鼠標(biāo)識(shí)別正確率更高,并且速度更快,更高效.
表1 使用不同算法的訓(xùn)練時(shí)間對比Table 1 Comparison of training time using different algorithms
如圖5所示,本文方法與實(shí)驗(yàn)2對比可知:兩種方法都將多尺度特征喂給并行投票決策樹模型訓(xùn)練,本文方法采用半監(jiān)督的學(xué)習(xí)方法,其AUC值為0.93;而實(shí)驗(yàn)2采用全監(jiān)督學(xué)習(xí)方法,其AUC值為0.91.因此,對于鼠標(biāo)識(shí)別研究采用半監(jiān)督的學(xué)習(xí)方法正確率更高.
圖5 本文方法與采用全監(jiān)督的方法對比Fig.5 Comparison between my method and supervised methods
如圖6所示,本文方法與實(shí)驗(yàn)三對比可知:兩種方法都采用半監(jiān)督的并行投票決策樹算法,本文方法再提取特征時(shí)采取多尺度思想,對局部軌跡進(jìn)行特征提取,其AUC值為0.93;而實(shí)驗(yàn)三僅提取了整條軌跡的特征(未提取局部軌跡特征),其AUC值為0.90.因此,對于鼠標(biāo)識(shí)別研究提取多尺度特征的方法正確率更高.
圖6 本文方法與未使用多尺度特征的方法對比Fig.6 Comparison between my method and unused multi-scale
除了上述實(shí)驗(yàn)內(nèi)對比,本文還進(jìn)行了與其他研究者的實(shí)驗(yàn)對比.首先與Ahmed 等人[3]提出的基于鼠標(biāo)動(dòng)力學(xué)的生物識(shí)別技術(shù)對比,使用表1提到的數(shù)據(jù)集,根據(jù)文獻(xiàn)[3]中鼠標(biāo)動(dòng)力學(xué)特征提取方法,提取了7個(gè)特征:移動(dòng)速度(MSD),移動(dòng)方向(MDA,MDH),動(dòng)作類型(ATA,ATH),行進(jìn)距離(TDH)和經(jīng)過時(shí)間(MTH),并且應(yīng)用神經(jīng)網(wǎng)絡(luò)模型;另外還與徐劍等人[5]提出的基于用戶鼠標(biāo)行為的身份認(rèn)證方法進(jìn)行對比,使用表1提到的數(shù)據(jù)集,根據(jù)文獻(xiàn)[4]中層次化劃分的方法,提取了65個(gè)特征,并且應(yīng)用隨機(jī)森林模型與本文方法比較.我們使用真正率TPR(True Positive Rate)、假正率FPR(False Positive Rate)的平均值作為評價(jià)指標(biāo).實(shí)驗(yàn)結(jié)果對比如表2所示,可以看出:本文方法與Ahmed 等人[3]、徐劍等人[5]的真正率(TPR)很接近,略高于兩者的方法;同時(shí)假正率(FPR)比其他兩種方法的值更低,可見本文方法對于識(shí)別出人機(jī)鼠標(biāo)軌跡具有較好的效果.造成這種結(jié)果的原因有:首先,基于鼠標(biāo)動(dòng)力學(xué)的生物識(shí)別技術(shù)只簡單的提取了7個(gè)特征,涵蓋能區(qū)分人機(jī)鼠標(biāo)軌跡的信息較少,且沒有應(yīng)用半監(jiān)督學(xué)習(xí)方法,在軌跡數(shù)據(jù)不平衡和噪音較大的情況下容易造成過擬合的現(xiàn)象,識(shí)別效果不佳.其次,基于用戶鼠標(biāo)行為的身份認(rèn)證方法沒有充分挖掘到鼠標(biāo)軌跡特征,沒有考慮局部特征對人機(jī)識(shí)別的影響,從而造成真正率較低,假正率較高.盡管神經(jīng)網(wǎng)絡(luò)、隨機(jī)森林都是非常理想的分類算法,但是如果沒有建立完善的特征工程,使用該方法訓(xùn)練出的分類模型效果也不理想.
表2 本文方法與文獻(xiàn)[3]、[5]方法對比Table 2 Comparison between my method and reference[3]、[5]′s method
本文針對鼠標(biāo)軌跡識(shí)別的問題,提出了多尺度提取特征的方法,從局部軌跡中提取人機(jī)鼠標(biāo)軌跡的特征,以基于半監(jiān)督的并行投票決策樹方法為主要模型進(jìn)行分類.通過實(shí)驗(yàn)對比,本文方法對于識(shí)別人機(jī)鼠標(biāo)軌跡具有較高的真正率和較低的假正率以及更快的速度.然而,本文方法仍有不盡人意的地方.首先,在多尺度特征方面,本文沒有嚴(yán)格的定義來劃分多尺度.其次,本文提取的特征存在冗余,再進(jìn)行一步降維操作可能效果會(huì)更好.最后,本文方法應(yīng)用場景僅限于本文提到的數(shù)據(jù)集,沒有在其他數(shù)據(jù)集上實(shí)驗(yàn),缺乏普適性.下一步的工作應(yīng)該考慮以上3點(diǎn)不足,再應(yīng)用于不同數(shù)據(jù)集上實(shí)驗(yàn),還應(yīng)該在數(shù)據(jù)分析處理上再下功夫,結(jié)合機(jī)器學(xué)習(xí)的方法,進(jìn)一步提高人機(jī)鼠標(biāo)軌跡的識(shí)別性能.