深度学习推荐系统类型有哪些?

深度学习推荐系统类型有哪些?,第1张

蓝海大脑深度学习水冷工作站研究人员表示:

虽然有许多推荐算法和技术,但大多数都属于以下广泛类别:协作过滤、内容过滤和上下文过滤。

协作过滤算法根据许多用户的偏好信息(这是协作部分)推荐物品(这是过滤部分)。此方法使用用户偏好行为的相似性,并鉴于用户与物品之间的之前交互,推荐算法便可以学会预测未来交互。这些推荐系统基于用户过去的行为构建模型,例如之前购买的物品或给予这些物品的评分以及其他用户的类似决策。相关理念在于,如果有些人过去也做出过类似的决策和购买,比如**选择,那么他们很有可能会同意未来的其他选择。例如,如果协作过滤推荐系统了解您和另一个用户在**中有着相似的品味,它可能会向您推荐一部其了解的其他用户已经喜欢的**。

相比之下,内容过滤则使用物品的属性或特征(这是内容部分)来推荐类似于用户偏好的其他物品。此方法基于物品和用户特征的相似性,并鉴于用户及其与之交互过的物品的信息(例如,用户的年龄、餐厅的菜系、**的平均评价),来模拟新互动的可能性。例如,如果内容过滤推荐系统了解到您喜欢**《电子情书》和《西雅图夜未眠》,它可能会向您推荐另一部相同类别和/或演员阵容的**,例如《跳火山的人》。

混合推荐系统结合了上述类型系统的优势,以便创建更全面的推荐系统。

上下文过滤包括推荐过程中用户的背景信息。Netflix 在 NVIDIA GTC 大会上提出,将推荐内容框定为上下文序列预测,以便作出更好的推荐。此方法使用一系列上下文用户操作和当前上下文来预测下一个操作的概率。在 Netflix 示例中,鉴于每位用户的序列(用户在观看**时的国家/地区、设备、日期和时间),他们训练出一个模型,来预测用户接下来要观看的内容。

在工业应用中,推荐系统通常可分为两部分,召回和排序。

召回阶段对应的是之前几篇文章所讲的各种推荐算法,比如据 资料 所载,Spotify至少使用了三种算法来生成其广受赞誉的Discover Weekly歌单,包括:

这些算法各有特点,音频分析显然可以用于解决冷启动问题,NLP处理音乐评论更是可以学得专业人士的领域知识,它们各自独立运行给出自己的结果,由于独立,算法数目可增可减,亦可各自独立迭代变化。

这个过程会从几千万item中筛选出几百或者上千的候选集,然后在排序阶段选出30首歌曲给到每位用户。这个排序可理解为一个函数, ,输入为用户、物品、环境,输出一个0到1之间的分数,取分数最高的几首。这一过程通常称为CTR预估。

这篇文章来说一下该“函数”的常见形式及基本运作方式。

最简单的是逻辑回归(Logistic Regression),一个广义线性模型。

拿某user的用户画像(一个向量)比如 [3, 1] ,拼接上某item的物品画像比如 [4, 0] ,再加上代表context的向量 [0, 1, 1] 后得到 [3, 1, 4, 0, 0, 1, 1] ,若该user曾与该item发生过联系则label为1,这些加起来是一个正样本,同时可以将用户“跳过”的item或热门的却没有与用户产生过联系的item作为负样本,label为0,拟合如下方程:

其中 即为上述向量, 是与x每个元素相对应的权重, 为截距。其损失函数为:

其中 为样本的label0或1, 是根据模型预测的0到1之间的数字。

通过降低此损失函数来拟合训练样本来完成模型的训练,利用模型对新的数据进行预测即完成了打分。训练过程参考sklearn的LogisticRegression很容易完成。

传统的LR只能在线下批量处理大量数据,无法有效处理大规模的在线数据流。模型更新可能要一天甚至更多,不够及时。而Google在2013提出了Follow The Regularized Leader(FTRL),一种在线逻辑回归算法。该方法对逻辑回归的目标函数进行了修改,加上各种系统工程上的调优,使得该模型的参数可以在每一个线上数据点进行动态更新。

可以在网上找到不少FTRL的开源实现比如 libftrl-python 。

FM与FFM分别是Factorization Machine与Field-aware Factorization Machine的简称。

LR作为广义线性模型对特征向量与label之间的非线性关系会很苦手。这时便需要进行特征组合,比如使用线性模型来预测各种近似长方形形状的面积,两个特征为长 与宽 ,那么显然并不能学到一个很好的模型,此时增加一个新的特征 ,便可以得到很好的效果。

在实际应用中,特征向量的维度是很高的,很难像上例中直接看到这种有意义的组合,考虑所有特征两两组合则线性回归方程变为:

除了原本特征的 个权重外还要学习各特征组合情况对应的权重,对于参数 的训练,需要大量 和 都不为0的样本,然而由于one-hot编码等原因带来的稀疏性使得这个要求无法达成,那么训练样本不足便会导致 的不准确,从而影响模型的质量。

解决方案是使用矩阵分解。在推荐系统中会对 user_item_matrix 做分解,为user及item学得一个低维的向量来代表自已。那么此处的情况可以与之类比,将特征组合的所有权重表示为一个形状为(i i)的矩阵,那么 即为此矩阵第i行第j列的数值,将此高维度的矩阵进行分解,可以为每个特征得到一个关于权重的隐向量 ,那么 使用 点乘 即可得到。此时线性方程变为:

以上模型称为因子分解机(Factorization Machine),经过一些数学上的变换及处理,该模型可以在 的复杂度下进行训练和预测,是一种比较高效的模型。

在FM的基础上有人提出了Field-aware Factorization Machine。比如特征向量中有200多维来代表一个user的国家, countryuk 和 countryus 等等,那么这200多个特征可以认为是属于一个field,区别在为特征 学习隐向量时要为每一个field都学到一个相应的隐向量,特征组合权重 根据 关于 所在field的隐向量乘以 关于 所属field的隐向量而得,线性方程变为:

该方法效果更好,而预测时间复杂度升至 。有开源库 libffm 的实现以供使用。

Facebook在广告CTR预估上的做法是使用梯度提升决策树(GBDT) & LR的方案。

思路是将原本要输入LR的特征向量,先经过GBDT筛选和组合,生成新的特征向量再送到LR中。如图所示:

GBDT作为集成模型,会使用多棵决策树,每棵树去拟合前一棵树的残差来得到很好的拟合效果。一个样本输入到一棵树中,会根据各节点的条件往下走到某个叶子节点,将此节点值置为1,其余置为0。比如训练使用了3棵决策树,每棵决策树有5个叶子节点,样本在各树分别落到了各树从左往右的第1,2,3个节点上,则得到三个one-hot编码为 [1, 0, 0, 0, 0] , [0, 1, 0, 0, 0] , [0, 0, 1, 0, 0] ,拼接起来作为转换后的特征向量: [1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0] ,输入到LR模型中得到分值。

此模型为Facebook的广告效果带来了明显的提升,在其发表的论文中,还讨论了各种工程上的实践与细节,包括GBDT与LR的更新频率,降采样的比例实践等,值得参考。实现GBDT可以使用开源的 XGBoost包 。

Google在Google Play中对App的推荐排序使用了一种名为Wide & Deep的深宽模型。如下图:

Wide部分就是广义的线性模型,在原本的特征基础上适当加一些特征组合,Deep部分是一个前馈神经网络,可以对一些稀疏的特征学习到一个低维的稠密向量,将Wide与Deep的信息相加,依然使用Sigmond来预测函数,表示为:

其中 为Sigmond函数, 是Wide部分的权重, 表示Wide部分的组合特征, 为Deep网络最后一层输出, 是线性模型的偏重。

将两个模型放到一起联合训练(不同于集成训练需要将各模型单独训练再将结果汇合),互相弥补对方的不足(特征工程困难和可解释性差),该模型为Google Play的在线收益相较于纯Wide模型带来了39%的提升。实现可参考 tensorflow/models 项目。

这是一个非常好的问题,在当前很多大型互联网平台都在纷纷使用推荐系统的大背景下,了解推荐系统的优缺点也是有必要的,普通人在了解推荐系统的过程中,也可以根据自身的需要来“训练”推荐系统,以便于让推荐系统更好地运转。

说到推荐系统的定义,很多人在不同的角度会给出不同的定义(认知),总的来说,推荐系统是为用户来进行信息定位的,或者说为用户在海量信息当中找出“潜在的”价值含量比较高的信息。从这个角度来看,推荐系统的意义是非常积极的,在当前的互联网、大数据时代,推荐系统的作用也会越来越明显。

推荐系统既然有好处,也自然会有一些负面作用,而这些负面作用体现在以下几个方面:

第一:利用推荐系统“杀熟”。推荐系统本身是比如容易了解用户的信息需求动向的,根据用户的网络流量数据,推荐系统也能够掌握用户的很多习惯,以及一些需求方面的细微变化,如果推荐系统根据这些用户的信息进行“杀熟”,本身还是比较容易实现的,这也可以看成是推荐系统一个比较大的潜在风险。

第二:为用户构建认知“壁垒”。推荐系统在某种程度上改变了用户获取信息的方式,很多本来有机会出现在用户视野当中的信息,很有可能会被推荐系统过滤掉,这实际上也会为用户构建起一个隐形的“信息壁垒”,对于用户来说,推荐系统就像给用户“吃糖丸”一样,用户得到的永远是用户喜欢的信息,而不一定就是用户真正需要的信息。而要想打破这个壁垒,一种比较有效的方式就是通过自己的搜索行为来影响推荐系统。

第三:过度商业化。在很多商业互联网平台上,推荐系统必然会有商业化用途,这是无可厚非的,也是推荐系统被开发的早期诉求之一,但是过度的商业化也会为用户带来一定的反感,甚至会影响用户的使用体验。

如果有互联网、大数据、人工智能等方面的问题,或者是考研方面的问题,都可以在评论区留言,或者私信我!

推荐算法总体上有两大分类。

一、自动推荐算法。用户什么都不用操作,完全自动获取推荐信息。这一类算法,总体上是根据用户的 历史 浏览记录来判断推荐什么样的信息,最大的特点是获取用户的潜在偏好,推荐用户喜欢的信息,这类算法和那些不用这种算法的竞争对手来说,用户看到和自己偏好相同的内容比较多,用户使用期间分泌的多巴胺就越多,用户留存率就高。

二、用户手工指定感兴趣的内容。比如说用户不喜欢 娱乐 八卦的内容,可以完全屏蔽掉。用户喜欢 体育 ,可以关注 体育 频道的内容,喜欢 财经 ,关注 财经 。这类的特点是给所有的资讯都打上标签,用户知道哪些内容自己根本都不会去看,哪些内容会比较感兴趣,他知道屏蔽掉了哪些信息,推荐了哪些信息,明确的告知了算法自己的偏好,而不是算法挖掘自己的兴趣偏好。

用户的兴趣偏好的加深是否受推荐算法的影响?答案是肯定的,人都有天然的从众模仿特性,如果他是一个有点偏XX主义的用户,当他在大量文章中选看了几篇XX主义的文章之后,第一类自动推荐算法就挖掘出他的偏好,下一步的推送内容就会加大XX主义文章的所占比例,当他看到XX主义占比比较大时,会误认为XX主义的人数比较多,会进一步加深XX主义的偏好,而实际XX主义只是非常的小众,造成了他对现实 社会 的判断失误,影响了他的认知。

我反对第一类推荐算法,无论是用户购物还是资讯,挖掘用户的潜在偏好并进一步加深,影响用户的认知,都是不应该的。对于第二类算法,任何的推荐都有用户明确的指出来,是可取的。

