一种基于矩阵补全的抗托攻击推荐算法制造技术

技术编号:18809943 阅读:19 留言:0更新日期:2018-09-01 09:25
本发明专利技术公开了一种基于矩阵补全的抗托攻击推荐算法,首先统计用户对项目的评分,提取用户的属性特征和项目的属性特征,分别构建用户‑项目评分矩阵,用户属性特征矩阵和项目属性特征矩阵;然后将用户‑项目评分矩阵中的托攻击评分建模为矩阵补全模型中的结构化噪声;然后采用分块坐标下降算法对各变量进行迭代更新,求得结构化行噪声矩阵;随后根据结构化行噪声矩阵剔除用户‑项目评分矩阵中的托攻击评分;最后使用传统推荐算法进行评分预测,求得预测评分矩阵。本发明专利技术提供的推荐算法能够有效地检测出推荐系统中的托攻击用户,在托攻击干扰下可取得比传统推荐算法更精确的个性化评分预测效果,有效提高了推荐算法的鲁棒性。

An anti attack attack recommendation algorithm based on matrix completion

The invention discloses a trust-resistant attack recommendation algorithm based on matrix completion. Firstly, the user's score on the item is counted, the user's attribute features and the item's attribute features are extracted, and the user's score matrix, the user's attribute feature matrix and the item's attribute feature matrix are respectively constructed; then the user's score matrix and the item's attribute feature matrix are obtained. The TOS score is modeled as structured noise in the matrix completion model, and then the structured row noise matrix is obtained by iteratively updating the variables with block coordinate descent algorithm; then the TOS score in the user/item score matrix is eliminated according to the structured row noise matrix; finally, the traditional recommendation algorithm is used. Scoring prediction was made to get the prediction scoring matrix. The recommendation algorithm provided by the invention can effectively detect the trusted attack users in the recommendation system, and can achieve more accurate personalized score prediction effect than the traditional recommendation algorithm under the interference of the trusted attack, and effectively improve the robustness of the recommendation algorithm.

