推荐系统学习笔记之一 综述

本文介绍了推荐系统的两大应用场景——评分预测与物品推荐,并详细探讨了各类推荐模型,包括基于内容的推荐系统、协同过滤、矩阵分解等技术。此外还讨论了聚类、协同过滤和模型学习三种推荐方法的特点及应用场景。

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

在推荐系统的系列笔记中预计将会简要记录这些:

一些推荐系统的基础应用:

  • Content Based Recommendation System 基于内容的推荐系统
  • Collaborative Filtering 协同过滤
  • Low Rank Matrix Factorization 低阶矩阵分解

以及一些更加精确不过更为复杂的模型:

  • LFM (Latent Factor Model) 隐因子模型
  • SVD (Singular Value Decomposition) 奇异值分解 / SVD++
  • Factorization Machines 因子分解机
  • Field-aware Factorization Machine (FFM) 场感知分解机
  • Group Lasso (least absolute shrinkage and selection operation) 分组最小角回归算法

综述

现在常见的推荐系统可以分为以下两种形式:

  • Rating prediction 评分预测
  • Item recommendation (基于历史记录的) 物品推荐

评分预测是比较简单的一种模型,比如某个用户给定某个物品的评分,在对比其他用户对该用户的评分相似度来判断该用户对其他物品的喜爱程度,从而进行推荐。最典型的就是IMDB与豆瓣,都需要用户主动评分才能进行下一步推荐。其中CBRS基于内容的推荐系统,Collaborative Filtering 协同过滤,SVD奇异值分解就是评分预测的典型模型。

然而评分预测在大部分场景中并不适用,比如在许多电商购物网站,许多用户并不会主动给某个物品进行评分,而且每个物品的attribute差距都很大,不能像电影那样对每个电影的不同属性进行分类从而进行推荐。这个时候只能通过用户的历史记录,点击,购买记录,评论对用户进行合适的推荐。其中有LSA(Latent Semantic Analysis) 隐语义模型:分析用户评论的语义进行推荐;Curiosity Based Model基于好奇心的心理学模型;或是使用数据挖掘的频繁项物品进行推荐(bundle recommendation)等等。

基于此,大概可以归纳出以下三类模型。在这三类中,每一类又包含很多方法,无法绝对的说哪一类模型最好,依照具体的数据形式以及内容而定。

  1. 基于聚类的推荐
  2. 基于协同过滤的推荐
  3. 基于模型学习的推荐

第一类的模型可以使用到的方法:

  1. 全局均值
  2. 物品均值
  3. 用户均值
  4. 用户分类-物品均值
  5. 物品分类-用户均值
  6. 用户活跃度
  7. 物品活跃度
  8. 改进的用户活跃度
  9. 改进的物品活跃度

这类模型的共同特征是通过设计聚类方法来对用户和物品分类,利用同类用户对同类物品的评分均值来预测用户对物品的评分。另外通过该模型的实现对用户和商品的特征有一个基本的了解。

第二类的模型主要使用的方法是基于物品的协同过滤,它的核心思想是当预测用户对一个物品评分时,主要考虑与该物品最相似且用户已打过分的若干物品。所以在这其中相似度的度量方法尤其重要,包括欧氏距离、皮尔逊相似度度量、余弦相似度度量、改进的余弦相似度度量。(之所以不使用基于用户的协同过滤,是由于建立用户-用户的相似度矩阵过于巨大)

第三类的模型使用的方法有:

  1. SVD
  2. NMF
  3. RSVD
  4. SVD++
  5. SVDfeature
  6. Libmf
  7. Libfm

这一类模型的共同特点是矩阵分解。即对用户-物品评分矩阵分解成若干个小矩阵,目的是分解之后的矩阵乘积接近原始矩阵,于是也实现了对原始矩阵为空的值的预测。在这些方法中,比较重要的几个参数有:隐特征个数,随机梯度下降中的学习率,正则化参数,总迭代次数。具体在每个方法中这些参数的最优值也不尽相同。

文章目录

  1. 推荐系统学习笔记之一 综述
  2. 推荐系统学习笔记之二 基于内容的推荐系统(CBRS)+Collaborative Filtering 协同过滤
  3. 推荐系统学习笔记之三 LFM (Latent Factor Model) 隐因子模型 + SVD (singular value decomposition) 奇异值分解
  4. 推荐系统学习笔记之四 Factorization Machines 因子分解机 + Field-aware Factorization Machine(FFM) 场感知分解机
  5. Lasso 稀疏约束 + Group Lasso 分组最小角回归算法

参考文献

  1. sigir17-Embedding Factorization Models for Jointly Recommending
    Items and User Generated Lists.pdf
  2. http://blog.youkuaiyun.com/u010414589/article/details/52185257
### 大语言模型综述学习资料 #### 书籍推荐 对于希望深入了解大语言模型的人来说,《大语言模型》一书由赵鑫教授撰写,作为首部中文版的大语言模型教程,在出版后迅速获得了广泛关注。这本书不仅涵盖了基本原理、核心技术以及最新的研究进展,还提供了非常系统的介绍,有助于读者全面理解这一领域的发展状况[^1]。 #### 开发资源概述 针对那些想要实际参与到大语言模型开发过程中的开发者而言,可以获得多种类型的资源支持。具体来说,这些资源包含了但不限于:已有的模型检查点、各类API接口、丰富的语料库及数据集还有实用的软件库等。上述提到的各种工具和服务能够极大地促进研究人员和技术人员的工作效率和创新能力[^2]。 #### 数据源分类讨论 当谈及构建高效能的大语言模型时,所使用的预训练语料库至关重要。通常情况下,这类语料会被区分为两大类别——即通用型和其他更为专门化的类型。前者因具备广泛覆盖度而被广泛应用;后者则通过引入特定领域的高质量素材来提升模型处理复杂任务的能力。例如,利用多语言材料可以让模型更好地应对跨国界的交流需求;采用科学文献或编程代码片段,则可能赋予机器更强的专业知识解析技能[^3]。 #### 提升策略探讨 值得注意的是,“指令调优”作为一种新兴的技术手段正逐渐成为优化大语言模型性能的关键路径之一。即使是在相对较少样本的情况下实施调整操作也能显著改善最终效果。更重要的是,经过适当指导后的中小型预训练模型有时反而能在某些应用场景下超越未经任何额外训练步骤的大规模版本。因此可以说,这种方法既经济又有效,并且适用于不同的框架结构之下[^4]。 ```python # Python 示例展示如何加载并使用预先训练好的BERT模型进行文本编码 from transformers import BertTokenizer, BertModel tokenizer = BertTokenizer.from_pretrained('bert-base-uncased') model = BertModel.from_pretrained('bert-base-uncased') text = "Replace me by any text you'd like." encoded_input = tokenizer(text, return_tensors='pt') output = model(**encoded_input) print(output.last_hidden_state) ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值