推荐系统的PMF - 概率矩阵分解和协同过滤(一)

简介: 推荐系统的PMF - 概率矩阵分解和协同过滤(一)

自动化推荐系统通常用于根据现有的偏好数据为用户提供他们感兴趣的产品建议。文献中通常描述了不同类型的推荐系统。我们这篇文章将突出介绍两个主要类别,然后在第二个类别上进一步扩展:

基于内容的过滤:这些过滤器利用用户偏好来做出新的预测。当用户提供有关其偏好的明确信息时,系统会记录并使用这些信息来自动提出建议。我们日常使用的许多网站和社交媒体都属于此类。

协同过滤:当用户提供的信息不足以提出项目建议时,会发生什么情况?在这些情况下,我们可以使用其他用户提供的具有相似首选项的数据。此类别中的方法利用了一组用户的过去选择历史来得出建议。

image.png

在第一种情况下,期望给定的用户建立一个清楚表明偏好的配置文件,在第二种情况下,此信息可能无法完全使用,但是我们希望我们的系统仍能够基于类似的证据提出建议 用户提供。一种称为概率矩阵分解的方法(简称为PMF)通常用于协同过滤,并且将成为本文其余部分讨论的主题。现在让我们深入研究此算法的细节及其直觉。

概率矩阵分解解释

假设我们有一组用户u1,u2,u3…uN,他们对一组项目v1,v2,v3…vM进行评分。然后,我们可以将评分构建为N行和M列的矩阵R,其中N是用户数,M是要评分的项目数。

image.png

评分映射。可以将其视为每个用户(行)对多个项目(列)进行评分的矩阵

R矩阵的一个重要特征是它是稀疏的。也就是说,仅其某些单元格具有非空的评级值,而其他单元格则没有。对于给定的用户A,系统应该能够基于他/她的偏好以及类似用户的选择来提供项目推荐。但是,用户A不必明确推荐某项就可以对其进行推荐。具有相似首选项的其他用户将弥补有关用户A的缺失数据。这就是为什么概率矩阵分解属于协同过滤推荐系统的类别。

让我们考虑一下电影推荐系统。想象一下,如果我们被要求观看和评价特定季节中放映的每部电影会是什么样子。那是不切实际的,不是吗?我们根本没有时间这样做。

鉴于并非所有用户都能够对所有可用项目进行评分,我们必须找到一种方法来填补R矩阵的信息空白,并且仍然能够提供相关建议。PMF通过利用类似用户提供的评级来解决此问题。从技术上讲,它利用了贝叶斯学习的一些原理,这些原理也适用于我们缺少或不完整数据的其他情况。

可以通过使用两个低阶矩阵U和V来估计R矩阵,如下所示:

image.png

此处,UT是一个NxD矩阵,其中N是注册用户数,D是等级。V是DxM矩阵,其中M是要评估的项目数。因此,NxM评级矩阵R可以通过以下方式近似:

image.png

公式1:R表达式

从现在开始,我们的工作是找到UT和V,它们将反过来成为模型的参数。因为U和V是低阶矩阵,所以PMF也被称为低阶矩阵分解问题。此外,U和V矩阵的这一特殊特征使得PMF甚至对于包含数百万条记录的数据集也可扩展。

PMF从贝叶斯学习中得出的直觉用于参数估计。一般而言,我们可以说在贝叶斯推断中,我们的目的是借助贝叶斯规则来找到模型参数的后验分布:

image.png

目录
相关文章
|
3月前
|
搜索推荐 前端开发 数据可视化
【优秀python web毕设案例】基于协同过滤算法的酒店推荐系统,django框架+bootstrap前端+echarts可视化,有后台有爬虫
本文介绍了一个基于Django框架、协同过滤算法、ECharts数据可视化以及Bootstrap前端技术的酒店推荐系统,该系统通过用户行为分析和推荐算法优化,提供个性化的酒店推荐和直观的数据展示,以提升用户体验。
146 1
|
1月前
|
机器学习/深度学习 算法 搜索推荐
django调用矩阵分解推荐算法模型做推荐系统
django调用矩阵分解推荐算法模型做推荐系统
23 4
|
5月前
|
搜索推荐 算法 小程序
基于Java协同过滤算法的电影推荐系统设计和实现(源码+LW+调试文档+讲解等)
基于Java协同过滤算法的电影推荐系统设计和实现(源码+LW+调试文档+讲解等)
|
5月前
|
搜索推荐 算法 小程序
基于Java协同过滤算法的图书推荐系统设计和实现(源码+LW+调试文档+讲解等)
基于Java协同过滤算法的图书推荐系统设计和实现(源码+LW+调试文档+讲解等)
|
1月前
|
机器学习/深度学习 搜索推荐 算法
推荐系统的矩阵分解和FM模型
推荐系统的矩阵分解和FM模型
18 0
|
3月前
|
搜索推荐 前端开发 数据可视化
基于Python协同过滤的旅游景点推荐系统,采用Django框架,MySQL数据存储,Bootstrap前端,echarts可视化实现
本文介绍了一个基于Python协同过滤算法的旅游景点推荐系统,该系统采用Django框架、MySQL数据库、Bootstrap前端和echarts数据可视化技术,旨在为用户提供个性化的旅游推荐服务,提升用户体验和旅游市场增长。
267 9
基于Python协同过滤的旅游景点推荐系统,采用Django框架,MySQL数据存储,Bootstrap前端,echarts可视化实现
|
3月前
|
搜索推荐 前端开发 算法
基于用户画像及协同过滤算法的音乐推荐系统,采用Django框架、bootstrap前端,MySQL数据库
本文介绍了一个基于用户画像和协同过滤算法的音乐推荐系统,使用Django框架、Bootstrap前端和MySQL数据库构建,旨在为用户提供个性化的音乐推荐服务,提高推荐准确性和用户满意度。
239 7
基于用户画像及协同过滤算法的音乐推荐系统,采用Django框架、bootstrap前端,MySQL数据库
|
5月前
|
机器学习/深度学习 搜索推荐 算法
基于深度学习神经网络协同过滤模型(NCF)的图书推荐系统
登录注册 热门图书 图书分类 图书推荐 借阅图书 购物图书 个人中心 可视化大屏 后台管理
13124 2
基于深度学习神经网络协同过滤模型(NCF)的图书推荐系统
|
4月前
|
JavaScript Java 测试技术
基于springboot+vue.js+uniapp小程序的协同过滤电影推荐系统附带文章源码部署视频讲解等
基于springboot+vue.js+uniapp小程序的协同过滤电影推荐系统附带文章源码部署视频讲解等
45 0
|
5月前
|
搜索推荐 算法 前端开发
计算机Java项目|基于协同过滤算法的体育商品推荐系统
计算机Java项目|基于协同过滤算法的体育商品推荐系统
下一篇
无影云桌面