基于正则化的图自编码器在推荐算法中的应用 Application of graph auto-encoders based on regularization in recommendation algorithms
引言
看过的每一篇文章,都是对自己的提高。不积跬步无以至千里,不积小流无以成江海,积少成多,做更好的自己。
本文基于2023年4月6日发表于SCIPEERJ COMPUTER SCIENCE(PEERJ计算机科学)上的一篇名为《基于正则化的图自编码器在推荐算法中的应用》(Application of graph auto-encoders based on regularization in recommendation algorithms)的文章。
本文将基于摘要和部分正文总结一些心得,记录一下自己的学习进程。
需要下载查看这篇论文的同学请登录PubScholar公益学术平台下载查看相关论文。
摘要
Social networking has become a hot topic, in which recommendation algorithms are the most important. Recently, the combination of deep learning and recommendation algorithms has attracted considerable attention. The integration of autoencoders and graph convolutional neural networks, while providing an effective solution to the shortcomings of traditional algorithms, fails to take into account user preferences and risks over-smoothing as the number of encoder layers increases. Therefore, we introduce L1 and L2 regularization techniques and fuse them linearly to address user preferences and over-smoothing. In addition, the presence of a large amount of noisy data in the graph data has an impact on feature extraction. To our best knowledge, most existing models do not account for noise and address the problem of noisy data in graph data. Thus, we introduce the idea of denoising autoencoders into graph autoencoders, which can effectively address the noise problem. We demonstrate the capability of the proposed model on four widely used datasets and experimentally demonstrate that our model is more competitive by improving up to 1.3, 1.4, and 1.2, respectively, on the edge prediction task.
翻译
社交网络已经成为一个热门话题,其中推荐算法是最重要的。近年来,深度学习与推荐算法的结合引起了广泛关注。自动编码器与图卷积神经网络的融合,在有效解决传统算法缺点的同时,未能考虑用户偏好,且随着编码器层数的增加存在过平滑的风险。引入L1和L2正则化技术,并将它们线性融合,以解决用户偏好和过平滑问题。此外,图数据中存在大量噪声数据,对特征提取产生了影响。据我们所知,大多数现有模型都没有考虑噪声,并解决了图数据中的噪声数据问题。因此,将去噪自编码器的思想引入到图自动编码器中,可以有效地解决噪声问题。在四个广泛使用的数据集上展示了所提出模型的能力,并通过实验证明了所提出模型在边缘预测任务上分别提高了1.3、1.4和1.2,更具竞争力。
推荐算法
常见的推荐算法在博主的上一篇博客中有提到,再次不做赘述。要看的小伙伴请点击Top-N推荐算法 Top-N recommendation Algorithms。
基于图数据的推荐算法
本文提到,传统的机器学习无法处理复杂的图数据,而深度学习是传统机器学习的改进和拓展,深度学习增强了学习算法的结构,在研究常规和欧几里得数据方面非常有效。但是无法研究非欧几里得数据。为研究非欧几里得数据,研究人员引入图神经网络(GNN),而现有的模型没有考虑到图数据中很多无用的数据以及很多噪声数据。
注意:欧几里得数据和非欧几里得数据的区别详见知乎-数据域(欧几里得数据与非欧几里得数据)。
正如文章中所说,深度学习和推荐算法的结合引起了相当大的关注,自动编码器和图卷积神经网络的集成为传统的机器学习算法提供了有效解决方案,但是没有考虑到用户偏好以及过度平滑的问题,另外,现在的大多数模型都没有考虑到噪声数据。
据此,文章提出新的解决方案:
- 为更好地解决平滑度问题并且更好地提取图片数据,文章融合了去噪自动编码器和图形自编码器,添加噪声有助于模型更好地提取有用的数据,以重建用户项目评分矩阵。
- 为更好地解决用户偏好和过拟合问题,文章引入了L1和L2正则化,
关于L1和L2正交化的详情,可以参考知乎-从0开始机器学习-L1/L2正则化(全)。
- 文章使用ml-100k、Flixter、Douban和YahooMusic四个数据集进行了实验,验证了可行性和正确性,提出的算法偏差较小。
使用到的技术
图卷积神经网络(GCN)
文章使用了图卷积神经网络(GCN)。GCN可以提取高维图像特征,分为频域GCN和空间域GCN.GCN聚合节点本身和周围相邻节点的信息,已获得下一层节点的节点表示。
二分图
该建议基于用户和项目,假设用户和项目只有评级,没有其他关系,用户和项目形成一个二分图:
图片来自于本篇所读的论文《基于正则化的图自编码器在推荐算法中的应用》(Application of graph auto-encoders based on regularization in recommendation algorithms)。https://peerj.com/articles/cs-1335/
正则化图自动编码器推荐算法
图形自动编码器(GAE)可以实现链路预测任务。GAE的本质是在自动编码器上实现图卷积神经网络。与自动编码器类似,GAE可以重建节点之间的领接关系。
自动编码器是一种人工神经网络,用于无监督学习任务(即,没有类标签或标记数据),例如降维、特征提取和数据压缩。
他们寻求:1 接受一组输入数据(即输入);2在内部将输入数据压缩为潜在空间表示(即压缩和量化输入的单个向量);3 从这个潜在表示(即输出)重建输入数据。
参考知乎专栏-自动编码器(AutoEncoder)简介。
数据集
ML-100k
Movielens数据集包含多个用户对多部电影的评级数据,下载地址为:点击进入下载页面 用户可以在其中下载ml-100k数据集。
Flixster
Flixster是一个社交电影网站,允许用户共享电影评分,发现新电影并结识具有类似电影品味的其他人。而该数据集则包含了用户之间的朋友关系。
引用自 https://www.heywhale.com/mw/dataset/5db94936080dc300371e5cb0
Douban
下载可参考 CSDN-豆瓣电影数据集分享。
YahooMusic
需要下载的小伙伴点击此处。
心得
对于推荐算法,看了两篇论文,都是在与深度学习结合,原来使用的机器学习算法已经完全不能满足用户对于准确度与效率等的追求。
写在最后
好了,今天的分享就到这儿了。刚开始写博客读论文,写得不好,读得很慢,也读得不好,需要慢慢沉淀。这是个长久的活,需要历久弥坚的觉悟,更需要直面困难的坚韧,希望能坚持下去,有朝一日乘云而上,翱翔九天!(是不是有些中二哈哈哈哈)。正所谓路漫漫其修远兮,吾将上下而求索,干就完了![doge]
基于正则化的图自编码器在推荐算法中的应用 Application of graph auto-encoders based on regularization in recommendation algorithms的更多相关文章
- 基于用户的协同过滤的电影推荐算法(tensorflow)
数据集: https://grouplens.org/datasets/movielens/ ml-latest-small 协同过滤算法理论基础 https://blog.csdn.net/u012 ...
- SQL自连接(源于推荐算法中的反查表问题)
”基于用户的协同过滤算法“是推荐算法的一种,这类算法强调的是:把和你有相似爱好的其他的用户的物品推荐给你. 要实现该推荐算法,就需要计算和你有交集的用户,这就要用到物品到用户的反查表. 先举个例子说明 ...
- Attention机制在深度学习推荐算法中的应用(转载)
AFM:Attentional Factorization Machines: Learning the Weight of Feature Interactions via Attention Ne ...
- 将 Book-Crossing Dataset 书籍推荐算法中 CVS 格式测试数据集导入到MySQL数据库
本文内容 最近看<写给程序员的数据挖掘指南>,研究推荐算法,书中的测试数据集是 Book-Crossing Dataset 提供的亚马逊用户对书籍评分的真实数据.推荐大家看本书,写得不错, ...
- (转) 基于MapReduce的ItemBase推荐算法的共现矩阵实现(一)
转自:http://zengzhaozheng.blog.51cto.com/8219051/1557054 一.概述 这2个月为公司数据挖掘系统做一些根据用户标签情况对用户的相似度进行评估,其中涉及 ...
- SimRank协同过滤推荐算法
在协同过滤推荐算法总结中,我们讲到了用图模型做协同过滤的方法,包括SimRank系列算法和马尔科夫链系列算法.现在我们就对SimRank算法在推荐系统的应用做一个总结. 1. SimRank推荐算法的 ...
- 用Spark学习矩阵分解推荐算法
在矩阵分解在协同过滤推荐算法中的应用中,我们对矩阵分解在推荐算法中的应用原理做了总结,这里我们就从实践的角度来用Spark学习矩阵分解推荐算法. 1. Spark推荐算法概述 在Spark MLlib ...
- 推荐算法之用矩阵分解做协调过滤——LFM模型
隐语义模型(Latent factor model,以下简称LFM),是推荐系统领域上广泛使用的算法.它将矩阵分解应用于推荐算法推到了新的高度,在推荐算法历史上留下了光辉灿烂的一笔.本文将对 LFM ...
- 推荐算法之因子分解机(FM)
在这篇文章我们将介绍因式分解机模型(FM),为行文方便后文均以FM表示.FM模型结合了支持向量机与因子分解模型的优点,并且能够用了回归.二分类以及排序任务,速度快,是推荐算法中召回与排序的利器.FM算 ...
- 吴裕雄--天生自然HADOOP操作实验学习笔记:qq好友推荐算法
实验目的 初步认识图计算的知识点 复习mapreduce的知识点,复习自定义排序分组的方法 学会设计mapreduce程序解决实际问题 实验原理 QQ好友推荐算法是所有推荐算法中思路最简单的,我们利用 ...
随机推荐
- 架构发展趋势以及 d2js 的未来
目前架构有几个热点方向:微服务, dubbo, Faas,还有 TiDB. 现在开发模式是前后端分离基本成为行规. 应该说以大部分企业业务量级.人员规模来说,要去和淘宝等大厂去对标是非常傻的.对大部分 ...
- centOS7安装nginx及nginx配置
安装所需插件1.安装gccgcc是linux下的编译器在此不多做解释,感兴趣的小伙伴可以去查一下相关资料,它可以编译 C,C++,Ada,Object C和Java等语言 命令:查看gcc版本 gcc ...
- 用 Cursor 写出第一个程序
大家好,我是汤师爷 最近几个月,Cursor迅速走红,成为一款强大的编程助手.Cursor不仅使用简单,而且通过集成各种大模型技术,编程能力一流. Cursor是什么? Cursor是一个类似VSCo ...
- Qt编写地图综合应用17-地址经纬度互转
一.前言 地址和经纬度互相转换的功能也经常用到,比如上次的路线方案查询的功能,之前官网是提供了直接输入出发地点和目的地的中文汉字,就可以查询到最优的路线,后面只支持输入出发地点和目的地的经纬度坐标了, ...
- 使用Docker编译PaddlePaddle
在ubuntu中使用Docker编译PaddlePaddle 要在ubuntu中使用docker编译paddle框架,首先分为以下几个步骤: 安装docker环境 拉取paddle的docker镜像 ...
- 循序渐进--从零开始建设k8s监控之alertmanager+发送飞书(三)
前言 书接上文,prometheus已经安装好了,监控数据是有了,我们需要对其进行告警,并且可以发送到对应的平台,比如飞书.钉钉等,这里选择用飞书来测试 环境准备 组件 版本 操作系统 Ubuntu ...
- salesforce零基础学习(一百四十二)在Formula字段中如何通过Datetime字段显示Local Time(适配DST)
背景: 我们需求是显示Date Time类型的Time信息,比如我们想要在report中基于Hour Of Created Date进行分组,从而想要了解到一段时间内什么时间是数据创建的高峰期,不同的 ...
- DevOps 企业级 CI/CD 实战 —— 整合 GitLab+Jenkins+Harbor+Docker 实现代码全自动化流程管理
前言 随着 AI 人工智能.云计算.Docker.K8S 等容器技术等的发展,DevOps 得到了广泛的应用和推广,CI / CD ( 持续集成 / 持续部署 )等概念不断深化和完善.CI/CD 是现 ...
- 微服务实战系列(四)-注册中心springcloud alibaba nacos-copy
1.场景描述 因要用到微服务,关于注册中心这块,与同事在技术原型上做了讨论,初步定的方案是使用:阿里巴巴的nacos+springcloud gateway,下面表格是同事整理的注册中心对比,以前用的 ...
- 多线程的创建方式一:继承于Thread类
* 多线程的创建,方式一:继承于Thread类* 1. 创建一个继承于Thread类的子类* 2. 重写Thread类的run() --> 将此线程执行的操作声明在run()中* 3. 创建Th ...