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

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

1 引入

一个矩阵可以分解为两个小矩阵的乘积,以音乐为例,利用潜在特征向量来给用户和音乐打上标签:
在这里插入图片描述
以电影为例,利用潜在特征向量来给用户和电影打上标签:
在这里插入图片描述
推荐系统的评分矩阵是稀疏的,这里的潜在特征不可解释,要模型自己去学,KKK代表潜在特征的维度,其大小决定决定了潜在特征的表达能力,KKK越大,信息表达就越强,即用户的兴趣和物品的分类划分得就越具体。
在这里插入图片描述

2 SVD在这里插入图片描述

评分矩阵Rm×nR_{m \times n}Rm×n可以分解为两个小矩阵Um×kU_{m \times k}Um×kVn×kV_{n\times k}Vn×k;此处k≪m&k≪nk \ll m \& k \ll nkm&kn
在这里插入图片描述
UUU矩阵的一行表示用户uuu的特征向量pup_upuVVV矩阵的一列表示物品tit_iti的特征向量qiq_iqi,利用这两个向量可以预测用户uuu对物品tit_iti的偏好:

Preference⁡(u,i)=rui^=puTqi=∑k=1Kpu,kqk,i(1)\operatorname{Preference}(u, i)=\hat{r_{u i}}=p_{u}^{T} q_{i}=\sum_{k=1}^{K} p_{u, k} q_{k, i} \tag1Preference(u,i)=rui^=puTqi=k=1Kpu,kqk,i(1)
其优化目标函数为:
arg min⁡θL(θ)=12arg⁡min⁡⏟pu,qi∑u,iIui[(rui−puTqi)2]+λ(∥pu∥F2+∥qi∥F2)(2)\argmin_{\theta} L(\theta)=\frac{1}{2}\underbrace{\arg \min }_{p_{u}, q_{i}} \sum_{u, i} I_{ui}\left[\left(r_{u i}-p_{u}^T q_{i}\right)^{2}\right] +\lambda(\|p_u\|_{F}^{2}+\|q_i\|_{F}^{2}) \tag2θargminL(θ)=21pu,qiargminu,iIui[(ruipuTqi)2]+λ(puF2+qiF2)(2)
符号说明:
为了后面求梯度的时候好看一点,在函数前面加上了12\frac{1}{2}21
eui=rui−puTqie_{ui} = r_{u i}-p_{u}^T q_{i}eui=ruipuTqi
θ\thetaθ:矩阵分解的参数,即pu,qip_u, q_ipu,qi
pup_upu:用户uuu对应的向量,表示用户对电影某些题材的偏好程度,以潜在因子的方式表示;
qiq_iqi:项目iii对电影某些题材的符合程度,以潜在因子的方式表示;
λ\lambdaλ:正则项的系数。
对公式(2)第一项求偏导,得到如下公式:
∂L1∂pu,k=12∂∂pu,k(eui2)=eui∂∂pu,keui=eui∂∂pu,k(rui−∑k=1Kpu,kqk,i)=−euiqk,i∂L1∂qk,i=12∂∂pk,i(eui2)=eui∂∂pk,ieui=eui∂∂pk,i(rui−∑k−1Kpu,kqk,i)=−euipu,k\begin{aligned} \frac{\partial L_1}{\partial p_{u, k}} =\frac{1}{2}\frac{\partial}{\partial p_{u, k}}\left(e_{u i}^{2}\right)= e_{u i} \frac{\partial}{\partial p_{u, k}} e_{u i}=e_{u i} \frac{\partial}{\partial p_{u, k}}\left(r_{u i}-\sum_{k=1}^{K} p_{u, k} q_{k, i}\right)=-e_{u i} q_{k, i} \\ \frac{\partial L_1}{\partial q_{k, i}} =\frac{1}{2}\frac{\partial}{\partial p_{k, i}}\left(e_{u i}^{2}\right)= e_{u i} \frac{\partial}{\partial p_{k, i}} e_{u i}=e_{u i} \frac{\partial}{\partial p_{k, i}}\left(r_{u i}-\sum_{k-1}^{K} p_{u, k} q_{k, i}\right)=-e_{u i} p_{u, k} \end{aligned} pu,kL1=21pu,k(eui2)=euipu,keui=euipu,k(ruik=1Kpu,kqk,i)=euiqk,iqk,iL1=21pk,i(eui2)=euipk,ieui=euipk,i(ruik1Kpu,kqk,i)=euipu,k
对公式(2)第二项求偏导,得到如下公式:
∂L2∂pu,k=λpu,k∂L2∂qk,i=λqk,i\begin{aligned} \frac{\partial L_2}{\partial p_{u, k}} = \lambda p_{u, k} \\ \frac{\partial L_2}{\partial q_{k, i}} = \lambda q_{k, i} \end{aligned} pu,kL2=λpu,kqk,iL2=λqk,i
整理后可得到迭代公式为:
pu,k=pu,k+η(euiqk,i−λpu,k)qk,i=qk,i+η(euipu,k−λqi,k)(3)\begin{aligned} p_{u, k} &=p_{u, k}+\eta\left(e_{u i} q_{k, i}-\lambda p_{u, k}\right) \\ q_{k, i} &=q_{k, i}+\eta\left(e_{u i} p_{u, k}-\lambda q_{i, k}\right) \end{aligned} \tag3 pu,kqk,i=pu,k+η(euiqk,iλpu,k)=qk,i+η(euipu,kλqi,k)(3)
符号说明:
η\etaη: 更新步长,一般取0.005。

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

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

