武錦霞,周全強(qiáng),段亮亮
(青島理工大學(xué) 信息與控制工程學(xué)院,山東 青島 266525)
隨著大數(shù)據(jù)時(shí)代的到來(lái),信息過(guò)載問(wèn)題越來(lái)越嚴(yán)重.協(xié)同推薦系統(tǒng)(Collaborative Recommender System)能夠依據(jù)用戶概貌(User Profile)主動(dòng)地為用戶推送感興趣的信息,成為解決信息過(guò)載問(wèn)題的有效途徑之一,在電子商務(wù)、社交網(wǎng)絡(luò)、多媒體服務(wù)等領(lǐng)域有著廣泛的應(yīng)用[1].
然而,大量研究表明,協(xié)同推薦系統(tǒng)易遭受推薦攻擊(Recommendation Attack)[2,3].在這種攻擊中,惡意用戶出于商業(yè)競(jìng)爭(zhēng)等目的,通過(guò)向協(xié)同推薦系統(tǒng)注入大量虛假概貌來(lái)改變推薦結(jié)果.為了與真實(shí)概貌(Genuine Profile)相區(qū)分,通常將這種虛假概貌稱為攻擊概貌(Attack Profile)[4].根據(jù)不同的攻擊目的,一般將推薦攻擊分為推攻擊(Push Attack)和核攻擊(Nuke Attack),分別用于提升和降低目標(biāo)項(xiàng)目的推薦等級(jí)[4].為了達(dá)到攻擊的目的,惡意用戶通常使用攻擊模型(Attack Model)[4]生成攻擊概貌.除了目標(biāo)項(xiàng)目,其他一些項(xiàng)目也將被評(píng)分使攻擊概貌看起來(lái)更接近真實(shí)概貌.常見的攻擊模型包括隨機(jī)攻擊、均值攻擊和流行攻擊[5].推薦攻擊的強(qiáng)度通常用攻擊規(guī)模和填充規(guī)模來(lái)度量[5].
為了檢測(cè)推薦攻擊,研究者提出了很多檢測(cè)方法,從機(jī)器學(xué)習(xí)的角度可以將已有方法分類3類:無(wú)監(jiān)督[6-12]、有監(jiān)督[13-21]及半監(jiān)督檢測(cè)方法[22,23].無(wú)監(jiān)督檢測(cè)方法一般不需要訓(xùn)練樣本,但通常需要一定的先驗(yàn)知識(shí).有監(jiān)督檢測(cè)方法通常利用有標(biāo)簽的用戶概貌訓(xùn)練分類器對(duì)推薦攻擊進(jìn)行檢測(cè).半監(jiān)督檢測(cè)方法在利用有標(biāo)簽用戶概貌訓(xùn)練分類器的同時(shí),能夠利用無(wú)標(biāo)簽用戶概貌進(jìn)一步提升分類器的性能,由于協(xié)同推薦系統(tǒng)往往存在大量無(wú)標(biāo)簽用戶概貌,因此,能利用無(wú)標(biāo)簽用戶概貌提升分類器性能成為半監(jiān)督類檢測(cè)方法的重要優(yōu)勢(shì).然而,目前針對(duì)半監(jiān)督檢測(cè)方法的研究較少,且已有半監(jiān)督檢測(cè)方法的準(zhǔn)確率不高.
為了提升半監(jiān)督檢測(cè)方法的檢測(cè)性能,本文基于半監(jiān)督Fisher判別分析技術(shù)提出一種推薦攻擊檢測(cè)方法RAD-SFDA.本文方法同時(shí)利用了從有標(biāo)簽用戶概貌捕獲的判別結(jié)構(gòu),以及從由有標(biāo)簽和無(wú)標(biāo)簽用戶概貌構(gòu)成的全部用戶概貌捕獲的全局結(jié)構(gòu),以獲得最優(yōu)投影向量,在新的投影空間中增加了真實(shí)概貌和攻擊概貌的區(qū)分度以提升檢測(cè)性能.本文的主要貢獻(xiàn)如下:
1)利用FDA(Fisher Discriminant Analysis)技術(shù)捕獲了有標(biāo)簽用戶概貌的判別結(jié)構(gòu);利用PCA(Principal Components Analysis)技術(shù)捕獲了全部用戶概貌的全局結(jié)構(gòu);
2)綜合上述判別結(jié)構(gòu)和全局結(jié)構(gòu)獲得了最佳投影向量,在新的投影空間中增加了真實(shí)概貌和攻擊概貌的區(qū)分度;
3)提出了一種基于半監(jiān)督Fisher判別分析SFDA(Semi-supervised Fisher Discriminant Analysis)的檢測(cè)算法,通過(guò)訓(xùn)練貝葉斯分類器對(duì)推薦攻擊進(jìn)行了有效檢測(cè);
4)在標(biāo)準(zhǔn)的MovieLens數(shù)據(jù)集上與相關(guān)工作進(jìn)行了對(duì)比實(shí)驗(yàn),驗(yàn)證了本文方法的有效性.
在無(wú)監(jiān)督檢測(cè)方法中,Chirita等人[6]首先提出了幾個(gè)基于統(tǒng)計(jì)的指標(biāo)來(lái)檢測(cè)高密度的攻擊概貌.Mehta等人[7,8]利用PCA技術(shù)過(guò)濾攻擊概貌,可有效檢測(cè)多種類型的推薦攻擊,但是,該方法假設(shè)在檢測(cè)前已經(jīng)知道測(cè)試集中攻擊概貌的數(shù)目,這種先驗(yàn)知識(shí)在實(shí)際中不易獲得.李聰?shù)热薣9]通過(guò)定量度量攻擊概貌的群體效應(yīng)構(gòu)建出遺傳優(yōu)化的目標(biāo)函數(shù),并在遺傳優(yōu)化的過(guò)程中融入貝葉斯推斷思想來(lái)完成對(duì)攻擊概貌的檢測(cè),有效降低了無(wú)監(jiān)督方法對(duì)先驗(yàn)知識(shí)的依賴程度.Yang等人[10]采用圖挖掘算法區(qū)分真實(shí)概貌和攻擊概貌,通過(guò)構(gòu)造無(wú)向圖和估計(jì)相似度提出一種檢測(cè)方法,可檢測(cè)多種類型攻擊,然而,為該方法選取合適的共同評(píng)分閾值是一項(xiàng)有挑戰(zhàn)性的工作.Yang等人[11]通過(guò)分析用戶、項(xiàng)目和特殊評(píng)分的分布,聯(lián)合目標(biāo)項(xiàng)目分析和非線性聚類技術(shù)提出一種檢測(cè)方法.非線性聚類技術(shù)有效提升了該方法對(duì)推薦攻擊的檢測(cè)性能,然而,從大量項(xiàng)目中確認(rèn)目標(biāo)項(xiàng)目并非易事.Zhang等人[12]假設(shè)測(cè)試集中同時(shí)包含真實(shí)概貌和攻擊概貌,采用聚類技術(shù)劃分真實(shí)概貌和攻擊概貌到不同的簇中以識(shí)別推薦攻擊,有效降低了無(wú)監(jiān)督方法對(duì)先驗(yàn)知識(shí)的要求.無(wú)監(jiān)督檢測(cè)方法存在的主要問(wèn)題是過(guò)度依賴先驗(yàn)知識(shí),因此,如何有效降低檢測(cè)方法對(duì)先驗(yàn)知識(shí)的依賴是該類方法面臨的重要挑戰(zhàn)之一.
在有監(jiān)督檢測(cè)方法中,Burke等人[13,14]通過(guò)訓(xùn)練kNN、C4.5和SVM3個(gè)分類器檢測(cè)推薦攻擊,這些分類器有較高的召回率,但準(zhǔn)確率不高.伍之昂等人[15]提出一種特征選擇算法,在已有特征的基礎(chǔ)上選取部分作為特性屬性,檢測(cè)特定類型的攻擊模型,與沒(méi)進(jìn)行特征選擇之前相比,一定程度上提升了檢測(cè)性能.Zhang等人[16]利用Hilber-Huang變換提取了推薦攻擊的評(píng)分分布特征,在此基礎(chǔ)上訓(xùn)練SVM檢測(cè)推薦攻擊,對(duì)高密度攻擊概貌具有一定檢測(cè)效果.李文濤等人[17]提出了一種基于流行度的檢測(cè)算法,該算法從評(píng)分項(xiàng)目的流行度角度提取分類特征,進(jìn)而通過(guò)訓(xùn)練決策樹生成分類器對(duì)推薦攻擊進(jìn)行檢測(cè),對(duì)包括混合攻擊在內(nèi)的多類攻擊模型具有一定的檢測(cè)效果.Yang等人[18]基于重新縮放的Boosting和AdaBoost檢測(cè)推薦攻擊,提升了針對(duì)不平衡測(cè)試數(shù)據(jù)的檢測(cè)性能.Zhou等人[19]結(jié)合Borderline-SMOTE技術(shù)和目標(biāo)項(xiàng)目分析訓(xùn)練了基于SVM的分類器檢測(cè)推薦攻擊.該方法一般來(lái)說(shuō)具有較好的檢測(cè)性能,然而,由于協(xié)同推薦系統(tǒng)通常有大量項(xiàng)目,有時(shí)很難準(zhǔn)確查找目標(biāo)項(xiàng)目,在這種情況下,該方法的檢測(cè)性能變得不穩(wěn)定.Tong等人[20]提出了一種基于卷積神經(jīng)網(wǎng)絡(luò)的推薦攻擊檢測(cè)方法,在滿足其對(duì)大量有標(biāo)簽訓(xùn)練樣本需求的條件下,該方法具有一定的檢測(cè)效果.Xu等人[21]提取了基于信任的用戶概貌特征,在此基礎(chǔ)上訓(xùn)練SVM檢測(cè)推薦攻擊.該方法提升了單分類器的檢測(cè)性能,然而,該方法建立在正確識(shí)別目標(biāo)項(xiàng)目的基礎(chǔ)之上,從大量項(xiàng)目中確定目標(biāo)項(xiàng)目有時(shí)難以實(shí)現(xiàn).有監(jiān)督檢測(cè)方法雖然不需要先驗(yàn)知識(shí),但只能從有標(biāo)簽的訓(xùn)練樣本中學(xué)習(xí)檢測(cè)模型,無(wú)法有效利用協(xié)同推薦系統(tǒng)中存在的大量無(wú)標(biāo)簽用戶概貌.
半監(jiān)督檢測(cè)方法主要是Wu等人[22,23]的工作,他們提出了基于貝葉斯的半監(jiān)督檢測(cè)方法.首先利用有標(biāo)簽用戶概貌初始化一個(gè)貝葉斯分類器,然后,利用無(wú)標(biāo)簽用戶概貌提升分類器的性能.該方法對(duì)某些類型的推薦攻擊具有較高的召回率,然而,該方法的準(zhǔn)確率較低.如何有效提升準(zhǔn)確率成為當(dāng)前半監(jiān)督檢測(cè)方法面臨的重要研究課題之一.
2.2.1 Fisher判別分析FDA
FDA[24]是一種有監(jiān)督的線性降維技術(shù),利用有標(biāo)簽樣本,通過(guò)尋找一個(gè)最佳投影向量,使得在投影空間中最大化不同類樣本間離散度,同時(shí)最小化同類樣本之間的離散度.
(1)
(2)
可通過(guò)優(yōu)化下面的目標(biāo)函數(shù)來(lái)確定FDA判別向量:
(3)
將上述優(yōu)化問(wèn)題轉(zhuǎn)化為求解下面的廣義特征值問(wèn)題:
Sbt=λSwt
(4)
其中,λ表示廣義特征值,t表示λ對(duì)應(yīng)的廣義特征向量,與FDA判別向量等價(jià).
為便于問(wèn)題描述,將Sb和Sw的定義改寫為對(duì)等表達(dá)形式:
(5)
(6)
其中,
(7)
(8)
由上式可以看出,同類中的數(shù)據(jù)對(duì)越接近,類內(nèi)的離散度矩陣就越小,不同類中的數(shù)據(jù)對(duì)彼此之間越分散,類間離散度矩陣就越大.
2.2.2 主元分析PCA
PCA[25]是一種無(wú)監(jiān)督的線性降維技術(shù),目的是找到所有樣本方差變化最大的方向,能夠?qū)⒃紭颖究臻g中的最大信息保留下來(lái).
(9)
全局離散度矩陣St的對(duì)等形式可以表示為:
(10)
PCA的優(yōu)化目標(biāo)函數(shù)為:
(11)
目標(biāo)函數(shù)優(yōu)化問(wèn)題等價(jià)于下述廣義特征值求解問(wèn)題:
StL=δIdL
(12)
其中,δ為廣義特征值,L為δ對(duì)應(yīng)的特征向量,Id為d維單位矩陣.
2.2.3 半監(jiān)督Fisher判別分析SFDA
SFDA[26]將FDA和PCA有效的結(jié)合在一起,可同時(shí)利用從標(biāo)簽樣本學(xué)習(xí)的判別結(jié)構(gòu)和從全部樣本學(xué)習(xí)的全局結(jié)構(gòu),找到最佳投影向量.
Srb=(1-β)Sb+βSt
(13)
Srw=(1-β)Sw+βId
(14)
其中,β∈[0,1]表示調(diào)整參數(shù),當(dāng)β=0時(shí),SFDA完全轉(zhuǎn)化為FDA,當(dāng)β=1時(shí),SFDA完全轉(zhuǎn)化為PCA,SFDA的優(yōu)化目標(biāo)函數(shù)為:
(15)
上述優(yōu)化問(wèn)題等價(jià)于下面求廣義特征值問(wèn)題:
Srbq=λSrwq
(16)
其中,λ表示廣義特征值,q表示對(duì)應(yīng)的廣義特征向量.若廣義特征值的大小排序?yàn)棣?≥λ2…≥λd,對(duì)應(yīng)的廣義特征向量為q1,q2,…,qd.前r個(gè)廣義特征向量可以構(gòu)成最佳投影向量q1,q2,…,qr,即SFDA判別向量,其中,r(1≤r≤d)代表降維維數(shù),此時(shí)降維后的空間變成了r維投影空間,一旦找到了最佳投影向量,便可以將樣本投影到r維空間中,在投影空間中增加不同類樣本之間的離散度.
圖1描述了本文方法RAD-SFDA的基本框架.
圖1 RAD-SFDA的推薦攻擊檢測(cè)框架Fig.1 Recommendation attack detection framework of RAD-SFDA
如圖1所示,RAD-SFDA方法首先利用特征提取方法對(duì)訓(xùn)練集和測(cè)試集中的用戶概貌進(jìn)行特征提取,本文選用主流的推薦攻擊特征提取方法,將在實(shí)驗(yàn)部分進(jìn)行介紹;在進(jìn)行歸一化處理操作之后,利用FDA從有標(biāo)簽用戶概貌獲得判別結(jié)構(gòu),利用PCA從全部用戶概貌獲得全局結(jié)構(gòu),然后,結(jié)合PCA和FDA建立SFDA模型獲得最佳投影向量;在新的投影空間中訓(xùn)練貝葉斯分類器對(duì)測(cè)試集進(jìn)行檢測(cè).
用L=[x1,x2,…,xl]T表示訓(xùn)練集中的有標(biāo)簽用戶概貌,U=[xl+1,xl+2,…,xl+u]T表示訓(xùn)練集中的無(wú)標(biāo)簽用戶概貌,則訓(xùn)練集可以表示為Ttrain=[L,U]T=[xi,x2,…,xl,xl+1,xl+2,…,xl+u]T.
用Ck表示有標(biāo)簽用戶概貌的第k個(gè)類別,其中,k為1或2,C1表示真實(shí)概貌,C2表示攻擊概貌.
根據(jù)FDA[24],利用公式(17)計(jì)算真實(shí)概貌和攻擊概貌間的離散度矩陣Sb:
(17)
利用公式(18),計(jì)算類內(nèi)離散度矩陣Sw:
(18)
根據(jù)PCA[25],利用公式(19)計(jì)算全局離散度矩陣St:
(19)
根據(jù)SFDA[26],利用公式(20)計(jì)算正則化類間離散度矩陣Srb:
Srb=(1-β)Sb+βSt
(20)
利用公式(21)計(jì)算正則化類內(nèi)離散度矩陣Srw:
Srw=(1-β)Sw+βId
(21)
其中,β∈[0,1]表示調(diào)整參數(shù).
計(jì)算得到Srb和Srw之后,利用公式(16)計(jì)算得到廣義特征值及其對(duì)應(yīng)的廣義特征向量q.設(shè)廣義特征值由大到小排列為λ1≥λ2≥…≥λd,對(duì)應(yīng)的廣義特征向量為q1,q2,…,qd,利用前r個(gè)廣義特征向量建立投影矩陣Qr=[q1,q2,…,qr],其中,r表示降維維數(shù),降維后的空間即是r(1≤r≤d)維投影空間,r將作為超參數(shù)在實(shí)驗(yàn)中設(shè)置具體值.通過(guò)設(shè)置r確定最佳投影空間,在該空間中,減少了真實(shí)概貌之間及攻擊概貌之間的離散度,同時(shí)增大了真實(shí)概貌和攻擊概貌之間的離散度,有效增加了不同類用戶概貌的區(qū)分度,提升了檢測(cè)性能.
圖2 不同β值對(duì)應(yīng)投影向量的二維示意圖Fig.2 Two-dimensional diagram of projection vectors corresponding to different β values
在公式(20)中,Sb由有標(biāo)簽用戶概貌計(jì)算得來(lái),若有標(biāo)簽用戶概貌過(guò)少則容易導(dǎo)致過(guò)擬合,若大量增加有標(biāo)簽用戶概貌通常會(huì)增加標(biāo)記代價(jià).而St是由包含大量無(wú)標(biāo)簽用戶概貌的信息計(jì)算得到,在不增加標(biāo)記代價(jià)的條件下,會(huì)提高Srb檢測(cè)推薦攻擊的檢測(cè)性能.在公式(21)中,Srw中的βId可以看作為正則化項(xiàng),SFDA通過(guò)添加正則化項(xiàng)會(huì)表現(xiàn)出更強(qiáng)的泛化能力.
公式(20)和公式(21)中的調(diào)整參數(shù)β能夠靈活調(diào)整SFDA的平滑性,當(dāng)β趨于0時(shí),SFDA傾向于FDA,當(dāng)β趨于1時(shí),SFDA傾向于PCA,將FDA和PCA巧妙的結(jié)合起來(lái).圖2演示了二維空間中不同β值對(duì)投影向量的影響.
如圖2所示,實(shí)心圓圈表示有標(biāo)簽真實(shí)概貌,空心圓圈表示無(wú)標(biāo)簽真實(shí)概貌,實(shí)心方框表示有標(biāo)簽攻擊概貌,空心方框表示無(wú)標(biāo)簽攻擊概貌,虛線表示不同β值對(duì)應(yīng)的投影向量.當(dāng)β=0時(shí),SFDA轉(zhuǎn)化為FDA,投影向量對(duì)有標(biāo)簽用戶概貌進(jìn)行了很好的區(qū)分,但是部分無(wú)標(biāo)簽用戶概貌有一定重疊,區(qū)分度不高.當(dāng)β接近于1時(shí),SFDA的開始向PCA過(guò)度,能夠捕獲全部用戶概貌的全局結(jié)構(gòu).當(dāng)β=0.5時(shí),投影向量綜合考慮了判別結(jié)構(gòu)和全局結(jié)構(gòu),有標(biāo)簽和無(wú)標(biāo)簽用戶概貌的區(qū)分度得到有效增強(qiáng).
(22)
(23)
根據(jù)貝葉斯分類規(guī)則,按照后驗(yàn)概率的大小作分類依據(jù),利用下式給出推薦攻擊的檢測(cè)結(jié)果:
(24)
基于上述分析,本文提出的基于SFDA的檢測(cè)算法如算法1所示.
算法1.基于SFDA的推薦攻擊檢測(cè)算法
輸入:訓(xùn)練集Ttrain,測(cè)試集Ttest,有標(biāo)記用戶概貌的比例ratio,降維維數(shù)r,調(diào)整參數(shù)β
輸出:檢測(cè)結(jié)果集
4.利用β、Sb、Sw和St,結(jié)合公式(20)和公式(21)計(jì)算正則化類間離散度矩陣Srb和類內(nèi)離散度矩陣Srw;
5.利用r、Srb和Srw,結(jié)合公式(16)計(jì)算投影矩陣Qr;
采用協(xié)同推薦領(lǐng)域中的標(biāo)準(zhǔn)MovieLens 10M(1)https://grouplens.org/datasets/movielens/(數(shù)據(jù)集作為實(shí)驗(yàn)數(shù)據(jù),該數(shù)據(jù)集包含71567個(gè)用戶對(duì)10681部電影的10000054個(gè)評(píng)分,評(píng)分值位于1-5之間,每個(gè)用戶至少擁有20條評(píng)分記錄.MovieLens 10M數(shù)據(jù)集中的用戶概貌全部標(biāo)記為真實(shí)概貌,選取3種常見的攻擊模型隨機(jī)攻擊、均值攻擊和流行攻擊[5]生成攻擊概貌.
為了建立訓(xùn)練集,從數(shù)據(jù)集中隨機(jī)選取1000個(gè)用戶概貌作為真實(shí)概貌,設(shè)置隨機(jī)攻擊、均值攻擊、流行攻擊的攻擊規(guī)模分別為1%、2%、5%和10%,對(duì)應(yīng)填充規(guī)模分別為1%,3%,5%,10%.
為了建立驗(yàn)證集,從剩余數(shù)據(jù)集中隨機(jī)選取1000個(gè)用戶概貌作為真實(shí)概貌,設(shè)置隨機(jī)攻擊、均值攻擊、流行攻擊的攻擊規(guī)模分別為1%,對(duì)應(yīng)填充規(guī)模分別為1%.
為了建立每一個(gè)測(cè)試集,從剩余數(shù)據(jù)集中隨機(jī)選取1000個(gè)用戶概貌作為真實(shí)概貌,設(shè)置隨機(jī)攻擊、均值攻擊、流行攻擊的攻擊規(guī)模分別為1%、2%、5%和10%,對(duì)應(yīng)填充規(guī)模分別為1%,3%,5%,10%,分別注入到每一個(gè)測(cè)試集中.本文實(shí)驗(yàn)只檢測(cè)推攻擊,隨機(jī)選取一個(gè)項(xiàng)目作為目標(biāo)項(xiàng)目,然而,本文方法可直接用于檢測(cè)核攻擊,重復(fù)10次建立不同的測(cè)試集,記錄檢測(cè)結(jié)果的平均值進(jìn)行對(duì)比和分析.
選取13個(gè)廣泛使用特征提取方法[14]將上述數(shù)據(jù)集映射到特征空間,這些特征包括:WDMA,RDMA,WDA,Length Variance,DegSim,DegSim′,F(xiàn)MD(random attack),F(xiàn)AC(random attack),F(xiàn)MV(average attack),F(xiàn)MD(average attack),PV(average attack),F(xiàn)MD(bandwagon attack,push),和 FAC(bandwagon attack).
利用標(biāo)準(zhǔn)的召回率Recall和準(zhǔn)確率Precision[28]評(píng)價(jià)方法在測(cè)試集上的檢測(cè)性能.F-measure[28]是對(duì)召回率和準(zhǔn)確率的調(diào)和均值,利用F-measure評(píng)價(jià)檢測(cè)方法在驗(yàn)證集上的檢測(cè)性能.
在算法1中有3個(gè)關(guān)鍵的參數(shù)需要設(shè)置,分別是有標(biāo)簽用戶概貌比例ratio、降維數(shù)目r和調(diào)整參數(shù)β.為了設(shè)定這3個(gè)參數(shù),我們固定其中兩個(gè)參數(shù),讓第3個(gè)參數(shù)在合理的范圍內(nèi)進(jìn)行變化,觀察本文方法在驗(yàn)證集上的檢測(cè)性能.
圖3 驗(yàn)證集上的檢測(cè)性能隨ratio的變化Fig.3 Changes of detection performance on validation set with ratio
設(shè)置β=0.5,r=11,本文方法在驗(yàn)證集上的檢測(cè)性能隨ratio的變化情況如圖3所示.
如圖3所示,曲線反映了有標(biāo)簽用戶概貌所占比例ratio對(duì)本文方法檢測(cè)性能的影響.隨著ratio的不斷增加,對(duì)應(yīng)的F-measure值不斷增大,這是因?yàn)殡S著有標(biāo)簽用戶概貌的增加,從有標(biāo)簽用戶概貌學(xué)習(xí)到的分類方向會(huì)更加準(zhǔn)確,因而從全部用戶概貌學(xué)習(xí)到的最大方差方向調(diào)整利用從有標(biāo)簽用戶概貌學(xué)習(xí)到的分類方向后,便能找到最佳的投影向量,達(dá)到最好的檢測(cè)性能.當(dāng)ratio的值增加到15%時(shí),F(xiàn)-measure達(dá)到最大值,之后便趨于穩(wěn)定,說(shuō)明該方法在此點(diǎn)找到最佳投影向量.該曲線圖表明,有標(biāo)簽用戶概貌的加入能夠增加該方法的檢測(cè)性能,并且即使在有標(biāo)簽用戶概貌比例很小的情況下,該方法也能取得很好的檢測(cè)性能.綜上,在算法1中,設(shè)置ratio=15%.
設(shè)置β=0.5,ratio=15%,本文方法在驗(yàn)證集上的檢測(cè)性能隨r的變化情況如圖4所示.
圖4 驗(yàn)證集上的檢測(cè)性能隨r的變化Fig.4 Changes of detection performance on validation set with r
如圖4所示,曲線反映了不同維度的投影向量對(duì)本文方法檢測(cè)性能的影響.隨著r值不斷增加,本文方法檢測(cè)性能不斷上升,這是因?yàn)樽罴淹队跋蛄渴怯蓃個(gè)廣義特征向量構(gòu)成的,廣義特征向量的個(gè)數(shù)越多,包含的信息也就越多,通常越有利于提升檢測(cè)性能.當(dāng)r=11時(shí),F(xiàn)-measure增加到最大,之后便不再增加,表明在此點(diǎn)便找到了最佳投影向量,用戶概貌經(jīng)過(guò)最佳投影向量的投影后,在r維空間中能夠增加不同類用戶概貌之間的離散度,使得檢測(cè)性能達(dá)到最大.綜上,在算法1中,設(shè)置r=11.
設(shè)置ratio=15%,r=11,本文方法在驗(yàn)證集上的檢測(cè)性能隨β的變化情況如圖5所示.
圖5 驗(yàn)證集上的檢測(cè)性能隨β的變化Fig.5 Changes of detection performance on validation set with β
如圖5所示,曲線反映了調(diào)整參數(shù)β對(duì)本文方法檢測(cè)性能的影響,β能夠調(diào)整本文方法的靈活性,將FDA和PCA巧妙的結(jié)合起來(lái),當(dāng)β趨于0.1時(shí),本文方法接近于FDA方法,當(dāng)β趨于0.9時(shí),本文方法接近于PCA方法.從曲線的變化幅度可以看出β值的變化對(duì)檢測(cè)性能影響波動(dòng)不大,這主要是因?yàn)椴徽摝碌娜≈登闆r如何,文本方法都有效利用了訓(xùn)練集中全部用戶概貌信息.如圖5所示,當(dāng)β取0.5時(shí),F(xiàn)-measure值最大,說(shuō)明本文方法在此點(diǎn)處能最大限度的發(fā)揮出FDA和PCA結(jié)合后的優(yōu)勢(shì),充分利用判別結(jié)構(gòu)和全局結(jié)構(gòu)找到最佳投影向量,因而檢測(cè)性能最佳.因此在算法1中,設(shè)置β=0.5.
為了驗(yàn)證本文方法的有效性,我們將其與下面有代表性的工作進(jìn)行實(shí)驗(yàn)對(duì)比:
-PCA-VarSelect[6]:一種基于PCA的無(wú)監(jiān)督檢測(cè)方法,通過(guò)計(jì)算協(xié)方差檢測(cè)攻擊概貌,該方法假設(shè)攻擊規(guī)模已知.
-SVM-TIA[19]:一種基于SVM的有監(jiān)督檢測(cè)方法,用Borderline-SMOTE方法平衡用戶概貌樣本,利用目標(biāo)分析方法降低誤判率.
-HySAD[23]:一種基于貝葉斯分類器的半監(jiān)督檢測(cè)方法,首次將半監(jiān)督技術(shù)應(yīng)用于推薦攻擊檢測(cè).
為了驗(yàn)證在本文方法中,無(wú)標(biāo)簽用戶概貌有效提升了檢測(cè)性能,我們?cè)黾恿艘环N對(duì)比方法如下:
-SFDA-Labeled:只使用訓(xùn)練集中有標(biāo)簽的用戶概貌進(jìn)行訓(xùn)練,不使用無(wú)標(biāo)簽用戶概貌提升性能,其余設(shè)置與本文方法RAD-SFDA中的設(shè)置相同.
4種檢測(cè)方法PCA-VarSelect、SVM-TIA、HySAD和RAD-SFDA對(duì)測(cè)試集中隨機(jī)攻擊、均值攻擊和流行攻擊的檢測(cè)結(jié)果如表1、表2和表3所示.
PCA-VarSelect方法對(duì)隨機(jī)攻擊和均值攻擊的檢測(cè)效果較高,準(zhǔn)確率和召回率保持在較高水平,該方法在檢測(cè)流行攻擊時(shí)性能有所下降,特別是檢測(cè)小規(guī)模的流行攻擊時(shí),準(zhǔn)確率不高.
表1 隨機(jī)攻擊的檢測(cè)結(jié)果對(duì)比Table 1 Comparison of detection results for random attack
表2 均值攻擊的檢測(cè)結(jié)果對(duì)比Table 2 Comparison of detection results for average attack
表3 流行攻擊的檢測(cè)結(jié)果對(duì)比Table 3 Comparison of detection results for bandwagon attack
SVM-TIA方法在大多數(shù)情況下表現(xiàn)出了很好的檢測(cè)性能,然而,在個(gè)別點(diǎn)處檢測(cè)性能不穩(wěn)定,這主要是因?yàn)镾VM-TIA方法建立在準(zhǔn)確識(shí)別目標(biāo)項(xiàng)目的基礎(chǔ)之上,當(dāng)該方法準(zhǔn)確定位到目標(biāo)項(xiàng)目時(shí),檢測(cè)性能很高,否則,檢測(cè)性能下降.
HySAD方法在檢測(cè)3類推薦攻擊時(shí),具備一定的召回率,然而,從表中可以看出,該方法的檢測(cè)準(zhǔn)確率需要進(jìn)一步提升.RAD-SFDA方法在大多數(shù)情況下表現(xiàn)出了較好的檢測(cè)性能,召回率和準(zhǔn)確率保持在了較高的水平,實(shí)驗(yàn)結(jié)果充分驗(yàn)證了本文方法的有效性.
兩種檢測(cè)方法SFDA-Labeled和RAD-SFDA對(duì)測(cè)試集中隨機(jī)攻擊、均值攻擊和流行攻擊檢測(cè)結(jié)果的平均性能指標(biāo)如表4所示.
表4 檢測(cè)結(jié)果對(duì)比Table 4 Comparison of test results
如表4所示,在檢測(cè)各類攻擊時(shí),RAD-SFDA方法比SFDA-Labeled方法在性能上均有所提升,平均召回率累計(jì)提升0.48,平均準(zhǔn)確率累計(jì)提升0.08.實(shí)驗(yàn)結(jié)果表明,本文提出的檢測(cè)方法充分發(fā)揮了半監(jiān)督檢測(cè)方法的優(yōu)勢(shì),能夠利用無(wú)標(biāo)簽用戶概貌有效提升推薦攻擊的檢測(cè)性能.
本文提出的RAD-SFDA方法同時(shí)利用了從有標(biāo)簽用戶概貌捕獲的判別結(jié)構(gòu),以及從由有標(biāo)簽和無(wú)標(biāo)簽用戶概貌構(gòu)成的全部用戶概貌捕獲的全局結(jié)構(gòu),以獲得最佳投影向量,有效提升了半監(jiān)督檢測(cè)方法的準(zhǔn)確率,這是本文方法與多數(shù)已有方法主要不同之處,也是本文方法能夠有效提升檢測(cè)性能的重要原因,實(shí)驗(yàn)結(jié)果充分驗(yàn)證了本文方法的有效性.
需要指出的是,雖然在多數(shù)實(shí)驗(yàn)結(jié)果中,本文方法都取得了較好的檢測(cè)結(jié)果,但是,在檢測(cè)高填充規(guī)模、高攻擊規(guī)模的隨機(jī)攻擊和流行攻擊時(shí),本文方法的檢測(cè)性能不高.導(dǎo)致這種現(xiàn)象的原因可能與本文選擇的特征提取方法有關(guān),本文所用的特征提取方法整體上是有效的,但對(duì)個(gè)別的攻擊情況如高填充規(guī)模、高攻擊規(guī)模的攻擊,特征提取能力較弱.未來(lái)的工作中,選擇更多、更有效的推薦攻擊特征提取方法有望進(jìn)一步提升半監(jiān)督檢測(cè)方法的檢測(cè)性能.
本文提出了一種基于半監(jiān)督Fisher判別分析的推薦攻擊檢測(cè)方法,有效提升了半監(jiān)督檢測(cè)方法的檢測(cè)性能.利用Fisher判別分析技術(shù)捕獲了有標(biāo)簽用戶概貌的判別結(jié)構(gòu),利用主元分析技術(shù)捕獲了所有有標(biāo)簽和無(wú)標(biāo)簽用戶概貌的全局結(jié)構(gòu).利用SFDA技術(shù)實(shí)現(xiàn)判別結(jié)構(gòu)和全局結(jié)構(gòu)的有機(jī)結(jié)合,得到了最佳投影向量,增加了不同類用戶概貌之間的離散度.在新的投影空間中,利用貝葉斯分類器完成了對(duì)推薦攻擊的有效檢測(cè).在標(biāo)準(zhǔn)的MovieLens數(shù)據(jù)集上進(jìn)行了對(duì)比實(shí)驗(yàn),驗(yàn)證了本文方法的有效性.未來(lái)工作中,將考慮引入更多的推薦攻擊特征提取方法,以期進(jìn)一步提升檢測(cè)方法的穩(wěn)定性.