如何为游戏网页设计更好的推荐系统?

在当前的游戏界面,推荐系统已经成为了重要的一部分。它可以帮助用户更快速地找到自己感兴趣的游戏,节省用户的时间,提升用户体验。但是,如何为游戏网页设计更好的推荐系统呢?本次文章将就这一问题做出解答。

1了解玩家

首要的一步是了解玩家。我们需要收集有关玩家的数据,包括玩家历史游戏记录、喜好等。这可以通过采取数据采集技术,比如追踪玩家行为等方式实现。收集到这些数据后,我们可以将其用于推荐系统的建立。

2按照玩家的需求给出游戏推荐

推荐系统应该是能够根据用户的需求,在游戏网站上推荐给用户合适的游戏。这是实现推荐系统的最重要一步。对于不同的用户,推荐系统需要分析玩家喜欢的游戏类型、游戏难度、游戏画面等内容,并根据评估算法,推荐给他们适合的游戏。

3个性化推荐

游戏推荐需要是个性化的,这样才能为玩家提供更好的使用体验。因此,游戏推荐系统应该是根据玩家历史游戏记录、喜好等进行个性化分析,这样才能给出更恰当、更适合玩家的游戏推荐。

4推荐升级

推荐系统也需要不断地进行升级,以达到更好的推荐效果。这可以通过不断地收集数据信息进行优化,加入新的算法等方式实现。推荐系统升级将提高系统的准确率,让玩家更快找到他们感兴趣的游戏。

综上所述,设计更好的游戏推荐系统需要一些列技术参数的综合应用。通过建立更具个性化,更准确和更有效的推荐系统,游戏网站能够提高用户忠诚度、看到更多电子商务活动和增加玩家的留存时间。

手机是通过多种方式来知道人们喜欢什么的,主要包括以下几个方面:

1 用户行为:手机可以通过记录用户的搜索历史、观看记录、购买记录等行为数据,来了解用户的兴趣和偏好。例如,当用户经常搜索某个品牌或类型的产品时,手机就会认为该用户对这类产品比较感兴趣。

2 地理位置:手机可以通过定位功能获取用户所在的地理位置信息,并根据该信息推荐周边的商家、景点、餐厅等内容。例如,在用户身处某个城市时,手机就会推荐该城市特色美食、旅游景点等相关内容。

3 社交网络:手机可以通过用户在社交网络上发布的内容、关注的人或群组等信息,来了解用户的兴趣爱好和社交圈子。例如,在用户经常浏览某个明星或博主的微博时,手机就会推荐相关的内容。

4 人工智能技术:现代手机中普遍搭载了人工智能技术,如机器学习、自然语言处理等,可以通过对大量数据进行分析和学习,来预测用户可能感兴趣的内容。例如,在用户经常浏览某类新闻或文章时,手机就会推荐相关的内容。

总之,手机通过记录用户行为、地理位置、社交网络等多种方式来了解用户的兴趣和偏好,从而提供个性化的推荐服务。当然,手机也会根据用户反馈进行调整和优化,以更好地满足用户需求。

1,我们在打开任意一个门户网站的时候都会发现网站中都会有站内搜索,也就是站内检索,其作用就是帮助用户快速的找到我们想要的信息,然而在我们打开一条信息的时候在这个页面我们还会看到有相关的推荐信息让我们用户去选择。然而这站内检索和信息推荐的作用都是为了更好的提高网站的用户体验度,不知道大家有没有想过这两者到底有没有什么相互联系呢 

2,检索这个功能在很早的时候就出现了,相信大家应该都是非常熟悉了,那么我们下面就来重点的介绍下这个后来出现的推荐功能,我们必须要充分的了解推荐所具有的特点才能更好的看出这两者直接到底有什么优缺点已经相互直接的关系。 