【技术实现步骤摘要】
一种基于矩阵补全的抗托攻击推荐算法
本专利技术属于计算机
中的信息安全领域,具体涉及一种基于矩阵补全的抗托攻击推荐算法。
技术介绍
面对信息过载问题,推荐系统应运而生。推荐系统是一种软件系统,它通过收集用户信息,项目信息以及用户与项目的交互信息,了解用户的偏好,从而将用户可能感兴趣的项目推荐给用户,在一定程度上解决困扰用户的信息过载问题。当前实现推荐系统的一种主流算法是协同过滤(collaborativefiltering)算法。它依赖于用户的历史行为,分析过去的用户-项目交互,建立新的用户-项目联系。然而,用户-项目交互数据的产生者是所有用户,并没有设置准入门槛,这种数据来源的开放性导致协同过滤推荐系统极易受到恶意用户的干扰,这种现象称为托攻击(shillingattack)。托攻击是当前推荐系统遇到的严峻挑战之一。恶意商家或用户为了达成其特殊目的,往往是为了经济利益,冒充正常用户,在与项目交互的过程中,向推荐系统注入精心设计的虚假用户概貌,从而影响正常的推荐结果。这种攻击的存在会严重干扰推荐系统的正常运转,误导用户接受或购买并非真正所需的信息或项目,使用户逐渐丧失对此推荐系统的信任,造成客户群的流失,推荐系统会蒙受信誉与利润的双重损失。当前,针对无托攻击评分数据集已经有了很多行之有效的高精度推荐算法,但在含托攻击数据集上,这些传统推荐算法往往会面临性能下降的问题。
技术实现思路
专利技术目的:本专利技术基于结构化噪声矩阵补全技术提出一种鲁棒的抗托攻击个性化推荐算法以提高推荐系统抵御托攻击能力,首先检测出推荐系统中的托攻击用户并剔除相应攻击评分再进行推荐,从而解决推荐系统中存在的托攻击问题,将合适的项目推荐给相应用户。实验表明,该推荐算法在托攻击下可取得比传统推荐算法更精确的个性化评分预测效果,有效提高推荐算法的鲁棒性。技术方案:为实现上述目的,本专利技术采用如下技术方案:一种基于矩阵补全的抗托攻击推荐算法,包括如下步骤:1)建立用户-项目评分矩阵:设m名用户构成用户集合U={u1,u2,…um},n件项目构成项目集合I={i1,i2,…in},用户-项目评分矩阵可表示为其中,用户u对项目i的评分记作ri,j,“*”表示已知评分,“?”表示未知评分。由于每个用户只可能对有限的项目进行评分,而每件项目也仅可能收到有限用户的评分,故这个评分矩阵通常包含大量的空缺评分,是一个稀疏矩阵。2)根据步骤一的用户-项目评分矩阵建立基于矩阵补全的推荐系统模型:在推荐系统中,大量的用户之间和大量的项目之间必然存在着偏好相近的用户和属性相近的项目,这种相近性使得用户-项目评分矩阵往往具有近似低秩性,故推荐系统问题可利用低秩矩阵补全技术进行评分预测。用R表示当前观察到的评分矩阵,则推荐系统问题可建模为:其中Ω集合表示评分矩阵中已收到评分的元素下标集合,X矩阵是低维未知矩阵,是投影算子,表示当元素下标(i,j)∈Ω时,得到对应位置采样元素:但是,秩函数rank(X)是非凸的,直接使用秩函数建模得到的是一个NP-Hard问题,其计算代价会随着问题规模的扩大而急剧增大。因此,往往将秩函数松弛化为核范数来解决此问题:其中,σi为矩阵核范数,σi为矩阵X的第i大奇异值。3)建立基于属性优化矩阵补全的托攻击检测模型:在实际应用中,推荐系统往往会遭受恶意用户的托攻击。面对托攻击干扰,标准矩阵补全模型的推荐精度将严重降低。因此,为了保证推荐的质量,有必要抵御这些攻击数据的影响。通过对托攻击特点进行分析可知,托攻击的目的是更改原来自然情况下的评分情况,假如在自然情况下的评分情况已经符合攻击者的意图,则没有进行攻击的必要,故托攻击用户的评分与自然状态下正常用户的评分存在不一致性。另外,托攻击用户的评分通常是机械填充的,这也会与基于兴趣偏好而形成的正常用户评分具有相异之处。基于以上分析,本专利技术将用户-项目评分矩阵中的托攻击评分建模为结构化行噪声,这些结构化行噪声与正常用户评分的潜在规律相违背,打破了评分矩阵的近似低秩性。对于评分矩阵中存在的结构化行噪声,可利用矩阵L2,1范数对其进行解析。在剔除攻击评分之后,再进行评分预测,将有效提高推荐精度,此时,基于属性优化矩阵补全的托攻击检测模型为:其中,为矩阵L2,1范数。此外,用户往往会出于情绪波动而打出不太精确的评分,为了平滑评分的这种细微波动,可引入矩阵的Frobenius范数,将式(5)改写成罚函数形式:其中,为矩阵的Frobenius范数。正如之前所叙述的,评分矩阵通常是稀疏矩阵,能够收到的评分数远小于评分矩阵元素个数。在MovieLens的ml-20m数据集中,138493名用户对于27278部电影仅有20000263个评分;在EachMovie数据集中,72916个用户对l628部电影仅进行了2811983次评分。基于稀疏数据求取高维未知矩阵很难确保求解的准确性。为解决数据稀疏性问题[16],我们考虑引入属性特征信息,将简单的评分矩阵R细化为三个矩阵的乘积R=APXB,其中,A和B分别是用户特征矩阵和项目特征矩阵,矩阵列向量分别是用户特征向量和项目特征向量,即量化了的属性信息;X矩阵是低维未知矩阵,此时,托攻击检测模型可改为:然而,由于rank(ATXB)≤min{rank(A),rank(B)},即只要特征矩阵A与B其中之一的秩足够小,比如A或B的维度过小,包含信息过少等,则无论X矩阵取何值,乘积ATXB的秩都必然会更小,将直接满足低秩条件。为避免这种解的任意性,我们仅对待求变量X进行低秩约束。综上所述,基于属性优化矩阵补全的托攻击检测模型为:其中,‖X‖*和‖Z‖2,1分别表示对X矩阵进行低秩性约束以及对Z矩阵进行行稀疏性约束,是为了平滑评分细微波动的正则化项,λ,β为可调参数,表示评分矩阵中已反馈的评分元素下标集合。4)采用分块坐标下降算法迭代求解公式(8)中的基于属性优化矩阵补全的托攻击检测模型,得到结构化行噪声矩阵Z。具体步骤如下:步骤4.1):在公式(8)中引入变量C并令C=ATXB,将公式转换为:利用Frobenius范数将其进一步改写成相应的罚函数形式:步骤4.2):采用分块坐标下降算法求解罚函数问题(10),不妨令:则可对各个变量做如下的迭代更新:步骤4.3):采用近邻前向后向分裂技术对其式(12)中的子问题进行优化求解,各变量迭代更新公式如下:步骤4.3.1)X的迭代更新公式求解如下:采用近邻前向后向分裂(proximalforwardbackwardsplitting,PFBS)技术对其进行优化求解,令:其中函数F2(X)的导数为:为简化公式,方便求解,引入一个新变量Y,令:其中,根据PFBS规则,引入参数δX用于对X进行迭代更新。则:对于矩阵和常数τ>0,有:其中Dτ(Y)是奇异值阈值算子,若矩阵Y的奇异值分解为:Y=UΣVT,则τ所对应的奇异值阈值算子为其中符号是Hadamard积,表示两矩阵对应元素相乘。因此,X的更新可按如下步骤迭代进行:在PFBS中,参数δ需满足通过计算,Lf_X=σmax(BBT)*σmax(AAT),故参数δX需满足在实验中,我们取步骤4.3.2)Z的迭代更新公式求解如下,令:其导数为:为简化公式,方便求解,引入一个新变量本文档来自技高网...

