推荐系统--矩阵分解(3)

推荐系统–矩阵分解(1)
推荐系统–矩阵分解(2)
推荐系统–矩阵分解(3)
推荐系统–矩阵分解(4)
推荐系统–矩阵分解(5)
推荐系统–矩阵分解(6)

5 TimeSVD++:增加时间因素

  • 物品的受欢迎度随着时间而改变,例如,电影可以因外部事件(如新电影中演员的出现)或冷或热。体现在模型中,物品偏差bib_ibi不是常数,而是随时间变化的函数。
  • 用户会随着时间改变他们的基线评分。例如,一个倾向于评价电影评分“4星”的用户,因为各种原因现在可能会对这样的电影评分“3星”。

对时间敏感的基线预测为:
bui(t)=μ+bu(t)+bi(t)b_{u i}(t)=\mu+b_{u}(t)+b_{i}(t)bui(t)=μ+bu(t)+bi(t)

分时间段学习参数,某个时间段的参数使用该时间段数据进行学习,也即是加入时间权重:
r^ui=μ+bu(t)+bi(t)+qiTpu(t)\hat{r}_{u i}=\mu+b_{u}(t)+b_{i}(t)+q_{i}^{T} p_{u}(t)r^ui=μ+bu(t)+bi(t)+qiTpu(t)

符号说明:
𝑏𝑢(𝑡)𝑏_𝑢(𝑡)bu(t)𝑏𝑖(𝑡)𝑏_𝑖(𝑡)bi(t) :分别是用户和物品偏置随着时间变化的函数;
𝑝𝑢(𝑡)𝑝_𝑢(𝑡)pu(t) 是用户隐因子随时间变化的函数。
对于这些随时间变化的函数,一种处理是将时间离散化,可以将整个时间窗按照一定粒度进行划分,粒度越小代表随时间变化较大,粒度越大则代表变化较慢。

注意:对用户和物品而言,时间效应(跨越时间的延长和缩短的效应)不一样。对物品而言,我们不希望电影的受欢迎度每天都在波动,而是在更长的时间内发生变化。对用户而言,我们观察到用户的影响每天都在变化,反映了客户行为的不一致性。在建模用户偏差时,这需要更精确的时间解析,而较低的分辨率足以捕获与项目相关的时间效应。
对于物品偏差,我们不需要太精细的分辨率,比如在TimeSVD++论文中每个bin为连续十周的数据,物品偏差就被分割为一个静态部分和一个时间变化的部分:
bi(t)=bi+bi,Bin⁡(t)b_{i}(t)=b_{i}+b_{i, \operatorname{Bin}(t)}bi(t)=bi+bi,Bin(t)
相当于需要额外对每个时间片求一个参数bi,Bin⁡(t)b_{i, \operatorname{Bin}(t)}bi,Bin(t),以建模物品流行度随时间变化。

对于用户偏差来说,通过几个模型来进行模拟。

  • 模型1:定义关于时间的连续函数,一个线性函数刻画了用户评分偏差的漂移,再利用一个简单的线性模型来近似一个漂移行为。
    dev⁡u(t)=sign⁡(t−tu)⋅∣t−tu∣β\operatorname{dev}_{u}(t)=\operatorname{sign}\left(t-t_{u}\right) \cdot\left|t-t_{u}\right|^{\beta} devu(t)=sign(ttu)ttuβ
    参数说明:
    (1)tut_utu:用户uuu评分日期的均值;
    (2)∣t−tu∣\left|t-t_{u}\right|ttu表示ttttut_utu之间的时间距离(例如,天数);
    (3)通过实验获得β=0.4\beta= 0.4β=0.4
    bu(1)(t)=bu+αu⋅dev⁡u(t)b_{u}^{(1)}(t)=b_{u}+\alpha_{u} \cdot \operatorname{dev}_{u}(t) bu(1)(t)=bu+αudevu(t)
    参数说明:
    (1)每个用户需要学习两个参数:bub_ubuαu\alpha_uαu

  • 模型2:时间函数用高斯核来衡量时间的相似性。首先获取用户所有交互时间集合,𝑘𝑢𝑘_𝑢ku 个时间点,即 𝑡1𝑢,…,𝑡𝑘𝑢𝑢𝑡^𝑢_1,\dots,𝑡^𝑢_{𝑘_𝑢}t1u,,tkuu
    bu(2)(t)=bu+∑l=1kue−γ∣t−tlu∣btlu∑l=1kue−γ∣t−tlu∣b_{u}^{(2)}(t)=b_{u}+\frac{\sum_{l=1}^{k_{u}} e^{-\gamma\left|t-t_{l}^{u}\right|} b_{t_{l}}^{u}}{\sum_{l=1}^{k_{u}} e^{-\gamma\left|t-t_{l}^{u}\right|}} bu(2)(t)=bu+l=1kueγttlul=1kueγttlubtlu
    参数说明:
    (1)用户uuunun_unu个评分,ku=nu0.25k_u = n_u^{0.25}ku=nu0.25;
    (2)kuk_uku个时间点{t1u,…,tkuu}\{t^u_1, \dots, t^u_{k_u}\}{t1u,,tkuu}均匀分布;
    (3)btlub_{t_{l}}^{u}btluttlut^u_{t_l}ttlu时间点用户uuu的平均评分;
    (4)e−γ∣t−tlu∣e^{-\gamma\left|t-t_{l}^{u}\right|}eγttlu:时间点的偏差;
    (5)通过实验获得γ=0.3\gamma = 0.3γ=0.3

  • 模型3:

