🔍 推荐系统研究与方向选择
在推荐系统的构建初期,我们首先对两大主流推荐算法框架进行了比较研究:
📘 1. 协同过滤(Collaborative Filtering)
- 基于用户行为数据(如点击、购买、评分)构建用户或物品之间的相似性
- 优点:
- 不依赖物品属性,能发现隐藏偏好
- 能根据用户行为自动学习兴趣模式
- 缺点:
- 冷启动问题(新用户或新物品无数据)
- 数据稀疏性高时推荐效果差
📗 2. 基于内容推荐(Content-based Filtering)
- 利用物品自身的特征信息(如品类、关键词、品牌)进行匹配推荐
- 优点:
- 可解释性强,对冷启动用户较友好
- 推荐个性化程度高(与用户历史兴趣相关)
- 缺点:
- 容易陷入“兴趣孤岛”问题(推荐过于局限)
- 对物品特征表示要求较高
🔎 方向选择依据
结合我们所能获取的数据集特点:
- ✅ 包含用户 ID、行为类型(点击、加入购物车、购买)
- ✅ 包含商品 ID、类别属性
- ❌ 不包含明确的用户画像(年龄、性别等)
因此,我们决定采用一个融合型推荐框架,即同时考虑用户行为历史与物品属性的算法。
🧠 算法选型:LightFM 混合推荐模型
LightFM 是一个为推荐系统设计的 Python 库,支持同时使用协同过滤信号和内容特征构建推荐模型。
- 📌 支持使用用户和物品元数据构建特征矩阵(稀疏)
- 📌 内置多种损失函数(logistic, BPR, warp)
- 📌 支持 embedding 层解释性分析
- 📌 适用于冷启动、新品推荐场景
最终我们选择 LightFM 的 warp
损失函数,用于最大化推荐排序的精度。
🧱 数据处理与建模流程
本项目的数据流动结构如下:
