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

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

公式2:参数的贝叶斯规则

在这里,X是我们的数据集,θ是分布的参数或参数集。α是分布的超参数。p(θ| X,α)是后验分布,也称为后验分布。p(X |θ,α)是似然,p(θ|α)是先验。训练过程的整体思路是,随着我们获得有关数据分布的更多信息,我们将调整模型参数θ以适合数据。从技术上讲,后验分布的参数将插入到先前的分布中,以进行训练过程的下一次迭代。也就是说,给定训练步骤的后验分布最终将成为下一步骤的先验。重复该过程,直到步骤之间的后验分布p(θ| X,α)几乎没有变化为止。

现在,让我们回到有关PMF的直觉上。如前所述,我们的模型参数将是U和V,而R将是我们的数据集。经过培训后,我们将得到一个修订的R *矩阵,该矩阵还将包含对用户项目单元格最初在R中为空的评分。我们将使用此修订的评分矩阵进行预测。基于这些考虑,我们将拥有:

image.png

其中σ是零均值球形高斯分布的标准偏差。然后,通过替换等式2中的这些表达式,我们将得到:

image.png

由于U和V矩阵彼此独立(用户和项独立发生),因此该表达式也可以这样写:

image.png

  公式3:PMF的A-Posteriori分布

现在是时候找出该方程式的每个分量了。首先,似然函数由下式给出:

image.png

公式4:观测等级的分布

在此,I {ij}是一个指标,当第i行和第j列的评级存在时,其值为1,否则为0。如我们所见,此分布是具有以下参数的spherical Gaussian分布:

image.png

反过来,U和V的先验分布由下式给出:

image.png

公式5和6:U和V的先验分布

这是两个零均值球面高斯(spherical Gaussians)。然后,通过在3中替换4、5和6,我们将得到:

image.png

为了训练我们的模型,我们将寻求通过将参数U和V的导数等价为零来最大化此函数。但是,由于高斯函数中的exp函数,这样做将非常困难。为了克服这个问题,我们应该将对数应用于前面的方程式的两边,然后应用所需的导数。因此,通过将对数应用于上一个方程的两边,我们将获得:

image.png

这是一个更容易区分的表达方式。我们也知道,根据定义,高斯PDF由以下公式给出:

image.png

因此,我们对数后验的表达式将如下所示(注意:为简单起见,我们已删除了常量):

image.png

Fro后缀表示Frobenius范数,它由下式给出:

image.png

最后,通过引入一些附加的符号来标识模型的超参数,我们将获得:

image.png

公式7:PMF的对数后验

image.png

然后,通过对参数微分方程式7并将导数等于零,我们将得到:

image.png

从这里,我们可以导出表达式以更新Ui和Vj:

image.png

公式8和9:用于更新U和V的表达式

假设λU和λV都不为零,则可以保证所涉及的逆矩阵存在。作为训练过程的一部分,我们将迭代更新Ui和Vj。一旦找到最佳值,就可以使用方程式7获得log-MAP的值(最大后验值)。正如我们在Python实现中所看到的那样,我们可以使用该值来监控训练收敛 。

目录
相关文章
|
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项目|基于协同过滤算法的体育商品推荐系统
下一篇
无影云桌面