导航:首页 > 源码编译 > 推荐系统会用到哪些算法

推荐系统会用到哪些算法

发布时间:2022-07-12 05:44:28

A. 推荐系统中用到的热传导算法和物质扩散是怎么用的

常常用二部图来表示用户和物品之间的关系:
把用户(Users)看成一类,把物品(Objects)看作另一类。当某个用户购买过某个商品时,他们之间会存在一条连边。
而同一类点之间不存在连边,即用户与用户之间,商品与商品之间不存在连边,类似于这样组成的网络就称为二部图。电子商务中的商品推荐,可以看做是二部图上的链路挖掘问题,而扩散过程可以用来寻找网络中两个节点之间的关联强度。

B. 推荐算法有哪些

推荐算法大致可以分为三类:基于内容的推荐算法、协同过滤推荐算法和基于知识的推荐算法。 基于内容的推荐算法,原理是用户喜欢和自己关注过的Item在内容上类似的Item,比如你看了哈利波特I,基于内容的推荐算法发现哈利波特II-VI,与你以前观看的在内容上面(共有很多关键词)有很大关联性,就把后者推荐给你,这种方法可以避免Item的冷启动问题(冷启动:如果一个Item从没有被关注过,其他推荐算法则很少会去推荐,但是基于内容的推荐算法可以分析Item之间的关系,实现推荐),弊端在于推荐的Item可能会重复,典型的就是新闻推荐,如果你看了一则关于MH370的新闻,很可能推荐的新闻和你浏览过的,内容一致;另外一个弊端则是对于一些多媒体的推荐(比如音乐、电影、图片等)由于很难提内容特征,则很难进行推荐,一种解决方式则是人工给这些Item打标签。 协同过滤算法,原理是用户喜欢那些具有相似兴趣的用户喜欢过的商品,比如你的朋友喜欢电影哈利波特I,那么就会推荐给你,这是最简单的基于用户的协同过滤算法(user-based collaboratIve filtering),还有一种是基于Item的协同过滤算法(item-based collaborative filtering),这两种方法都是将用户的所有数据读入到内存中进行运算的,因此成为Memory-based Collaborative Filtering,另一种则是Model-based collaborative filtering,包括Aspect Model,pLSA,LDA,聚类,SVD,Matrix Factorization等,这种方法训练过程比较长,但是训练完成后,推荐过程比较快。 最后一种方法是基于知识的推荐算法,也有人将这种方法归为基于内容的推荐,这种方法比较典型的是构建领域本体,或者是建立一定的规则,进行推荐。 混合推荐算法,则会融合以上方法,以加权或者串联、并联等方式尽心融合。 当然,推荐系统还包括很多方法,其实机器学习或者数据挖掘里面的方法,很多都可以应用在推荐系统中,比如说LR、GBDT、RF(这三种方法在一些电商推荐里面经常用到),社交网络里面的图结构等,都可以说是推荐方法。

C. 主流的推荐系统使用的算法有哪些

SYBASE DB2 ORACLE MySQL ACCESS VF Foxpro MS SQL Server Informix PostgreSQL

D. 个性化推荐算法——协同过滤

电子商务推荐系统的一种主要算法。
协同过滤推荐(Collaborative Filtering recommendation)是在信息过滤和信息系统中正迅速成为一项很受欢迎的技术。与传统的基于内容过滤直接分析内容进行推荐不同,协同过滤分析用户兴趣,在用户群中找到指定用户的相似(兴趣)用户,综合这些相似用户对某一信息的评价,形成系统对该指定用户对此信息的喜好程度预测。
与传统文本过滤相比,协同过滤有下列优点:
(1)能够过滤难以进行机器自动基于内容分析的信息。如艺术品、音乐;
(2)能够基于一些复杂的,难以表达的概念(信息质量、品位)进行过滤;
(3)推荐的新颖性。
正因为如此,协同过滤在商业应用上也取得了不错的成绩。Amazon,CDNow,MovieFinder,都采用了协同过滤的技术来提高服务质量。
缺点是:
(1)用户对商品的评价非常稀疏,这样基于用户的评价所得到的用户间的相似性可能不准确(即稀疏性问题);
(2)随着用户和商品的增多,系统的性能会越来越低;
(3)如果从来没有用户对某一商品加以评价,则这个商品就不可能被推荐(即最初评价问题)。
因此,现在的电子商务推荐系统都采用了几种技术相结合的推荐技术。
案例: AMAZON 个性化推荐系统先驱 (基于协同过滤)
AMAZON是一个虚拟的网上书店,它没有自己的店面,而是在网上进行在线销售. 它提供了高质量的综合节目数据库和检索系统,用户可以在网上查询有关图书的信息.如果用户需要购买的化,可以把选择的书放在虚拟购书篮中,最后查看购书篮中的商品,选择合适的服务方式并且提交订单,这样读者所选购的书在几天后就可以送到家.
AMAZON书店还提供先进的个性化推荐功能,能为不同兴趣偏好的用户自动推荐符合其兴趣需要的书籍. AMAZON使用推荐软件对读者曾经购买过的书以及该读者对其他书的评价进行分析后,将向读者推荐他可能喜欢的新书,只要鼠标点一下,就可以买到该书了;AMAZON能对顾客购买过的东西进行自动分析,然后因人而异的提出合适的建议. 读者的信息将被再次保存.这样顾客下次来时就能更容易的买到想要的书. 此外,完善的售后服务也是AMAZON的优势,读者可以在拿到书籍的30天内,将完好无损的书和音乐光盘退回AMAZON, AMAZON将原价退款. 当然AMAZON的成功还不止于此, 如果一位顾客在AMAZON购买一本书,下次他再次访问时,映入眼帘的首先是这位顾客的名字和欢迎的字样.