【技术保护点】
1.一种基于矩阵补全的抗托攻击推荐算法,其特征在于:包括如下步骤:1)建立用户‑项目评分矩阵R:在推荐系统中,m名用户构成用户集合U={u1,u2,…um},n件项目构成项目集合I={i1,i2,…in},则用户‑项目评分矩阵可表示为

【技术特征摘要】
1.一种基于矩阵补全的抗托攻击推荐算法,其特征在于:包括如下步骤:1)建立用户-项目评分矩阵R:在推荐系统中,m名用户构成用户集合U={u1,u2,…um},n件项目构成项目集合I={i1,i2,…in},则用户-项目评分矩阵可表示为其中,用户u对项目i的评分记作ri,j,“*”表示已知评分,“?”表示未知评分;2)建立基于矩阵补全的推荐模型:基于矩阵补全的推荐模型建模为:其中Ω集合表示评分矩阵中已收到评分的元素下标集合,X矩阵是低维未知矩阵,为矩阵核范数,σi为矩阵X的第i大奇异值,是投影算子,表示当元素下标(i,j)∈Ω时,得到对应位置采样元素:3)根据步骤2)建立基于属性优化矩阵补全的托攻击检测模型:基于属性优化矩阵补全的托攻击检测模型为:其中,Z表示结构化噪声矩阵,‖X‖*和‖Z‖2,1分别表示对X矩阵进行低秩性约束以及对Z矩阵进行行稀疏性约束,是为了平滑评分细微波动的正则化项,λ,β为可调参数,表示评分矩阵中已反馈的评分元素下标集合;4)求解基于属性优化矩阵补全的托攻击检测模型,得到结构化行噪声矩阵Z;5)根据步骤4)中计算得到的结构化噪声矩阵Z从用户-项目矩阵R中剔除托攻击评分;6)采用传统推荐系统对修正后用户-项目评分矩阵进行评分预测,求得完整的用户-项目评分矩阵,基于完整的用户-项目评...

【专利技术属性】
技术研发人员:张涵峰陈蕾周宇轩曹璐张冯崇
申请(专利权)人:南京邮电大学
类型:发明
国别省市:江苏,32

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

1