摘 要: 使用具有較好泛化能力的支持向量機(jī)算法建立推薦系統(tǒng)托攻擊檢測(cè)模型,由于在傳統(tǒng)支持向量機(jī)算法中,用來控制錯(cuò)誤識(shí)別樣本懲罰度的懲罰因子的具體參數(shù)以及不敏感損失參數(shù)的具體參數(shù)由使用者決策,并在較大程度上決定支持向量機(jī)的性能。標(biāo)準(zhǔn)PSO算法的收斂性能基本取決于學(xué)習(xí)算子和慣性系數(shù)等重要參數(shù)的選取。標(biāo)準(zhǔn)PSO算法前期收斂速度很快,后期則比較緩慢,粒子群趨同性造成算法后期容易陷入局部最小值,即進(jìn)入早熟。因此,使用混沌優(yōu)化算法與PSO算法共同完成對(duì)傳統(tǒng)支持向量機(jī)算法的優(yōu)化。最后使用MovieLense100K數(shù)據(jù)集進(jìn)行實(shí)例分析,從檢測(cè)結(jié)果對(duì)比可以看出,填充率越高,檢測(cè)準(zhǔn)確率越高,研究的改進(jìn)支持向量機(jī)具有最優(yōu)的檢測(cè)性能,能夠幫助推薦系統(tǒng)防范托攻擊,以得到較精準(zhǔn)的用戶評(píng)分?jǐn)?shù)據(jù)。
關(guān)鍵詞: 推薦系統(tǒng); 托攻擊; 改進(jìn)支持向量機(jī)算法; 混沌優(yōu)化算法
中圖分類號(hào): TN98?34; TP311 文獻(xiàn)標(biāo)識(shí)碼: A 文章編號(hào): 1004?373X(2016)18?0096?03
Abstract: A support vector machine algorithm with good generalization ability is used to establish the shilling attack detection model of recommendation system. In traditional support vector machine algorithm, the specific parameters of the penalty factor used to control the misrecognition sample penalty and insensitive loss parameters are determined by users, which can decide the performance of support vector machine to a great extent. The convergence performance of the standard PSO algorithm depends on the selection of the important parameters, such as learning operator and inertia coefficient. The convergence speed of the standard PSO algorithm is fast at early stage and relatively slow at latter stage, and the algorithm is easy to fall into local minimum (early maturity) due to PSO convergence. Therefore, both the chaos optimization algorithm and PSO algorithm are used to optimize the traditional support vector machine algorithm. The MovieLense100K dataset is used for instance analysis. The detection results show that the higher the filling rate is, the higher detection accuracy becomes. The improved support vector machine algorithm has the best detection performance, and can help the recommendation system to prevent the shilling attack, so as to obtain more accurate user rating data.
Keywords: recommendation system; shilling attack; improved support vector machine algorithm; chaos optimization algorithm
0 引 言
隨著互聯(lián)網(wǎng)的不斷發(fā)展,人們獲取越來越多的信息,但是面對(duì)海量的數(shù)據(jù)和信息,人們難以在短時(shí)間內(nèi)獲取自己需要的信息,而個(gè)性化推薦系統(tǒng)的出現(xiàn)能夠幫助人們快速獲取信息,為用戶帶來方便。在現(xiàn)行的推薦算法中,使用最為廣泛的方法就是協(xié)同過濾推薦方法,但是外部惡意使用者極易通過協(xié)同過濾推薦方法的開放性和用戶參與性對(duì)其進(jìn)行惡意攻擊。攻擊者(可能是競(jìng)爭(zhēng)者)偽造用戶概貌(或用戶偏好數(shù)據(jù)),影響被推薦系統(tǒng)的推薦結(jié)果, 通常稱之為“用戶概貌注入攻擊”或“托攻擊”。因此對(duì)推薦系統(tǒng)托攻擊的檢測(cè),提高推薦系統(tǒng)托攻擊防范能力是保證推薦系統(tǒng)可靠運(yùn)行的重要方法,也是目前推薦系統(tǒng)研究方向中的熱點(diǎn)問題之一[1]。
有督導(dǎo)的機(jī)器學(xué)習(xí)方法中,支持向量機(jī)算法因其具有較好的泛化能力、具有稀疏表示解等諸多優(yōu)良特性而在托攻擊檢測(cè)領(lǐng)域得到較好應(yīng)用,其檢測(cè)性能優(yōu)于決策樹、神經(jīng)網(wǎng)絡(luò)等算法[2]。
1 托攻擊特征提取
本文使用整體信息熵、窗口信息熵以及窗口填充規(guī)模對(duì)推薦系統(tǒng)進(jìn)行托攻擊特征提取。
式中:fi是支持向量機(jī)實(shí)際輸出;yi是期望輸出[8?9]。
本文改進(jìn)支持向量機(jī)算法步驟如下:
STEP 1:初始化最大進(jìn)化代數(shù)、慣性系數(shù)取值范圍、種群規(guī)模、學(xué)習(xí)算子取值范圍、粒子群飛行速度取值范圍等改進(jìn)混沌粒子群優(yōu)化算法的參數(shù),以及初始化不敏感損失參數(shù)、懲罰因子、最優(yōu)權(quán)系數(shù)、RBF的核參數(shù)等支持向量機(jī)算法參數(shù)。
STEP 2:將粒子個(gè)體極值設(shè)定為該粒子的當(dāng)前位置。通過均方差函數(shù)計(jì)算粒子適應(yīng)度值,將最優(yōu)的粒子的個(gè)體極值設(shè)定為全局極值。
STEP 3:如果達(dá)到收斂條件,則直接跳轉(zhuǎn)到STEP 10,否則進(jìn)入STEP 4繼續(xù)優(yōu)化。
STEP 4:對(duì)粒子的位置和速度采用混沌模型與PSO算法結(jié)合的優(yōu)化方法進(jìn)行更新。
STEP 5:若適應(yīng)度值滿足[FPdi STEP 6:若更新后的[Pdbest],滿足[FPdbest<][FGdbest],則更新[Gdbest]。 STEP 7:如果達(dá)到收斂條件,則直接跳轉(zhuǎn)到STEP 10,否則進(jìn)入STEP 8繼續(xù)優(yōu)化。 STEP 8:計(jì)算種群適應(yīng)值的方差[δ2],如果滿足早熟處理?xiàng)l件,則進(jìn)行早熟處理操作,如果不滿足早熟處理?xiàng)l件,則跳轉(zhuǎn)到STEP 4。 STEP 9:對(duì)粒子的位置和速度采用混沌模型與PSO算法結(jié)合的優(yōu)化方法進(jìn)行更新。對(duì)陷入局部最小值的粒子進(jìn)行早熟處理操作,之后跳轉(zhuǎn)到STEP 3。 STEP 10:通過上述方法得到支持向量機(jī)的懲罰因子、不敏感損失參數(shù)、最優(yōu)權(quán)系數(shù)及RBF的核等參數(shù)的最優(yōu)解,實(shí)現(xiàn)對(duì)支持向量機(jī)參數(shù)的優(yōu)化的改進(jìn)[10?11]。 3 實(shí)例分析 本文以MovieLense100K數(shù)據(jù)集中的數(shù)據(jù)作為實(shí)例進(jìn)行分析,MovieLense100K數(shù)據(jù)集包含了900多位用戶對(duì)1 600多部電影多達(dá)100 000條評(píng)分?jǐn)?shù)據(jù)?,F(xiàn)在假設(shè)該數(shù)據(jù)集中沒有任何托攻擊數(shù)據(jù),本文針對(duì)攻擊為15%,填充率設(shè)定在5%,10%,15%以及20%情況下的隨機(jī)攻擊、流行攻擊以及均值攻擊這三種攻擊模式進(jìn)行檢測(cè),使用常規(guī)的支持向量機(jī)算法、標(biāo)準(zhǔn)粒子群優(yōu)化的支持向量機(jī)算法與本文改進(jìn)支持向量機(jī)算法進(jìn)行對(duì)比研究[12]。不同算法對(duì)為15%的攻擊規(guī)模下三種攻擊模式的檢測(cè)準(zhǔn)確率及查全率對(duì)比如圖1,圖2所示。 從檢測(cè)結(jié)果對(duì)比可以看出,填充率越高,檢測(cè)準(zhǔn)確率越高,本文研究的改進(jìn)支持向量機(jī)具有最優(yōu)的檢測(cè)性能,能夠幫助推薦系統(tǒng)防范托攻擊,以得到較精準(zhǔn)的用戶評(píng)分?jǐn)?shù)據(jù)。三種算法針對(duì)填充率為5%,10%,15%以及20%時(shí)的訓(xùn)練時(shí)間對(duì)比如表1所示。本文研究的改進(jìn)支持向量機(jī)同樣具有明顯優(yōu)勢(shì),其訓(xùn)練時(shí)間最短,能夠有效提高托攻擊檢測(cè)的效率。 4 結(jié) 論 對(duì)推薦系統(tǒng)托攻擊的檢測(cè),提高推薦系統(tǒng)托攻擊防范能力是保證推薦系統(tǒng)可靠運(yùn)行的重要方法,也是目前推薦系統(tǒng)研究方向中的熱點(diǎn)問題之一。本文使用具有較好泛化能力的支持向量機(jī)算法建立推薦系統(tǒng)托攻擊檢測(cè)模型,使用混沌優(yōu)化算法與PSO算法共同完成對(duì)傳統(tǒng)支持向量機(jī)算法的優(yōu)化。最后使用MovieLense100K數(shù)據(jù)集進(jìn)行實(shí)例分析,從檢測(cè)結(jié)果對(duì)比可以看出,填充率越高,檢測(cè)準(zhǔn)確率越高,本文研究的改進(jìn)支持向量機(jī)具有最優(yōu)的檢測(cè)性能,能夠幫助推薦系統(tǒng)防范托攻擊,以得到較精準(zhǔn)的用戶評(píng)分?jǐn)?shù)據(jù)。 參考文獻(xiàn) [1] 呂成戍.基于特征選擇和支持向量機(jī)的托攻擊檢測(cè)方法[J].計(jì)算機(jī)應(yīng)用與軟件,2015,32(5):270?272. [2] 呂成戍.基于代價(jià)敏感支持向量機(jī)的推薦系統(tǒng)托攻擊檢測(cè)方法[J].計(jì)算機(jī)工程與科學(xué),2014,36(4):697?701. [3] 呂成戍,王維國(guó).不均衡數(shù)據(jù)集下基于SVM的托攻擊檢測(cè)方法[J].計(jì)算機(jī)工程,2013,39(5):132?135. [4] 呂成戍,王維國(guó).一種基于混合策略的推薦系統(tǒng)托攻擊檢測(cè)方法[J].計(jì)算機(jī)工程與科學(xué),2013,35(8):174?179. [5] 匡芳君,徐蔚鴻,張思揚(yáng).基于改進(jìn)混沌粒子群的混合核SVM參數(shù)優(yōu)化及應(yīng)用[J].計(jì)算機(jī)應(yīng)用研究,2014,31(3):671?674. [6] 匡芳君.群智能混合優(yōu)化算法及其應(yīng)用研究[D].南京:南京理工大學(xué),2014. [7] 霍明.短期負(fù)荷預(yù)測(cè)的支持向量機(jī)模型參數(shù)優(yōu)化方法研究[D].長(zhǎng)沙:湖南大學(xué),2009. [8] 王佳.混合核支持向量機(jī)參數(shù)優(yōu)化及其應(yīng)用研究[D].長(zhǎng)沙:長(zhǎng)沙理工大學(xué),2011. [9] 毛志亮.混合核函數(shù)支持向量機(jī)在發(fā)酵過程建模中的應(yīng)用研究[D].無錫:江南大學(xué),2011. [10] 單黎黎,張宏軍,王杰,等.一種改進(jìn)粒子群算法的混合核ε?SVM參數(shù)優(yōu)化及應(yīng)用[J].計(jì)算機(jī)應(yīng)用研究,2013,30(6):1636?1639. [11] 陳其松.智能優(yōu)化支持向量機(jī)預(yù)測(cè)算法及應(yīng)用研究[D].貴陽:貴州大學(xué),2009. [12] 呂成戍,王維國(guó).基于SVM?KNN的半監(jiān)督托攻擊檢測(cè)方法[J].計(jì)算機(jī)工程與應(yīng)用,2013,49(22):7?10.