基于项目关联的托攻击检测方法技术

技术编号:15691020 阅读:66 留言:0更新日期:2017-06-24 03:53
本发明专利技术公开了一种基于项目关联的托攻击检测方法,步骤包括:对混合用户评分矩阵R进行项目相关性计算,得到混合用户评分矩阵R的项目相关矩阵A;在混合用户评分矩阵R中,查找某一目标用户的近邻用户,移除目标用户以及其近邻用户,得到新混合用户评分矩阵r;重复查找目标用户;对新混合用户评分矩阵r进行项目相关性计算,得到新混合用户评分矩阵r的项目相关矩阵a;计算项目相关性矩阵A与不同项目相关矩阵a的欧式距离;将欧式距离累加到混合用户评分矩阵R中每一个用户以及其近邻用户,最终过滤攻击用户。本发明专利技术通过计算关联值矩阵取得差值,对差值进行排序,最终达到过滤攻击用户的目的,提高检测准确性,弥补现有检测方法的不足。

Support attack detection method based on item association

The invention discloses a supporting attack detection method based on correlation project comprises the following steps: Project correlation calculation of mixed user rating matrix R, mixed user rating matrix R project correlation matrix A; mixed user rating matrix in R, search for a target user's nearest neighbor users, remove the target users and the neighbor users, get a new mixed user rating matrix R; repeat search target users; the project correlation calculation of the new hybrid user rating matrix R, get a new mixed user rating matrix R Project correlation matrix A; calculating the Euclidean distance between A and item item correlation matrix correlation matrix A; Euclidean distance will be added to the mixed user rating R matrix of each user and the neighbor users, users eventually filtering attacks. The invention obtains the difference by calculating the association value matrix, sorts the difference, and finally achieves the goal of filtering and attacking the users, thereby improving the detection accuracy and making up the deficiency of the existing detection methods.

