CN102184364A - 基于半监督学习的推荐系统托攻击检测方法 - Google Patents

基于半监督学习的推荐系统托攻击检测方法 Download PDF

Info

Publication number
CN102184364A
CN102184364A CN2011101384217A CN201110138421A CN102184364A CN 102184364 A CN102184364 A CN 102184364A CN 2011101384217 A CN2011101384217 A CN 2011101384217A CN 201110138421 A CN201110138421 A CN 201110138421A CN 102184364 A CN102184364 A CN 102184364A
Authority
CN
China
Prior art keywords
user
formula
unmarked
belongs
attack
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN2011101384217A
Other languages
English (en)
Inventor
伍之昂
曹杰
王有权
毛波
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nanjing University of Finance and Economics
Original Assignee
Nanjing University of Finance and Economics
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nanjing University of Finance and Economics filed Critical Nanjing University of Finance and Economics
Priority to CN2011101384217A priority Critical patent/CN102184364A/zh
Publication of CN102184364A publication Critical patent/CN102184364A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种基于半监督学习的推荐系统托攻击检测方法,包括以下阶段:托攻击检测预处理阶段;通过对标记数据集和未标记数据集的数据进行预处理,获得标记和未标记数据集的托攻击检测指标,然后在标记数据集上训练初始的朴素贝叶斯分类器;EM-λ算法阶段;通过EM-λ算法不断迭代获取一个稳定的分类器,最终得到未标记数据集的类型;通过函数f:U→C来预测未标记用户属于正常用户normal(N)还是托攻击用户shilling(S),完成推荐系统托攻击检测。本发明用于发现推荐系统中的托攻击用户,具有高效性、灵敏性和特效性,具有高检测率和低错误率。

Description