E. 算法推荐服务是什么

算法推荐服务是:在本质上,算法是“以数学方式或者计算机代码表达的意见”。其中,推荐系统服务就是一个信息过滤系统,帮助用户减少因浏览大量无效数据而造成的时间、精力浪费。

并且在早期的研究提出了通过信息检索和过滤的方式来解决这个问题。到了上世纪90年代中期,研究者开始通过预测用户对推荐的物品、内容或服务的评分,试图解决信息过载问题。推荐系统由此也作为独立研究领域出现了。

用算法推荐技术是指:应用算法推荐技术,是指利用生成合成类、个性化推送类、排序精选类、检索过滤类、调度决策类等算法技术向用户提供信息。

基于内容的推荐方法:根据项的相关信息(描述信息、标签等)、用户相关信息及用户对项的操作行为(评论、收藏、点赞、观看、浏览、点击等),来构建推荐算法模型。

是否推荐算法服务会导致信息窄化的问题:

推荐技术并不是单纯地“投其所好”。在一些专家看来,在推荐已知的用户感兴趣内容基础上,如果能深入激发、满足用户的潜在需求,那么算法就能更好地满足人对信息的多维度诉求。

在外界的印象里,个性化推荐就像漏斗一样,会将推荐内容与用户相匹配,倾向于向用户推荐高度符合其偏好的内容,致使推荐的内容越来越窄化。

但与外界的固有认知相反,《报告》认为在行业实践中,互联网应用(特别是位于头部的大型平台)有追求算法多样性的内在动力。

在对行业内代表性应用的数据分析后,《报告》发现,阅读内容的类型数量是否够多、所阅读内容类型的分散程度是否够高,与用户是否能长期留存关联密切,呈正相关。上述两项指标对用户长期留存的作用,可以与信息的展现总量、用户的停留时长、用户阅读量等指标的影响相媲美。

F. 推荐系统的主要推荐方法