【技术实现步骤摘要】
基于项目关联的托攻击检测方法
本专利技术涉及机器学习领域,尤其涉及一种基于项目关联的托攻击检测方法。
技术介绍
随着互联网的发展,网络上的信息量剧增,人们很难从海量信息中快速定位目标内容,同时也使得信息的利用率被降低。因此,如何在“信息过载”的情况下,对用户实现高质量的推荐成为人们的研究热点。协同过滤推荐算法因其高效且便捷的个性化推荐技术,成为应用最广泛的推荐算法之一。它基于用户已有的信息进行分析,从用户的偏好、需求等个性点出发,为目标用户寻找相似用户,从而推荐更接近目标用户品味的商品。同样由于其便捷、开放的特点,给协同过滤推荐系统的安全性带来了挑战。不法商家为提高个人利益,可通过向推荐系统中添加对其商品评分有利的用户或对其对手商品评分不利的用户,使推荐结果包含非正常项的推荐从而达到自己的利益。这种通过添加伪造用户概貌达到非法目的的攻击我们称之为托攻击,常见的有随机攻击、均值攻击等。实际应用中,协同过滤推荐系统在面对这类攻击时表现出了极大的脆弱性。因此,研究协同过滤推荐系统的安全性逐渐成为了一个热门的研究课题。目前针对托攻击的检测主要时通过分析真实用户与伪造用户的评分值等特性,在推荐产生前移除攻击用户。从机器学习的角度出发,可以将众多检测方法根据其检测方式分为三大类,即有监督学习检测方法、无监督学习检测方法、半监督学习检测方法。有监督的检测方法主要是针对每个用户概貌提取特征,标记后利用支持向量机等分类器实现检测。这种利用提取特征的方法均需要攻击的填充规模较大才有较好的表现,当攻击用户的概貌填充较小时,效果不是很理想,且需要大量的先验知识进行学习。除了利用用户概貌本身的评分长度、评分值变化等特征外,还有学者将信号识别技术与检测方法结合,但此方法只对噪声数据有效,检测精度并不理想。后又有研究者提出了无监督学习方法,如基于主成分分析的检测方法,由于攻击用户评分模式相似,攻击用户间相似度较高而真实用户间相似度较低,转化为协方差可得伪造用户间协方差较低,伪造用户与真实用户间协方差较低,真实用户间协方差较高,通过提取主成分计算后过滤掉伪造用户,但是此方法需要知道攻击用户的数量,从而设定过滤用户的数量,数目的设定对检测结果的影响非常大,且当用户填充规模增大时,此方法的检测效果将随之降低。当只存在少量被标记用户时,依赖监督学习的效果并不理想,因此出现了半监督的学习方法,此方法主要包括两个部分,先对少量的标记数据利用分类器进行训练,在使用迭代的方式将无标记数据加入到分类器中,但此类方法需要不断迭代进行调整,除了耗时外,如何确认迭代次数等也为检测增加了难度。同时,现有的检查方法均从用户间相似度,用户评分值等角度出发,未直接考虑评分项目间关系,若攻击者从此角度出发,现有检查方法会在一定程度上损失检查效果。
技术实现思路
为了克服现有技术存在的缺点与不足,本专利技术提供一种基于项目关联的托攻击检测方法,通过计算关联值矩阵取得差值,对差值进行排序,最终达到过滤攻击用户的目的,提高检测准确性,弥补现有检测方法的不足。为解决上述技术问题,本专利技术提供如下技术方案:一种基于项目关联的托攻击检测方法,包括如下步骤:S1、对混合用户评分矩阵R进行项目相关性计算,得到混合用户评分矩阵R的项目相关矩阵A;S2、在混合用户评分矩阵R中,查找某一目标用户的近邻用户,移除目标用户以及其近邻用户,得到新混合用户评分矩阵r;重复查找目标用户,直至在混合用户评分矩阵R中所有用户均查找完毕,得到若干新混合用户评分矩阵r;S3、对新混合用户评分矩阵r进行项目相关性计算,得到新混合用户评分矩阵r的项目相关矩阵a;S4、计算项目相关性矩阵A与不同项目相关矩阵a的欧式距离;S5、将欧式距离累加到混合用户评分矩阵R中每一个用户以及其近邻用户,过滤攻击用户。进一步地,所述步骤S1具体为:S11、将混合用户评分矩阵R转变为新矩阵R’,新矩阵R’中评分项为1,未评分项为0;S12、对新矩阵R’中每个项目进行扩充,扩充后的项目与新矩阵R’相加,得到项目的共同平分项;S13、对共同评分项利用皮尔森相似度计算相似性,公式为:其中,X为项目X,为项目X的均值;Y为项目Y,为项目Y的均值;S14、重复步骤S12-S13,直至生成项目相关性矩阵A。进一步地,所述步骤S2具体为:S21、在混合用户评分矩阵R中,设定近邻用户数量k;S22、采用KNN方法对每个用户求取k个近邻用户,具体如下:S221、根据公式算出其余用户与目标用户的距离;S222、对计算所得距离进行排序,找出距离目标用户最近的k个近邻用户;S23、移除目标用户以及其近邻用户,得到新混合用户评分矩阵r。进一步地,所述步骤S3具体为:S31、将新混合用户评分矩阵r转变为新矩阵r’,新矩阵r’中评分项为1,未评分项为0;S32、对新矩阵r’中每个项目进行扩充,扩充的项目与新矩阵r’相加,得到项目的共同平分项;S33、对共同评分项利用皮尔森相似度计算相似性,公式为:其中,X为项目X,为项目X的均值;Y为项目Y,为项目Y的均值;S34、重复步骤S32-S33,直至生成项目相关性矩阵a。进一步地,所述步骤S5中过滤攻击用户具体为:将用户对应距离进行排序,排序采用升序处理,过滤前N个最短距离的用户,所述过滤前N个最短距离的用户即表示过滤攻击用户。采用上述技术方案后,本专利技术至少具有如下有益效果:(1)本专利技术从项目关联性角度提出新的检测方法,弥补了现有检测方法的不足;(2)由于目前已有攻击方法大多都是随机选取项目进行评分,因此本专利技术的适用性较为广泛;(3)本专利技术除了对常用攻击具有较好的检测效果,同时提高了现有检测方法难以防御的AOP攻击的检测效果;(4)相对于半监督、监督等学习方法,本专利技术不需要大量的先验知识,可直接对混合矩阵进行学习,实现过滤攻击用户的目的。附图说明图1为本专利技术基于项目关联的托攻击检测方法的步骤流程图;图2为本专利技术与其他两种检测方法针对随机攻击的检测结果示意图;图3为图2的针对均值攻击的检测结果,当攻击用户评分量增大时,各检测算法的准确率示意图;图4为本专利技术针对AOP攻击的检测结果。具体实施方式需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互结合,下面结合附图和具体实施例对本申请作进一步详细说明。本专利技术为一种基于项目关联的托攻击检测方法,如图1所示,包括以下步骤:1、项目相关性计算,利用项目共同评分项对混合矩阵中每个项目计算相关性:收集的原始矩阵是只有真实用户的数据集,混合评分矩阵是通过现有的攻击方法往真实用户数据集中添加了伪造用户;比如随机攻击方法生成了一些攻击方法,将其添加到原始矩阵后,称现有数据集为混合矩阵;1)将混合用户评分矩阵R(包含真实用户以及攻击用户)转变为新矩阵R’,R’中评分项为1,未评分项为0;2)对R’中每个项目进行扩充,与R’相加,得到项目的共同平分项;在matlab软件中,扩充意思就是每个item本身只有一列,重复该item,使其扩充后生成和R’一样大的矩阵,这样两个矩阵相加后,同时为2的时候代表该item与其他item的共同平分项;3)对共同评分项利用皮尔森相似度计算相似性;4)重复步骤2-3,直到生成项目相关性矩阵,假设原混合评分矩阵大小为m*n,项目相关性矩阵大小本文档来自技高网
...
基于项目关联的托攻击检测方法

