这个推荐模型怎么这么复杂,效果却还不错?

发布时间 - 2025-07-17 00:00:00    点击率:

炼丹笔记·必读论文

作者:炼丹小生

推荐系统的核心挑战在于解决高维稀疏的user-item矩阵推荐问题,如何基于百万用户的兴趣数据为单个用户推荐最感兴趣的item是一个复杂的任务。这篇论文《GLocal-K: Global and Local Kernels for Recommender Systems》提出了一个新的框架——Global Local Kernel-based matrix completion(GLocal-K),旨在解决高维稀疏的user-item矩阵补全问题。

简介

GLocal-K框架分为两个主要阶段。首先,我们通过局部核化权重矩阵预训练一个自动编码器,该编码器利用2D RBF核将数据从原始空间转换到特征空间。随后,预训练的自动编码器通过基于卷积的全局核对评分矩阵进行微调。

GLocal-K

如下图所示,两个阶段分别使用了两种核:

预训练阶段 - 使用局部核化权重矩阵 微调阶段 - 使用基于全局核的矩阵 需要注意的是,在预训练阶段使用有限支持核使得密集连接更加密集,而稀疏连接更加稀疏。这篇论文关注的是矩阵补全,推断出矩阵R(m * n)中的所有评分,其中有n个用户和m个项目。i = {1, 2, ..., m},每个i由向量ri = (Ri1, Ri2, ..., Rin)表示。

首先,训练一个基于项目的自动编码器,模型如下公式所示:

W(e)是一个hm的矩阵,W(d)是一个mh的矩阵,b和b'是偏置项,f(.)和g(.)都是非线性激活函数。

为了强调密集和稀疏连接,论文重新参数化权重矩阵,在自动编码器中使用径向基函数(RBF)核,这是已知的核技巧。

RBF定义如下,K(.)就是RBF核函数,用于计算两个集合U/V向量之间的相似度。

核函数可以描述为一个核矩阵LK,如图所示,其中每个元素为1表示相同的向量,接近0表示ui和vj距离较远,然后我们就可以计算局部核化权重矩阵,如下所示:

W'是两个矩阵的Hadamard乘积得到的。向量U和V之间的距离决定了神经网络中神经元的连接,随着训练向量的变化,稀疏度也是动态变化的。将核技巧应用于权重矩阵可以正则化权重矩阵并学习到泛化更强的向量表示。

最后,使用评分矩阵对预训练的自动编码器进行微调。全局核的构建和应用过程如下:

如图所示,解码器已经输出了预训练模型,并且已经用预估的评分初始化了评分矩阵。通过基于项目的平均池化,总结了每个项目所有信息,得到池化结果M = {u1, u2, ..., um},然后使用多个核K = {k1, k2, ..., km}(mt^2的矩阵),通过内积聚合池化结果,如图所示。聚合后的GK(t t)就是全局卷积核,并将其用于user-item矩阵的特征提取,作为微调的输入。

实验效果

参考文献

1、GLocal-K: Global and Local Kernels for Recommender Systems

https://www./link/cce08058c7bf76a788543e4ff059b574


# for  # ui  # 是一个  # 的是  # 所示  # 如图所示  # 这篇  # 都是  # 这是  # 多个  # 两种  # 提出了 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: EditPlus中的正则表达式实战(6)  移动端脚本框架Hammer.js  Laravel如何使用.env文件管理环境变量?(最佳实践)  ChatGPT怎么生成Excel公式_ChatGPT公式生成方法【指南】  深圳防火门网站制作公司,深圳中天明防火门怎么编码?  深圳网站制作的公司有哪些,dido官方网站?  北京网页设计制作网站有哪些,继续教育自动播放怎么设置?  Laravel如何处理文件下载请求?(Response示例)  laravel怎么实现图片的压缩和裁剪_laravel图片压缩与裁剪方法  如何在阿里云域名上完成建站全流程?  Laravel如何将应用部署到生产服务器_Laravel生产环境部署流程  Android自定义控件实现温度旋转按钮效果  Laravel如何实现URL美化Slug功能_Laravel使用eloquent-sluggable生成别名【方法】  Laravel怎么创建自己的包(Package)_Laravel扩展包开发入门到发布  php打包exe后无法访问网络共享_共享权限设置方法【教程】  Laravel Facade的原理是什么_深入理解Laravel门面及其工作机制  Laravel如何使用集合(Collections)进行数据处理_Laravel Collection常用方法与技巧  html5怎么画眼睛_HT5用Canvas或SVG画眼球瞳孔加JS控制动态【绘制】  Laravel安装步骤详细教程_Laravel环境搭建指南  Laravel如何使用Facades(门面)及其工作原理_Laravel门面模式与底层机制  网站制作大概要多少钱一个,做一个平台网站大概多少钱?  Laravel如何实现一对一模型关联?(Eloquent示例)  Firefox Developer Edition开发者版本入口  如何选择PHP开源工具快速搭建网站?  Laravel模型事件有哪些_Laravel Model Event生命周期详解  ,南京靠谱的征婚网站?  制作公司内部网站有哪些,内网如何建网站?  Laravel如何发送系统通知_Laravel Notifications实现多渠道消息通知  原生JS获取元素集合的子元素宽度实例  JavaScript数据类型有哪些_如何准确判断一个变量的类型  html5audio标签播放结束怎么触发事件_onended回调方法【教程】  微信小程序 wx.uploadFile无法上传解决办法  如何自己制作一个网站链接,如何制作一个企业网站,建设网站的基本步骤有哪些?  怎么制作一个起泡网,水泡粪全漏粪育肥舍冬季氨气超过25ppm,可以有哪些措施降低舍内氨气水平?  网站页面设计需要考虑到这些问题  Laravel API路由如何设计_Laravel构建RESTful API的路由最佳实践  宙斯浏览器文件分类查看教程 快速筛选视频文档与图片方法  Edge浏览器提示“由你的组织管理”怎么解决_去除浏览器托管提示【修复】  如何快速登录WAP自助建站平台?  Swift中switch语句区间和元组模式匹配  Laravel如何正确地在控制器和模型之间分配逻辑_Laravel代码职责分离与架构建议  济南网站建设制作公司,室内设计网站一般都有哪些功能?  JS实现鼠标移上去显示图片或微信二维码  如何快速生成ASP一键建站模板并优化安全性?  EditPlus中的正则表达式实战(5)  个人网站制作流程图片大全,个人网站如何注销?  Windows10如何删除恢复分区_Win10 Diskpart命令强制删除分区  网站制作软件免费下载安装,有哪些免费下载的软件网站?  如何在腾讯云免费申请建站?  Laravel如何使用Vite进行前端资源打包?(配置示例)