bu(3)(t)=bu+αu⋅dev⁡u(t)+bu,tb_{u}^{(3)}(t)=b_{u}+\alpha_{u} \cdot \operatorname{dev}_{u}(t)+b_{u, t} bu(3)(t)=bu+αudevu(t)+bu,t

  • 模型4:
    bu(4)(t)=bu+∑l=1kue−γ∣t−tlu∣btlu∑l=1kue−γ∣t−tlu∣+bu,tb_{u}^{(4)}(t)=b_{u}+\frac{\sum_{l=1}^{k_{u}} e^{-\gamma\left|t-t_{l}^{u}\right|} b_{t_{l}}^{u}}{\sum_{l=1}^{k_{u}} e^{-\gamma\left|t-t_{l}^{u}\right|}}+b_{u, t} bu(4)(t)=bu+l=1kueγttlul=1kueγttlubtlu+bu,t
    偏差可表示为:
    bui(t)=μ+bu+αu⋅dev⁡u(t)+bu,t+bi+bi,Bin⁡(t)b_{u i}(t)=\mu+b_{u}+\alpha_{u} \cdot \operatorname{dev}_{u}(t)+b_{u, t}+b_{i}+b_{i, \operatorname{Bin}(t)} bui(t)=μ+bu+αudevu(t)+bu,t+bi+bi,Bin(t)
    优化目标函数为:
    min⁡∑(u,i,t)∈K(rui(t)−μ−bu−αudev⁡u(t)−bu,t−bi−bi,Bin⁡(t))2+λ(bu2+αu2+bu,t2+bi2+bi,Bin⁡(t)2)\begin{aligned} \min \sum_{(u, i, t) \in \mathcal{K}}(&\left.r_{u i}(t)-\mu-b_{u}-\alpha_{u} \operatorname{dev}_{u}(t)-b_{u, t}-b_{i}-b_{i, \operatorname{Bin}(t)}\right)^{2} \\ &+\lambda\left(b_{u}^{2}+\alpha_{u}^{2}+b_{u, t}^{2}+b_{i}^{2}+b_{i, \operatorname{Bin}(t)}^{2}\right) \end{aligned} min(u,i,t)K(rui(t)μbuαudevu(t)bu,tbibi,Bin(t))2+λ(bu2+αu2+bu,t2+bi2+bi,Bin(t)2)

6 可解释性推荐

  • 矩阵分解:RRR由两个子矩阵UUUVVV来表达,即R≈UVR \approx UVRUV. 其中向量pup_upu表示用户uuu的特征向量,向量qiq_iqi表示商品tit_iti的特征向量;
  • 可解释性矩阵分解:当用户uuu偏好于商品tit_iti时,两者具有强相关性,其用户特征向量pup_upu与商品特征向量qiq_iqi在潜在空间上应互相接近,即∥pu−qi∥→0\|p_u -q_i \| \rightarrow 0puqi0

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/507542.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

python安装不了是什么问题_安装不上python的模块怎么办?别怕,我这有妙招!

之前我们介绍过如何在Python中安装第三方的包:Python以第三方包丰富而著称,你想要的功能几乎都可以通过pip命令安装,避免什么都要自己重新造轮子尬尴。但是pip安装有两个常见问题,第一是下载慢,第二是无法安装。慢的原…

推荐系统--矩阵分解(5)

推荐系统–矩阵分解(1) 推荐系统–矩阵分解(2) 推荐系统–矩阵分解(3) 推荐系统–矩阵分解(4) 推荐系统–矩阵分解(5) 推荐系统–矩阵分解(6) 8 基于隐式反馈的矩阵分解 8.1 引入 相对于显示反馈的评分数据,隐式反馈有以下几方面的特征: 只有正反馈&…

xss跨站脚本攻击_网络安全xss跨站脚本攻击原理

以下在未经授权的网站操作均为违法行为XSS跨站脚本攻击xss的危害网络钓鱼,盗取各类账号密码我们先来看一下下面的案例:先来记住一下下面中的表我们来做一个转发上面页面显示已经登录,但是突然页面中提醒再此登录此时,我们并没有多…

推荐系统--联邦学习下的矩阵分解(6)

推荐系统–矩阵分解(1) 推荐系统–矩阵分解(2) 推荐系统–矩阵分解(3) 推荐系统–矩阵分解(4) 推荐系统–矩阵分解(5) 推荐系统–矩阵分解(6) 9 应用于联邦学习的矩阵分解 这个部分主要参考以下两篇论文: 2008-Collaborative Filtering for Implicit Feedback Dat…

python类的特殊方法汇总_Python笔记001-类的特殊方法

