深度学习和自然语言处理的应用和脉络4-隐语义模型SVD,PLSA,LDA,LFM-推荐系统

隐语义模型LFM和LSI,LDA,Topic Model其实都属于隐含语义分析技术,是一类概念,他们在本质上是相通的,都是找出潜在的主题或分类。这些技术一开始都是在文本挖掘领域中提出来的,近些年它们也被不断应用到其他领域中,并得到了不错的应用效果。比如,在推荐系统中它能够基于用户的行为对item进行自动聚类,也就是把item划分到不同类别/主题,这些主题/类别可以理解为用户的兴趣。


SVD:奇异值分解,一般用于降维度。

PLSA:由于超大矩阵的SVD计算很复杂,所以使用概率版本的PLSA。使用EM求解。

LDA:高级版本的PLSA。

LFM:Latent factor mode

LFM具体求解公式。


其中 Pu,k 是 分解后左边的矩阵中的元素。Qi,k 是分解后右边矩阵的元素。Rui是已经评分的元素。后面的两项是正则化项。这样就形成了目标函数。使用梯度下降法求解。这样就可以求解 每一个合适的 Qi,k Rui ,使用最后的乘积就可以求解整个原始矩阵。

PLSA,LDA 参考 http://blog.csdn.net/pipisorry/article/details/42560693

LFM  参考:http://blog.csdn.net/litoupu/article/details/16944359


推荐系统技术架构:

1 首先给基于评分矩阵,或者系统过滤。经过排序,给出大约小于100个的粗推荐结果。(粗推荐)

2 然后拿到用户画像和商品画像,进行进一步的计算。比如  xgboost 。(精推荐)

    



  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,针对这个问题,我可以为你提供一些关于Python电影推荐系统和协同过滤算法的基本知识和实现方法。 首先,电影推荐系统是一种常见的个性化推荐系统,在电影网站和应用程序中广泛应用。它可以根据用户的历史观看记录、评分、喜好等信息,为用户推荐他们可能会喜欢的电影。 协同过滤算法是电影推荐系统中常用的算法之一。它基于用户对电影的历史打分记录,寻找与当前用户兴趣相似的其他用户或电影,然后根据这些相似用户或电影的评分来预测当前用户对其他电影的评分。协同过滤算法主要分为基于用户的协同过滤和基于物品的协同过滤两种。 Python中有很多电影推荐系统实现库和工具,如Surprise、LightFM、TensorFlow等。其中Surprise是一个基于Python的推荐系统开发框架,支持多种推荐算法,包括协同过滤算法的SVD和NMF。 以下是一些Python实现协同过滤算法的示例代码: 使用Surprise库实现基于SVD的协同过滤算法: ```python from surprise import SVD from surprise import Dataset from surprise import accuracy from surprise.model_selection import train_test_split # 加载数据集 data = Dataset.load_builtin('ml-100k') # 切分数据集 trainset, testset = train_test_split(data, test_size=.25) # 构建模型 algo = SVD() # 训练模型 algo.fit(trainset) # 预测评分 predictions = algo.test(testset) # 计算RMSE误差 accuracy.rmse(predictions) ``` 使用Surprise库实现基于NMF的协同过滤算法: ```python from surprise import NMF from surprise import Dataset from surprise import accuracy from surprise.model_selection import train_test_split # 加载数据集 data = Dataset.load_builtin('ml-100k') # 切分数据集 trainset, testset = train_test_split(data, test_size=.25) # 构建模型 algo = NMF() # 训练模型 algo.fit(trainset) # 预测评分 predictions = algo.test(testset) # 计算RMSE误差 accuracy.rmse(predictions) ``` 以上是一些关于Python电影推荐系统和协同过滤算法的基本知识和实现方法。如果你有其他问题或需要更详细的解答,请随时提出。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值