CoDetector的学习-----WZW托攻击学习日记(三)

 

        这一次学习的是一个名为CoDetector的监督学习的托攻击检测算法。

       该算法是在word embedding models的启迪下发现的,用user-user共生矩阵和user-item共生矩阵,学习到包括word embedding信息的用户隐性条件作为特征去检测攻击者。

       这篇博文主要是简单介绍一下这个检测算法,方便一些不想看英文的朋友,如果希望详细看原文的可以下载附件观看。

 

 

一.准备工作

       CoDector是同时利用了MF和Word Embeding

       1. 矩阵分解(Matrix factorization):

这是协同过滤的一种方法,着重于隐形特征。就是将用户和项目融合进一个低维的矩阵,损失函数为:

        

图一

Yui代表着用户u对项目i的评分,  控制着隐形特征的影响的大小。

       2. 词向量(Word Embedding)

词向量在自然语言处理里面是一个特别成功的模型,在相关方法中,词向量会被嵌入进一个连续的矩阵空间。Word Embedding的学习也可以通过下载附件来学习。我也会上传一个资料。

二.CoDector的介绍

         CoDector利用用户嵌入(User Embedding)来发现异常。

         在word2vec中,给定一个中心词,在这个中心词附近的序列被定义为这个中心词的上下文,同样我们可以在推荐系统的用户-项目二部图里面也这样定义,如用户u1和用户u2都消费了项目i1和项目i2,因此,u1和u2是互相的上下文。

然后用户-用户的SPPMI矩阵(这个可以通过看论文找到相应解释)就代表着用户1和用户2同时消费的item的数量。在这之后,我们能够通过构建矩阵M获取UserEmbedding的信息。一旦攻击者想要攻击项目时,SPPMI矩阵M就会将隐形交互显示出来。

三.训练过程

         为了保证评分和结构信息注入用户隐形特征,CoDector联合分解了了评分矩阵R和SPPMI矩阵M。整个过程在算法1里体现出来,损失函数为

图二

Pu是共享的用户隐性特征,muj代表着用户u和用户j的正点信息偏移(这里其实翻译不太来,英文为muj denotes the shifted positive point-wise mutualinformation between user u and user j),gi是用户u的上下文,wu和cj是用户和上下文的偏差。模型参数由随机梯度下降更新。更新规则为

图三

算法一:

图四

四.实验结果

       数据集包括Movie-lens和Amazon,检测指标为精准率(P),召回率(R)和F1值。

       在Movie-lens的检测结果:

图五

 

  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 6
    评论
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值