当前位置:首页 » 操作系统 » 基于模型的推荐算法

基于模型的推荐算法

发布时间: 2022-05-31 03:14:05

❶ 3分钟轻松了解个性化推荐算法

推荐这种体验除了电商网站,还有新闻推荐、电台音乐推荐、搜索相关内容及广告推荐,基于数据的个性化推荐也越来越普遍了。今天就针对场景来说说这些不同的个性化推荐算法吧。
说个性化之前,先提一下非个性化。 非个性化的推荐也是很常见的,毕竟人嘛都有从众心理,总想知道大家都在看什么。非个性化推荐的方式主要就是以比较单一的维度加上半衰期去看全局排名,比如,30天内点击排名,一周热门排名。

但是只靠非个性化推荐有个弊端,就是马太效应,点的人越多的,经过推荐点得人有更多。。。强者越强,弱者机会越少就越弱,可能导致两级分化严重,一些比较优质素材就被埋没了。

所以,为了解决一部分马太效应的问题,也主要是顺应数据化和自动化的模式,就需要增加个性化的推荐(可算说到正题了。。。)个性化的优点是不仅体验好,而且也大大增加了效率,让你更快找到你感兴趣的东西。YouTube也曾做过实验测试个性化和非个性化的效果,最终结果显示个性化推荐的点击率是同期热门视频的两倍。

1.新闻、视频、资讯和电台(基于内容推荐)

一般来说,如果是推荐资讯类的都会采用基于内容的推荐,甚至早期的邮件过滤也采用这种方式。

基于内容的推荐方法就是根据用户过去的行为记录来向用户推荐相似额推荐品。简单来说就是你常常浏览科技新闻,那就更多的给你推荐科技类的新闻。

复杂来说,根据行为设计权重,根据不同维度属性区分推荐品都是麻烦的事,常用的判断用户可能会喜欢推荐品程度的余弦向量公式长这样,我就不解释了(已经勾起了我关于高数不好的回忆)。。。

但是,这种算法缺点是由于内容高度匹配,导致推荐结果的惊喜度较差,而且有冷启动的问题,对新用户不能提供可靠的推荐结果。并且,只有维度增加才能增加推荐的精度,但是维度一旦增加计算量也成指数型增长。如果是非实体的推荐品,定义风格也不是一件容易的事,同一个作者的文风和曲风也会发生改变。

2.电商零售类(协同过滤推荐和关联规则推荐)

说电商推荐那不可能不讲到亚马逊,传言亚马逊有三成的销售额都来自个性化的商品推荐系统。实际上,我自己也常常在这里找到喜欢的书,也愿意主动的去看他到底给我推荐了什么。

一般,电商主流推荐算法是基于一个这样的假设,“跟你喜好相似的人喜欢的东西你也很有可能喜欢。”即协同过滤过滤算法。主要的任务就是找出和你品味最相近的用户,从而根据最近他的喜好预测你也可能喜欢什么。

这种方法可以推荐一些内容上差异较大但是又是用户感兴趣的物品,很好的支持用户发现潜在的兴趣偏好。也不需要领域知识,并且随着时间推移性能提高。但是也存在无法向新用户推荐的问题,系统刚刚开始时推荐质可能较量差。

电商行业也常常会使用到基于关联规则的推荐。即以关联规则为基础,把已购商品作为规则头,规则体为推荐对象。比如,你购买了羽毛球拍,那我相应的会向你推荐羽毛球周边用品。关联规则挖掘可以发现不同商品在销售过程中的相关性,在零售业中已经得到了成功的应用。

3.广告行业(基于知识推荐)

自从可以浏览器读取cookies,甚至获得年龄属性等信息,广告的个性化投放就也可以根据不同场景使用了。

当用户的行为数据较少时,基于知识的推荐可以帮助我们解决这类问题。用户必须指定需求,然后系统设法给出解决方式。假设,你的广告需要指定某地区某年龄段的投放,系统就根据这条规则进行计算。基于知识的推荐在某种程度是可以看成是一种推理技术。这种方法不需要用户行为数据就能推荐,所以不存在冷启动问题。推荐结果主要依赖两种形式,基于约束推荐和基于实例推荐。

4.组合推荐

由于各种推荐方法都有优缺点,所以在实际中,并不像上文讲的那样采用单一的方法进行建模和推荐(我真的只是为了解释清楚算法)。。。

在组合方式上,也有多种思路:加权、变换、混合、特征组合、层叠、特征扩充、元级别。 并且,为了解决冷启动的问题,还会相应的增加补足策略,比如根据用户模型的数据,结合挖掘的各种榜单进行补足,如全局热门、分类热门等。 还有一些开放性的问题,比如,需不需要帮助用户有品味的提升,引导人去更好的生活。

最后,我总想,最好的推荐效果是像一个了解你的朋友一样跟你推荐,因为他知道你喜欢什么,最近对什么感兴趣,也总能发现一些有趣的新东西。这让我想到有一些朋友总会兴致勃勃的过来说,嘿,给你推荐个东西,你肯定喜欢,光是听到这句话我好像就开心起来,也许这就是我喜欢这个功能的原因。

❷ 基于内容的推荐算法给每个人建立模型么

1、为每个物品(Item)构建一个物品的属性资料(Item Profile)
2、为每个用户(User)构建一个用户的喜好资料(User Profile)
3、计算用户喜好资料与物品属性资料的相似度,相似度高意味着用户可能喜欢这个物品,相似度低往往意味着用户不喜欢这个物品。
选择一个想要推荐的用户“U”,针对用户U遍历一遍物品集合,计算出每个物品与用户U的相似度,选出相似度最高的k个物品,将他们推荐给用户U——大功告成!
下面将详细介绍一下Item Profiles和User Profiles。

❸ 推荐算法中有哪些常用排序算法

外排序、内排序、插入类排序、直接插入排序、希尔排序、选择类排序。

推荐算法是计算机专业中的一种算法,通过一些数学算法,推测出用户可能喜欢的东西,应用推荐算法比较好的地方主要是网络。所谓推荐算法就是利用用户的一些行为,通过一些数学算法,推测出用户可能喜欢的东西。

在基于内容的推荐系统中,项目或对象是通过相关特征的属性来定义的,系统基于用户评价对象的特征、学习用户的兴趣,考察用户资料与待预测项目的匹配程度。用户的资料模型取决于所用的学习方法,常用的有决策树、神经网络和基于向量的表示方法等。基于内容的用户资料需要有用户的历史数据,用户资料模型可能随着用户的偏好改变而发生变化。

基于内容的推荐与基于人口统计学的推荐有类似的地方,只不过系统评估的中心转到了物品本身,使用物品本身的相似度而不是用户的相似度来进行推荐。



❹ 什么叫基于模型的推荐算法

模型是一个或者一系列的数学表达式,用来描述所要解决的问题。算法是解决这个模型,也就是这些表达式的具体过程,常常结合编程解决。

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

矩阵分解在协同过滤推荐算法中的应用
推荐系统是当下越来越热的一个研究问题,无论在学术界还是在工业界都有很多优秀的人才参与其中。近几年举办的推荐系统比赛更是一次又一次地把推荐系统的研究推向了高潮,比如几年前的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取值最小。但矩阵分解有其弱点,就是解释性差,不能很好为推荐结果做出解释。
后面会继续介绍矩阵分解算法的扩展性问题,就是如何加入隐反馈信息,加入时间信息等。

❻ 推荐算法的基于效用推荐

基于效用的推荐(Utility-based Recommendation)是建立在对用户使用项目的效用情况上计算的,其核心问题是怎么样为每一个用户去创建一个效用函数,因此,用户资料模型很大程度上是由系统所采用的效用函数决定的。基于效用推荐的好处是它能把非产品的属性,如提供商的可靠性(Vendor Reliability)和产品的可得性(Proct Availability)等考虑到效用计算中。

❼ 推荐算法的组合推荐

