矩阵分解模型

矩阵分解模型矩阵分解模型做如下假设:1.每个用户可描述为n个属性或特征。比如,第一个特征可以对应某个用户对动作片的喜好程度。2.每个物品可描述为n个属性或特征。比如,接上一点,第一个特征可以用对应某部电影与动作片的接近程度。3.将用户和物品对应的属性相乘后求和,该值可能很接近用户会对该物品的评级。 1.显式矩阵分解当要处理的数据是由用户所提供的自身的偏好数据时,这些数据被称作显式偏好数…

大家好,又见面了,我是你们的朋友全栈君。

矩阵分解模型做如下假设:

1.每个用户可描述为n个属性或特征。比如,第一个特征可以对应某个用户对动作片的喜好程度。

2.每个物品可描述为n个属性或特征。比如,接上一点,第一个特征可以用对应某部电影与动作片的接近程度。

3.将用户和物品对应的属性相乘后求和,该值可能很接近用户会对该物品的评级。

 

1.显式矩阵分解

当要处理的数据是由用户所提供的自身的偏好数据时,这些数据被称作显式偏好数据。这类数据包括如物品评级、赞、喜欢等用户对物品的评价。

这些数据大都可以转换用户为行、物品为列的二维矩阵。矩阵的每一个数据表示为某个用户对特定物品的偏好。大部分情况下用户只会和少数物品接触,所以该矩阵只有少部分数据非零,即该矩阵很稀疏

矩阵分解模型

对这个矩阵分解,找到他的两个低阶矩阵。假设我们的用户和物品数目分别是U和I,那对应的“用户-物品”矩阵的维度为U*I。那对应的两个低阶矩阵分别是用户的U*k矩阵,和物品的I*k矩阵。这两个矩阵也被称为因子矩阵。因子矩阵通常是稠密的。

 

由于对“用户-物品”矩阵直接建模,用这些模型进行预测也相对直接:要计算给定用户对某个物品的预计评级,就从用户因子矩阵和物品因子矩阵分别选取相应的行(用户因子向量)与列(物品因子向量),然后计算两者的点积即可

 

而对于物品之间相似度的计算,可以直接用物品矩阵中的因子向量做相似度计算。

 

因子分解类模型的的利弊:

利:求解容易,表现出色

弊:不好解释,吃资源(因子向量多,训练阶段计算量大)

 

2.隐式矩阵分解

隐式矩阵就是针对隐式反馈数据。在这类数据中,用户对物品的偏好不会直接给出,而是隐含在用户与物品的交互之中。二元数据(比如用户是否观看了某部电影或是否购买了某个商品)和计数数据(比如用户观看某部电影的次数)便是这类数据。

 

处理隐式数据的方法相当多。SparkMllib实现了一个特定的方法。它将输入的评级数据视为两个矩阵:一个二元偏好矩阵P和一个信心权重矩阵C。

矩阵分解模型

隐式模型仍然会创建一个用户因子矩阵和一个物品因子矩阵。但是,模型所求解的是偏好矩阵而非评级矩阵的近似。

 

从根本上说,矩阵分解从评级情况,将用户和物品表示为因子向量。若用户和物品因子之间高度重合,则可表示这是一个好推荐。两种主要的数据类型为显示反馈和隐式反馈,其中前者比如评级(用稀疏矩阵表示),后者比如购物历史、搜索记录、浏览历史和点击数据(用密集矩阵表示)。

 

 

 

 

 

 

 

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/146449.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • PHPstrom中关闭提示信息

    PHPstrom中关闭提示信息

    2021年11月9日
    50
  • 在线视频下载网址合集

    在线视频下载网址合集视频鱼:http://m.shipinyu.cn/微博党:http://weibodang.cn/index硕鼠:http://www.flvcd.com/微博秒拍视频解析下载:https://weibo.iiilab.com/短视频解析下载:http://dy.ck921.com/飞狐视频下载:https://www.3987.com/dsp/ks.html兔兔解析:http://w…

    2022年7月12日
    20
  • oracle手动创建数据库_oracle怎么建库

    oracle手动创建数据库_oracle怎么建库ORACLE手动建库ORACLE10GR2手动建库大致分为以下几个步骤编辑.bash_profile文件,设置环境变量创建所需目录结构创建初始化参数文件执行建库脚本下面以创建test数据库为例1、编辑.bash_profile文件,添加ORACLE_SID环境变量在.bash_profile文件中指定ORACLE_SIDexportORACLE_SID=test[oracle@targets…

    2025年7月14日
    3
  • navicat15 mac 激活码(JetBrains全家桶)

    (navicat15 mac 激活码)这是一篇idea技术相关文章,由全栈君为大家提供,主要知识点是关于2021JetBrains全家桶永久激活码的内容IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.net/100143.htmlS32PGH0SQB-eyJsaWN…

    2022年3月22日
    54
  • Activity详细解释(生命周期、以各种方式启动Activity、状态保存,等完全退出)

    Activity详细解释(生命周期、以各种方式启动Activity、状态保存,等完全退出)

    2021年12月17日
    70
  • 使用Burpsuite进行抓包和改包

    使用Burpsuite进行抓包和改包一 建立 burpsuite 和浏览器的连接 1 打开 burpsuite 工具 在 proxy 中的 Option 下 看到对应的 Interface 为 127 0 0 1 8080 与浏览器代理设置相同端口 保存 2 在浏览器中的 InternetOpti 中设置相同的 IP 地址以及端口号 3 设置好之后 就可以开始抓包了 在 burpsuite 中的 Proxy 中的 Intercept 中进行抓包 4 在浏览器中输入自己的用户名 Yolanda 相当在浏览器端发送请求这样 burpsuite 端就可以抓到浏览器端的请求消息二

    2025年6月2日
    1

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号