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

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

8 基于隐式反馈的矩阵分解

8.1 引入

相对于显示反馈的评分数据,隐式反馈有以下几方面的特征:

  1. 只有正反馈,没有负反馈,只能得到用户喜欢那些物品,对于用户不喜欢的物品没有数据支持;
  2. 隐式反馈噪声比较多,不像用户评分行为是用户强烈的主动行为,用户浏览行为、点击行为都相对比较被动。例1,某个页面是因为用户默认打开页面导致打分较高;例2,买东西可能只是用来送礼;
  3. 显式反馈的评分数据代表用户真实的喜好程度,隐式反馈代表置信度;
  4. 需要有合适的方法来对隐式反馈进行评价,而不能直接用RMSE。

8.2 模型

模型引入喜好变量和置信度变量。
fui={1rui>00rui=0(1)f_{u i}=\left\{\begin{array}{cc} 1 & r_{u i}>0 \\ 0 & r_{u i}=0 \end{array}\right. \tag1 fui={10rui>0rui=0(1)
符号说明:
喜好变量fuif_{u i}fui:一个二元变量,表示用户是否具有该偏好。
置信度变量的计算有两种方式:
cui=1+αrui(2)c_{u i}=1+\alpha r_{u i} \tag2 cui=1+αrui(2)

cui=1+αlog⁡(1+rui/ϵ)(3)c_{u i}=1+\alpha \log \left(1+r_{u i} / \epsilon\right) \tag3 cui=1+αlog(1+rui/ϵ)(3)
符号说明:
置信度变量 cuic_{u i}cui:表示用户对物品喜好的置信程度。

最终得到如下优化目标函数:
L(p,q)=min⁡p⋆,q⋆∑u,icui(fui−puTqi)2+λ(∑u∥pu∥2+∑i∥qi∥2)(4)L(p, q) = \min _{p_{\star}, q_{\star}} \sum_{u, i} c_{u i}\left(f_{u i}-p_{u}^{T} q_{i}\right)^{2}+\lambda\left(\sum_{u}\left\|p_{u}\right\|^{2}+\sum_{i}\left\|q_{i}\right\|^{2}\right) \tag4 L(p,q)=p,qminu,icui(fuipuTqi)2+λ(upu2+iqi2)(4)

8.3 求解pup_upuqiq_iqi

首先计算梯度:
12∂L(p,q)∂pu=∑icui(puTqi−fui)qi+λpu=∑icui(qiTpu−fui)qi+λpu=QTCuQpu−QTCuf(u)+λpu\begin{aligned} \frac{1}{2} \frac{\partial L(p, q)}{\partial p_{u}} &=\sum_{i} c_{u i}\left(p_{u}^{T} q_{i}-f_{u i}\right) q_{i}+\lambda p_{u} \\ &=\sum_{i} c_{u i}\left(q_{i}^{T} p_{u}-f_{u i}\right) q_{i}+\lambda p_{u} \\ &=Q^{T} C^{u} Q p_{u}-Q^{T} C^{u} f(u)+\lambda p_{u} \end{aligned} 21puL(p,q)=icui(puTqifui)qi+λpu=icui(qiTpufui)qi+λpu=QTCuQpuQTCuf(u)+λpu
有两种方法可以求解pup_upuqiq_iqi

  • 第一种方法为直接法,令偏导为0,则有:
    pu=(QTCuQ+λI)−1QTCuf(u)p_{u}=\left(Q^{T} C^{u} Q+\lambda I\right)^{-1} Q^{T} C^{u} f(u) pu=(QTCuQ+λI)1QTCuf(u)
    矩阵计算的维度如下:
    (k×n&n×n&n×k)&(k×n)&(n×n)&(n×1)=k×1(k \times n \& n \times n \& n \times k) \& (k \times n) \& (n \times n) \& (n \times 1)= k \times 1(k×n&n×n&n×k)&(k×n)&(n×n)&(n×1)=k×1
    同理可得:
    qi=(PTCiP+λI)−1PTCif(i)q_{i}=\left(P^{T} C^{i} P+\lambda I\right)^{-1} P^{T} C^{i} f(i) qi=(PTCiP+λI)1PTCif(i)

符号说明:
f(u)∈Rnf(u) \in \mathbb{R}^{n}f(u)Rn:包含用户uuu的所有偏好向量;
f(i)∈Rmf(i) \in \mathbb{R}^{m}f(i)Rm:包含用户对物品tit_iti的偏好向量;
P∈Rm×kP \in \mathbb{R}^{m \times k}PRm×k:潜在用户特征矩阵;
Q∈Rn×kQ \in \mathbb{R}^{n \times k}QRn×k:潜在物品特征矩阵;
Cu∈Rn×nC^{u} \in \mathbb{R}^{n \times n}CuRn×n:是Ciiu=cuiC_{i i}^{u}=c_{u i}Ciiu=cui,其余地方为0的对角矩阵,如下所示:

C11uC_{11}^{u}C11u
C22uC_{22}^{u}C22u
C33uC_{33}^{u}C33u
C44uC_{44}^{u}C44u
C55uC_{55}^{u}C55u

Ci∈Rm×mC^{i} \in \mathbb{R}^{m \times m}CiRm×m:是Cuui=cuiC_{uu}^{i}=c_{u i}Cuui=cui的对角矩阵,其余地方为0的对角矩阵,如下所示:

C11iC_{11}^{i}C11i
C22iC_{22}^{i}C22i
C33iC_{33}^{i}C33i
C44iC_{44}^{i}C44i
C55iC_{55}^{i}C55i
  • 第二种方法为迭代法:
    梯度计算如下:
    12∂L(p,q)∂pu=∑i[cui(puTqi−fui)]qi+λpu=∑i[cui(qiTpu−fui)]qi+λpu12∂L(p,q)∂qi=∑u[cui(puTqi−fui)]pu+λqi\begin{aligned} \frac{1}{2} \frac{\partial L(p, q)}{\partial p_{u}} &=\sum_{i} \left[c_{u i}\left(p_{u}^{T} q_{i}-f_{u i}\right)\right] q_{i}+\lambda p_{u} \\ &=\sum_{i} \left[c_{u i}\left(q_{i}^{T} p_{u}-f_{u i}\right)\right] q_{i}+\lambda p_{u} \\ \frac{1}{2}\frac{\partial L(p, q)}{\partial {q}_{i}}&= \sum_{u}\left[c_{u i}\left({p}_{u}^{T}{q}_{i}- f_{u i}\right)\right] {p}_{u}+ \lambda {q}_{i} \end{aligned} 21puL(p,q)21qiL(p,q)=i[cui(puTqifui)]qi+λpu=i[cui(qiTpufui)]qi+λpu=u[cui(puTqifui)]pu+λqi
    迭代公式为:
    pu=pu−γ∂L(p,q)∂puqi=qi−γ∂L(p,q)∂qi\begin{aligned} {p}_{u}&={p}_{u}-\gamma \frac{\partial L(p, q)}{\partial {p}_{u}}\\ {q}_{i}&={q}_{i}-\gamma \frac{\partial L(p, q)}{\partial {q}_{i}} \end{aligned} puqi=puγpuL(p,q)=qiγqiL(p,q)

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

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

相关文章

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不仅仅有不依靠数据网络、安全稳定的特点,其实还有许多你不知道的功能!比如可以用来…

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

目录: 自注意力机制Self-attention(1) 自注意力机制Self-attention(2) 1 内容回顾 以b2b^2b2的计算过程为例来说明: query: q1Wqa1q^1 W^q a^1q1Wqa1, q2Wqa2q^2 W^q a^2q2Wqa2, q3Wqa3q^3 …

python 打印xml文档树_Python构建XML树结构的方法示例

本文实例讲述了Python构建XML树结构的方法。分享给大家供大家参考,具体如下:1.构建XML元素#encodingutf-8from xml.etree import ElementTree as ETimport sysrootET.Element(color) #用Element类构建标签root.text(black) #设置元素内容treeET.ElementT…