文章目录

  • 问题背景
    • 研究背景
    • 研究意义
    • 什么是推荐系统
    • 推荐系统的攻击目的和方式
    • 推荐系统中的数据投毒/欺诈攻击
    • 方法分类
  • 技术举例
    • 精准打击
    • 隐因子模型
      • 直观思想
    • 需要解决优化的问题
    • 针对隐因子模型的投毒攻击—无目标
    • 针对隐因子模型的投毒攻击—有目标
    • 针对隐因子模型的投毒攻击—混合攻击
  • 总结

问题背景

研究背景

我们身处在一个信息爆炸的时代,从看书看报,到看直播、刷微博、短视频,信息的体量越加庞大,信息呈现的形式越加丰富。我们享受信息便捷获取的满足感,但信息过载也会让我们感到焦虑。
作为解决信息过载问题的有效手段,推荐系统目前广泛应用于电商网站、电影音乐、社交网络等领域。

研究意义

对推荐系统中投毒攻击的研究的必要性:

  • 一方面,测试推荐算法的鲁棒性。
  • 另一方面,“以攻促防”,为推荐算法提供数据安全角度的建议

什么是推荐系统

根据已经存在的某种联系去预测未来有可能的联系

推荐系统的攻击目的和方式

目的:攻击者出于某些目的扶持或打压某些物品。

方式:数据投毒攻击(因为本门课程是数据投毒攻击课程,暂只介绍此种)
攻击者通过批量制造假用户资料,并装作是与被欺骗用户兴趣相投的人,通过大量助攻物品与陪跑物品的作用影响推荐结果。

推荐系统中的数据投毒/欺诈攻击

推荐系统的评分矩阵如下:

假设找到的目标是这几个:

攻击行为:

通过伪造相似用户,以达到攻击的目的。

具体思路如下图:

方法分类

推荐系统的具体算法可以分为协同过滤、基于内容、混合推荐等
每一类算法根据其特点还可以细分
例如, 协同过滤可以分为:

  • 基于近邻
  • 基于关联规则
  • 基于决策树
  • 基于朴素贝叶斯
  • 基于矩阵分解(隐因子模型)
  • ……

根据不同的推荐算法的特点,可以制定出相应的攻击模型

技术举例

精准打击

最基本的攻击方法是,利用手工规则按照不同的方法选择填充项目为伪造用户设计评分向量。
常见的3种攻击举例:

  1. 随机攻击( Random attack)
  2. 平均攻击( AVera个attack)
  3. 流行性攻击(Popular attack/bandwagon attack)

上述方法都基本不需要知道推荐系统的具体算法,几乎适用于全部推荐场景,通用方法的优点是易于实现,但在“精准打击”方面力度不够.
一个“精准打击”的例子:针对隐因子模型的数据投毒攻击

隐因子模型

有时候也翻译成“潜在因子模型”、“潜 在因素模型”
在推荐系统中被认为是最先进的方法之一
利用了一些著名的降维方法来填充缺失项

  • 降维方法在数据分析的其他领域中经常被用来得到原始数据的低维
    表示

直观思想

将评分矩阵R分解:

U是一个m * k的矩阵,V是一个n * K的矩阵
m是用户的数量,n是被打分的物品的数量
例如:


注意
在上述例子中,矩阵R是完全确定的,因此分解不是特别有帮助。
实际的推荐系统中,矩阵R不是完全已知,如果仍然可以估计隐因子U和V时,该方法会变得非常有用。

需要解决优化的问题


一旦估计出了矩阵U和V,整个评分矩阵可以用UV^T一次完成估计,进而就可以得到所有缺失的评分。如下图:

针对隐因子模型的投毒攻击—无目标

攻击者为了推荐目标项目,可能伪造评分矩阵


针对隐因子模型的投毒攻击—有目标

同样去伪造评分矩阵

针对隐因子模型的投毒攻击—混合攻击

总结

  • 推荐的过程和产生攻击数据的过程都需要反复训练
    如投影梯度上升
  • 完全知识攻击(白盒攻击)
    攻击前需要知道用户评分矩阵和推荐系统的基本算法原理
    对于某些评分公开的推荐系统,评分矩阵可能可以通过爬虫获得
  • 参考文献
    Bo Li, Yining Wang, Aarti Singh, and Yevgeniy Vorobeychik. 2016. Data poisoning attacks on factorization-based collaborative filtering. In Proceedings of the 30th International Conference on Neural Information Processing Systems (NIPS’16]. Curran Associates Inc., Red Hook, NY, USA, 1893- 1901.
    代码: https://github.com/fuying-wang/Data-poisoning-attacks-on-factorization-based-collaborative-filtering