基于内容的推荐(Content-based Recommendation)是信息过滤技术的延续与发展,它是建立在项目的内容信息上作出推荐的,而不需要依据用户对项目的评价意见,更多地需要用机 器学习的方法从关于内容的特征描述的事例中得到用户的兴趣资料。在基于内容的推荐系统中,项目或对象是通过相关的特征的属性来定义,系统基于用户评价对象 的特征,学习用户的兴趣,考察用户资料与待预测项目的相匹配程度。用户的资料模型取决于所用学习方法,常用的有决策树、神经网络和基于向量的表示方法等。 基于内容的用户资料是需要有用户的历史数据,用户资料模型可能随着用户的偏好改变而发生变化。
基于内容推荐方法的优点是:1)不需要其它用户的数据,没有冷开始问题和稀疏问题。2)能为具有特殊兴趣爱好的用户进行推荐。3)能推荐新的或不是很流行的项目,没有新项目问题。4)通过列出推荐项目的内容特征,可以解释为什么推荐那些项目。5)已有比较好的技术,如关于分类学习方面的技术已相当成熟。
缺点是要求内容能容易抽取成有意义的特征,要求特征内容有良好的结构性,并且用户的口味必须能够用内容特征形式来表达,不能显式地得到其它用户的判断情况。 协同过滤推荐 (Collaborative Filtering Recommendation)技术是推荐系统中应用最早和最为成功的技术之一。它一般采用最近邻技术,利用用户的历史喜好信息计算用户之间的距离,然后 利用目标用户的最近邻居用户对商品评价的加权评价值来预测目标用户对特定商品的喜好程度,系统从而根据这一喜好程度来对目标用户进行推荐。协同过滤最大优 点是对推荐对象没有特殊的要求,能处理非结构化的复杂对象,如音乐、电影。
协同过滤是基于这样的假设:为一用户找到他真正感兴趣的内容的好方法是首先找到与此用户有相似兴趣的其他用户,然后将他们感兴趣的内容推荐给此用 户。其基本思想非常易于理解,在日常生活中,我们往往会利用好朋友的推荐来进行一些选择。协同过滤正是把这一思想运用到电子商务推荐系统中来,基于其他用 户对某一内容的评价来向目标用户进行推荐。
基于协同过滤的推荐系统可以说是从用户的角度来进行相应推荐的,而且是自动的即用户获得的推荐是系统从购买模式或浏览行为等隐式获得的,不需要用户努力地找到适合自己兴趣的推荐信息,如填写一些调查表格等。
和基于内容的过滤方法相比,协同过滤具有如下的优点:1) 能够过滤难以进行机器自动内容分析的信息,如艺术品,音乐等。2) 共享其他人的经验,避免了内容分析的不完全和不精确,并且能够基于一些复杂的,难以表述的概念(如信息质量、个人品味)进行过滤。3) 有推荐新信息的能力。可以发现内容上完全不相似的信息,用户对推荐信息的内容事先是预料不到的。这也是协同过滤和基于内容的过滤一个较大的差别,基于内容的过滤推荐很多都是用户本来就熟悉的内容,而协同过滤可以发现用户潜在的但自己尚未发现的兴趣偏好。4) 能够有效的使用其他相似用户的反馈信息,较少用户的反馈量,加快个性化学习的速度。
虽然协同过滤作为一种典型的推荐技术有其相当的应用,但协同过滤仍有许多的问题需要解决。最典型的问题有稀疏问题(Sparsity)和可扩展问题(Scalability)。 基于关联规则的推荐 (Association Rule-based Recommendation)是以关联规则为基础,把已购商品作为规则头,规则体为推荐对象。关联规则挖掘可以发现不同商品在销售过程中的相关性,在零 售业中已经得到了成功的应用。管理规则就是在一个交易数据库中统计购买了商品集X的交易中有多大比例的交易同时购买了商品集Y,其直观的意义就是用户在购 买某些商品的时候有多大倾向去购买另外一些商品。比如购买牛奶的同时很多人会同时购买面包。
算法的第一步关联规则的发现最为关键且最耗时,是算法的瓶颈,但可以离线进行。其次,商品名称的同义性问题也是关联规则的一个难点。 由于各种推荐方法都有优缺点,所以在实际中,组合推荐(Hybrid Recommendation)经常被采用。研究和应用最多的是内容推荐和协同过滤推荐的组合。最简单的做法就是分别用基于内容的方法和协同过滤推荐方法 去产生一个推荐预测结果,然后用某方法组合其结果。尽管从理论上有很多种推荐组合方法,但在某一具体问题中并不见得都有效,组合推荐一个最重要原则就是通 过组合后要能避免或弥补各自推荐技术的弱点。
在组合方式上,有研究人员提出了七种组合思路:1)加权(Weight):加权多种推荐技术结果。2)变换(Switch):根据问题背景和实际情况或要求决定变换采用不同的推荐技术。3)混合(Mixed):同时采用多种推荐技术给出多种推荐结果为用户提供参考。4)特征组合(Feature combination):组合来自不同推荐数据源的特征被另一种推荐算法所采用。5)层叠(Cascade):先用一种推荐技术产生一种粗糙的推荐结果,第二种推荐技术在此推荐结果的基础上进一步作出更精确的推荐。6)特征扩充(Feature augmentation):一种技术产生附加的特征信息嵌入到另一种推荐技术的特征输入中。7)元级别(Meta-level):用一种推荐方法产生的模型作为另一种推荐方法的输入。

G. 矩阵分解在协同过滤推荐算法中的应用