【技术保护点】
一种基于项目关联的托攻击检测方法,其特征在于,包括如下步骤:S1、对混合用户评分矩阵R进行项目相关性计算,得到混合用户评分矩阵R的项目相关矩阵A;S2、在混合用户评分矩阵R中,查找某一目标用户的近邻用户,移除目标用户以及其近邻用户,得到新混合用户评分矩阵r;重复查找目标用户,直至在混合用户评分矩阵R中所有用户均查找完毕,得到若干新混合用户评分矩阵r;S3、对新混合用户评分矩阵r进行项目相关性计算,得到新混合用户评分矩阵r的项目相关矩阵a;S4、计算项目相关性矩阵A与不同项目相关矩阵a的欧式距离;S5、将欧式距离累加到混合用户评分矩阵R中每一个用户以及其近邻用户,过滤攻击用户。

【技术特征摘要】
1.一种基于项目关联的托攻击检测方法,其特征在于,包括如下步骤:S1、对混合用户评分矩阵R进行项目相关性计算,得到混合用户评分矩阵R的项目相关矩阵A;S2、在混合用户评分矩阵R中,查找某一目标用户的近邻用户,移除目标用户以及其近邻用户,得到新混合用户评分矩阵r;重复查找目标用户,直至在混合用户评分矩阵R中所有用户均查找完毕,得到若干新混合用户评分矩阵r;S3、对新混合用户评分矩阵r进行项目相关性计算,得到新混合用户评分矩阵r的项目相关矩阵a;S4、计算项目相关性矩阵A与不同项目相关矩阵a的欧式距离;S5、将欧式距离累加到混合用户评分矩阵R中每一个用户以及其近邻用户,过滤攻击用户。2.根据权利要求1所述的基于项目关联的托攻击检测方法,其特征在于,所述步骤S1具体为:S11、将混合用户评分矩阵R转变为新矩阵R’,新矩阵R’中评分项为1,未评分项为0;S12、对新矩阵R’中每个项目进行扩充,扩充后的项目与新矩阵R’相加,得到项目的共同平分项;S13、对共同评分项利用皮尔森相似度计算相似性,公式为:其中,X为项目X,为项目X的均值;Y为项目Y,为项目Y的均值;S14、重复步骤S12-S13,直至生成项目相关性矩阵A。3.根据权利要求1所述的基于项目关联的托攻击...

【专利技术属性】
技术研发人员:李巧巧陈百基
申请(专利权)人:华南理工大学
类型:发明
国别省市:广东,44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1