基于半监督学习的推荐系统托攻击检测方法
技术领域
本发明属于信息安全领域,具体地说是一种基于半监督学习的推荐系统托攻击检测方法。
背景技术
因特网规模和覆盖面的迅速增长带来了信息超载,我们生活在数据时代,据IDC估计2011年数据总量将达到1.8ZB (1ZB = 1,000,000PB),用户面对海量数据束手无策,难以顺利从中找到有用的信息。推荐系统(recommender system)是信息过滤的重要手段,是解决信息超载问题非常有潜力的方法。推荐算法是整个推荐系统中最核心的部分,协同过滤(collaborative filtering)是应用最广泛的推荐算法,在日常生活中,我们往往会利用好朋友的推荐进行一些选择,协同过滤正是基于这一思想,即基于其他相似用户对某一对象的评价向目标用户进行推荐。
目前,很多著名的电子商务推荐系统都是基于协同过滤的,如亚马逊网络书店、GroupLens、TiVo、Netflix、YouTube和Facebook等。然而,基于协同过滤的推荐系统极易受到托攻击(shilling attack),托攻击者通过伪造用户模型(user profile)干预系统的推荐结果,增加或减少目标对象的推荐频率。比如,某些恶意生产商或店主为了使自己的产品更加畅销,利用托攻击使得推荐系统频繁推荐自己的商品,而减少或不推荐竞争对手的商品。
托攻击检测是捍卫推荐系统安全性的重要手段,也是近年来信息安全应用领域的一个研究热点。从机器学习的角度,以往的托攻击检测方法可以分为两类,第一类托攻击检测方法是基于监督学习的,如Chirita, Burke, Mobasher等学者提出利用决策树来检测托攻击;第二类方法是基于无监督学习的,以Mehta提出的基于主元分析(principal component analysis, PCA)的算法为代表。
实际的推荐系统中往往存在大量无法确定身份的用户(称为无标记数据),而只有少量用户的身份可以确定(称为标记数据),比如淘宝网上好评率极高或极低的用户、黄冠用户等的身份容易确定,大量好评率适中用户的身份难以确定。由于标记数据量非常小,基于监督学习的托攻击检测方法的误差较大。而无监督学习则没有利用现有的标记数据集,忽视了标记数据集对未标记数据集的影响,训练出来的结果往往很难具有强泛化的学习能力。
发明内容
为了克服现有的托攻击检测方法存在的问题,本发明的目的是提供一种基于半监督学习的推荐系统托攻击检测方法。该方法首先使用朴素贝叶斯分类器(Naïve Bayesian classifier)作为初始分类器,然后使用Expectation Maximization (EM)算法来改进分类器。本发明用于发现推荐系统中的托攻击用户,具有高效性、灵敏性和特效性,具有高检测率和低错误率。
本发明的目的是通过以下技术方案来实现的:
一种基于半监督学习的推荐系统托攻击检测方法,其特征在于该方法包括以下阶段:
1)托攻击检测预处理阶段;该阶段通过对标记数据集和未标记数据集的数据进行预处理,获得标记和未标记数据集的托攻击检测指标,然后在标记数据集上训练初始的朴素贝叶斯分类器;
如果用户的类别已知,则其属于标记数据集L,否则属于未标记数据集U;L={(u1,c1),(u2,c2),…,(u|L|,c|L|)}为标记数据集, (u1, u2, ,…, u|L|)表示用户集合,(c1, c2, ,…, c|L|)表示该用户的类型集合,而U={u’1, u’2,…, u’|U|}为未标记数据集;
2)EM-λ算法阶段;该阶段通过EM-λ算法不断迭代获取一个稳定的分类器,最终得到未标记数据集的类型;通过函数f: U→C来预测未标记用户属于正常用户normal(N)还是托攻击用户shilling(S),完成推荐系统托攻击检测。
本发明提出了基于半监督学习的推荐系统托攻击检测方法,用于发现推荐系统中的托攻击用户。本发明的初始输入是用户对项目的评分矩阵,由标记数据集和未标记数据集组成,如果用户的类别已知,则其属于标记数据集L,否则属于未标记数据集U。L={(u1,c1),(u2,c2),…,(u|L|,c|L|)}为标记数据集, (u1, u2, ,…, u|L|)表示用户集合,(c1, c2, ,…, c|L|)表示该用户的类型集合,而U={u’1, u’2,…, u’|U|}为未标记数据集。本发明的托攻击检测算法通过函数f: U→C来预测未标记用户属于正常用户normal(N)还是托攻击用户shilling(S)。
本发明第一阶段为托攻击检测预处理阶段,该阶段主要通过对标记数据集和未标记数据集的数据进行预处理,获得标记和未标记数据集的托攻击检测指标,然后在标记数据集上训练初始的朴素贝叶斯分类器,第二阶段通过EM-λ算法不断迭代获取一个稳定的分类器,最终得到未标记数据集的类型。本发明两个阶段的具体内容如下:
1、 托攻击检测预处理
为了从大量的未标记用户集合中找出托攻击用户,预处理阶段需要获得标记数据集和未标记数据集的数据结构,其数据结构如图1所示,图中UID为用户号,class是用户类型,指标1-5是5个托攻击检测指标。其中UID为用户的唯一标记,类型class包括正常用户和托攻击用户,对于标记数据集来说class是已知的,而未标记用户需要通过托攻击检测算法决定未标记用户的类别。5个指标用于描述属于正常用户或托攻击用户的分类属性,是检测托攻击的有效指标,由于单个指标无法有效的检测未标记用户类型,所以本发明定义5种托攻击检测指标:
定义1熵:用户模型Pu可表示为统计集合Xu={ni, i=1,2,...,rmax},其中i是评分值,ni是评分值i在Pu中出现的次数。熵H(Xu)的计算公式如式(1)所示:
(1)
为了对其他用户的预测值产生尽量大的影响,托攻击者一般利用正态分布N(μ,σ2)生成随机评分数据,因此托攻击者的随机评分变化幅度较小,而正常用户会根据自己的兴趣偏好评分,评分变化幅度较大。熵的范围是[0,log2rmax],熵越小,表示评分值变化幅度越小,当所有评分值都相等时,熵为0;当ni相等时,熵取到最大值log2rmax。
定义2:长度变化LengthVar:一般地,推荐系统中正常用户模型长度较短,而托攻击者为了与更多的用户相似,模型长度较长,因此长度变化能反映出两者的区别,所以本发明定义用户模型Pu的长度记为#(Pu),用户模型的总数为N,用户u的长度变化LengthVaru如式(2)所示:
Figure 644325DEST_PATH_IMAGE002
(2)
定义3与近邻的平均相似度ADegSim:由于托攻击者为了影响大部分用户的预测评分,需要其与很多正常用户都非常相似,本发明定义用户u与其k近邻的平均相似度,计算公式如式(3)所示:
Figure 398655DEST_PATH_IMAGE003
(3)
定义4 FMTD:由于分段攻击和流行攻击都是对一组项目评最高分,它们的特征是评最高分项目集合的平均分与填充项目平均分之差极大,为此定义用户模型Pu可分为PuT和PuF,PuT是用户u评最高分的项目集合,PuF是剩余的用户u评过分的项目集合,即填充项目集合。用户u的FMTDu计算公式如下:
Figure 73350DEST_PATH_IMAGE004
(4)
定义5 RDMA:表示用户模型评过分项目与其平均值之间的平均偏差,用户u评过分项目的数量为Nu,用户u的RDMAu计算公式如下:
Figure 596735DEST_PATH_IMAGE005
(5)
其中NRi是对项目i评过分的用户数量。
获得标记和未标记数据集的5个指标后,可以在标记数据集上初始朴素贝叶斯分类器,然后根据此分类器属于normal(N)和shilling(S)的概率,由于5个检测指标都是相互独立的,因此,本发明使用朴素贝叶斯分类来初始化未标记用户属于类别C的概率,其中C={S,N}。首先计算u的5个指标值,记为{x1,x2,...,x5},而用户u的第i个指标Mi符合均值为μi,标准差为σi的高斯分布, P(xi|C)表示未标记用户u的第i个指标Mi属于类C的概率,故其可用式(6)所示。
Figure 26579DEST_PATH_IMAGE006
(6)
μCi 和σCi为标记数据集的第i个指标Mi属于类C的均值和标准差,然后可通过式(7)获得用户u属于类C的概率,式(7)如下所示:
Figure 268205DEST_PATH_IMAGE007
(7)
通过式(6)和(7)可以获得未标记用户属于正常用户或托攻击用户的初始概率。
2、 EM-λ算法
EM算法主要包括两个步骤:E步骤和M步骤,该算法是一个不断迭代的过程,通过交替使用这两个步骤,EM算法逐步调整属于N和S的参数(均值μCi和标准差σCi),直至这两个评估参数不再改变,两步骤分别为:
E步骤:使用式(8)计算每个用户属于类C的概率P(ukÎC),式(8)如下所示:
Figure 543328DEST_PATH_IMAGE008
(8)
其中P(uk)为常数,在本发明中,初始阶段未标记用户属于正常用户或托攻击用户的概率是相同的,所以P(S)=P(N),所以P(ukÎC)仅仅由P(uk|C)决定,而P(uk|C)可以通过式(6)和(7)来计算。
M步骤:通过E步骤获得了每个用户属于N和S的概率,则可以计算属于类C的第i个指标Mi的均值μCi,其计算公式如式(9)所示。
Figure 124482DEST_PATH_IMAGE009
(9)
属于类C的第i个指标Mi的均值σCi的计算公式如式(10)所示。
Figure 459649DEST_PATH_IMAGE010
(10)
公式(9)和(10)中,类别C同样是通过wu来计算,|C|的计算公式如式(11)所示。
(11)
其中|L|表示标记用户的个数,而|U|表示非标记用户的个数,而公式(9)-(11)中wu为未标记用户u属于正常用户N和托攻击用户S的概率,其公式如式(12)所示。
Figure 267385DEST_PATH_IMAGE012
(12)
本发明在EM算法的基础上引入了参数λ,其中E步骤不改变,而M步骤定义了一个权重因子Λ(u),该权重在标记用户集中为1,而在未标记用户则为λ,其公式如式(13)所示。
Figure 703045DEST_PATH_IMAGE013
(13)
则公式(12)被改写为式(13)所示:
Figure 474692DEST_PATH_IMAGE014
(14)
很显然,当λ等于0相当于仅仅使用朴素贝叶斯分类器,其分类结果不受未标记用户影响,当λ等于1则相当于回到了EM算法。EM-λ算法的结束条件是均值μCi和标准差σCi不再改变,如果还在变化则继续迭代EM-λ算法,否则结束迭代,然后通过式(8)计算未标记用户u属于正常用户的概率P(ukÎN)和属于托攻击用户的概率P(ukÎS),以P(ukÎN)和P(ukÎS)比值Ω作为判断未标记用户属于正常用户和托攻击用户的依据,比值Ω的计算公式如式(15)所示。
Figure 425331DEST_PATH_IMAGE015
(15)
如果比值Ω大于阈值h,则该用户为正常用户,否则为托攻击用户。
本发明用于发现推荐系统中的托攻击用户。首先使用朴素贝叶斯分类器(Naïve Bayesian classifier)作为初始分类器,然后使用Expectation Maximization (EM)算法来改进分类器。相对于标记数据集,未标记数据集数据量极大,未标记数据集对EM算法的参数估计过程起到决定性作用,准确的标记数据集的作用未能得到较好的体现,本发明引入参数λ调节未标记数据集在EM算法参数估计过程中的权重,从而提高托攻击检测器的准确性。本发明具有高效性、灵敏性和特效性,具有高检测率和低错误率。
附图说明
图1是预处理后用户的数据结构示意图。
图2是本发明具体实施的流程图。
图3为3组不同规模标记数据集上Semi-SAD灵敏度随参数λ的变化图。
图4为Semi-SAD与PCA算法针对AoP 20%和AoP 60%攻击的ROC曲线。
具体实施方式
一种本发明所述的基于半监督学习的推荐系统托攻击检测方法,包括以下阶段:
1)托攻击检测预处理阶段;该阶段通过对标记数据集和未标记数据集的数据进行预处理,获得标记和未标记数据集的托攻击检测指标,然后在标记数据集上训练初始的朴素贝叶斯分类器;
如果用户的类别已知,则其属于标记数据集L,否则属于未标记数据集U;L={(u1,c1),(u2,c2),…,(u|L|,c|L|)}为标记数据集, (u1, u2, ,…, u|L|)表示用户集合,(c1, c2, ,…, c|L|)表示该用户的类型集合,而U={u’1, u’2,…, u’|U|}为未标记数据集;
2)EM-λ算法阶段;该阶段通过EM-λ算法不断迭代获取一个稳定的分类器,最终得到未标记数据集的类型;通过函数f: U→C来预测未标记用户属于正常用户normal(N)还是托攻击用户shilling(S),完成推荐系统托攻击检测。
图2是本发明具体实施的流程图。在实施过程中首先需要建立标记数据集和未标记数据集,其中训练数据集为标记用户集的评分集合,该用户集的类型是已知的,而测试数据集则是未标记用户集的评分集合,需要通过托攻击检测判断用户类型;其次根据训练数据集获得每个训练和测试数据集的预处理数据结构,该数据结构包含了托攻击检测的5个指标; 然后使用朴素贝叶斯分类方法得到初始的未标记用户分类器;最后根据EM-λ算法不断迭代,修正属于N和S的均值μCi和标准差σCi,最终得到一个稳定的分类器,通过这个分类器得出用户属于N和S的概率,完成对未标记用户类型的标记。具体实施方式如下所示:
步骤1:建立输入数据集。输入数据由训练数据集和测试数据集组成,这两个数据集为用户-项目评分矩阵,该矩阵由m个用户的集合U和n个项目的集合I构成一个m*n阶矩阵R(m,n),其中Ru,i表示用户u对项目i的评分。
步骤2:标记和未标记数据集预处理。根据建立的训练数据集,通过公式(1)-(5)获得标记用户集和未标记用户集中每个用户的5个检测指标值,其中标记用户集的用户类型已知,而未标记用户集需要托攻击检测方法获得。
步骤3:获取未标记用户的初始朴素贝叶斯分类器。根据标记用户集5个指标的均值μi和标准差σi,然后使用朴素贝叶斯分类器来初始化未标记用户的属于类别C的概率,通过公式(6)计算出未标记用户u的第i个指标Mi属于类C的概率,然后通过公式(7)获得未标记用户的属于类别C的概率。
步骤4:调整分类器,为E步骤。使用式(8)计算每个用户属于类C的概率P(ukÎC),通过式(6)和(7)计算未标记用户属于类C的概率P(uk|C)的值。
步骤5:调整属于类C的第i个指标的均值和标准差,为M步骤。通过公式(9)-(14)可以调整属于类C的第i个指标Mi的均值μCi和标准差σCi。
步骤6:判断是否结束迭代。通过判断每个指标属于类C概率的均值μCi和标准差σCi是否稳定,如果稳定则结束迭代,跳到步骤7,否则跳转到步骤4继续EM-λ迭代。
步骤7:计算每个未标记用户属于类C的概率并判断其类别。通过式(8)计算每个用户属于正常用户的概率P(ukÎN)与属于托攻击用户的概率P(ukÎS)的比值Ω,比较比值Ω与阈值h的大小,如果大于则该用户为正常用户,否则为托攻击用户。
为了验证算法的高效性,本发明使用了MovieLens数据集,该数据集由943个用户对1682个项目评分,评分记录超过100,000条,分值处于[0,5]区间内,评分越高表示用户对该电影越满意。本发明按照比例(attack size)向MovieLens数据集中分别注入5种攻击,随机选择平均分小于3分的30部电影作为目标项目集合,攻击者随机选择目标项目集合里的一部电影作为其攻击目标,5种攻击者模型产生如表1所示。
表1. 5种攻击模型的产生方法
攻击模型 攻击者模型产生方法
随机攻击 目标项目5分;装填项目随机评分,遵从均值3.6、标准差1.1的高斯分布
平均攻击 目标项目5分;装填项目取其平均分
分段攻击 目标项目及其Top-k近邻5分;装填项目1分
流行攻击 目标项目和流行项目5分,流行项目指打分用户最多的20部电影;装填项目随机评分,遵从均值3.6、标准差1.1的高斯分布
抽样攻击 根据攻击者比例拷贝评分最多的用户模型,并对目标项目评5分
为了评估本文所提出算法的有效性,本发明沿用了评估分类器的两个常用度量:灵敏性(sensitivity)和特效性(specificity)。灵敏性和特效性的计算公式分别如式(16)和(17)所示:
Figure 307836DEST_PATH_IMAGE016
        (16)