矩阵分解在协同过滤推荐算法中的应用
推荐系统是当下越来越热的一个研究问题,无论在学术界还是在工业界都有很多优秀的人才参与其中。近几年举办的推荐系统比赛更是一次又一次地把推荐系统的研究推向了高潮,比如几年前的Neflix百万大奖赛,KDD CUP 2011的音乐推荐比赛,去年的网络电影推荐竞赛,还有最近的阿里巴巴大数据竞赛。这些比赛对推荐系统的发展都起到了很大的推动作用,使我们有机会接触到真实的工业界数据。我们利用这些数据可以更好地学习掌握推荐系统,这些数据网上很多,大家可以到网上下载。
推荐系统在工业领域中取得了巨大的成功,尤其是在电子商务中。很多电子商务网站利用推荐系统来提高销售收入,推荐系统为Amazon网站每年带来30%的销售收入。推荐系统在不同网站上应用的方式不同,这个不是本文的重点,如果感兴趣可以阅读《推荐系统实践》(人民邮电出版社,项亮)第一章内容。下面进入主题。
为了方便介绍,假设推荐系统中有用户集合有6个用户,即U={u1,u2,u3,u4,u5,u6},项目(物品)集合有7个项目,即V={v1,v2,v3,v4,v5,v6,v7},用户对项目的评分结合为R,用户对项目的评分范围是[0, 5]。R具体表示如下:

推荐系统的目标就是预测出符号“?”对应位置的分值。推荐系统基于这样一个假设:用户对项目的打分越高,表明用户越喜欢。因此,预测出用户对未评分项目的评分后,根据分值大小排序,把分值高的项目推荐给用户。怎么预测这些评分呢,方法大体上可以分为基于内容的推荐、协同过滤推荐和混合推荐三类,协同过滤算法进一步划分又可分为基于基于内存的推荐(memory-based)和基于模型的推荐(model-based),本文介绍的矩阵分解算法属于基于模型的推荐。
矩阵分解算法的数学理论基础是矩阵的行列变换。在《线性代数》中,我们知道矩阵A进行行变换相当于A左乘一个矩阵,矩阵A进行列变换等价于矩阵A右乘一个矩阵,因此矩阵A可以表示为A=PEQ=PQ(E是标准阵)。
矩阵分解目标就是把用户-项目评分矩阵R分解成用户因子矩阵和项目因子矩阵乘的形式,即R=UV,这里R是n×m, n =6, m =7,U是n×k,V是k×m。直观地表示如下:

高维的用户-项目评分矩阵分解成为两个低维的用户因子矩阵和项目因子矩阵,因此矩阵分解和PCA不同,不是为了降维。用户i对项目j的评分r_ij =innerproct(u_i, v_j),更一般的情况是r_ij =f(U_i, V_j),这里为了介绍方便就是用u_i和v_j内积的形式。下面介绍评估低维矩阵乘积拟合评分矩阵的方法。
首先假设,用户对项目的真实评分和预测评分之间的差服从高斯分布,基于这一假设,可推导出目标函数如下:

最后得到矩阵分解的目标函数如下:

从最终得到得目标函数可以直观地理解,预测的分值就是尽量逼近真实的已知评分值。有了目标函数之后,下面就开始谈优化方法了,通常的优化方法分为两种:交叉最小二乘法(alternative least squares)和随机梯度下降法(stochastic gradient descent)。
首先介绍交叉最小二乘法,之所以交叉最小二乘法能够应用到这个目标函数主要是因为L对U和V都是凸函数。首先分别对用户因子向量和项目因子向量求偏导,令偏导等于0求驻点,具体解法如下:

上面就是用户因子向量和项目因子向量的更新公式,迭代更新公式即可找到可接受的局部最优解。迭代终止的条件下面会讲到。
接下来讲解随机梯度下降法,这个方法应用的最多。大致思想是让变量沿着目标函数负梯度的方向移动,直到移动到极小值点。直观的表示如下:

其实负梯度的负方向,当函数是凸函数时是函数值减小的方向走;当函数是凹函数时是往函数值增大的方向移动。而矩阵分解的目标函数L是凸函数,因此,通过梯度下降法我们能够得到目标函数L的极小值(理想情况是最小值)。
言归正传,通过上面的讲解,我们可以获取梯度下降算法的因子矩阵更新公式,具体如下:

(3)和(4)中的γ指的是步长,也即是学习速率,它是一个超参数,需要调参确定。对于梯度见(1)和(2)。
下面说下迭代终止的条件。迭代终止的条件有很多种,就目前我了解的主要有
1) 设置一个阈值,当L函数值小于阈值时就停止迭代,不常用
2) 设置一个阈值,当前后两次函数值变化绝对值小于阈值时,停止迭代
3) 设置固定迭代次数
另外还有一个问题,当用户-项目评分矩阵R非常稀疏时,就会出现过拟合(overfitting)的问题,过拟合问题的解决方法就是正则化(regularization)。正则化其实就是在目标函数中加上用户因子向量和项目因子向量的二范数,当然也可以加上一范数。至于加上一范数还是二范数要看具体情况,一范数会使很多因子为0,从而减小模型大小,而二范数则不会它只能使因子接近于0,而不能使其为0,关于这个的介绍可参考论文Regression Shrinkage and Selection via the Lasso。引入正则化项后目标函数变为:

(5)中λ_1和λ_2是指正则项的权重,这两个值可以取一样,具体取值也需要根据数据集调参得到。优化方法和前面一样,只是梯度公式需要更新一下。
矩阵分解算法目前在推荐系统中应用非常广泛,对于使用RMSE作为评价指标的系统尤为明显,因为矩阵分解的目标就是使RMSE取值最小。但矩阵分解有其弱点,就是解释性差,不能很好为推荐结果做出解释。
后面会继续介绍矩阵分解算法的扩展性问题,就是如何加入隐反馈信息,加入时间信息等。

H. 推荐系统算法

基 于内容的推荐(Content-based Recommendation)是信息过滤技术的延续与发展,它是建立在项目的内容信息上作出推荐的,而不需要依据用户对项目的评价意见,更多地需要用机 器学习的方法从关于内容的特征描述的事例中得到用户的兴趣资料。
在基于内容的推荐系统中,项目或对象是通过相关的特征的属性来定义,系统基于用户评价对象 的特征,学习用户的兴趣,考察用户资料与待预测项目的相匹配程度。用户的资料模型取决于所用学习方法,常用的有决策树、神经网络和基于向量的表示方法等。 基于内容的用户资料是需要有用户的历史数据,用户资料模型可能随着用户的偏好改变而发生变化。

I. 根据用户最近的浏览习惯和喜好,给用户推荐相关信息,即“推荐系统”,试论述其基本原理

根据用户习惯推荐信息,首先你需要由相关的算法,能够分析用户日常浏览搜索阅读行为和关键词。然后进行信息匹配和对比,根据相应推荐频率、推荐形式推荐方法,给用户定时定点发送消息。这就是推荐系统的基本原理。

J. Amazon推荐系统是如何做到的

亚马逊使用了哪些信息进行推荐:

1)当前浏览品类

2)与当前商品经常一同购买的商品

3)用户最近浏览记录

4)用户浏览历史(长期)中的商品

5)用户浏览历史(长期)相关的商品

6)购买相同商品的其它用户购买的物品

7)已购商品的新版本

8)用户购买历史(如近期购买商品的互补品)

9)畅销商品

2、推荐系统模型:U x S → R

1)U是用户矩阵

2)S是物品矩阵

3)R是用户对物品的喜爱程度,推荐系统就是基于现有的信息填补R矩阵

3、常用推荐算法

1)基于内容:易实现,效果好,但是如何获得一个物品的内容、相似度如何定义等有些情况下会较难把握

2)协同过滤:基于物的协同过滤与基于人的协同过滤

3)矩阵分解(SVD):用户-物品评分矩阵A很大且稀疏,将A分解为用户矩阵(用户潜在因子)和物品矩阵(物品潜在因子),目标是这两个矩阵的乘积尽可能接近R。缺点是只利用了评分信息,忽略了用户属性和物品属性

4)因子分解机(FM):将SVD推广到多类潜因子的情况,如分解为 用户、物品、用户性别、用户年龄、物品价格 等多个因子,允许因子之间有相关关系(如下图,方程前半部分是线性回归,后半部分加入了两两因子间关系)

5)深度学习:训练深度神经网络,输入用户id,输出层做softmax,得到对每个物品id的权重

6)机器学习排序

7)探索与利用:先对用户聚类(如分为abcde五类),随机对a中的用户1和b中的用户2推荐电影,如果用户1没点击,2点击了,说明b类用户可能对该电影更感兴趣。

8)集成:对上述多种方法的ensemble

阅读全文

与推荐系统会用到哪些算法相关的资料

热点内容
喷油螺杆制冷压缩机 浏览:578
python员工信息登记表 浏览:376
高中美术pdf 浏览:160
java实现排列 浏览:512
javavector的用法 浏览:981
osi实现加密的三层 浏览:231
大众宝来原厂中控如何安装app 浏览:913
linux内核根文件系统 浏览:242
3d的命令面板不见了 浏览:525
武汉理工大学服务器ip地址 浏览:148
亚马逊云服务器登录 浏览:524
安卓手机如何进行文件处理 浏览:70
mysql执行系统命令 浏览:929
php支持curlhttps 浏览:142
新预算法责任 浏览:443
服务器如何处理5万人同时在线 浏览:250
哈夫曼编码数据压缩 浏览:425
锁定服务器是什么意思 浏览:383
场景检测算法 浏览:616
解压手机软件触屏 浏览:348