《AutoRec: Autoencoders Meet Collaborative Filtering》WWW2015 阅读笔记

本文是关于《AutoRec: Autoencoders Meet Collaborative Filtering》的阅读笔记,探讨了如何使用AutoEncoder(AE)应用于协同过滤(CF)。传统CF利用用户评分矩阵预测未知评分,而AutoRec则通过学习用户或物品的向量表示来实现预测。AE旨在重构输入数据,用于特征提取和数据压缩。文章提到,尽管AutoRec思路简洁,但在数据稀疏时可能效果不佳,后续研究通过引入side information改进了这一问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前一阵子阅读了部分deep learning结合Collaborative filtering的工作,准备写一系列的阅读笔记,这是作为预热的第一篇,也是最容易的一篇,WWW 2015的poster,看起来很快。

在传统的CF里,所用的信息即为所有用户历史的评分数据,按用户做行,item做列,可以得到一个rating matrix R ,其中Rij指 useri itemj 的打分。其中我们只能观测到这个矩阵里的部分值,那些未观测到的值则是需要预测的对象。MF解决该问题的思路是将评分矩阵拆成U*V,其中U为user隐向量矩阵,V为item隐向量矩阵。一旦获得 U V

### AutoRec模型概述 AutoRec(Automatic Recurrent Recommender System)是一种基于自动编码器的推荐系统方法。该模型旨在通过学习潜在特征来预测用户对项目的评分或偏好。AutoRec有两种变体:一种是针对用户的(User-based),另一种是针对物品(Item-based)[^1]。 #### User-based AutoRec架构 User-based AutoRec利用用户行为矩阵作为输入,其中每一行代表一个用户的评分向量。模型尝试重构这个评分矩阵,在此过程中捕捉到有用的隐藏层表示形式。具体来说: - 输入层接收稀疏的用户项目交互数据。 - 编码器将高维稀疏输入映射到低维度密集空间中。 - 解码器再把压缩后的表征还原回原始输入大小的空间内。 - 输出即是对原评分矩阵的一个近似估计[^2]。 ```python import tensorflow as tf class UserBasedAutoRec(tf.keras.Model): def __init__(self, num_users, hidden_units): super().__init__() self.encoder = tf.keras.layers.Dense(hidden_units, activation='relu') self.decoder = tf.keras.layers.Dense(num_users) def call(self, inputs): encoded = self.encoder(inputs) decoded = self.decoder(encoded) return decoded ``` #### Item-based AutoRec架构 Item-based版本则相反地作用于转置后的矩阵上,也就是每列对应着不同商品被多个用户评价的情况。其工作原理与上述过程相似,只不过关注点从用户转移到了产品本身之上[^3]。 尽管这里无法提供具体的AutoRec模型架构图,但是根据描述可以理解的是,无论是哪种类型的AutoRec,核心都是构建了一个能够有效提取并重建用户偏好的神经网络结构。这种设计使得AutoRec能够在处理大规模稀疏数据方面表现出色,并且具有良好的泛化能力[^4]。
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值