对ItemCF算法的整体理解

请简述ItemCF的核心思想及其主要步骤

核心思想:当很多用户同时喜欢两个物品时,认为这两个物品具有较高的相似度。

计算物品相似度:基于用户-物品交互记录(如点击、评分等)计算所有物品之间的相似度。

召回阶段逻辑

  • 找到用户交互过的物品集合I_u
  • 对于每个i∈I_u,找与之相似的物品
  • 将这些相似物品合并去重、排序后推荐给用户

对候选物品进行打分/排序的预测

用户 $u$ 对物品 $b$ 的预测评分,也就是$\hat{r}_{u,b}$等于

$$
\frac{\sum_{i \in I_u} \text{sim}(b, i) \cdot r_{u,i}}{\sum_{i \in I_u} |\text{sim}(b, i)|}
$$

其中:

  • $I_u$:用户 $u$ 的历史交互物品集合
  • $r_{u,i}$:用户 $u$ 对物品 $i$ 的评分或隐式反馈得分
  • $\text{sim}(b, i)$:物品 $b$ 与用户交互物品 $i$ 的相似度
    这是在召回之后,用来排序候选物品的重要打分函数。

相似度计算方法对比

ItemCF中常用的相似度计算方法有哪些?分别适用于什么场景?

方法 公式/描述 适用场景
离散型余弦相似度 向量为 0/1(是否交互),计算夹角余弦 隐式反馈(如点击、浏览)
连续型余弦相似度 向量为权重(评分、时长),计算夹角余弦 显式反馈(如评分)、带权重的隐式反馈
欧式距离 计算向量几何距离,值越小越相似 需要幅度敏感的连续数据(如物理距离)
皮尔逊相关系数 协方差与标准差的归一化,衡量线性相关性 连续数据且需中心化(如评分)
杰卡德系数 交集大小除以并集大小,仅处理二值数据 无权重行为(如点赞、收藏)

余弦相似度的特点

为什么余弦相似度在稀疏场景下更稳定有效?它如何解决用户评分标准不统一的问题?

稀疏场景适配性:只需两个物品有一个共同用户即可计算相似度,不依赖全局数据。

评分标准统一:余弦相似度只关注向量方向(评分趋势),忽略长度(评分绝对值)。例如,用户A习惯打高分(5/4),用户B习惯打低分(3/2),但若两者对物品(X/Y)的打分趋势一致(X>Y),则认为相似。

皮尔逊相关系数的局限性

皮尔逊相关系数为什么不适用于稀疏场景?如何改进?

局限性

  • 需要足够多的共同评分(否则均值估计不准,协方差计算不稳定)
  • 要求数据具有中心化意义(如评分均值需有意义)

改进:填补缺失值(如用全局均值),或改用余弦相似度。

既然皮尔逊相关系数在稀疏数据下有这么多限制,为什么实际中还有人用它?

纠正评分偏置:相比余弦相似度,皮尔逊会先对每个用户/物品的评分做中心化处理(减去均值),这能有效消除评分风格的影响,比如某些用户习惯打高分/低分,在相似度计算中体现更真实的兴趣相关性。

混合相似度的设计

如何结合物品的类别信息提升ItemCF的相似度计算效果?

在基础相似度(如余弦)上增加类别权重,例如:

若两物品属于同一类别,相似度乘以权重 $(1 + \alpha)$,其中$\alpha > 0$

$$
\text{Sim}{\text{混合}} = \text{Sim}{\text{基础}} \times (1 + \alpha \cdot \mathbb{I}[\text{同类别}])
$$

杰卡德系数的应用

杰卡德系数适用于哪些行为数据?能否用于评分数据?

适用场景:二值行为(如是否点击、是否购买),不适用于连续数据(如评分)。

评分数据处理:需先离散化(如评分≥4视为1,否则为0),但会损失信息。

欧式距离与余弦相似度的区别

欧式距离和余弦相似度在衡量物品相似度时有何本质区别?

欧式距离:关注向量绝对位置,对幅度敏感。适合需要区分“量级”的场景(如消费金额)。
余弦相似度:关注向量方向,对幅度不敏感。适合忽略量级、关注趋势的场景(如评分偏好)。

多行为数据的混合建模

在用户行为数据中,若80%的交互是点击,20%是购买,如何设计相似度计算?

加权混合:对不同行为赋予权重(如购买权重=5,点击权重=1),生成加权用户-物品矩阵,再用连续型余弦相似度计算。
分层处理:分别计算点击和购买的相似度,加权融合(如 $\text{Sim} = 0.2 \cdot \text{Sim}{\text{购买}} + 0.8 \cdot \text{Sim}{\text{点击}}$)。

冷启动的常见解决方案

ItemCF如何解决新物品的冷启动问题?请详细说明具体方法及其实现逻辑。

问题成因:物品冷启动,新物品缺乏交互数据导致无法计算相似度,也就无法与其他物品建立相似度关系

解决

方法一:结合内容信息初始化相似度

  • 提取物品内容特征:如类别、标签、描述文本(TF-IDF/Embedding)、作者、价格等。
  • 计算内容相似度:离散特征(类别/标签)用杰卡德系数(共享标签比例);连续特征(文本向量)用余弦相似度。
  • 融合到ItemCF:新物品的相似度直接使用内容相似度,老物品的相似度保留原ItemCF结果。

比如,新书《深度学习入门》与老书《机器学习实战》同属“AI”类别,且标签重合度高 → 初始化高相似度;当新书积累足够点击/购买后,逐步过渡到行为数据计算的相似度。

方法二:混合推荐策略

阶段1:冷启动期

  • 对新物品采用基于内容(Content-Based)的推荐:用户画像 + 物品内容特征匹配(如用户常看“编程”类文章 → 推荐新书《Python进阶》)。
  • 同时对新物品进行曝光试探:在推荐流中随机插入新物品,收集初始交互数据(需控制频率,避免用户体验下降)。

阶段2:数据累积后

  • 设定切换阈值(如点击量≥100次或加入购物车≥10次)。
  • 达到阈值后,将新物品纳入ItemCF相似度计算池,逐步替代内容推荐。

工程优化技巧

  • 冷启动标识:在物品元数据中增加is_cold_start字段,动态更新状态。
  • AB测试:对比纯ItemCF与混合策略的点击率/转化率,调整内容权重和切换阈值。
  • 降级策略:若内容特征缺失,可基于热门推荐或类别相似度兜底。