开源推荐系统Librec中recommender模块算法了解——cf模块

1.      k近邻(k-NearestNeighbor)算法介绍及在推荐系统中的应用

https://zhuanlan.zhihu.com/p/25994179
k近邻(k-NearestNeighbor)算法是一种基本分类和回归方法。分类问题的k近邻法即给定一个训练数据集,对新的输入实例,在训练数据集中找到与该实例最邻近的K个实例,这K个实例的多数属于某个类,就把该输入实例分类到这个类中。(这就相似于现实生活中少数服从多数的思想)
算法注意点:K值选取(太小容易过拟合,过大大大下降预测准确率),特征归一化。html

https://www.jianshu.com/p/33dbf9906ff2
KNN算法步骤为:
一、计算测试对象到训练集中每一个对象的距离
二、按照距离的远近排序
三、选取与当前测试对象最近的k的训练对象,做为该测试对象的邻居
四、统计这k个邻居的类别频率
五、k个邻居里频率最高的类别,即为测试对象的类别算法

KNN监督学习的过程
一、归一化数据样本集
二、划分样本集为训练集和测试集
三、以训练集为算法参考系,测试集来测试算法
四、计算预测样品标签和真实样品标签的比值来评估算法的准确率
五、调节不一样的参数找到最优算法参数框架

KNN算法的优缺点
一、优势很是简单的分类算法没有之一,人性化,易于理解,易于实现适合处理多分类问题,好比推荐用户
二、缺点属于懒惰算法,时间复杂度较高,由于须要计算未知样本到全部已知样本的距离样本平衡度依赖高,当出现极端状况样本不平衡时,分类绝对会出现误差可解释性差,没法给出相似决策树那样的规则向量的维度越高,欧式距离的区分能力就越弱。机器学习

cf模块里相关算法:学习

ItemKNNRecommenderUserKNNRecommender测试

 

2.      矩阵分解技术在推荐系统中的应用及相关算法

论文:2009-Matrix Factorization Techniques for Recommender Systems优化

可参考文章:https://zhuanlan.zhihu.com/p/27502172spa

cf模块里相关算法:
BiasedMFRecommender:添加了用户物品偏置项的矩阵分解模型。.net

SVDPlusPlusRecommender:SVD++模型:加了用户项目偏置项,和用户的隐式反馈信息的改进的BiasSVD模型。3d

PMFRecommender

 算法相关论文:
2008-Probabilistic Matrix Factorization
Improving regularized singular value decomposition for collaborative filtering

可参考文章: https://blog.csdn.net/shenxiaolu1984/article/details/50372909
利用代数中SVD方法对矩阵进行分解。奇异值分解首先须要对评分矩阵进行补全,好比用全局平均值或用户、物品平均值进行补全。而后对补全以后的矩阵进行SVD分解从而将高维评分矩阵分解成低维的U,I矩阵。可是这种方法有两个问题:一是补全后的矩阵是一个稠密矩阵,存储须要很大空间。二是SVD计算复杂度很高。

 

BPMFRecommender
算法相关论文:
Bayesian Probabilistic Matrix Factorization using Markov Chain Monte Carlo

BPMF(Bayesian Probabilistic Matrix Factorization)算法可参考文章 https://blog.csdn.net/shenxiaolu1984/article/details/50405659

MF PMF BPMF算法理解可参考文章 : http://www.javashuo.com/article/p-cooqtrdz-nr.html
PMF是从几率生成过程的角度来解释user和item的隐式特征矩阵,SVD是从优化目标出发,如何肯定user和item的隐式特征矩阵会使得损失最少。

 

3.      基于排序学习的推荐方法中Pair-wise在推荐系统中的应用及相关算法

基于排序学习的推荐方法主要分为三大类,分别是Point-wise,Pair-wise和List-wise(对三种排序方法的介绍):
http://www.cnblogs.com/kemaswill/archive/2013/06/01/3109497.html
http://baogege.info/2014/10/19/learning-to-rank-for-recommender-system/

 