Figure 660320DEST_PATH_IMAGE017
(17)
确 其中#true positives表示将托攻击用户检测为托攻击用户的数量,而#false negatives表示将托攻击用户检测为正常用户的数量,#true negatives表示正常用户被检测为正常用户的数量,#false positives表示正常用户被检测为托攻击用户的数量。
本发明首先做了两组实验对本发明(Semi-SAD)与监督托攻击检测算法(Bayesian-SAD)和无监督托攻击检测方法(PCA)进行了比较。第一组实验使用的标记用户集为100个正常用户和50个托攻击用户,而未标记用户集则使用了943个正常用户,同时注入了攻击比例为10%即94个攻击用户,攻击模式为平均攻击和流行攻击用户各占一半,项目填充比例分别2%、6%、10%、20%、30%、40%和50%,比较结果如表2所示。第二组实验同样使用的标记用户集为100个正常用户和50个托攻击用户,而未标记用户集则使用了943个正常用户,注入了攻击比例为10%即94个攻击用户,攻击模式为5种攻击各占五分之一,项目填充比例分别2%、6%、10%、20%、30%、40%和50%,比较结果如表3所示。通过两个表可以看出无论是两种攻击混合还是5种攻击混合,本发明的算法Semi-SAD的灵敏性和特效性都高于监督托攻击检测算法Bayesian-SAD和无监督托攻击检测算法PCA。
表2. 平均攻击和流行攻击混合下三种方法的灵敏性和特效性的比较
Figure 540551DEST_PATH_IMAGE018
表3. 5种攻击模式混合下三种方法的灵敏性和特效性的比较
Figure 978486DEST_PATH_IMAGE019
本发明然后做了另一组实验,在改组实验中引入了权重因子Λ(u),同时在不同的训练数据集下测试引入参数λ是否能够提高EM算法的效果。在本组实验中选取了3组标记数据集,分别为:50正常用户和25攻击用户(50N-25S),100正常用户和50攻击用户(100N-50S),150用户和75攻击用户(150N-75S),而未标记用户集则使用了943个正常用户,注入了攻击比例为10%即94个攻击用户,攻击模式为5种攻击各占五分之一,填充项目比例为6%。
图3为3组不同规模标记数据集上Semi-SAD灵敏度随参数λ的变化图。选取了3组标记用户集,分别为:50正常用户和25攻击用户(50N-25S),100正常用户和50攻击用户(100N-50S),150用户和75攻击用户(150N-75S),而未标记用户集则包含943个正常用户,同时注入了攻击比例为10%即94个攻击用户,攻击模式为5种攻击各占五分之一,填充项目比例为6%。图3显示了本发明引入参数λ在3组标记数据集上灵敏度的变化情况,可以看出引入参数λ后标记数据集的规模越小则灵敏度变化幅度越大,而且分别在λ=0.4、λ=0.2和λ=0.6时灵敏度最高,说明参数λ起到了调节作用。
本发明最后做了一组实验,引入了另外一种简单有效的AoP攻击模式,即在x%最受欢迎的项目集合中选择填充比例为y%的项目集合,填充方式为每个填充项目所在列的平均值。本组实验使用ROC曲线来描述本发明算法和PCA算法的性能。ROC曲线以1-specificity和sensitivity分别作为x轴和y轴,以P(ukÎS)与P(ukÎN)的比率作为阈值。在本组实验中,选取的标记用户集为100个正常用户和50个托攻击用户,而未标记用户集则使用了943个正常用户并注入了攻击比例为10%即94个攻击用户,填充项目比例为5%,攻击模式分别为AoP 20%和AoP 60%(即分别在20%和60%最受欢迎的项目集合中选择填充项目比例为5%的项目集合),ROC曲线如图4所示。
图4为Semi-SAD与PCA算法针对AoP 20%和AoP 60%攻击的ROC曲线。以1-specificity和sensitivity分别作为x和y轴,以P(ukÎS)与P(ukÎN)的比率作为阈值,选取的标记数据集为100个正常用户和50个托攻击用户,而未标记用户集则使用了943个正常用户并注入了攻击比例为10%即94个攻击用户,其填充项目比例为5%,而攻击模式分别为AoP 20%和AoP 60%。通过图4可以看出本发明的算法与PCA算法相比,具有高检测率和低错误率的优点。