Python笔记001-类的特殊方法以下是我学习《流畅的Python》后的个人笔记,现在拿出来和大家共享,希望能帮到各位Python学习者。首次发表于: 微信公众号:科技老丁哥,ID: TechDing,敬请关注。本篇主要知识点:类…

什么是联邦学习

联邦学习 1.1 联邦学习的概念 历史:联邦学习最早在 2016 年由谷歌提出,原本用于解决安卓手机终端用户在本地更新模型的问题; 本质:联邦学习本质上是一种分布式机器学习技术,或机器学习框架。 目标:联邦学…

循环自增_大学C语言—循环结构及应用

基础知识常见循环结构及形式for循环for(设置初始值;循环条件判断;设置循环增减量){语句1;语句2;…… 语句n;}while循环while(条件判断){语句1;语句2;……语句n;}do-while循环d…

论文写作的辅助工具

1 英文翻译 translate.google.cn 2 英文句子 我们以前的做法是要求每个同学收集一些经典的句子,现在有一个网站已经把这个工作做好了,这个可以解决60%句子问题,接下来就是写作的逻辑 https://www.phrasebank.manchester.ac.uk/ 3 画图工具…

dac0832控制电机驱动流程图_某驱动电机控制器拆解实拍照片

小编作为一个电控专业100%小白,机缘巧合获得某纯电动汽车驱动电机控制器一台,拆解之,权为业内人士参考之用,文中显得外行、用词不对及谬误之处还请各位大神不吝赐教!外观标牌背面拆解固定托架侧面拆解固定托架拆解固定…

推荐系统--安全联邦矩阵分解(7)

相关论文: Secure Federated Matrix Factorization 论文源代码见: https://github.com/Di-Chai/FedMF 1 摘要 为了保护用户隐私和满足法律法规,联邦(机器)学习近年来获得了广泛的关注。 联邦学习的关键原则是在不需要知道每个用…

联邦学习--数据攻击(1)

参考论文:Deep Leakage from Gradients(NeurIPS 2019) 源代码: https://github.com/mit-han-lab/dlg 核心思想:作者通过实验得到,从梯度可以反推用户的个人信息。并验证了其在计算机视觉和自然语言处理任务…

python制作图_Python做图的方法

最近一直没有更新文章,在学习Machine learning。然后业余在kaggle那里瞎转,对Python常用的作图摸了个遍,本文将对这些作图方法做个简单介绍一般我们作图主要是为了看数据分布、数据趋势、以及比较大小。常用的图包括:line(折线图)…

联邦学习--数据攻击(2)

参考论文:See through Gradients: Image Batch Recovery via GradInversion(CVPR 2021 ) 源代码: 核心思想:解决了Deep Leakage from Gradients(NeurIPS 2019)中batch大于1效果无效的情况。 缺点…

python简单网络爬虫_【Python】 简单网络爬虫实现

介绍网络爬虫(英语:网络爬虫),也称为网络蜘蛛(蜘蛛)是一个Web机器人用于自动浏览万维网。其目的通常是为了编译web索引。\u2014\u2014维基百科web爬虫程序可以节省他们访问的页面,以便搜索引擎可以为用户搜索生成索引。一般来说,有两个步骤:1。获取网页内容2。准备获得web内容和…

对抗攻击(1)

本文是根据李宏毅老师在B站上的视频整理而来,视频地址为: https://www.bilibili.com/video/BV1n3411y7xD?p65 1 无目标和有目标攻击的区别 无目标攻击:攻击后的标签不确定,只要是和原始标签差别越大越好。 有目标攻击&#xff…

python爬虫隐藏ip_Python3网络爬虫之使用User Agent和代理IP隐藏身份

本文介绍了Python3网络爬虫之使用User Agent和代理IP隐藏身份,分享给大家,具体如下:运行平台:WindowsPython版本:Python3.xIDE:Sublime text3一、为何要设置User Agent有一些网站不喜欢被爬虫程序访问&…

对抗攻击(2)

本文将介绍一些经典的对抗攻击算法,未完待续…

乌班图快速创建ftp

需求:乌班图22.04安装配置ftp,然后配置一个用户,用户名deviceftp密码aaaa,并且设置端口为60021,并且限制在/app/deviceftp目录下,不允许匿名登录 在Ubuntu 22.04上安装和配置FTP服务器的步骤如下&#xff…

自注意力机制Self-attention(1)

目录: 自注意力机制Self-attention(1) 自注意力机制Self-attention(2) 本文是对李宏毅老师的课程进行了整理。 视频地址为: https://www.bilibili.com/video/BV1Wv411h7kN?p23 1 问题引入 问&#xff1a…

id门禁卡复制到手机_手机NFC有哪些功能?怎么设置手机门禁卡?别浪费了手机的NFC功能...

NFC功能早前都运用一些手机旗舰机中,随着手机技术的发展,现在有许多的手机都有NFC的功能,那手机中的NFC只是个摆设吗?NFC不仅仅有不依靠数据网络、安全稳定的特点,其实还有许多你不知道的功能!比如可以用来…