MLSS'14 Netflix关于推荐系统的talk阅读笔记

一篇Netflix在MLSS 2014上的talk,粗略做了一下总结,主要是关于推荐系统的综述知识和一些实际应用例子。虽然有些过时(2014年),但精髓还在。

我主要关注在2、3、4三个部分,也就是推荐方法这一块。

CF

kNN-CF的问题
  • 稀疏性问题:矩阵很大,非零元素很少
    降维方法:
    • MF
    • 聚类
    • PCA
  • 可扩展性问题:计算量同时随着用户数和物品数增加,用户/物品量非常大,O(m+n)
    聚类方法可能会有帮助
性能
  • user-based CF的用户相似度是动态的,预先计算会导致很差的结果。
  • item-based CF的物品相速度是静态的,可以预先计算
Model-Based CF
  • Model:
    概率(贝叶斯网络)
    聚类(聚类用户,基于用户组推荐)
    基于规则(关联规则:物品与物品的共同购买行为矩阵)
    分类
    回归
    LDA

  • SVD++和RBMS(限制玻尔兹曼机器)

  • LSH局部敏感哈希: 物品高维聚类,主要用在NN

CF的问题
  • 冷启动(新用户/新物品)
  • 流行偏差

CB

  • 推荐建立在单独用户购买的物品的内容上
  • 物品内容:显性的属性/特点,文本内容(文本相似度/NLP挖掘特征),物品类型
  • 用于推荐基于文本的物品/用户模型多种技术分类
CB优点
  • 没有冷启动/稀疏性问题
  • 个性化/全面
  • 可解释
CB问题
  • 需要有意义的特征/有些物品很难找/特征很难找
  • 用户的兴趣要可学习
  • 难以与其他用户联动
  • 过拟合
  • 偶然性

Ranking

基于排序学习的推荐

  • 从训练数据构建排名模型
  • 训练数据为偏序或二值化的数据
  • 从得分得到排序结果
  • 个性化的关键
  • 可以作为一个典型的监督学习问题
指标
  • NDCG\MRR\FCP
  • 问题:不可导,无法优化模型
  • 最近研究点在可以直接优化模型的指标
途径
  • Pointwise:单独点的相关性判断,Ordinal regression, Logistic regression, SVM, GBDT, …
  • Pairwise:一对点的次序判断,最小化错误次序的数量,二分类问题,RankSVM, RankBoost, RankNet, FRank…
  • Listwise:
    • 使用间接损失函数:RankCosine、ListNet 对间接损失函数的优化不一定是对IR模型的优化
    • 直接优化(不可导时会比较困难)。Genetic Programming遗传编码、Simulated Annealing模拟退火、对目标函数进行平滑化后的GD( CLiMF、TFMAP)、把MAP加入SVM约束(SVM-MAP)、使用 boosting 优化 NDCG(AdaRank)

上下文感知Context-aware

三种途径:pre-filtering/post-filtering/modeling

pre-filtering
  • 使用上下文选择最相关的数据交给推荐系统
  • 可能导致结果太狭隘、有些情况下上下文的选择没有意义、过滤太多数据导致稀疏性问题
  • 总结:
    • 多种途径
    • 将具体的条件回滚到更高等级
    • 使用隐变量方法降维(MF、LDA…)
Post-filtering
  • 在最后输出结果时使用上下文信息过滤和排序
  • 使用相似性过滤 or 使用社会/协同上下文表现。。。
Modeling
  • 多维推荐模型
  • 扩充特征的维度,使得R:UxIxD_1xD_2x…xD_n,比如电影推荐的维度:用户、电影、时间、公司、地点等
Tensor Factorization张量分解
  • 三维数组以及多位数组,我们称之为张量(tensor)

  • Tensor Decompositions and Applications

  • CP分解
    如果n阶张量可以被写成n个向量的外积,则此张量为一个秩一张量。
    三维为例:分成R个三个一维向量(a_r, b_r, c_r)的乘积。三个方向的向量组成的矩阵称为因子矩阵A,B,C。
    χ ≈ ∑ r = 1 R a r ∘ b r ∘ c r \chi \approx \sum_{r=1}^{R} a_r \circ b_r \circ c_r χr=1Rarbrcr

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值