推荐系统算法—隐语义模型(LFM)详解

文章目录


协同过滤算法主要包括基于用户的协同过滤(User-Based CF)、基于物品的协同过滤(Item-Based CF)、隐语义模型(Latent Factor Model)等。LFM(latent factor model)隐语义模型从诞生到今天产生了很多著名的模型和方法。其实该算法最早在文本挖掘领域被提出,用于找到文本的隐含语义。相关的算法有LSI、pLSA、LDA和Topic Model。推荐系统的用户行为分为显性反馈和隐性反馈。LFM在显性反馈数据(也就是评分数据)上解决评分预测问题并达到了很好的精度。本文将以LFM为例介绍隐含语义分析技术在推荐系统中的应用。

基本思想

以电影推荐为例,每个用户都有自己喜欢看的电影,比如用户A喜欢含有悬疑、动漫、娱乐元素类型的电影。而如果电影1也带有这些标签,就将该电影推荐给用户A。每个人对不同元素类型的偏好不同,每个电影包含的元素也不同。所以我们用矩阵记录这些数据:用户潜在因子矩阵,电影潜在矩阵。

用户潜在因子矩阵

表示不同用户对于不同元素的偏好程度(数值越大代表越喜欢)。

用户\因子 悬疑 动漫 娱乐
用户A 0.7 0.6 0.1
用户B 0.8 0.4 0.6
用户C 0.5 0.6 0.3

电影潜在因子矩阵

表示每种视频包含各种元素的成分

电影\因子 悬疑 动漫 娱乐
电影1 0.8 0.4 0.2
电影2 0.6 0 0.7
电影3 0.5 0.7 0.6

通过这两个矩阵我们可以计算用户A对电影1的喜欢程度:
0.7 ∗ 0.8 + 0.6 ∗ 0.4 + 0.2 ∗ 0.1 = 0.82 0.7*0.8+0.6*0.4+0.2*0.1 = 0.82 0.70.8+0.60.4+0.20.1=0.82
所以,可以得到下面的用户电影推荐表格

用户\电影 电影1 电影2 电影3
用户A 0.82 0.49 0.83
用户B 0.92 0.9 1.04
用户C 0.76 0.51 0.85

所以,我们给用户A推荐电影3,给用户B、C推荐电影3。

数学原理

上述推荐过程的关键是如何确定潜在因子矩阵。设用户潜在因子矩阵为P, p i j p_{ij} pij表示用户 i i i 对 因子 j j j 的兴趣度,电影潜在因子矩阵为Q, q i j q_{ij} qij表示物品 i i i 对 因子 j j j 的权重,权重越高越能代表该类别。

LFM通过如下公式计算用户u对物品i的兴趣:
P r e f e r e n c e ( u , i ) = P Q T = ∑ k = 1 k p u k q i k Preference(u,i) = P Q^T = \sum_{k=1}^k p_{uk} q_{ik} Preference(u,i)=PQT=

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值