《推荐系统与深度学习》阅读简记



1.推荐系统的基础算法

1.1 基于内容的推荐

根据用户喜好和item的特征来推荐,需要考虑item的特征提取


1.2 基于协同的算法(collaborative filtering)

1.2.1 基于物品的协同(ItemCF)

协同,即假定用户会偏好购买相似的物品。以下方法计算物品相似度:

  1. 基于共同喜欢用户列表
    使用购买次数N计算物品i与j的相关度: w i j = ∣ N i ∩ N j ∣ ∣ N i ∗ N j ∣ w_{ij}=\frac{|N_i\cap N_j|}{\sqrt{|N_i * N_j|}} wij=NiNj NiNj
    其中,使用物品购买总次数作为惩罚(分母),消除热门物品的偏差。热门偏差进一步修正:
    w i j = ∣ N i ∩ N j ∣ ∣ N i ∣ α ∗ ∣ N j ∣ 1 − α w_{ij}=\frac{|N_i\cap N_j|}{|N_i|^\alpha * |N_j|^{1-\alpha}} wij=NiαNj1αNiNj
  2. 基于余弦相似度
    当用户对物品喜好程度有评分时,物品可表示为用户评分向量,进而用余弦相似度计算物品相似度: w i j = c o s θ = N i ⋅ N j ∣ ∣ N i ∣ ∣ ∗ ∣ ∣ N j ∣ ∣ w_{ij}=cos\theta=\frac{N_i\cdot N_j}{||N_i|| * ||N_j||} wij=cosθ=NiNjNiNj

1.2.2 基于用户的协同(UserCF)

针对用户购买的物品记录建立向量,购买记录相似的用户相互推荐。算法与前者类似

1.2.3 基于用户协同与物品协同选择

  1. 推荐特性:UserCF偏向于推荐热门,ItemCF的推荐更具有新颖性、多样性。
  2. 推荐场景:社交网络、博客、微内容等更适合使用UserCF, 相当于对某些身份领域的人群进行了聚类, 购物网站则适合使用ItemCF。
  3. 用户特点:用户邻居过少则不适用UserCF, 用户自相似度(喜欢购买以前买过的同类物品)低,不适合ItemCF, 反之亦然。

1.2.4 矩阵分解算法(降维)

特征向量 A x = λ x Ax=\lambda x Ax=λx的几何意义:向量x通过矩阵A变换,只进行缩放,而不改变向量方向,缩放倍数即特征值。
(关于矩阵分解,见另一篇博客)

  • svd
    SVD可以将m x n维矩阵压缩为m x k(k<<n)维矩阵,在推荐系统中,n,m分别为用户数、物品数,使用SVD压缩向量长度后再求相似度,可以大大减小计算量,这十分重要。但由于SVD在计算过程中需要将稀疏矩阵补全为稠密矩阵,在大数据情况下无法满足存储要求,因此svd也只能适用于相对较小的规模

  • 1.3.2 基于ALS的隐语义模型(交替最小二乘法,Alternating Least Squares)
    将矩阵分解模式改变为 A = P Q T A=PQ^T A=PQT, 由于等号难以完全满足,因此是两者尽可能小,即转化为最优化问题。其中P,Q分别为用户因子和物品因子。可食用spark计算mllib.als().

1.2.5 稀疏自编码神经网络(降维)

输入层和输出层为相同的高维稀疏用户收藏数据,隐藏层则为单层或多层低维(通过神经元个数设置维度)特征,通过训练可得到收藏数据的低维表示。如果改变输出层的数据(例如使用分类结果),则隐藏层可自动提取由输入、输出端共同的特征压缩表示。



1.3 基于社交网络的推荐算法

1.3.1

社交网络
社交图谱
双向关系/无向图
兴趣图谱
单向关系/有向图

未完待续…

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值