相关文章

python dag调度系统开发_基于机器学习的DAG调度平台

什么是DAG?有向无环图树形结构:除根节点,每个节点有且仅有一个上级节点,下级节点不限。根节点没有上级节点。图结构:每个节点上级、下级节点数不限。DAG调度平台的定义及场景任务调度是在各行各业是个基础问题,当任务…

轻量级人脸识别算法

1 概述 轻量级人脸识别算法

python元组与列表的区别、简答题_细解python面试题(一)元组和列表的区别

可能略去了一些内容。1、列表VS元组在python编程中,我们经常搞不懂列表和元组的区别,或者哪些函数可以用于列表,哪些用于元组,那么跟随本文我们来深入的探索。2、元组元组是值的集合,我们用圆括号来申明它。元组中的类…

Yolo家族算法分析

1 历史简介 2 YOLO算法思想 YOLO算法的基本思想: (1)将图片划分为SSS \times SSS个网格; (2)计算每个边界框和置信度; (3)计算每个网格属于某个类别的概率; &…

u8 附件上传后存放路径_织梦DedeCms附件按月份保存的修改方法

正常情况下,dedecms织梦系统的图片附件是按日保存的,一天一个文件夹, 时间长了, 这样在allimg中就会生成很多文件夹, 不方便管理.虽然,dedecms织梦的后台设置有”附件保存形式”的先项, 但功能太弱,如果是在后台上传和…

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

推荐系统–矩阵分解(1) 推荐系统–矩阵分解(2) 推荐系统–矩阵分解(3) 推荐系统–矩阵分解(4) 推荐系统–矩阵分解(5) 推荐系统–矩阵分解(6) 3 BiasSVD:考虑偏置 有一些用户会给出偏高的评分,有一些物品也会收到偏高的评分,比如电影观众为…

tga文件怎么打开_教你win10系统怎么打开stp文件

stp文件怎么打开呢?近来有很多小伙伴反映有朋友发送了一个stp文件给它,搞了半天也没能打开。其实打开stp文件很简单,不过前提是需要有绘图软件。我给大家整理了打开stp文件的图文教程,赶紧来瞧瞧吧有些朋友在使用win10系统的过程中…

python爬取电子病历_一种基于中文电子病历的实体识别方法技术

本发明专利技术提供了一种基于中文电子病历的实体识别方法,涉及医疗实体识别技术领域。针对目前国内缺少公开中文电子病历标注语料库的缺陷,本发明专利技术通过构建整理医学词典,提出了一种半自动语料库标注方法,节省了人工标注的…

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

推荐系统–矩阵分解(1) 推荐系统–矩阵分解(2) 推荐系统–矩阵分解(3) 推荐系统–矩阵分解(4) 推荐系统–矩阵分解(5) 推荐系统–矩阵分解(6) 7 基于情感分析的矩阵分解 7.1 引入 【摘要】推荐系统旨在基于丰富的信息预测用户的偏好,例如用户评分、人口统计和评论…

yarn 卸载包_0609-6.1.0-如何卸载CDH6.1

1.文档编写目的Fayson在两年前的文章中介绍过CDH的卸载,参考《如何卸载CDH(附一键卸载github源码)》。除非你是使用Cloudera官方提供的一键安装脚本安装的CDH,否则并没有现成的一键卸载的脚本供使用。为了更好的理解CDH的卸载,这里再次简单介…

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

推荐系统–矩阵分解(1) 推荐系统–矩阵分解(2) 推荐系统–矩阵分解(3) 推荐系统–矩阵分解(4) 推荐系统–矩阵分解(5) 推荐系统–矩阵分解(6) 5 TimeSVD:增加时间因素 物品的受欢迎度随着时间而改变,例如,电影可以因外部事件(如新电影中演员…

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