Claims (4)

1.一种基于半监督学习的推荐系统托攻击检测方法,其特征在于该方法包括以下阶段:
1)托攻击检测预处理阶段;该阶段通过对标记数据集和未标记数据集的数据进行预处理,获得标记和未标记数据集的托攻击检测指标,然后在标记数据集上训练初始的朴素贝叶斯分类器;
如果用户的类别已知,则其属于标记数据集L,否则属于未标记数据集U;L={(u1,c1),(u2,c2),…,(u|L|,c|L|)}为标记数据集, (u1, u2, ,…, u|L|)表示用户集合,(c1, c2, ,…, c|L|)表示该用户的类型集合,而U={u’1, u’2,…, u’|U|}为未标记数据集;
2)EM-λ算法阶段;该阶段通过EM-λ算法不断迭代获取一个稳定的分类器,最终得到未标记数据集的类型;通过函数f: U→C来预测未标记用户属于正常用户normal(N)还是托攻击用户shilling(S),完成推荐系统托攻击检测。
2.根据权利要求1所述的基于半监督学习的推荐系统托攻击检测方法,其特征在于:在托攻击检测预处理阶段定义5种托攻击检测指标,具有如下:
定义1、熵:用户模型Pu可表示为统计集合Xu={ni, i=1,2,...,rmax},其中i是评分值,ni是评分值i在Pu中出现的次数;熵H(Xu)的计算公式如式(1)所示:
Figure 716079DEST_PATH_IMAGE001
(1)
为了对其他用户的预测值产生尽量大的影响,托攻击者一般利用正态分布N(μ,σ2)生成随机评分数据,因此托攻击者的随机评分变化幅度较小,而正常用户会根据自己的兴趣偏好评分,评分变化幅度较大;熵的范围是[0,log2rmax],熵越小,表示评分值变化幅度越小,当所有评分值都相等时,熵为0;当ni相等时,熵取到最大值log2rmax;
定义2、长度变化LengthVar:推荐系统中正常用户模型长度较短,而托攻击者为了与更多的用户相似,模型长度较长,因此长度变化能反映出两者的区别;定义用户模型Pu的长度记为#(Pu),用户模型的总数为N,用户u的长度变化LengthVaru如式(2)所示:
Figure 744078DEST_PATH_IMAGE002
; (2)
定义3、与近邻的平均相似度ADegSim:由于托攻击者为了影响大部分用户的预测评分,需要其与很多正常用户都非常相似,定义用户u与其k近邻的平均相似度,计算公式如式(3)所示:
; (3)
定义4、 FMTD:由于分段攻击和流行攻击都是对一组项目评最高分,它们的特征是评最高分项目集合的平均分与填充项目平均分之差极大,为此定义用户模型Pu可分为PuT和PuF,PuT是用户u评最高分的项目集合,PuF是剩余的用户u评过分的项目集合,即填充项目集合;
用户u的FMTDu计算公式如下:
Figure 863344DEST_PATH_IMAGE004
; (4)
定义5 、RDMA:表示用户模型评过分项目与其平均值之间的平均偏差,用户u评过分项目的数量为Nu,用户u的RDMAu计算公式如下:
Figure DEST_PATH_IMAGE005A
(5)
其中NRi是对项目i评过分的用户数量。
3.根据权利要求2所述的基于半监督学习的推荐系统托攻击检测方法,其特征在于:获得标记和未标记数据集的5个指标后,可以在标记数据集上初始朴素贝叶斯分类器,然后根据此分类器属于normal(N)和shilling(S)的概率,由于5个检测指标都是相互独立的,使用朴素贝叶斯分类来初始化未标记用户属于类别C的概率,其中C={S,N};
首先计算u的5个指标值,记为{x1,x2,...,x5},而用户u的第i个指标Mi符合均值为μi,标准差为σi的高斯分布, P(xi|C)表示未标记用户u的第i个指标Mi属于类C的概率,故其可用式(6)所示:
Figure DEST_PATH_IMAGE006A
(6)
μCi 和σCi为标记数据集的第i个指标Mi属于类C的均值和标准差,然后可通过式(7)获得用户u属于类C的概率,式(7)如下所示:
(7)
通过式(6)和(7)获得未标记用户属于正常用户或托攻击用户的初始概率。
4.根据权利要求2所述的基于半监督学习的推荐系统托攻击检测方法,其特征在于:在EM-λ算法阶段,EM算法主要包括E步骤和M步骤,通过交替使用这两个步骤,EM算法逐步调整属于N和S的参数,即均值μCi和标准差σCi,直至这两个评估参数不再改变,两步骤具体为:
E步骤:使用式(8)计算每个用户属于类C的概率P(ukÎC),式(8)如下所示:
Figure 195228DEST_PATH_IMAGE008
(8)
其中P(uk)为常数,初始阶段未标记用户属于正常用户或托攻击用户的概率是相同的,所以P(S)=P(N),所以P(ukÎC)仅仅由P(uk|C)决定,而P(uk|C)可以通过式(6)和(7)来计算;
M步骤:通过E步骤获得了每个用户属于N和S的概率,则可以计算属于类C的第i个指标Mi的均值μCi,其计算公式如式(9)所示:
Figure DEST_PATH_IMAGE009A
(9)
属于类C的第i个指标Mi的均值σCi的计算公式如式(10)所示:
(10)
公式(9)和(10)中,类别C同样是通过wu来计算,|C|的计算公式如式(11)所示:
Figure 219685DEST_PATH_IMAGE011
(11)
其中|L|表示标记用户的个数,而|U|表示非标记用户的个数,而公式(9)-(11)中wu为未标记用户u属于正常用户N和托攻击用户S的概率,其公式如式(12)所示:
Figure 785796DEST_PATH_IMAGE012
(12)
在EM算法的基础上引入了参数λ,其中E步骤不改变,而M步骤定义了一个权重因子Λ(u),该权重在标记用户集中为1,而在未标记用户则为λ,其公式如式(13)所示:
Figure 87464DEST_PATH_IMAGE013
(13)
则公式(12)被改写为式(13)所示:
Figure 634989DEST_PATH_IMAGE014
(14)
当λ等于0相当于仅仅使用朴素贝叶斯分类器,其分类结果不受未标记用户影响,当λ等于1则相当于回到了EM算法;
EM-λ算法的结束条件是均值μCi和标准差σCi不再改变,如果还在变化则继续迭代EM-λ算法,否则结束迭代,然后通过式(8)计算未标记用户u属于正常用户的概率P(ukÎN)和属于托攻击用户的概率P(ukÎS),以P(ukÎN)和P(ukÎS)比值Ω作为判断未标记用户属于正常用户和托攻击用户的依据,比值Ω的计算公式如式(15)所示:
Figure 22108DEST_PATH_IMAGE015
(15)
如果比值Ω大于阈值h,则该用户为正常用户,否则为托攻击用户。
CN2011101384217A 2011-05-26 2011-05-26 基于半监督学习的推荐系统托攻击检测方法 Pending CN102184364A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2011101384217A CN102184364A (zh) 2011-05-26 2011-05-26 基于半监督学习的推荐系统托攻击检测方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2011101384217A CN102184364A (zh) 2011-05-26 2011-05-26 基于半监督学习的推荐系统托攻击检测方法