数据投毒攻防对抗技术-2.推荐系统中的数据投毒相关推荐

  1. 推荐系统中的数据稀疏和冷启动问题

    原文链接:RS:推荐系统中的数据稀疏和冷启动问题 如何在没有大量用户数据的情况下设计个性化推荐系统并且让用户对推荐结果满意从而愿意使用推荐系统,就是冷启动问题. 冷启动问题主要分为三类:  (1) 用 ...

  2. 自然语言处理技术在推荐系统中的应用和发展(附交流视频和PPT下载链接)

    今天给大家带来山东大学任昭春老师在2020年5月10日举办的"推荐系统前沿进展"系列学术沙龙活动中所做的分享<自然语言处理技术在推荐系统中的应用与发展>,本次分享从自然 ...

  3. 【论文-笔记】雷达/电子干扰攻防对抗信号级仿真中提高仿真速度的思考和实践

    目录 摘要 1 信号级仿真的必要性 2 信号级仿真的速度问题及其解决出路 3 从仿真软件本身找速度问题的解决出路 3.1 提高模型抽象和实现的层次和水平 3.2 提高算法优化的层次和水平 3.3 提高 ...

  4. Embedding技术在推荐系统中的应用

    编辑:子墨为客 来源:<深度学习推荐系统>笔记,并进行补充和说明 1.Embedding 是什么 Embedding是用一个低维稠密的向量来"表示"一个对象(这里的对象 ...

  5. Embedding 技术在推荐系统中的应用实践

    作者:minwxwang,腾讯 PCG 应用研究员 当前主流的推荐系统中,embedding 无处不在,从一定意义上可以说,把 embedding 做好了,整个推荐系统的一个关键难题就攻克了.因此,本 ...

  6. 【数据使用】3问视觉项目中的数据整理,这点小事你是不是都掌握好了?

    大家好,欢迎来到我们的技术专栏<数据使用>,这一个专栏主要讲解在深度学习技术中数据使用相关的内容. 作者&编辑 | 言有三 今天要介绍的是一个小问题,那就是对于数据的整理.在大部分 ...

  7. Cloudera发布全球企业数据成熟度报告,混合云趋势中有效数据战略是关键

    编辑 | 宋慧 出品 | CSDN云计算 2022年3月初,企业数据云公司Cloudera近日发布与技术市场研究公司Vanson Bourne联合编写的全球企业数据战略研究报告,报告分别洞察了数据的使 ...

  8. 数据建模_浅谈数据仓库建设中的数据建模方法

    所谓水无定势,兵无常法.不同的行业,有不同行业的特点,因此,从业务角度看,其相应的数据模型是千差万别的.目前业界较为主流的是数据仓库厂商主要是 IBM 和 NCR,这两家公司的除了能够提供较为强大的数 ...

  9. ug如何导入excel数据点_怎样将dat文件中的数据导入ug中进行操作

    怎样将dat文件中的数据导入ug中进行操作 我的问题是,我用了两种方法作一件事情,第一种是直接将cpp 程序的内容粘贴到用一个回调函数中,这样算法生成的数据直接供u g函数使用.这样做的话,感觉很麻烦 ...

  10. python向mysql中添加数据标签_用python在MySQL中写入数据和添加数据

    在笔者之前的博文中,已介绍了用python连接与mysql数据库的知识.包括如何安装python连接mysql的pymysql包,如何通过cusor语句将python与mysql连接起来,以及如何用p ...

最新文章

  1. QIIME 2教程. 25可用和开发中插件AvailableFuturePlugins(2020.11)
  2. bicq php,BICQ v2.0.0
  3. 3、CSS 边框border
  4. 【动态规划】[Uva11270]Tiling Dominoes
  5. 2021年终总结模板.pptx(附下载链接)
  6. 震惊!华为对大数据又出新动作!
  7. 帆软计算字符串中指定字符个数
  8. 手拉手教你实现一门编程语言 Enkel, 系列 15
  9. Esp8266板制作WiFi干扰器
  10. 微信调用手机浏览器打开下载链接
  11. Autosar之EB的安装与激活
  12. word排版快捷指令_常用的Word快捷键大全
  13. 用友u8服务器修改ipv4,用友U8-OA11.1 用友U8加密狗更换服务器了-用友U8
  14. 如何在java中简单实现音乐播放
  15. 经济基础知识(中级)【2】
  16. delphi使用TDelphiZXingQRCode生成二维码条形码
  17. python发邮件,添加附件
  18. python sed awk_观点|awk sed ,一个老派系统管理员的基本素养
  19. 查看本机directx版本
  20. 【分享】git clone 提示 unable to access ‘http://gitlab.xxxx/gateway.git/‘: Could not resolve host xxxx

热门文章

  1. java实现逐级审批_【YOU学吧】NC审批流如何实现自下而上逐级审批
  2. Win10优化:系统文件Hiberfil.sys介绍
  3. 一个人赶着鸭子去每个村庄卖,每经过一个村子卖去所赶鸭子的一半又一只。这样他经过了七个村子后还剩两只鸭子,问他出发时共赶多少只鸭子?经过每个村子卖出多少只鸭子以及角谷定理的计算
  4. windows7计算机不显示u盘,win7插上u盘不显示盘符怎么办|win7 u盘识别不显示盘符的解决方法...
  5. 401832-00-4,Thalidomide-O-PEG4-Amine在EDC或HATU存在下与NHS酯基或羧酸反应的合成化合物
  6. kali工具之Beef
  7. xsocks 64位平台下编译问题小记
  8. 厘米换算英寸英尺(PTA题解)
  9. 8月国内搜索引擎市场份额:360搜索上涨至18.23%
  10. java,png,jpg,如何合并图片进行盖章,并且对印章的位置进行定位。