賈俊杰,段超強(qiáng)
(西北師范大學(xué)計(jì)算機(jī)科學(xué)與工程學(xué)院,甘肅 蘭州 730070)
目前,推薦系統(tǒng)大量應(yīng)用于電商、社交媒體、電影推薦和外賣等互聯(lián)網(wǎng)服務(wù)中。推薦系統(tǒng)通過收集、分析用戶信息,向用戶推薦可能感興趣的信息,以滿足用戶個(gè)性化的服務(wù)需求?,F(xiàn)代推薦系統(tǒng)通常采用基于協(xié)同過濾CF(Collaborative Filtering)[1]的推薦算法,協(xié)同過濾基于與用戶相似的用戶的偏好,通過用戶的歷史行為尋找與目標(biāo)用戶相似的用戶組成最近鄰,最近鄰對(duì)目標(biāo)項(xiàng)目的偏好即為用戶的偏好[2,3]。這種算法在實(shí)際應(yīng)用中具有良好的推薦效果,但容易受到托攻擊(Shilling Attack)[4]。托攻擊是指利用獲取的用戶歷史評(píng)分構(gòu)造攻擊概貌,與目標(biāo)用戶形成最近鄰來影響推薦效果。檢測(cè)托攻擊是當(dāng)前推薦系統(tǒng)安全的研究熱點(diǎn)之一。
檢測(cè)托攻擊本質(zhì)上是對(duì)真實(shí)用戶和攻擊概貌進(jìn)行分類[5]。對(duì)真實(shí)用戶和攻擊概貌分類需要尋找分類特征作為依據(jù),即真實(shí)用戶和攻擊概貌評(píng)分在某個(gè)指標(biāo)上具有明顯的差別,可以通過這個(gè)差別將二者區(qū)分開來。目前已有一系列關(guān)于用戶評(píng)分的特征指標(biāo),但單個(gè)特征指標(biāo)無法有效地對(duì)各種攻擊方式的托攻擊進(jìn)行檢測(cè),同時(shí)特征指標(biāo)的選取角度不同會(huì)加大數(shù)據(jù)的處理難度。
基于上述問題,本文提出基于用戶評(píng)分離散度的托攻擊檢測(cè)Dispersion-C算法。從用戶評(píng)分離散度出發(fā),提取用戶評(píng)分極端評(píng)分比PER(Proportion of Extreme Ratings)、去極端評(píng)分方差RESV(Remove Extreme Score Variance)和用戶評(píng)分標(biāo)準(zhǔn)差SD(Standard Deviation)3個(gè)特征,作為真實(shí)用戶和攻擊概貌的分類特征;然后將3個(gè)特征作為監(jiān)督學(xué)習(xí)分類算法—ID3(Iterative Dichotomiser 3)決策樹算法的分類特征,訓(xùn)練各自的分類器,對(duì)托攻擊用戶進(jìn)行檢測(cè)。實(shí)驗(yàn)結(jié)果表明,本文算法對(duì)托攻擊用戶具有良好的檢測(cè)效果,魯棒性較強(qiáng)。
目前流行的攻擊模型主要有隨機(jī)攻擊(Random Attack)、均值攻擊(Average Attack)、流行攻擊(Bandwagon Attack)和段攻擊(Segment Attack)等[5],4種攻擊模型的攻擊概貌組成如表1所示。
Table 1 Four common attack models
現(xiàn)有的托攻擊檢測(cè)技術(shù)主要分為基于監(jiān)督學(xué)習(xí)的檢測(cè)技術(shù)、基于半監(jiān)督學(xué)習(xí)的檢測(cè)技術(shù)和無監(jiān)督學(xué)習(xí)的檢測(cè)技術(shù)。
為了對(duì)托攻擊概貌和真實(shí)用戶概貌進(jìn)行分類,學(xué)者們提出了很多方法。Rashid等人[8]提出了多種可能有效分析各種托攻擊模式攻擊概貌的特征,包括預(yù)測(cè)偏差數(shù)量、用戶評(píng)分的標(biāo)準(zhǔn)偏差、與其他用戶的評(píng)分偏移度和最近鄰平均偏移度。Chirita等人[9]利用平均評(píng)分偏移度結(jié)合Degsim特征,提出了一種新的檢測(cè)算法。該算法可以成功檢測(cè)隨機(jī)攻擊、均值攻擊和流行攻擊概貌,但無法有效檢測(cè)段攻擊概貌。Bruke等人[10,11]在此基礎(chǔ)上提出了加權(quán)平均評(píng)分偏離度和加權(quán)評(píng)分偏離度,并提出了一些真實(shí)評(píng)分特征,但該算法受攻擊概貌填充率影響,對(duì)于較低填充率的段攻擊概貌識(shí)別效率不高。
(1)基于監(jiān)督學(xué)習(xí)的檢測(cè)技術(shù)。
將上述用戶評(píng)分特征與KNN(K-Nearest Neighbor)、SVM(Support Vector Machine)等監(jiān)督學(xué)習(xí)算法相結(jié)合稱之為基于監(jiān)督學(xué)習(xí)的檢測(cè)算法。Bryan等人[12]利用方差校正均方殘差Hv-score發(fā)現(xiàn)攻擊概貌,攻擊概貌具有更大的Hv-score值,但極易受到攻擊概貌填充率影響,在填充率低時(shí),檢測(cè)效果不佳。李文濤等人[13]從用戶選擇評(píng)分項(xiàng)入手,根據(jù)用戶已評(píng)分項(xiàng)目流行度的不同,提出了一種基于用戶評(píng)分流行度的區(qū)分真實(shí)用戶和攻擊概貌的方法,但由于流行攻擊和段攻擊存在選擇項(xiàng),該方法對(duì)段攻擊的檢測(cè)效率不高?;诒O(jiān)督學(xué)習(xí)的檢測(cè)技術(shù)的關(guān)鍵在于擬合出合適的訓(xùn)練集和測(cè)試集來構(gòu)造分類器。
(2)基于無監(jiān)督學(xué)習(xí)的檢測(cè)技術(shù)。
由于基于監(jiān)督學(xué)習(xí)的檢測(cè)技術(shù)過多依賴于特征和測(cè)試集,因此研究者轉(zhuǎn)向利用無監(jiān)督學(xué)習(xí)構(gòu)建分類器。Metha等人[14,15]利用PCA(Principal Component Analysis)算法在檢測(cè)算法中的思想,無需任何先驗(yàn)知識(shí),提出根據(jù)托攻擊概貌之間的相似性高于真實(shí)用戶這一特點(diǎn)對(duì)攻擊概貌進(jìn)行檢測(cè)的PCA VarSelect技術(shù),是一種無監(jiān)督的托攻擊檢測(cè)算法,但這種算法必須提前知道攻擊強(qiáng)度,否則檢測(cè)準(zhǔn)確率會(huì)嚴(yán)重降低,而現(xiàn)實(shí)中攻擊強(qiáng)度一般是無法獲取的。李聰?shù)热薣16]提出了LFAMR模型,該模型以用戶非隨機(jī)缺失數(shù)據(jù)為依托,對(duì)導(dǎo)致評(píng)分缺失的潛在因素進(jìn)行解析,利用聚類發(fā)現(xiàn)攻擊概貌,但這種模型無法有效探測(cè)低攻擊強(qiáng)度攻擊。
(3)基于半監(jiān)督學(xué)習(xí)的檢測(cè)算法。
在大多數(shù)的推薦系統(tǒng)中,未標(biāo)記的用戶數(shù)量遠(yuǎn)遠(yuǎn)大于標(biāo)記用戶數(shù)量,因此同時(shí)對(duì)標(biāo)記用戶和未標(biāo)記用戶概貌進(jìn)行建模有助于提高托攻擊檢測(cè)效率。Cao等人[17,18]提出Semi-SAD算法,該算法充分利用了標(biāo)記和未標(biāo)記的用戶概貌,結(jié)合樸素貝葉斯和EM-λ算法,首先在標(biāo)記用戶概貌上訓(xùn)練一個(gè)樸素貝葉斯分類器,然后利用期望最大化算法和未標(biāo)記的用戶概貌對(duì)初始貝葉斯算法進(jìn)行改進(jìn),提高攻擊概貌的檢測(cè)效率。但是,該算法對(duì)低強(qiáng)度的攻擊檢測(cè)效率不好,且EM迭代過程時(shí)間較長(zhǎng),需要極大的時(shí)間代價(jià)。
從已有的檢測(cè)技術(shù)可以看出,檢測(cè)托攻擊概貌的關(guān)鍵在于特征選擇,本文根據(jù)不同攻擊模型和用戶評(píng)分在離散度上的差異,從托攻擊概貌和真實(shí)用戶概貌的評(píng)分離散度選擇特征,將這些特征作為決策樹算法的分類特征。最后,通過實(shí)驗(yàn)說明了基于用戶評(píng)分離散度的托攻擊檢測(cè)算法的可行性和優(yōu)越性。
本文通過對(duì)美國(guó)Minnesota大學(xué)GroupLens項(xiàng)目組收集的MovieLens數(shù)據(jù)集[19]進(jìn)行分析,發(fā)現(xiàn)用戶評(píng)分存在一個(gè)顯著的特點(diǎn):用戶對(duì)于電影項(xiàng)目的評(píng)分多是由用戶對(duì)于電影的喜愛程度和電影的質(zhì)量高低決定的,評(píng)分是隨機(jī)的、個(gè)性化的。同時(shí)評(píng)分項(xiàng)目越多的用戶,不同評(píng)分次數(shù)分布更接近,也就是說真實(shí)用戶評(píng)分的離散度是在一定范圍內(nèi)隨機(jī)分布的。托攻擊用戶概貌可采取一定的模型進(jìn)行部署,攻擊者根據(jù)其擁有的背景知識(shí)和想要達(dá)到的攻擊效果采取不同的攻擊模型,不同的攻擊模型具有不同的評(píng)分生成方式,且評(píng)分生成滿足一定的條件,因此托攻擊概貌評(píng)分的頻數(shù)分布是不均衡的,攻擊概貌的評(píng)分離散度接近且和真實(shí)用戶存在差異。本文從這個(gè)角度出發(fā),以用戶評(píng)分離散度區(qū)分真實(shí)用戶和攻擊概貌,提出了基于用戶評(píng)分離散度的PER、RESV和SD3個(gè)分類特征,接下來通過不同攻擊模型對(duì)分類特征進(jìn)行說明。
3.1.1 隨機(jī)攻擊和均值攻擊概貌
從攻擊模型中可以看出,攻擊概貌與真實(shí)用戶在評(píng)分分布上存在一定的差異。其中隨機(jī)攻擊和均值攻擊不具有選擇項(xiàng),且評(píng)分為隨機(jī)生成,這2類模型可以一起討論。隨機(jī)攻擊的填充項(xiàng)評(píng)分服從系統(tǒng)評(píng)分的正態(tài)分布。均值攻擊的任一填充項(xiàng)評(píng)分的生成服從項(xiàng)目自身評(píng)分的正態(tài)分布。在生成這2種攻擊方式的過程中發(fā)現(xiàn),隨機(jī)攻擊和均值攻擊的項(xiàng)目評(píng)分出現(xiàn)極端評(píng)分的概率極低,而真實(shí)用戶中極端評(píng)分是常有的。
基于這種情況,Yang等人[20]提出了用戶最高評(píng)分填充比來對(duì)此進(jìn)行描述,但僅以最高評(píng)分區(qū)分真實(shí)用戶和攻擊概貌效果不佳,極易將真實(shí)用戶劃分為攻擊概貌,影響推薦效果。因此,本文在此基礎(chǔ)上提出極端評(píng)分比作為檢測(cè)攻擊概貌的特征之一。
定義1(極端評(píng)分比PER)PER描述用戶評(píng)分中評(píng)分最大值和最小值的項(xiàng)目數(shù)占用戶評(píng)分所有項(xiàng)目數(shù)的比值。用戶u的極端評(píng)分比如式(1)所示:
(1)
圖1和圖2所示為隨機(jī)攻擊和均值攻擊概貌極端評(píng)分比與真實(shí)用戶的對(duì)比情況。2種攻擊模型由于不具有選擇項(xiàng)且填充項(xiàng)的評(píng)分滿足一定條件,出現(xiàn)極端評(píng)分的概率明顯小于真實(shí)用戶,且由于2種攻擊方式接近,極端評(píng)分比的分布方式也相似。通過圖1和圖2可以發(fā)現(xiàn),利用極端評(píng)分比可以有效區(qū)分真實(shí)用戶和攻擊概貌。
Figure 1 Comparison of PER between random attackers and normal users
Figure 2 Comparison of PER between average attackers and normal users
3.1.2 流行攻擊概貌
流行攻擊選擇當(dāng)前系統(tǒng)中最流行的項(xiàng)目作為選擇項(xiàng),其評(píng)分為系統(tǒng)最高評(píng)分,選擇項(xiàng)與隨機(jī)攻擊相同。由于流行攻擊具有評(píng)分為系統(tǒng)最高分的選擇項(xiàng),故流行攻擊中極端評(píng)分比根據(jù)其選擇項(xiàng)的規(guī)模發(fā)生變化。圖3所示為不同填充率下流行攻擊中的極端評(píng)分比和真實(shí)用戶的對(duì)比,流行攻擊的極端評(píng)分比隨攻擊概貌的填充率發(fā)生變化且和真實(shí)用戶的極端評(píng)分比相似。因此,使用極端評(píng)分比作為特征無法有效區(qū)分流行攻擊概貌和真實(shí)用戶,但流行攻擊的概貌特征與真實(shí)用戶在評(píng)分離散度檢測(cè)下仍存在可區(qū)分的特征。下面對(duì)流行攻擊概貌進(jìn)行討論。
Figure 3 Comparison of PER between bandwagon attackers and normal users
流行攻擊屬于推攻擊,可以看作是隨機(jī)攻擊的一種擴(kuò)展。這種攻擊方式具有的選擇項(xiàng)為當(dāng)前系統(tǒng)中流行度最高的幾個(gè)項(xiàng)目,且評(píng)分均為系統(tǒng)最高評(píng)分,其填充項(xiàng)和隨機(jī)攻擊填充項(xiàng)的部署方式相同。因此,流行攻擊概貌的評(píng)分分布存在一個(gè)有趣的現(xiàn)象,即去除極端評(píng)分后,剩余的評(píng)分分布與隨機(jī)攻擊相同。而對(duì)于真實(shí)用戶在去除極端評(píng)分后,用戶評(píng)分的離散度會(huì)降低。因此,本文定義去極端評(píng)分方差對(duì)流行攻擊概貌和真實(shí)用戶進(jìn)行區(qū)分。
定義2(去極端評(píng)分方差RESV)RESV描述用戶去除極端評(píng)分后其余評(píng)分的方差。用戶u的去極端評(píng)分方差定義如式(2)所示:
(2)
如圖4所示,在去除極端評(píng)分后,流行攻擊用戶概貌的評(píng)分方差為用戶整體評(píng)分的均值和方差。而真實(shí)用戶去除極端評(píng)分值后,評(píng)分方差降低。因此,通過圖4可以確定,利用去極端評(píng)分方差可以有效地區(qū)分真實(shí)用戶和流行攻擊概貌。
Figure 4 Comparison of RESV between bandwagon attackers and normal users
3.1.3 段攻擊概貌
段攻擊同樣屬于推攻擊,具有選擇項(xiàng)。但是,段攻擊概貌和流行攻擊概貌的區(qū)別在于,段攻擊選擇項(xiàng)為與目標(biāo)用戶類別相似的項(xiàng)目,評(píng)分均為系統(tǒng)最高評(píng)分。填充項(xiàng)與流行攻擊的不同之處在于,段攻擊的填充項(xiàng)為系統(tǒng)隨機(jī)選擇,但填充項(xiàng)目的評(píng)分均為系統(tǒng)最低分。這是由于段攻擊是只針對(duì)目標(biāo)項(xiàng)目具有潛在興趣的一組用戶群,而不影響推薦系統(tǒng)整體,因此利用去極端評(píng)分方差無法檢測(cè)段攻擊概貌。
段攻擊概貌中選擇項(xiàng)為系統(tǒng)最高分而填充項(xiàng)為系統(tǒng)最低分,但真實(shí)用戶評(píng)分中用戶根據(jù)對(duì)項(xiàng)目的喜愛程度進(jìn)行評(píng)分。真實(shí)用戶的評(píng)分是隨機(jī)且波動(dòng)較為平穩(wěn)的,2類用戶在整體評(píng)分離散度上存在較大差異,因此本文引入用戶評(píng)分標(biāo)準(zhǔn)差作為檢測(cè)段攻擊的評(píng)分特征。
定義3(用戶評(píng)分標(biāo)準(zhǔn)差SD)SD指的是用戶對(duì)各個(gè)項(xiàng)目評(píng)分與評(píng)分均值的離差平方的算數(shù)平均數(shù)的平方根,如式(3)所示:
(3)
由圖5可見,真實(shí)用戶評(píng)分的離散度明顯小于段攻擊概貌的,因此SD可以區(qū)分真實(shí)用戶的段攻擊概貌。
Figure 5 Comparison of SD between segment attackers and normal users
根據(jù)上面的討論,托攻擊概貌和真實(shí)用戶概貌在評(píng)分離散度上存在差異,本文用極端評(píng)分比PER、去極端評(píng)分方差RESV和用戶評(píng)分標(biāo)準(zhǔn)差SD3個(gè)特征對(duì)用戶評(píng)分離散度進(jìn)行描述。利用這些特征差異對(duì)攻擊概貌和真實(shí)用戶進(jìn)行分類。
以上3個(gè)特征中,PER是一個(gè)適合對(duì)不具有選擇項(xiàng)的隨機(jī)攻擊和均值攻擊進(jìn)行檢測(cè)的分類特征,對(duì)真實(shí)用戶和攻擊概貌中的極端評(píng)分比進(jìn)行統(tǒng)計(jì)可以看出,隨機(jī)攻擊和均值攻擊的PER均低于正常用戶的。RESV是針對(duì)流行攻擊提出的分類特征,在去除極端評(píng)分比之后,流行攻擊概貌的評(píng)分方差大于真實(shí)用戶的評(píng)分方差。SD是專門針對(duì)段攻擊的分類特征,由于段攻擊由特殊的攻擊概貌構(gòu)成,其用戶評(píng)分均方差大于真實(shí)用戶的。為了從用戶離散度上對(duì)攻擊用戶進(jìn)行檢測(cè),將PER、RESV和SD3個(gè)特征作為相應(yīng)攻擊模型的分類特征,使用ID3決策樹算法訓(xùn)練分類器。
決策樹算法是一個(gè)以實(shí)例為基礎(chǔ)的歸納學(xué)習(xí)算法[21],從一個(gè)無次序、無規(guī)則的實(shí)例集合中歸納出一組采用樹形結(jié)構(gòu)表示的分類規(guī)則。ID3決策樹算法是對(duì)決策樹算法的一種改進(jìn)算法。本文將標(biāo)記的數(shù)據(jù)集作為訓(xùn)練集,將ID3決策樹算法作為分類算法。ID3決策樹算法根據(jù)信息增益率選擇測(cè)試屬性,通過屬性離散化的方式對(duì)連續(xù)屬性進(jìn)行處理。本文中系統(tǒng)標(biāo)記的虛假用戶和真實(shí)用戶樣本集D={x1,x2,…,xn},每個(gè)樣本xi的屬性向量P=(a1,a2,…,am),其中m=3,ai包括PER,RESV,SD3個(gè)特征值。類別屬性C={C1,C2,…,Ck},其中k=2,根據(jù)屬性特征值可以將樣本劃分為C1和C22個(gè)子集,代表真實(shí)用戶和攻擊概貌。步驟如下所示:
步驟1計(jì)算每個(gè)樣本的RESV、PER和SD3個(gè)屬性,得到用戶評(píng)分屬性特征向量。
步驟2計(jì)算待分類數(shù)據(jù)樣本在每個(gè)屬性A=ai時(shí)的信息增益度h(D,A)=Gain(D,A)/Entropy(D),i=1,2,3,選擇信息增益度最大的屬性作為根節(jié)點(diǎn),其中Entropy(D)是當(dāng)前樣本的信息熵,Gain(D,A)為屬性在當(dāng)前樣本下的分類信息增益,其計(jì)算公式如式(4)所示:
Gain(D,A)=Entropy(D)-
∑v∈V(A)Entropy(Dv)
(4)
其中,D為當(dāng)前待分的數(shù)據(jù)樣本集,Dv是樣本集D中屬性A的值等于v的樣本集合,V(A)是屬性A的值域。
步驟3對(duì)于根節(jié)點(diǎn)屬性的每個(gè)可能值vi和相應(yīng)的數(shù)據(jù)點(diǎn)集合Dv,遞歸步驟2選擇子樹根節(jié)點(diǎn)建立子樹,直至某個(gè)分支下只有一個(gè)類標(biāo)簽的樣本子集為止。
本文算法流程如算法1所示:
算法1基于評(píng)分離散度的托攻擊檢測(cè)算法
輸入:含有攻擊用戶的用戶評(píng)分?jǐn)?shù)據(jù)集S,用戶集合U,項(xiàng)目集I,決策樹算法分類數(shù)K=2。
輸出:分類結(jié)果。
BEGIN
步驟1foru∈U
步驟2fori∈I
步驟3計(jì)算特征向量P=(a1,a2,a3)/*用戶特征向量由SD,PER,RESV組成*/
步驟4endfor
步驟5endfor
步驟6foru∈U
步驟7計(jì)算用戶特征向量集合;
步驟8fori≤3
步驟9A=ai;
步驟10計(jì)算屬性A的分類信息增益度:
步驟11Gain(D,A)=Entropy(D)-∑v∈V(A)Entropy(Dv);
步驟12計(jì)算信息增益度:
步驟13MAE(ai)=root;
步驟14endfor
步驟15endfor
END
本文使用MovieLens數(shù)據(jù)集[19]進(jìn)行實(shí)驗(yàn),包括943個(gè)用戶對(duì)1 682個(gè)項(xiàng)目的評(píng)分?jǐn)?shù)據(jù),并且每個(gè)用戶至少對(duì)20部電影進(jìn)行評(píng)分,評(píng)分取值為[1,5]。實(shí)驗(yàn)假定系統(tǒng)中原有的用戶為真實(shí)用戶,利用托攻擊的模型向系統(tǒng)中注入的用戶為攻擊概貌,實(shí)驗(yàn)的目的是在不刪除虛假用戶的情況下,對(duì)目標(biāo)用戶進(jìn)行分類。
托攻擊常用準(zhǔn)確率fp和召回率fr的綜合指標(biāo)F值[13]作為監(jiān)測(cè)指標(biāo),設(shè)N為分類器預(yù)測(cè)出的虛假用戶數(shù)量,Na為分類器正確分類出的虛假用戶數(shù),Nt為系統(tǒng)中實(shí)際存在的虛假用戶數(shù)。為了適應(yīng)本文算法,重新定義N為ID3決策樹算法中虛假用戶集C1中用戶的數(shù)量,Na為C1中虛假用戶數(shù),Nt為系統(tǒng)中實(shí)際存在的虛假用戶數(shù)。則準(zhǔn)確率fp、召回率fr及綜合指標(biāo)F值的計(jì)算公式分別如式(5)~式(7)所示:
fp=Na/N
(5)
fr=Na/Nt
(6)
F=2fpfr/(fp+fr)
(7)
為了說明實(shí)驗(yàn)的效果,本文進(jìn)行了2組實(shí)驗(yàn)。首先在注入不同的攻擊概貌之后,驗(yàn)證Dispersion-C算法的準(zhǔn)確率fp和召回率fr;其次利用fp和fr的綜合指標(biāo)值,在10%的攻擊強(qiáng)度下,將本文算法與文獻(xiàn)[13,16,22]的托攻擊檢測(cè)算法進(jìn)行對(duì)比驗(yàn)證。
4.2.1 算法的檢測(cè)效果分析
為了說明實(shí)驗(yàn)效果,在不同的實(shí)驗(yàn)參數(shù)下對(duì)本文Dispersion-C算法的效果進(jìn)行測(cè)試。實(shí)驗(yàn)的參數(shù)包括:裝填規(guī)模和攻擊規(guī)模。其中,攻擊強(qiáng)度取5%,7%,10%和12%,填充率取3%,8%,10%,12%,15%和20%,攻擊模型為隨機(jī)攻擊、均值攻擊、流行攻擊和段攻擊。將2個(gè)參數(shù)進(jìn)行相互組合,每一種組合對(duì)應(yīng)一個(gè)實(shí)驗(yàn)設(shè)置,其中選擇75%的數(shù)據(jù)樣本組成訓(xùn)練集,25%的數(shù)據(jù)樣本組成測(cè)試集,然后計(jì)算算法的準(zhǔn)確率和召回率,并在重復(fù)進(jìn)行100次實(shí)驗(yàn)后,統(tǒng)計(jì)得到最終的結(jié)果。
表2~表5是Dispersion-C算法在不同裝填規(guī)模和攻擊規(guī)模下的分類效果,從中可以發(fā)現(xiàn),對(duì)于不同填充率和攻擊強(qiáng)度的流行攻擊和均值攻擊,Dispersion-C算法均有較好的檢測(cè)效果,并且隨著填充率和攻擊強(qiáng)度的增大檢測(cè)效果逐漸提高,算法魯棒性較好。對(duì)于具有選擇項(xiàng)的流行攻擊和段攻擊,Dispersion-C算法的檢測(cè)效果同樣優(yōu)勢(shì)明顯,特別是針對(duì)段攻擊的檢測(cè)。實(shí)驗(yàn)中算法存在召回率大于準(zhǔn)確率的現(xiàn)象,說明本文算法檢測(cè)嚴(yán)格,出現(xiàn)了將真實(shí)用戶劃分為攻擊概貌的現(xiàn)象。
Table 2 Detection precision and recall of random attack detected by Dispersion-C algorithm
4.2.2 Dispersion-C算法與其他算法對(duì)比
為了對(duì)本文提出的 Dispersion-C算法的檢測(cè)效果進(jìn)行更加全面的分析,將本文算法與文獻(xiàn)[13]提出的基于用戶評(píng)分流行度分類特征的監(jiān)督學(xué)習(xí)的DegreeSAD算法、文獻(xiàn)[22]提出的利用特征指標(biāo)進(jìn)行托攻擊檢測(cè)的半監(jiān)督學(xué)習(xí)的檢測(cè)算法SEDSA-CI和文獻(xiàn)[16]提出的無監(jiān)督學(xué)習(xí)的檢測(cè)算法LFAMR一起進(jìn)行討論。在相同配置的情況下,且攻擊強(qiáng)度均為10%時(shí),將4種算法的檢測(cè)效果利用式(7)進(jìn)行比較。實(shí)驗(yàn)結(jié)果如圖6所示。
Table 3 Detection precision and recall of average attack detected by Dispersion-C algorithm
Table 4 Detection precision and recall of bandwagon attack detected by Dispersion-C algorithm
Table 5 Detection precision and recall of segment attack detected by Dispersion-C algorithm
Figure 6 Comparison of detection effects between Dispersion-C and other algorithms
圖6展示了4種算法對(duì)于不同攻擊模型的檢測(cè)效果。Dispersion-C算法根據(jù)用戶評(píng)分離散度選取分類特征,不易受到項(xiàng)目填充率的影響,因此對(duì)于較低項(xiàng)目填充率的攻擊概貌檢測(cè)效果較好,但因攻擊概貌始終存在接近真實(shí)用戶評(píng)分分布的可能性,因此很難達(dá)到完美的檢測(cè)效果。
與同為有監(jiān)督學(xué)習(xí)的基于流行度分類特征的算法DegreeSAD相比,Dispersion-C算法針對(duì)4種攻擊模型具有較優(yōu)的檢測(cè)效果。由于DegreeSAD算法從用戶選擇評(píng)分項(xiàng)目的方式入手,因此對(duì)于存在選擇項(xiàng)的流行攻擊和段攻擊,在填充率低于10%時(shí),檢測(cè)效果不太理想,并且隨著填充率的增加,對(duì)于隨機(jī)攻擊的檢測(cè)存在F值下降的現(xiàn)象,說明DegreeSAD算法的檢測(cè)不穩(wěn)定。對(duì)于半監(jiān)督學(xué)習(xí)SEDSA-CI算法,由于其使用K-means算法對(duì)標(biāo)記用戶進(jìn)行分類,算法易受到聚類中心選擇的影響,導(dǎo)致檢測(cè)效果不穩(wěn)定,且檢測(cè)效果較差。無監(jiān)督學(xué)習(xí)算法LFAMR從用戶評(píng)分的缺失項(xiàng)目潛在因素構(gòu)建分類特征,在填充率較低時(shí)目標(biāo)項(xiàng)和選擇項(xiàng)的數(shù)目相差不大,算法對(duì)各類攻擊的檢測(cè)能力均較差。
根據(jù)以上實(shí)驗(yàn)對(duì)比,基于用戶評(píng)分離散度的托攻擊檢測(cè)算法與傳統(tǒng)的有監(jiān)督學(xué)習(xí)的托攻擊檢測(cè)算法相比具有較好的檢測(cè)效果;同時(shí)與半監(jiān)督學(xué)習(xí)和無監(jiān)督學(xué)習(xí)算法相比,不受填充率的影響,且具有較好的魯棒性。
托攻擊的檢測(cè)通常面臨魯棒性問題,針對(duì)這一問題,本文對(duì)真實(shí)用戶和攻擊概貌的評(píng)分分布情況進(jìn)行分析,發(fā)現(xiàn)真實(shí)用戶和攻擊概貌在評(píng)分頻數(shù)分布上是不同的。引入評(píng)分離散度作為衡量標(biāo)準(zhǔn),將評(píng)分離散度的描述特征PER、RESV和SD作為檢測(cè)攻擊概貌的分類特征。選擇信息增益最大的特征作為ID3決策樹的分類屬性,對(duì)真實(shí)用戶和攻擊概貌進(jìn)行分類,實(shí)現(xiàn)托攻擊的檢測(cè)。實(shí)驗(yàn)結(jié)果表明,本文算法在不同的填充率和攻擊強(qiáng)度下,對(duì)攻擊概貌均有較好的檢測(cè)效果,同時(shí)算法具有良好的魯棒性。本文算法主要針對(duì)單一推薦系統(tǒng)的托攻擊檢測(cè),而目前分布式協(xié)同過濾算法越來越流行,下一步工作將對(duì)分布式協(xié)同過濾算法中的托攻擊檢測(cè)算法進(jìn)行研究。