由于各种推荐方法都有优缺点,所以在实际中,组合推荐(Hybrid
Recommendation)经常被采用。研究和应用最多的是内容推荐和协同过滤推荐的组合。最简单的做法就是分别用基于内容的方法和协同过滤推荐方法去产生一个推荐预测结果,然后用某方法组合其结果。尽管从理论上有很多种推荐组合方法,但在某一具体问题中并不见得都有效,组合推荐一个最重要原则就是通过组合后要能避免或弥补各自推荐技术的弱点。
在组合方式上,有研究人员提出了七种组合思路:1)加权(Weight):加权多种推荐技术结果。2)变换(Switch):根据问题背景和实际情况或要求决定变换采用不同的推荐技术。3)混合(Mixed):同时采用多种推荐技术给出多种推荐结果为用户提供参考。4)特征组合(Feature
combination):组合来自不同推荐数据源的特征被另一种推荐算法所采用。5)层叠(Cascade):先用一种推荐技术产生一种粗糙的推荐结果,第二种推荐技术在此推荐结果的基础上进一步作出更精确的推荐。6)特征扩充(Feature
augmentation):一种技术产生附加的特征信息嵌入到另一种推荐技术的特征输入中。7)元级别(Meta-level):用一种推荐方法产生的模型作为另一种推荐方法的输入。

❽ 简要智能阅读中智能推荐的技术原理

智能推荐算法总的来说分为两种:基于内容的推荐算法和协同过滤推荐算法。

基于内容的推荐算法:

根据内容的相似度(静态的东西)进行推荐,内容不好提取的可以采取贴标签的形式来区分计算内容的相似程度。然后根据用户的喜好设置,关注等进行相似内容推荐。

协同过滤推荐算法:

根据动态信息来进行推荐,即推荐的过程是自动的,推荐结果的产生是系统从用户的购买行为或浏览记录等隐式信息拿到的,无需用户通过填表格等方式来明确自己的喜好。因为这些数据都是要读到内存中进行运算的,所以又叫基于内存的协同过滤(Memory-based Collaborative Filtering),另一种协同过滤算法则是基于模型的协同过滤(Model-based Collaborative Filtering);m个物品,m个用户的数据,只有部分用户和部分数据之间是有评分数据的,其它部分评分是空白,此时我们要用已有的部分稀疏数据来预测那些空白的物品和数据之间的评分关系,找到最高评分的物品推荐给用户。对于这个问题,用机器学习的思想来建模解决,主流的方法可以分为:用关联算法,聚类算法,分类算法,回归算法,矩阵分解,神经网络,图模型以及隐语义模型来解决。

(https://www.cnblogs.com/chenliyang/p/6548306.html)

而基于内存的协同过滤又有两种:

  • 基于user的协同过滤(用户相似度):通过相似用户的喜好来推荐

  • 基于item的协同过滤(内容相似度):通过用户对项目的不同评分推荐可能让用户打高评分的项目,是项目之间的相似度。

  • 任何一种单一推荐算法都有缺点,我们在实际项目中,可以采用混合推荐算法,融合以上方法,通过串联并联等融合,构造出自己的一套推荐体系。

❾ 运用分类算法或推荐算法从海量简历中挖掘出有效的候选对象

摘要 .推荐系统的主要算法[1]

热点内容
linux修改保存文件 发布:2024-05-19 17:30:38 浏览:665
网络有你脚本 发布:2024-05-19 17:29:55 浏览:769
黎明我的世界服务器 发布:2024-05-19 17:17:34 浏览:538
雷神g50如何设置安卓原生模式 发布:2024-05-19 16:50:04 浏览:120
c语言小数四舍五入 发布:2024-05-19 16:23:28 浏览:525
数据库被注入攻击 发布:2024-05-19 16:21:31 浏览:835
微信忘记密码从哪里看 发布:2024-05-19 16:06:37 浏览:33
宝马x4贷款买哪个配置好 发布:2024-05-19 15:56:03 浏览:23
微控pid算法 发布:2024-05-19 15:46:31 浏览:136
云盘视频解压密码 发布:2024-05-19 15:23:17 浏览:848