Publications (1)

Publication Number Publication Date
CN102184364A true CN102184364A (zh) 2011-09-14

Family

ID=44570539

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2011101384217A Pending CN102184364A (zh) 2011-05-26 2011-05-26 基于半监督学习的推荐系统托攻击检测方法

Country Status (1)

Country Link
CN (1) CN102184364A (zh)

Cited By (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104809393A (zh) * 2015-05-11 2015-07-29 重庆大学 一种基于流行度分类特征的托攻击检测算法
CN105095914A (zh) * 2015-08-13 2015-11-25 中国民航大学 基于h/q分解和贝叶斯迭代分类相结合的机场跑道检测方法
CN105516127A (zh) * 2015-12-07 2016-04-20 中国科学院信息工程研究所 面向内部威胁检测的用户跨域行为模式挖掘方法
CN105677900A (zh) * 2016-02-04 2016-06-15 南京理工大学 恶意用户检测方法及装置
CN105809030A (zh) * 2016-03-03 2016-07-27 南京邮电大学 一种基于数据追踪的推荐系统安全检测方法
CN106874427A (zh) * 2017-01-23 2017-06-20 华南理工大学 基于项目关联的托攻击检测方法
CN107025311A (zh) * 2017-05-18 2017-08-08 北京大学 一种基于k近邻的贝叶斯个性化推荐方法及装置
CN107689960A (zh) * 2017-09-11 2018-02-13 南京大学 一种针对无组织恶意攻击的攻击检测方法
CN108197215A (zh) * 2017-12-28 2018-06-22 努比亚技术有限公司 一种推荐方法、服务器及计算机可读存储介质
CN108549940A (zh) * 2018-03-05 2018-09-18 浙江大学 基于多种对抗样例攻击的智能防御算法推荐方法及系统
CN108600002A (zh) * 2018-04-17 2018-09-28 浙江工业大学 一种基于半监督学习的移动边缘计算分流决策方法
CN110138766A (zh) * 2019-05-10 2019-08-16 福州大学 天牛须结合随机森林的网络入侵检测方法
CN110348480A (zh) * 2019-06-05 2019-10-18 杭州立宸科技有限公司 一种非监督异常数据检测算法
CN110602090A (zh) * 2019-09-12 2019-12-20 天津理工大学 一种基于区块链的托攻击检测方法
CN111967909A (zh) * 2020-08-17 2020-11-20 国网山西省电力公司营销服务中心 一种基于卷积神经网络的托攻击检测方法
CN112231570A (zh) * 2020-10-26 2021-01-15 腾讯科技(深圳)有限公司 推荐系统托攻击检测方法、装置、设备及存储介质
CN113486240A (zh) * 2021-07-08 2021-10-08 上海海事大学 一种基于swpem路由算法的职位推荐方法
CN114143044A (zh) * 2021-11-10 2022-03-04 广州大学 一种网络攻击方法、装置、设备及存储介质
US20220215453A1 (en) * 2021-01-05 2022-07-07 Walmart Apollo, Llc Methods and apparatus for automatically detecting data attacks using machine learning processes

Cited By (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104809393B (zh) * 2015-05-11 2017-07-04 重庆大学 一种基于流行度分类特征的托攻击检测算法
CN104809393A (zh) * 2015-05-11 2015-07-29 重庆大学 一种基于流行度分类特征的托攻击检测算法
CN105095914A (zh) * 2015-08-13 2015-11-25 中国民航大学 基于h/q分解和贝叶斯迭代分类相结合的机场跑道检测方法
CN105516127B (zh) * 2015-12-07 2019-01-25 中国科学院信息工程研究所 面向内部威胁检测的用户跨域行为模式挖掘方法
CN105516127A (zh) * 2015-12-07 2016-04-20 中国科学院信息工程研究所 面向内部威胁检测的用户跨域行为模式挖掘方法
CN105677900A (zh) * 2016-02-04 2016-06-15 南京理工大学 恶意用户检测方法及装置
CN105809030A (zh) * 2016-03-03 2016-07-27 南京邮电大学 一种基于数据追踪的推荐系统安全检测方法
CN105809030B (zh) * 2016-03-03 2018-07-10 南京邮电大学 一种基于数据追踪的推荐系统安全检测方法
CN106874427A (zh) * 2017-01-23 2017-06-20 华南理工大学 基于项目关联的托攻击检测方法
CN106874427B (zh) * 2017-01-23 2020-01-14 华南理工大学 基于项目关联的托攻击检测方法
CN107025311A (zh) * 2017-05-18 2017-08-08 北京大学 一种基于k近邻的贝叶斯个性化推荐方法及装置
CN107689960A (zh) * 2017-09-11 2018-02-13 南京大学 一种针对无组织恶意攻击的攻击检测方法
CN108197215A (zh) * 2017-12-28 2018-06-22 努比亚技术有限公司 一种推荐方法、服务器及计算机可读存储介质
CN108549940A (zh) * 2018-03-05 2018-09-18 浙江大学 基于多种对抗样例攻击的智能防御算法推荐方法及系统
CN108549940B (zh) * 2018-03-05 2021-10-29 浙江大学 基于多种对抗样例攻击的智能防御算法推荐方法及系统
CN108600002A (zh) * 2018-04-17 2018-09-28 浙江工业大学 一种基于半监督学习的移动边缘计算分流决策方法
CN110138766A (zh) * 2019-05-10 2019-08-16 福州大学 天牛须结合随机森林的网络入侵检测方法
CN110138766B (zh) * 2019-05-10 2020-06-12 福州大学 天牛须结合随机森林的网络入侵检测方法
CN110348480A (zh) * 2019-06-05 2019-10-18 杭州立宸科技有限公司 一种非监督异常数据检测算法
CN110602090A (zh) * 2019-09-12 2019-12-20 天津理工大学 一种基于区块链的托攻击检测方法
CN111967909A (zh) * 2020-08-17 2020-11-20 国网山西省电力公司营销服务中心 一种基于卷积神经网络的托攻击检测方法
CN112231570A (zh) * 2020-10-26 2021-01-15 腾讯科技(深圳)有限公司 推荐系统托攻击检测方法、装置、设备及存储介质
CN112231570B (zh) * 2020-10-26 2024-04-16 腾讯科技(深圳)有限公司 推荐系统托攻击检测方法、装置、设备及存储介质
US20220215453A1 (en) * 2021-01-05 2022-07-07 Walmart Apollo, Llc Methods and apparatus for automatically detecting data attacks using machine learning processes
US11756097B2 (en) * 2021-01-05 2023-09-12 Walmart Apollo, Llc Methods and apparatus for automatically detecting data attacks using machine learning processes
CN113486240A (zh) * 2021-07-08 2021-10-08 上海海事大学 一种基于swpem路由算法的职位推荐方法
CN113486240B (zh) * 2021-07-08 2024-02-02 上海海事大学 一种基于swpem路由算法的职位推荐方法
CN114143044A (zh) * 2021-11-10 2022-03-04 广州大学 一种网络攻击方法、装置、设备及存储介质
CN114143044B (zh) * 2021-11-10 2023-10-31 广州大学 一种网络项目推荐方法、装置、设备及存储介质

Similar Documents

Publication Publication Date Title
CN102184364A (zh) 基于半监督学习的推荐系统托攻击检测方法
Chakraborty et al. Towards a stratified learning approach to predict future citation counts
CN103514304B (zh) 一种项目推荐方法和装置
Bilge et al. A novel shilling attack detection method
CN109783734A (zh) 一种基于项目属性的混合协同过滤推荐算法
CN103902545B (zh) 一种类目路径识别方法及系统
CN103678672A (zh) 一种信息推荐方法
CN108563690B (zh) 一种基于面向对象聚类的协同过滤推荐方法
Bin et al. Collaborative filtering recommendation algorithm based on multi-relationship social network
CN106021329A (zh) 基于用户相似度的稀疏数据协同过滤推荐方法
CN104298787A (zh) 一种基于融合策略的个性化推荐方法及装置
CN105809030B (zh) 一种基于数据追踪的推荐系统安全检测方法
Armentano et al. Recommending information sources to information seekers in Twitter
CN105095476A (zh) 基于Jaccard均衡距离的协同过滤推荐方法
CN108874916A (zh) 一种层叠组合协同过滤推荐方法
Li et al. Robust outlier detection based on the changing rate of directed density ratio
CN104751353A (zh) 基于聚类和Slope One预测的协同过滤方法
Calvert et al. Threshold based optimization of performance metrics with severely imbalanced big security data
Hao et al. Multiview ensemble method for detecting shilling attacks in collaborative recommender systems
CN106021428A (zh) 一种基于knn和三支决策的电影推荐方法
Kumar et al. Friend Recommendation using graph mining on social media
Yu et al. A novel robust recommendation method based on kernel matrix factorization
CN109857928A (zh) 基于多元信用评估的用户偏好预测方法
Liu et al. Detecting community structure for undirected big graphs based on random walks
Roy et al. Exploiting Deep Learning Based Classification Model for Detecting Fraudulent Schemes over Ethereum Blockchain

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20110914