牛在森,伊華偉,李曉會,李 波
(遼寧工業(yè)大學(xué) 電子與信息工程學(xué)院,遼寧 錦州 121001)
隨著互聯(lián)網(wǎng)技術(shù)的飛速發(fā)展,推薦系統(tǒng)在電子商務(wù)領(lǐng)域發(fā)揮著極大作用,其中協(xié)同過濾推薦的應(yīng)用最為廣泛[1,2].然而,由于推薦系統(tǒng)要收集用戶評分,所以需要對大眾進(jìn)行一定程度的開放,這就給一些別有用心的用戶創(chuàng)造了可乘之機(jī),他們向系統(tǒng)中加入大量偽造的虛假用戶信息,試圖改變推薦結(jié)果,這樣的行為被稱為“托攻擊”[3].推薦系統(tǒng)在面對托攻擊時(shí),推薦性能會明顯下降,導(dǎo)致推薦結(jié)果產(chǎn)生偏差,從而容易引起用戶的不滿和商家利益受損.如何提高推薦系統(tǒng)的魯棒性[4],即提高系統(tǒng)的抗攻擊能力,避免惡意用戶的影響,已成為一個(gè)急需解決的問題.本文的主旨是提出一種魯棒性強(qiáng)的推薦算法.
針對當(dāng)前推薦系統(tǒng)存在托攻擊的情況,主要有以下兩種處理途徑:一是采用托攻擊檢測手段對攻擊概貌進(jìn)行識別并去除,然后再運(yùn)行推薦算法;二是通過改進(jìn)算法自身的性能來提高系統(tǒng)抵抗托攻擊的能力.根據(jù)以上兩種途徑,學(xué)者們相繼提出了一些推薦方法.
從托攻擊檢測角度,伍之昂等人[5]提出了基于特征選擇的托攻擊檢測方法,針對不同類型托攻擊提出有效的檢測指標(biāo).基于選擇的指標(biāo),提出了基于樸素貝葉斯分類和基于k近鄰的分類算法.Yang等人[6]針對目前攻擊檢測性能比較低的不足,設(shè)計(jì)了一個(gè)新的檢測器用于檢測攻擊概貌.陳健等人[7]對項(xiàng)目進(jìn)行語義分析,提出了基于語義聚類的協(xié)作過濾攻擊檢測算法.黃光球等人[8]通過構(gòu)建特征記憶庫,包括短時(shí)記憶元和長時(shí)記憶元,利用這兩種記憶元與綜合記憶元的聯(lián)系對托攻擊進(jìn)行檢測.Lee等人[9]首先利用多維尺度方法識別不同用戶的行為,然后提出了基于聚類的攻擊用戶識別方法.李文濤等人[10]根據(jù)用戶選擇評分項(xiàng)目的方式,提出項(xiàng)目流行度特征來區(qū)分正常用戶與虛假用戶,得到基于項(xiàng)目流行度的托攻擊檢測算法.Mehta等人[11]提出了基于奇異值分解的托攻擊檢測算法,先利用主元方法檢測嫌疑用戶,然后在模型建立過程中去除嫌疑用戶的影響.周全強(qiáng)等人[12]根據(jù)信息熵提取推薦攻擊的通用特征,再利用仿生模式識別技術(shù)識別真實(shí)概貌樣本和攻擊概貌樣本.Bhaumik等人[13]提出了基于聚類的魯棒推薦算法,用k-means聚類方法區(qū)分真實(shí)概貌和攻擊概貌.
從提高推薦算法自身性能角度,Mobasher等人[14]提出了基于k-means技術(shù)和PLSA的推薦算法.Mehta等人[15]提出了基于M-估計(jì)量的魯棒推薦算法,對殘差的函數(shù)進(jìn)行最小化,并用其取代最小二乘估計(jì),從而較好地抵制了攻擊概貌對推薦算法的影響.Cheng等人[16]提出了最小截?cái)喽斯烙?jì)量的魯棒推薦算法,在模型訓(xùn)練過程中將殘差值較大的評分舍棄.徐玉辰等人[17]提出了一種基于增量式聚類和矩陣分解的方法,采用k-median聚類將相似的攻擊概貌聚到一起.Zhang等人[18]提出了一種基于最小中值估計(jì)的方法,先提出一種權(quán)重計(jì)算方法,然后將其應(yīng)用到RLS估計(jì)當(dāng)中.Jia等人[19]根據(jù)熵理論和基于密度的局部離群因子的思想,提出了一個(gè)包含用戶可疑度的多維信任計(jì)算模型.張燕平等人[20]結(jié)合隱語義分解模型和聲譽(yù)推薦系統(tǒng)來改善推薦系統(tǒng)的魯棒性.李聰?shù)热薣21]首先計(jì)算用戶嫌疑性,然后將其融合到貝葉斯概率矩陣分解模型.
本文在已有研究工作的基礎(chǔ)上提出一種融合層次聚類和粒子群優(yōu)化的魯棒推薦算法.主要貢獻(xiàn)包括以下幾點(diǎn):
1)引入層次聚類方法,根據(jù)攻擊用戶與正常用戶之間的個(gè)體差異將用戶聚為兩類.提出用戶平均類內(nèi)距離的概念,對攻擊用戶進(jìn)行識別標(biāo)記.
2)引入粒子群優(yōu)化技術(shù),基于用戶對項(xiàng)目的評分?jǐn)?shù)據(jù),進(jìn)行特征矩陣初始化,提升項(xiàng)目特征矩陣和用戶特征矩陣的魯棒估計(jì)性能.
3)根據(jù)以上知識,設(shè)計(jì)了相應(yīng)的魯棒推薦算法,并在MovieLens數(shù)據(jù)集上驗(yàn)證了所提算法的有效性.
在本節(jié)中分別介紹了基于矩陣分解的協(xié)同推薦、層次聚類和粒子群優(yōu)化三個(gè)方面的相關(guān)理論.
基于矩陣分解的協(xié)同推薦采用一個(gè)線性模型表示用戶對項(xiàng)目的評分.假定有若干個(gè)隱含分類特征,用戶對某個(gè)項(xiàng)目的評分通過該項(xiàng)目歸屬于每個(gè)隱含分類特征的程度和用戶對每個(gè)隱含分類特征的偏好程度的線性組合來體現(xiàn)[22].具體見公式(1):
(1)
(2)
由公式(2)可知,想預(yù)測某個(gè)用戶對某一項(xiàng)目的評分,需要知道該用戶的特征向量和該項(xiàng)目的特征向量.因此,可通過梯度下降求解下面的最小二乘問題,得到qi和pu:
(3)
其中λ(‖qi‖2+‖pu‖2)是為了避免過擬合而加入的正則項(xiàng),λ為常數(shù).
根據(jù)公式(4)和公式(5)對用戶特征向量pu和項(xiàng)目特征向量qi進(jìn)行迭代:
pu←pu+γ(qieui-λpu)
(4)
qi←qi+γ(pueui-λqi)
(5)
層次聚類 (Hierarchical Clustering)是對原始數(shù)據(jù)集在不同的層次進(jìn)行劃分,直到達(dá)到某種條件為止,最后得到樹形的聚類結(jié)構(gòu)[23].按照分類原理的不同,可以分為凝聚法和分裂法,其中凝聚法的應(yīng)用比較廣泛[24].假設(shè)有一個(gè)包含m個(gè)樣本的數(shù)據(jù)集C={c1,c2,...,cm},首先將其中的每個(gè)樣本都單獨(dú)作為一個(gè)簇,然后分別計(jì)算兩個(gè)簇之間的距離,找出距離最近的兩個(gè)簇,再將這兩個(gè)簇合二為一,不斷重復(fù)這個(gè)過程,直到達(dá)到預(yù)先設(shè)定的聚類數(shù)目或者閾值為止.Average是凝聚法中常用的一種計(jì)算距離的方法,公式如下所示:
(6)
其中distAvg(Ci,Cj)表示類簇Ci和Cj之間的平均距離,|p-p′|是兩個(gè)對象或點(diǎn)p和p′之間的距離,ni表示Ci中對象的數(shù)目,nj表示Cj中對象的數(shù)目.
粒子群優(yōu)化(Particle Swarm Optimization),簡稱PSO.它的思想來自鳥群捕食的行為,是一種基于群體智能的優(yōu)化算法技術(shù)[25].PSO通過種群中個(gè)體間的相互合作和信息的共享來搜尋最優(yōu)解.首先,初始化得到一組隨機(jī)粒子,也稱隨機(jī)解;然后,通過不斷迭代找到最優(yōu)解.在每輪迭代過程中,假設(shè)pbesti是粒子i自身發(fā)現(xiàn)的最優(yōu)解,gbesti是整個(gè)種群到目前為止發(fā)現(xiàn)的最優(yōu)解,粒子i通過公式(7)和公式(8)來更新自己的速度和位置:
Vi=ωVi+C1*Rand( )*(pbesti-Xi) +
C2*Rand( )*(gbesti-Xi)
(7)
Xi=Xi+Vi
(8)
在上面公式中,i=1,2,3,……,N,N為種群中粒子的總和.Vi表示粒子的速度,Rand( )生成(0,1)之間的隨機(jī)數(shù),Xi為粒子的目前位置,C1和C2為學(xué)習(xí)因子.
本文提出的融合層次聚類和粒子群優(yōu)化的魯棒推薦算法(Robust Recommendation Algorithm Combining Hierarchical Clustering and Particle Swarm Optimization,RRA-HCPSO)的結(jié)構(gòu)如圖1所示.由圖可見,本文所提的算法由基于層次聚類的攻擊概貌檢測標(biāo)識和基于PSO的矩陣分解模型的魯棒推薦兩部分組成.
攻擊者為了達(dá)到攻擊目的,將攻擊概貌用攻擊模型批量生成.因此,攻擊概貌間具有較高的相似性.根據(jù)這種特性,可以采用聚類的方式將用戶概貌聚為兩類,一類是真實(shí)概貌類簇,一類是攻擊概貌類簇.相比其他聚類方法而言,層次聚類的距離和規(guī)則的相似度容易定義,限制少.因此,本文采用層次聚類來完成用戶概貌的聚類.
圖1 魯棒推薦算法RRA-HCPSO結(jié)構(gòu)圖Fig.1 Structure of the robust recommendation algorithm RRA-HCPSO
為了對聚類結(jié)果進(jìn)行類別鑒定,提出平均類內(nèi)距離(Average Inner-class Distance,AID)的定義,如公式(9)所示.
(9)
其中,m表示用戶數(shù)目,u和v表示系統(tǒng)中的用戶.ED(u,v)表示用戶u與用戶v之間的歐式距離,計(jì)算公式為:
(10)
其中,n表示項(xiàng)目個(gè)數(shù),rui和rvi分別表示用戶u與用戶v對項(xiàng)目i的評分.
平均類內(nèi)距離從距離的角度來度量同一類內(nèi)個(gè)體間的緊密程度,由于受生成模型的影響,攻擊概貌類簇里的個(gè)體間差異相比真實(shí)概貌類簇里個(gè)體間差異要小,所以攻擊概貌類簇內(nèi)的個(gè)體間距離較小,從而平均類內(nèi)距離也較小.如圖2所示,攻擊用戶的平均類內(nèi)距離相對正常用戶的平均類內(nèi)距離要小,充分說明了攻擊概貌個(gè)體間的緊密程度較高.
圖2 用戶平均類內(nèi)距離Fig.2 Useraverage inner-class distance
根據(jù)以上分析,我們提出了基于層次聚類的攻擊概貌檢測標(biāo)識算法(Attack Profile Detection Identification Algorithm Based on Hierarchical Clustering,APDI_HC),如算法1所示:
算法1.基于層次聚類的攻擊概貌檢測標(biāo)識算法APDI_HC
Input:用戶評分矩陣R,項(xiàng)目個(gè)數(shù)n,用戶個(gè)數(shù)m,類簇個(gè)數(shù)c;
Output:用戶聚類結(jié)果Cattack.
Begin
1.l=m,c=2;
3.{{u1},{u2}…,{um}} /*將每個(gè)用戶概貌都作為一個(gè)獨(dú)立類簇*/
4.repeat
6. {ui,uj}←{{ui},{uj}} /*將距離最小的兩個(gè)類簇合并為一個(gè)類簇*/
7.l=l-1;
8.untill==c
9.獲取聚類結(jié)果C1和C2;
10.distance1←AID(C1);/*計(jì)算類簇C1的平均類內(nèi)距離*/
11.distance2←AID(C2); /*計(jì)算類簇C2的平均類內(nèi)距離*/
12.ifdistance2
13.Cattack←Indentify(C2) /*將C2標(biāo)識為攻擊概貌類*/
14.end if
15.returnCattack.
End
算法1主要包括3部分:行1為第1部分,對變量進(jìn)行初始化.行2~9為第2部分,將用戶概貌聚為兩個(gè)類簇.行10~15為第3部分,計(jì)算每個(gè)類簇的平均類內(nèi)距離,根據(jù)平均類內(nèi)距離識別攻擊概貌類并進(jìn)行標(biāo)記.
本節(jié)將PSO融入矩陣分解模型,并結(jié)合3.1節(jié)層次聚類得到的攻擊概貌檢測結(jié)果,設(shè)計(jì)魯棒推薦算法RRA-HCPSO.
3.2.1 基于PSO的特征矩陣初始化
進(jìn)行梯度下降之前,首先初始化多個(gè)粒子,每個(gè)粒子由一組用戶特征矩陣和項(xiàng)目特征矩陣組成.然后通過迭代找到最優(yōu)的粒子,并將其作為矩陣分解的初始特征矩陣.迭代的過程就是使通過當(dāng)前粒子得到的用戶預(yù)測評分與真實(shí)評分的殘差值最小,如公式(11)所示.
(11)
根據(jù)以上分析,我們給出基于PSO的特征矩陣初始化算法(Initialization of Feature Matrix Based on PSO,IFM_PSO),具體算法如下:
算法2.基于PSO的特征矩陣初始化算法IFM_PSO
Input:用戶評分矩陣R,迭代次數(shù)M,粒子個(gè)數(shù)t;
Output:用戶特征矩陣P和項(xiàng)目特征矩陣Q.
Begin
1.進(jìn)行種群初始化,隨機(jī)生成t個(gè)粒子;
2.取每個(gè)粒子的目前位置作為各自的最優(yōu)解pbesti,根據(jù)公式(11)計(jì)算每個(gè)粒子的初始適應(yīng)度值,找出最優(yōu)解gbesti;
3.依據(jù)公式(7)和公式(8),更新每個(gè)粒子的速度和位置,得到新的粒子;
4.每個(gè)粒子的適應(yīng)度值可依據(jù)公式(11)得到,若優(yōu)于pbesti,則對該粒子的目前最優(yōu)解進(jìn)行更新.若所有粒子的全局最優(yōu)解優(yōu)于目前的gbesti,則更新全局最優(yōu)解;
5.反復(fù)執(zhí)行3~4,直到達(dá)到M;
6.返回種群中的最優(yōu)粒子(P,Q).
End
算法2主要包括2部分:行1~2為第1部分,進(jìn)行種群初始化,找到每個(gè)粒子的初始最優(yōu)解和所有粒子的初始最優(yōu)解.行3~6為第2部分,根據(jù)第1部分的最優(yōu)解,對粒子的位置和速度進(jìn)行迭代更新,最終得到最優(yōu)粒子并返回.
3.2.2 魯棒推薦算法RRA-HCPSO
基于3.1節(jié)得到的攻擊概貌檢測結(jié)果和3.2.1節(jié)得到的初始特征矩陣,結(jié)合矩陣分解模型,設(shè)計(jì)魯棒推薦算法RRA-HCPSO.在矩陣分解過程中,因?yàn)樽钚《斯烙?jì)對離群點(diǎn)敏感,所以項(xiàng)目特征向量qi容易受到攻擊概貌的影響,最終的推薦結(jié)果并不一定是用戶想要的.因此,基于攻擊概貌檢測結(jié)果,設(shè)計(jì)標(biāo)記函數(shù)IS(u)并將其融入到公式(5)中,以此來避免攻擊概貌對特征向量的更新造成影響,具體如下:
定義1.標(biāo)記函數(shù)(Tag Function)
(12)
其中S為攻擊用戶集合,U為全體用戶集合.
基于IS(u),對公式(5)進(jìn)行改進(jìn),得到公式(13):
qi←qi+IS(u)γ(pueui-λqi)
(13)
由公式(13)可見,在模型訓(xùn)練過程中,基于標(biāo)記函數(shù)的取值情況,對項(xiàng)目特征向量qi進(jìn)行不同策略的更新,從而減少攻擊概貌對其產(chǎn)生的影響.
根據(jù)以上算法設(shè)計(jì)思想,提出算法RRA-HCPSO,具體算法如下.
算法3.魯棒推薦算法RRA-HCPSO
Input:用戶評分矩陣R,用戶數(shù)目m,項(xiàng)目數(shù)目n,類簇個(gè)數(shù)c,粒子個(gè)數(shù)t,隱含分類特征個(gè)數(shù)f;
Output:特征矩陣P、Q.
Begin
1.Cattack←APDI_HC(R,m,n,c);
2.(P,Q)←IFM_PSO(R,M,n);
3.repeat
4. for eachu∈Udo
5. fori∈Ido
6. ifrui≠0 then
8. end if
9. ifu∈Cattack
10.IS(u)←0
11. else
12.IS(u)←1
13. end
14. fork=1 tofdo /*梯度下降*/
15.pu←pu+γ(qieui-λpu)
16.qi←qi+IS(u)γ(pueui-λqi)
17. end for
18. end for
19. end for
20.untill Convergence ofP、Q
21.returnP、Q.
End
算法3主要包括2個(gè)部分:行1~2為第1部分,獲取初始的P和Q;行3~21為第2部分,針對不同的用戶執(zhí)行不同的梯度下降策略,對特征向量pu和qi進(jìn)行迭代更新,直到算法收斂,得到最優(yōu)特征矩陣.
本文使用Movielens經(jīng)典數(shù)據(jù)集進(jìn)行實(shí)驗(yàn)[26].此數(shù)據(jù)集中,943個(gè)用戶針對1682部電影進(jìn)行了評分,分值為1~5,共計(jì)100000條評分記錄.為了檢驗(yàn)算法的性能,將數(shù)據(jù)集進(jìn)行劃分,訓(xùn)練集和測試集的比例為80%和20%.
將平均絕對誤差(Mean Absolute Error,MAE)作為推薦算法的精度評價(jià)指標(biāo).MAE值越低,說明算法的精度就越好.計(jì)算公式如下[27]:
(14)
選取預(yù)測偏差(Prediction Shift,PS)來評價(jià)推薦算法的魯棒性.預(yù)測偏差越小,說明算法的魯棒性越強(qiáng),計(jì)算公式如下[27]:
(15)
將本文所提算法與相關(guān)算法進(jìn)行性能比較與分析.相關(guān)算法包括:1)文獻(xiàn)[15]中提出的MMF魯棒推薦算法;2)文獻(xiàn)[16]中提出的LTSMF魯棒推薦算法;3)文獻(xiàn)[17]中提出的KMCQR-M魯棒推薦算法;4)文獻(xiàn)[18]中提出的LMedSMF魯棒推薦算法;5)文獻(xiàn)[28]中提出的RCR-KTM魯棒推薦算法.為了評價(jià)算法的魯棒性,我們將均值攻擊、隨機(jī)攻擊和AOP攻擊分別加入到訓(xùn)練集中,攻擊規(guī)模設(shè)置為1%、2%、4%、6%、8%和10%,填充規(guī)模設(shè)置為3%和5%.6種算法的實(shí)驗(yàn)數(shù)據(jù)結(jié)果如表1-表3所示.
從表1-表3可見,在不同類型攻擊下,MMF算法的MAE值最大,RRA-HCPSO算法的MAE值最小.比如,在AOP攻擊下,以3%填充規(guī)模的實(shí)驗(yàn)數(shù)據(jù)為例,同MMF、LTSMF、LMedSMF、KMCQR-M和RCR-KTM相比,RRA-HCPSO的MAE值分別降低了0.75%、0.33%、0.66%、0.55%和0.06%.因?yàn)镽RA-HCPSO算法在進(jìn)行梯度下降之前,采用粒子群優(yōu)化技術(shù)進(jìn)行用戶特征矩陣和項(xiàng)目特征矩陣的初始化,提高了模型訓(xùn)練獲取最優(yōu)解的能力,最終得到的用戶特征矩陣和項(xiàng)目特征矩陣的性能較好,因此算法的預(yù)測能力得到提升.MAE值越小,說明算法的推薦能力越強(qiáng),所以,RRA-HCPSO算法的推薦準(zhǔn)確性在6種算法里面是最高的.
從圖3-圖5可以看出,當(dāng)填充規(guī)模相同時(shí),在隨機(jī)攻擊和均值攻擊下,本文提出的RRA-HCPSO算法的PS值受攻擊規(guī)模的影響不大,而其他5種算法的PS值都隨著攻擊規(guī)模的增大而增大.在AOP攻擊下,6種算法的PS值都隨著攻擊規(guī)模的增大而增大,在這種情況下,RRA-HCPSO算法的PS值也要低于其他5種算法的PS值.因此,本文提出的RRA-HCPSO
表1 均值攻擊下6種算法的MAE值
Table 1 MAE for six algorithms of average attack
攻擊規(guī)模(%)1246810填充規(guī)模(%)353535353535MMF0.76030.75960.75990.76060.76060.75970.76060.76060.76050.76080.76130.7609LTSMF0.75680.75690.75460.75560.75620.75660.75740.75760.75570.75600.75700.7579LMedSMF0.75900.75810.75890.75900.75960.75880.75970.76030.75990.76070.75850.7591KMCQR-M0.75790.75760.75740.75780.75850.75890.75880.75690.75780.75920.75790.7573RCR-KTM0.75210.75260.75330.75380.75250.75230.75290.75330.75320.75260.75350.7542RRA-HCPSO0.75140.75210.75330.75350.75110.75190.75180.75310.75230.75110.75050.7537
表2 AOP攻擊下6種算法的MAE值
Table 2 MAE for six algorithms of AOP attack
攻擊規(guī)模(%)1246810填充規(guī)模(%)353535353535MMF0.75980.76060.76080.75980.76050.76030.76040.76000.75980.76150.76030.7604LTSMF0.75520.75530.75690.75500.75710.75660.75600.75480.75570.75670.75580.7574LMedSMF0.75970.75860.75910.75930.75930.75880.75940.75910.75940.75950.75930.7590KMCQR-M0.75800.75760.75830.75810.75800.75760.75860.75850.75820.75790.75840.7586RCR-KTM0.75290.75260.75330.75400.75310.75320.75450.75390.75420.75500.75220.7530RRA-HCPSO0.75070.75000.75460.75250.75190.75110.75420.74960.75280.75450.75220.7520
表3 隨機(jī)攻擊下6種算法的MAE值
Table 3 MAE for six algorithms of random attack
攻擊規(guī)模(%)1246810填充規(guī)模(%)353535353535MMF0.76010.75940.76050.76020.76090.75880.75980.76130.76020.76200.75950.7603LTSMF0.75620.75710.75630.75700.75640.75620.75600.75860.75570.75640.75520.7577LMedSMF0.75920.75870.75900.75960.75950.75880.76020.76140.76010.76110.76010.7614KMCQR-M0.75760.75770.75710.75810.75760.75700.75900.75780.75900.75960.75860.7592RCR-KTM0.75430.75320.75210.75340.75280.75260.75350.75550.75220.75380.75310.7534RRA-HCPSO0.75390.75130.75110.75340.75100.75140.75120.75450.75120.75380.75160.7529
圖3 均值攻擊下6種推薦算法的PS值Fig.3 PS for six algorithms of average attack
圖4 AOP攻擊下6種推薦算法的PS值Fig.4 PS for six algorithms of AOP attack
算法在隨機(jī)攻擊和均值攻擊下性能比較穩(wěn)定,不易受攻擊規(guī)模的影響,而其他5種算法的性能在三種不同類型攻擊下受攻擊規(guī)模的影響,攻擊規(guī)模越大,算法的魯棒性也越差.整體來看,本文提出的RRA-HCPSO算法的PS值要小于其他5種算法的PS值,由于PS值越小,算法的魯棒性越好,所以RRA-HCPSO算法的魯棒性在6種算法里面是最好的.因?yàn)镽RA-HCPSO算法在進(jìn)行矩陣分解前先識別并標(biāo)記了攻擊用戶,從而在梯度下降時(shí)降低了攻擊概貌對模型構(gòu)建的影響.
圖5 隨機(jī)攻擊下6種推薦算法的PS值Fig.5 PS for six algorithms of random attack
推薦系統(tǒng)的魯棒性是一個(gè)重要的研究問題,本文在這方面做了一些研究.提出了一種基于層次聚類的攻擊概貌檢測標(biāo)識方法,對用戶進(jìn)行類簇的劃分及標(biāo)識.提出了基于PSO的特征矩陣初始化算法,得到較優(yōu)的初始特征矩陣.基于初始特征矩陣,在標(biāo)記函數(shù)的作用下,將用戶標(biāo)識結(jié)果融入到矩陣分解模型中,提出一種魯棒推薦算法RRA-HCPSO.與已有的魯棒推薦算法相比較,文種所提算法的魯棒性和推薦精度都有提升.接下來的工作是提出能更有效的推薦攻擊特征去識別攻擊概貌,提高攻擊檢測的檢測性能.