3,什么是推荐系统 搜索引擎或检索系统诞生的历史背景基本是用户在面对信息过载时,如何能快速的寻找到自己需要的部分。例如,需要购置一台新的服务器以满足使用需要,我们应该怎么做假设附近有一家HP的代理商,可以直接电话或在他的店中转一圈,找到适合的机型。又或者如果我们不愿意出门,也可以打开HP或Dell的官网,在他们的产品分类列表中找到服务器,或者直接在检索栏中查找服务器。在这两个例子中,采购事实上都面临了一些信息过载,只是专卖店可能很小,找到相应的机型不需要额外的帮助,在网站上则由于有很多不同的机型可供选择,访问者就需要依靠分类信息或者检索栏找到自己需要的机型了。这里的两个例子的核心不在于过载程度的高低,关键的节点在于用户或访问者自身有一个明确的需求,至少访问者可以自主的形容这类信息。 

4,但是,如果访问者或用户没有明确的需求呢比如,我在写这篇文字的时候,想找点背景音乐,但是如果我直接打开某个音乐网站,比如百度的mp3频道时,面对成千上万的专辑时,很难说我还能有很明确的选择方向,往往会不知所措,不知道该从何开始。这时,我面临的还是一个信息过载的问题,本质上还是一个很严重的很广泛存在的信息过载,但搜索引擎或检索系统已经很难给我直接有效的帮助。这时,我需要的是一个自动化的工具,可以从我的音乐历史数据出发,从庞大的音乐库中为我找到那些符合我听音习惯和偏好的歌曲供我选择,这个工具可以称之为推荐系统。 与搜索引擎的本质区别 为了解决信息过载的问题,无数工具和解决方案被发明出来,到目前为止,做得比较好的,真正得到大部分用户认同的方法可以分为两类:分类目录和搜索引擎。分类目录通过人工或半人工的方式对互联网上的网站进行分类以方便检索者了解某些行业的信息,但显然以人脑的速度是远远无法跟上互联网的发展速度的。搜索引擎让用户以关键词的形式查找自己需要的信息,固然解决了无法全网匹配的问题,但是仍旧面临着需要用户启动的问题,即如果用户不能准确描述自己的需要时,搜索引擎便无法工作或只能以很低效的方式工作。 

5,推荐系统与分类目录和搜索引擎的目标一致,他也是一种帮助用户更快速的发现有用信息的工具,但与搜索引擎不同的是,推荐系统不需要用户提供明确的需求,推荐系统会自己从用户的历史行为数据出发,为用户的需求和兴趣建立模型,从而以之为依据从更大量的信息中匹配符合用户需要的部分。所以,从这个角度来讲,搜索引擎和推荐系统是本质上互补的两种工具,搜索引擎满足用户有明确需求时的主动查找需要,推荐系统则满足用户在没有明确需求时的信息发掘需要。 推荐系统是如何工作的 为了更好的理解二者的区别,我们有必要对推荐系统的基本工作原理做一个简单的介绍,我们从回顾现实生活中我们是如何面对多种选择做出决定(信息过载情况下的判断)的过程,来说明推荐系统的基本工作原理。下面仍旧以听音乐为例,一般来说我们可能采用下述几种方法中的一种或集中来解决这个问题: 向我们认为更专业的朋友、同事咨询。我们也许会和常听音乐的朋友聊一聊,问问他最近有没有什么很棒的专辑面世,问问他们有没有什么可以推荐的,当然如果我们的粉丝足够多,足够活跃,我们也可以在自己的微博上发一条“请推荐好听过的音乐给我!”,然后等待粉丝的帮助。这是可能是我们最常用的推荐方法,在推荐系统中被称为之社会化推荐,即让好友给自己推荐物品。 然而通过上述的几种推荐方式,不难看出推荐系统的本质是通过一定的方式在物品、内容与用户之间建立联系,这与搜索引擎的本质任务有很大的不同。

欢迎分享,转载请注明来源:浪漫分享网

原文地址:https://hunlipic.com/meirong/10603395.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-11-10
下一篇2023-11-10

发表评论

登录后才能评论

评论列表(0条)

    保存