Pairwise类算法的一种:Bayesian Personalized Ranking (BPR)
BPR是基于矩阵分解的一种排序算法,可是和funkSVD之类的算法比,它不是作全局的评分优化,而是针对每个用户本身的商品喜爱分别作排序优化。所以在迭代优化的思路上彻底不一样。同时对于训练集的要求也是不同的,funkSVD只须要用户物品对应评分数据二元组作训练集,而BPR则须要用户对商品的喜爱排序三元组作训练集。


BPRRecommender
相关论文:Bayesian Personalized Ranking from Implicit Feedback
BPR算法介绍:http://www.javashuo.com/article/p-vqbbgbiz-gz.html

AoBPRRecommender

相关论文:
Improving Pairwise Learning for Item Recommendation from Implicit Feedback
均匀采样策略下,经过随机梯度降低方法求解时,会出现梯度消失的问题->融合内容信息的适应性采样策略对BPR算法的改进。Pairwise适用场景:以隐式反馈类型为主的推荐系统,须要从大堆东西里挑选出感兴趣的一小堆东西的有序集。

4.      主题模型在推荐系统里的应用和相关算法

wikipedia:
主题模型(Topic Model)在机器学习和天然语言处理等领域是用来在一系列文档中发现抽象主题的一种统计模型。直观来说,若是一篇文章有一个中心思想,那么一些特定词语会更频繁的出现。比方说,若是一篇文章是在讲狗的,那“狗”和“骨头”等词出现的频率会高些。若是一篇文章是在讲猫的,那“猫”和“鱼”等词出现的频率会高些。而有些词例如“这个”、“和”大概在两篇文章中出现的频率会大体相等。但真实的状况是,一篇文章一般包含多种主题,并且每一个主题所占比例各不相同。所以,若是一篇文章10%和猫有关,90%和狗有关,那么和狗相关的关键字出现的次数大概会是和猫相关的关键字出现次数的9倍。一个主题模型试图用数学框架来体现文档的这种特色。主题模型自动分析每一个文档,统计文档内的词语,根据统计的信息来判定当前文档含有哪些主题,以及每一个主题所占的比例各为多少。主题模型最初是运用于天然语言处理相关方向,但目前已经延伸至例如生物信息学的其它领域。

PLSARecommender
相关论文:
Latent semantic models for collaborative filtering


LDARecommender
相关论文:
Latent Dirichlet Allocation
Gibbs sampling in the generative model of Latent Dirichlet Allocation

LDA运用于推荐系统时:
users被当作为documents
items被当作为words
latent factors被当作为topics

维基百科LDA解释:
隐含狄利克雷分布(英语:Latent Dirichlet allocation,简称LDA),是一种主题模型,它能够将文档集中每篇文档的主题按照几率分布的形式给出。同时它是一种无监督学习算法,在训练时不须要手工标注的训练集,须要的仅仅是文档集以及指定主题的数量k便可。此外LDA的另外一个优势则是,对于每个主题都可找出一些词语来描述它。LDA首先由Blei, David M.、吴恩达和Jordan, Michael I于2003年提出(论文连接:http://jmlr.csail.mit.edu/papers/v3/blei03a.html),目前在文本挖掘领域包括文本主题识别、文本分类以及文本类似度计算方面都有应用。

理解能够参考:
理顺主题模型LDA及在推荐系统中的应用 https://blog.csdn.net/leiting_imecas/article/details/68961205,该篇文章中指出了pLSA与LDA两种模型的区别。

算法求解:
最初:EM算法(Expectation-maximization algorithm)
后来:较为简单的Gibbs Sampling算法

 

URPRecommender

一个用于评分预测类推荐算法的LDA模型,treat items as documents and ratings as words
相关论文:

Modeling user rating profiles for collaborative filteringhttps://ieeexplore.ieee.org/document/5992572:Regularized Gibbs Sampling for User Profiling with Soft Constraints基于改进URP模型和K近邻的推荐研究

相关文章
相关标签/搜索