[发明专利]基于半监督学习的推荐系统托攻击检测方法无效
申请号: | 201110138421.7 | 申请日: | 2011-05-26 |
公开(公告)号: | CN102184364A | 公开(公告)日: | 2011-09-14 |
发明(设计)人: | 伍之昂;曹杰;王有权;毛波 | 申请(专利权)人: | 南京财经大学 |
主分类号: | G06F21/00 | 分类号: | G06F21/00;G06F17/30 |
代理公司: | 南京汇盛专利商标事务所(普通合伙) 32238 | 代理人: | 陈扬 |
地址: | 210003 *** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 监督 学习 推荐 系统 攻击 检测 方法 | ||
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)所示:
(1)
为了对其他用户的预测值产生尽量大的影响,托攻击者一般利用正态分布N(μ,σ2)生成随机评分数据,因此托攻击者的随机评分变化幅度较小,而正常用户会根据自己的兴趣偏好评分,评分变化幅度较大;熵的范围是[0,log2rmax],熵越小,表示评分值变化幅度越小,当所有评分值都相等时,熵为0;当ni相等时,熵取到最大值log2rmax;
定义2、长度变化LengthVar:推荐系统中正常用户模型长度较短,而托攻击者为了与更多的用户相似,模型长度较长,因此长度变化能反映出两者的区别;定义用户模型Pu的长度记为#(Pu),用户模型的总数为N,用户u的长度变化LengthVaru如式(2)所示:
; (2)
定义3、与近邻的平均相似度ADegSim:由于托攻击者为了影响大部分用户的预测评分,需要其与很多正常用户都非常相似,定义用户u与其k近邻的平均相似度,计算公式如式(3)所示:
; (3)
定义4、 FMTD:由于分段攻击和流行攻击都是对一组项目评最高分,它们的特征是评最高分项目集合的平均分与填充项目平均分之差极大,为此定义用户模型Pu可分为PuT和PuF,PuT是用户u评最高分的项目集合,PuF是剩余的用户u评过分的项目集合,即填充项目集合;
用户u的FMTDu计算公式如下:
; (4)
定义5 、RDMA:表示用户模型评过分项目与其平均值之间的平均偏差,用户u评过分项目的数量为Nu,用户u的RDMAu计算公式如下:
(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)所示:
(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)如下所示:
(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)所示:
(9)
属于类C的第i个指标Mi的均值σCi的计算公式如式(10)所示:
(10)
公式(9)和(10)中,类别C同样是通过wu来计算,|C|的计算公式如式(11)所示:
(11)
其中|L|表示标记用户的个数,而|U|表示非标记用户的个数,而公式(9)-(11)中wu为未标记用户u属于正常用户N和托攻击用户S的概率,其公式如式(12)所示:
(12)
在EM算法的基础上引入了参数λ,其中E步骤不改变,而M步骤定义了一个权重因子Λ(u),该权重在标记用户集中为1,而在未标记用户则为λ,其公式如式(13)所示:
(13)
则公式(12)被改写为式(13)所示:
(14)
当λ等于0相当于仅仅使用朴素贝叶斯分类器,其分类结果不受未标记用户影响,当λ等于1则相当于回到了EM算法;
EM-λ算法的结束条件是均值μCi和标准差σCi不再改变,如果还在变化则继续迭代EM-λ算法,否则结束迭代,然后通过式(8)计算未标记用户u属于正常用户的概率P(uk?N)和属于托攻击用户的概率P(uk?S),以P(uk?N)和P(uk?S)比值Ω作为判断未标记用户属于正常用户和托攻击用户的依据,比值Ω的计算公式如式(15)所示:
(15)
如果比值Ω大于阈值h,则该用户为正常用户,否则为托攻击用户。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于南京财经大学,未经南京财经大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201110138421.7/1.html,转载请声明来源钻瓜专利网。