呂成戍
(東北財經(jīng)大學管理科學與工程學院,遼寧 大連 116025)
基于代價敏感支持向量機的推薦系統(tǒng)托攻擊檢測方法*
呂成戍
(東北財經(jīng)大學管理科學與工程學院,遼寧 大連 116025)
基于標準支持向量機的托攻擊檢測方法不能體現(xiàn)由于用戶誤分代價不同對分類效果帶來的影響,提出了一種基于代價敏感支持向量機的托攻擊檢測新方法,該方法在代價敏感性學習機制下引入支持向量機作為分類工具,對支持向量機輸出進行后驗概率建模,建立了基于類別隸屬度的動態(tài)代價函數(shù),更準確地反映不同樣本的分類代價,在此基礎(chǔ)上設(shè)計了代價敏感支持向量機分類器。將該分類器應用在推薦系統(tǒng)托攻擊檢測中,并與標準的支持向量機方法、代價敏感支持向量機方法進行比較,實驗結(jié)果表明,本方法可以更精確地控制代價敏感性,進一步提高對攻擊用戶的檢測精度,降低總體的誤分類代價。
支持向量機;托攻擊檢測;代價敏感;類別隸屬度
不斷提高托攻擊的檢測精度是實現(xiàn)高質(zhì)量個性化推薦的關(guān)鍵。托攻擊檢測就是根據(jù)各種反映用戶概貌特征的統(tǒng)計屬性,構(gòu)建合適的分類器,采用分類模式匹配的方法檢測攻擊[1]。常用的人工神經(jīng)網(wǎng)絡(luò)、決策樹、貝葉斯分類器等傳統(tǒng)的分類方法,在樣本數(shù)量有限的情況下檢測的準確率不盡理想。Vapnik V N等人[2,3]根據(jù)統(tǒng)計學習理論提出的支持向量機非常適合解決小樣本、高維度、非線性的分類問題。Williams C A等人[4]將標準的支持向量機用于托攻擊檢測,并與KNN(K-Nearest Neighbor)、決策樹等方法進行了比較,取得了較好的效果。由于推薦系統(tǒng)中用戶基數(shù)很大,推薦過程中錯誤地屏蔽一些真實用戶并不會對推薦結(jié)果產(chǎn)生顯著影響,但誤判一些攻擊用戶就有可能會改變推薦結(jié)果[5]。標準的支持向量機是基于分類精度進行優(yōu)化的,未對攻擊用戶和真實用戶的誤分代價加以區(qū)別,造成托攻擊檢測時雖然整體精度較高,但卻無法有效地對很多攻擊用戶進行識別,阻礙了這一方法在實際中的廣泛應用。因此,對于托攻擊檢測問題,須引入代價敏感學習機制[6],考慮不同類別的誤分代價,基于最小化總體誤分代價的原理來設(shè)計分類器。
Veropoulos K 等 人[7]通 過 對 SVM(Support Vector Machine)方法進行代價敏感改造,對不同類的樣本設(shè)置不同的誤分代價,實現(xiàn)了代價敏感支持向量機。Burges C[8]基于支持向量機的結(jié)構(gòu)風險最小化原則提出代價敏感支持向量機的設(shè)計。Paola C等人[9]通過給不同類別賦予不同的經(jīng)驗風險權(quán)值直接改進標準SVM,使其具有代價敏感性。上述方法提高了SVM在代價敏感情況下的分類性能,但是這些方法只考慮了不同類別的誤分代價,而忽略了同一類別內(nèi)樣本代價的差異,無法實現(xiàn)誤分代價敏感性的精確控制。在實際應用中,每個樣本對劃分的影響應該是不同的,通常以一定概率屬于某一類,代價不僅與樣本類別有關(guān),與樣本本身也有關(guān)系[10],因此用固定的誤分代價來表示每個樣本的代價取值并不恰當。
針對存在的問題,本文將基于類別隸屬度的數(shù)據(jù)權(quán)重策略引入代價的重構(gòu)中,允許每個樣本有不同的誤分代價,建立集成樣本不同誤分代價的代價敏感支持向量機模型。將實現(xiàn)后的軟件應用于真實數(shù)據(jù),實驗結(jié)果表明,本文方法有效地提高了托攻擊的檢測性能,進一步降低了總體誤分類代價。
支持向量機在本質(zhì)上屬于二類硬分類器,輸出非彼即此,不能反映出樣本屬于某一類別的隸屬度,即樣本的后驗概率。目前大多采用的方法是用一個連續(xù)函數(shù)把SVM的硬判斷輸出f(x)映射到[0,1],實現(xiàn)SVM 后驗概率輸出。Platt J C[11]對幾種單調(diào)性函數(shù)作為概率輸出函數(shù)進行了對比分析,在支持向量機的輸出概率建模中,含有兩個參數(shù)A和B的Sigmoid函數(shù)具有靈活的函數(shù)形式,在實際應用中表現(xiàn)出較好的分類精度。因此,本文選用該函數(shù)作為后驗概率模型。在兩類分類問題中,其概率輸出形式為:
其中,pi是樣本的隸屬度值,coi是每個樣本的誤分代價,C1是誤分攻擊用戶的代價,C2是誤分真實用戶的代價,實際應用中C1和C2的取值可根據(jù)具體情況中漏檢率和誤報率的重要性不同進行設(shè)置。式(3)反映了同一類別內(nèi)樣本誤分類代價的差異,實現(xiàn)了誤分類代價敏感性的精確控制,也體現(xiàn)了不同類別的誤分代價對分類結(jié)果的影響。
對于二分類問題,考慮到每個樣本都有不同的誤分 類 代 價,樣 本 集 可 重 構(gòu) 為 (xi,yi,coi),xi∈Rd,coi≥0。其中coi是由式(3)得到的每個樣本的誤分代價。設(shè)樣本集 (xi,yi,coi)能被超平面(w·x)-b=0分類,那么問題轉(zhuǎn)換為最小化目標函數(shù):
式(4)的經(jīng)驗代價考慮到不同樣本的代價差異,使不同樣本具有不同的誤分代價。式(4)的對偶Lagrange表達式為:
本文利用基于代價敏感學習的支持向量機對推薦系統(tǒng)進行托攻擊檢測,其檢測模型框架見圖1。
Figure 1 Framework of shilling attack detection model圖1 托攻擊檢測模型框架
首先根據(jù)檢測指標對原始實驗數(shù)據(jù)進行預處理,然后利用基于類別隸屬度的動態(tài)代價函數(shù)計算每個樣本的誤分代價,最后利用集成樣本不同誤分代價的代價敏感支持向量機對訓練集進行學習和訓練,得到支持向量機檢測模型。利用得到的檢測模型對測試集進行檢測,輸出托攻擊的檢測結(jié)果。
實驗數(shù)據(jù)取自 MovieLens數(shù)據(jù)集[12],該數(shù)據(jù)集由明尼蘇達大學GroupLens研究小組通過MovieLens網(wǎng)站(http://movielens.umn.edu)收集,包含了943位用戶對1 682部電影的100 000條1~5的評分數(shù)據(jù),每位用戶至少對20部電影進行了評分。數(shù)據(jù)集被轉(zhuǎn)換成一個用戶——項目評分矩陣Rm×n= [u1u2… um]T,其中ui為用戶概貌,它包含了用戶i對系統(tǒng)中n部電影的評分。
用戶概貌是高維數(shù)據(jù),支持向量機雖然對數(shù)據(jù)維數(shù)不敏感,但過高的特征維數(shù)使支持向量機訓練時間過長,空間復雜度大,托攻擊檢測效率低下,因此在實際應用中仍然要進行特征選取。托攻擊檢測常用的特征信息包括[13]:用戶的預測變化值、用戶評價值背離程度、與其他用戶相適度、鄰居用戶相似程度和背離平均度等指標。本文根據(jù)以上反映用戶評分信息異常度的統(tǒng)計屬性,對用戶的評分數(shù)據(jù)進行統(tǒng)計整理,得到五個檢測屬性,加上用戶編號(userID)和分類屬性(class)構(gòu)成一條關(guān)于某個用戶評分數(shù)據(jù)的檢測數(shù)據(jù)。
實驗采取3×4×5的設(shè)計模式,攻擊類型(隨機攻擊,均值攻擊,流行攻擊),攻擊強度(1%,3%,5%,10%),填充率(3%,6%,9%,12%,15%)。每組實驗配置下,分別獨立地向數(shù)據(jù)集注入10次攻擊,最終實驗數(shù)據(jù)是10次攻擊檢測的均值。本文選取標準SVM和CS-SVM方法作為性能比較的對象。SVM核函數(shù)采用高斯徑向基形式的核函數(shù)K(x,xi)=exp{-‖x-xi‖2/σ2}。根據(jù)相關(guān)研究與多次實驗,標準支持向量機C的取值為10。代價矩陣設(shè)定如下:正確分類的代價為0,誤分類攻擊概貌的代價C1為5,誤分類真實用戶概貌的代價C2為1。在實驗中用托攻擊的檢測率和總體誤分類代價作為方法的評估標準。實驗結(jié)果如圖2~圖7所示,其中,帶叉線代表SVM方法,帶三角線代表CS-SVM方法,帶星線代表本文提出的方法。從整體結(jié)果來看,本文方法比SVM和CSSVM檢測方法更加理想。具體實驗結(jié)果如下:
(1)檢測率的比較。
檢測率的比較結(jié)果如圖2~圖4所示。
Figure 2 Detection recall rate of average attack圖2 均值攻擊的檢測率
Figure 3 Detection recall rate of bandwagon attack圖3 流行攻擊的檢測率
Figure 4 Detection recall rate of random attack圖4 隨機攻擊的檢測率
從圖2~圖4可看出,標準SVM方法在攻擊概貌數(shù)量較少(攻擊強度=1%、3%)時,獲得的攻擊信息較少,對均值攻擊、流行攻擊和隨機攻擊的檢測率均不理想。最差情況:當攻擊概貌為1%、填充率為3%時,對隨機攻擊的檢測率僅為20.3%,即大部分攻擊概貌都被誤分成真實用戶概貌。隨著攻擊強度的增加 (攻擊強度=5%、10%),標準SVM方法對攻擊概貌的檢測率呈小幅上升趨勢;最好情況:當攻擊強度為10%、填充率為15%時,對流行攻擊的檢測準確率達到58.5%。與標準SVM方法相比,CS-SVM方法的檢測效果有明顯改進,最差情況:當攻擊概貌為1%、填充率為3%時,對均值攻擊的檢測率為61.3%,仍然可以檢測出大部分攻擊數(shù)據(jù);該方法的最好情況:當攻擊強度為10%、填充率為15%時,對隨機攻擊的檢測率高達97.1%,比SVM方法的檢測率高出近一倍。雖然CS-SVM方法的檢測率很高,但是本文方法仍然能在此高水平上有所提高,最差情況:當攻擊概貌為1%、填充率為3%時,對均值攻擊的檢測率為67.3%,優(yōu)于同等實驗配置下CSSVM方法62.4%的檢測率,隨著攻擊概貌數(shù)量和填充率的增加;本文方法最好情況:當攻擊強度為10%、填充率為15%時,對流行攻擊的檢測率最高達到了99.3%,能夠很好地幫助推薦系統(tǒng)得到真實的用戶評分數(shù)據(jù),確保推薦的質(zhì)量。
(2)總體誤分類代價的比較。
總體誤分類代價按照公式:
統(tǒng)一計算,其中變量的含義如上文所述。總體誤分類代價的比較結(jié)果如圖5~圖7所示。
Figure 5 Total misclassification cost of average attack圖5 檢測均值攻擊的總體誤分類代價
Figure 6 Total misclassification cost of bandwagon attack圖6 檢測流行攻擊的總體誤分類代價
Figure 7 Total misclassification cost of random attack圖7 檢測隨機攻擊的總體誤分類代價
從圖5~圖7中可看出,在所比較的三種方法中,標準SVM方法的總體誤分類代價最高,本文方法的總體誤分類代價最低。標準SVM方法總體誤分類代價的最差情況:當攻擊概貌為1%、填充率為3%時,檢測均值攻擊的總體誤分類代價為45。隨著攻擊檢測率的提高,標準SVM方法的總體誤分類代價呈下降趨勢,最好情況:當攻擊強度為10%、填充率為15%時,檢測流行攻擊的總體誤分類代價為9。相對于SVM 而言,CS-SVM考慮了不同類型誤分的代價,基于最小化總體誤分代價的原理來設(shè)計分類器,提高了攻擊概貌的檢測率,大幅降低了總體誤分類代價。該方法總體誤分類代價的最差情況:當攻擊概貌為1%、填充率為3%時,檢測流行攻擊的總體誤分類代價為38。隨著攻擊概貌數(shù)量和填充率的增加,CS-SVM方法的總體誤分類代價逐漸下降,最好情況:當攻擊強度為10%、填充率為15%時,檢測均值攻擊的總體誤分類代價為6。而本文方法則在CS-SVM方法的基礎(chǔ)上,引入基于類別隸屬度的數(shù)據(jù)權(quán)重策略,解決了CS-SVM方法不能精確控制誤分代價的弊端,在提高檢測率的前提下,進一步降低了總體的誤分類代價。本文方法總體誤分類代價的最差情況:當攻擊概貌為1%、填充率為3%時,檢測均值攻擊的總體誤分類代價為30,和同等實驗配置下的CSSVM方法相比總體誤分類代價降低了8。本文方法總體誤分類代價的最好情況:當攻擊強度為10%、填充率為15%時,檢測流行攻擊的總體誤分類代價趨近于0。
現(xiàn)有的基于SVM的推薦系統(tǒng)托攻擊檢測方法是普適機器學習方法,將托攻擊檢測當作一個普通的模式識別問題來研究,忽略了問題的特殊性,即推薦系統(tǒng)數(shù)據(jù)集中兩類樣本的誤分代價的差異。本文將代價敏感機制引入標準的支持向量機算法中,同時考慮并有效解決了同一類別內(nèi)樣本誤分類代價不同的問題。仿真實驗結(jié)果表明,本文算法進一步提高了對攻擊用戶的檢測精度,降低了算法的總體誤分類代價。本文提出的托攻擊檢測算法限定在有監(jiān)督的樣本上,通過改進算法來提高分類精度,這在一定程度上影響了算法的推廣應用。因此,本文下一步的工作將集中在提高算法的無監(jiān)督程度上,即在缺少攻擊強度、攻擊模型等先驗知識的情況下,仍可對托攻擊進行可靠、準確的檢測,為推薦系統(tǒng)的管理者與研究者提供更為實用的托攻擊檢測手段和新的研究思路。
[1] Zhang Jing,He Fa-mei,Qiu Yun.Inspection method of the attack on personalized recommendation system description file[J].Journal of University of Electronic Science and Technology,2011,40(2):250-254.(in Chinese)
[2] Vapnik V N.Statistical learning theory[M].New York:Wiley,1998.
[3] Vapnik V N .The mature of statistical learning theory[M].Germany:Springer,2000.
[4] Williams C A,Mobasher B,Burke R D.Defending recommender systems:Detection of profile injection attacks[J].Service Oriented Computing and Applications,2007,1(3):157-170.
[5] Li Cong,Luo Zhi-gang,Shi Jin-long.An unsupervised algorithm for detecting shilling attacks on recommender systems[J].Acta Automatica Sinica,2011,37(2):160-167.(in Chinese)
[6] Breiman L,F(xiàn)riedman J H,OlshenR A,et al.Classification and regression trees[M].California:Wadsworth International Group,1984.
[7] Veropoulos K,Campbell C,Cristianini N.Controlling the sensitivity of support vector machines[C]∥Proc of the International Joint Conference on AI(IJCAI’1999),1999:55-60.
[8] Burges C.A tutorial on support vector machines from pattern recognition[J].Data Mining and Knowledge Discovery,1998,13(2):121-167.
[9] Paola C,Elena C,Giorgio V.Support vector machines for candidate modules classification[J].Neurocomputing,2005,68(4):281-288.
[10] Japkowicz N.Concept-learning in the presence of betweenclass and within-class imbalances[C]∥Proc of CSCSI’01,2001:67-77.
[11] Platt J C.Probabilistic output for support vector machine and comparisons to regularized likelihood methods[M].Boston:MIT Press,1999.
[12] http://www.grouplens.org/node/73.
[13] Burke R,Mobasher B,Williams C.Classification features for attack detection in collaborative recommender systems[C]∥Proc of ICKDDM’06,2006:156-167.
附中文參考文獻:
[1] 張靖,何發(fā)鎂,邱云.個性化推薦系統(tǒng)描述文件攻擊檢測方法[J].電子科技大學學報,2011,40(2):250-254.
[5] 李聰,駱志剛,石金龍.一種探測推薦系統(tǒng)托攻擊的無監(jiān)督方法[J].自動化學報,2011,37(2):160-167.
Shilling attack detection method of recommender systems based on cost-sensitive SVM
The shilling attack detection method based on traditional Support Vector Machine(SVM)can not reflect the influence of the great difference of misclassification cost on classification effect.The paper proposes a novel shilling attack detection method based on cost-sensitive SVM.The method uses SVM as the classification tool under the cost-sensitive learning mechanism,and models the probabilistic outputs of SVM,presents dynamic misclassification cost function based on class membership value,thus accurately reflecting the misclassification cost of different samples.Hence,we design the classifier of cost-sensitive SVM and apply it in shilling attacks detection.Experimental results show that,compared with traditional SVM and different classes of cost-sensitive SVM (CS-SVM),our proposed method can more precisely control the cost of misclassification,improve the precision of the minority class samples,and decrease the total cost of misclassification.
support vector machine(SVM);shilling attacks detection;cost-sensitive;class membership
TP181
A
10.3969/j.issn.1007-130X.2014.04.021
2012-11-29;
2013-01-10
遼寧省社會科學規(guī)劃基金資助項目(L10BJL035);中央高校專項科研基金資助項目(DUT10RW302)
通訊地址:116025遼寧省大連市東北財經(jīng)大學管理科學與工程學院
Address:School of Management Science and Engineering,Dongbei University of Finance and Economics,Dalian 116025,Liaoning,P.R.China
1007-130X(2014)04-0697-05
呂成戍(1979-),女,黑龍江依安人,博士生,講師,研究方向為機器學習和電子商務。E-mail:lvcs@163.com
LüCheng-shu,born in 1979,PhD candidate,lecturer,her research interests include machine learning,and e-commerce.