返回首页

传统推荐系统算法总结?

143 2024-04-28 20:18 admin

一、传统推荐系统算法总结?

从推荐算法的理论来讲,主要可以从召回层和排序层两个方面来说,虽然召回层和排序层都是使用算法和模型来做,但是针对于不用的阶段,所用的模型也有一定的差别。

召回层

在召回层中,我们又可以分为3类方法,即传统算法、机器学习和深度学习模型。

传统算法就是利用传统推荐系统理论中所采用的算法,例如计算用户之间的相似度、物品之间的相似度等,而这两类算法从大体上来讲,都可以用协同过滤算法来表示,只不过一个是基于用户的协同过滤算法,一个是基于物品的协同过滤算法。

机器学习模型指使用机器学习相关算法来得到召回层结果的方法,例如NMF(Nonnegative Matrix Factor,非负矩阵分解)算法、LFM模型(Latent Factor Model,基于潜在隐因子模型)、FTRL(Follow The Regularized Leader)算法、PersonalRank算法等。

排序层

而在排序层中,我们也可以使用机器学习和深度学习两种方式来对召回结果进行排序,这里的排序一般采用点击率预估,并将预估得到的概率降序排序取前N得到最终的排序结果。

在使用机器学习进行排序层排序时,我们也可以将其分成2个大类,分别为线性模型和树模型,实际上,在真正的使用过程中,我们会将这两类模型结合起来使用。

在线性模型中主要使用逻辑回归作为主要的排序算法,而逻辑回归又属于线性回归的一种变形,因此,要想学习好逻辑回归,就得对线性回归有一定的了解。

树模型是排序算法中用得最多的一种模型的统称,在排序层中常用的树模型又分为决策树模型和集成学习模型,常用在推荐系统中的有随机森林、Boosting、GBDT、XGB、LGB。

虽然排序层的机器学习算法会被分为线性模型和树模型两种,但是进行排序时一般将二者结合使用,其中常见的组合方式就是使用GBDT+LR的方式进行点击率预测和排序层的排序。

而使用深度学习模型进行点击率预测和排序层排序也是推荐系统中常用的方式,尤其对于大量的数据和特征,渐渐成为目前各大企业的主流排序方式,常见方式是DeepFM和xDeepFM。DeepFM顾名思义就是深度模型(Deep)和因子分解机(FM)结合使用。而xDeepFM是DeepFM的升级版,主要改进的是DeepFM模型中的DCN模型的缺点。

二、推荐算法工程师有前途吗?

是的,推荐算法工程师具有很大的前途。随着互联网技术的不断发展,智能化技术也在不断进步,推荐算法也越来越重要。

推荐算法工程师可以为商家制定合理、有效的推荐策略,使商家可以根据用户的需求和喜好,提供个性化的服务,从而提升商家的服务水准和推广效果,更有利于企业的发展。

三、算法工程师工资,算法工程师工资很高吗?

算法工程师各种待遇按工作时间,资历,等不同,差异很大,基本从4500元到15000元不等。

四、算法工程师原理?

算法工程师是处理数据的专业人士,他们研究并开发可用于计算机程序的算法。原理是基于数学和计算机科学的基础理论,结合各种技术来实现数据处理、模型构建和性能优化等任务。算法工程师的工作需要了解常用算法的原理,需要掌握数据结构、算法复杂度分析等知识,以及具备编程能力。算法工程师的工作职责是识别问题、设计解决方案,实现这些方案并优化算法的性能。算法的使用和优化是算法工程师的核心任务,他们需要保证算法的准确性、高效性以及可扩展性,以使计算机程序能够高效地进行数据处理和分析。

五、算法工程师简称?

答:算法工程师简称是cuda。

利用算法处理事物的人

算法(Algorithm)是一系列解决问题的清晰指令,也就是说,能够对一定规范的输入,在有限时间内获得所要求的输出。如果一个算法有缺陷,或不适合于某个问题,执行这个算法将不会解决这个问题。

不同的算法可能用不同的时间、空间或效率来完成同样的任务。一个算法的优劣可以用空间复杂度与时间复杂度来衡量。算法工程师就是利用算法处理事物的人。

六、算法工程师评价?

我认为算法工程师的核心竞争力是对模型的理解,对于模型不仅知其然,还得知其所以然。

于是我把目标检测的经典论文翻来覆去地看,将各种目标检测模型分解成了N个模块,针对每个模块,反复比对各篇论文处理方式的异同,思考各种处理方式各自的优缺点,以及有没有更好的处理方式,比如:

深度卷积神经网络中的降采样总结了降采样的各种方式;

深度卷积神经网络中的升采样梳理了升采样的诸多方法;

关于物体检测的思考简述了anchor free与anchor based的异同、one stage和two stage的区别与联系;

深度学习高效网络结构设计和高效卷积神经网络一览总结了高效网络的设计思路与具体细节;

在anchor free检测器炙手可热的时候,Why anchor?分析了anchor free和anchor based的历史由来,以及各自利弊。

同时对目标检测实践中一些开放式的问题也有一些自己的思考,比如:

关于感受野的总结详述了感受野的计算方式和在应用时需要注意的地方;

目标检测网络train from scratch问题猜想了一下目标检测能够train from scratch的关键,在这篇文章里我质疑了DSOD和DropBlock这两篇论文对train from scratch问题下的结论(当时何恺明那篇讨论train from scratch的paper还没出来,从何恺明后来paper的实验看来,我的质疑是对的)。

上面是把模型揉碎了看,最近开始有更多时间与精力接触除了目标检测以外的任务,于是思考如何将各个计算机视觉任务统一起来,最近有了一点小的想法,该想法形成了一篇简短的文章。

第二阶段

这一阶段我认为算法工程师的核心竞争力在于代码功底好,一则知道各个模型的实现细节,二则能即快又好地实现idea。于是我用pytorch手撸了Yolov2和Yolov3。同时看了不少优秀的开源代码,比如darknet、mmdetection等等。最近正在用pytorch仿照mmdetection撸一个语意分割的训练框架。

第三阶段

最近开始接触各个行业对计算机视觉的需求,我发现一名优秀的算法工程师仅仅对模型理解不错、代码功底不错是不够的,还需要对有计算机视觉业务需求的行业有着较深入的理解。恰好最近看了一篇阿里云机器智能首席科学家闵万里的专访文章,专访里这几段话我深以为然:

在阿里云的时候,我就亲自打造了一个岗位:DTC:Data Technology Consultant。DT有两个含义,一个是数据技术Data Technology,一个是数字化转型Digital Transformation,一语双关。他们像大夫,望闻问切,跟客户一起梳理出业务流程中的痛点,找到优化方式。DTC不只是对行业整体的判断,还要对赛道中的选手体检,有开药的能力。可以把对方的难言之隐梳理出来,定量、优先级排序,然后从整体到细节,一层层结构化分解,最后进入具体执行。你要在传统行业创造新价值,就要搞清楚:什么东西制约了你的产能,制约了你的效率,制约了你的利润率。技术人员今天往产业走,我相信整体遇到的障碍就是如何把技术思维变成以业务需求为导向的技术思维、技术分解思维。

虽然闵万里这几段话里的主体是技术咨询师,但我觉得这也是成为一名优秀算法工程师的必备品质。

总结一段话就是:

算法工程师往产业里走,需要把技术思维转变为以业务需求为导向的技术思维、技术分解思维;

算法工程师需要像大夫一样望闻问切,跟客户一起梳理出业务流程中的痛点,找到优化方式;

算法工程师不仅需要有对行业整体的判断,还需要对客户有体检、开药的能力,可以把客户的难言之隐梳理出来,定量、优先级排序,然后整体到细节,一层层结构化分解,最后进入具体执行;

要在传统行业创造新价值就要搞清楚什么东西制约了产能、效率、利润率。

仅仅输出模型的算法工程师比较容易被替代,更高的追求是输出一整套端到端的系统方案,从与客户一起梳理业务痛点、硬件选型、模型部署环境的规划与搭建、数据采集和标注标准制定、模型选型与设计等等。

七、算法书籍推荐?

以下是一些计算机算法相关的书籍推荐:

1.《算法导论》(Introduction to Algorithms)由Thomas H.Cormen、Charles E.Leiserson、Ronald L.Rivest和Clifford Stein所著,是计算机科学中算法领域应该读的经典之作。

2. 《算法设计与分析基础》(Algorithm Design and Analysis Foundations)是由Graham Cormode编写的,适合于计算机科学本科生阅读。该书以一种实用的方式说明了基本算法的原则。

3. 《算法之美》(Beauty of Algorithm)由作者王晓东编写的,主要讲述了算法的基本知识和应用情况,并以生动的方式解释算法的设计思想。

4. 《数据结构与算法分析》(Data Structures and Algorithm Analysis)由Mark Allen Weiss所著,是一本在讲解数据结构和算法方面非常优秀的书籍。

5. 《算法竞赛入门经典:训练指南》(Introduction to Algorithms)由刘汝佳所著,是一本讲述Algorithm和数据结构竞赛的书籍。书中设计了许多经典的竞赛题目,使读者逐渐掌握算法知识和技巧。

八、快手直播推荐算法?

快手的算法驱动只要有以下三种:

1、流量池分配

快手的流量池,是指作品因获得不同曝光率而得到的不同流量位置。快手对于任何一个作品,甚至是广告作品,都会分配一个基础的播放量,这个播放量大概为0-200次,而150-200次,这个区间的播放量数据非常的重要,因为快手会根据作品的点赞率、评论率及转发率来判定是否要推送到下一个流量池中。

2、叠加推荐

快手新视频分布的时候系统会分配一定的推荐量,当短视频的热度不断的上升,系统会通过加权的方式给予短视频更多的推荐,除此之外,系统还会根据短视频的播完率、点赞数、评论率和转发率得出推荐数,因此,要想获得更高的叠加推荐,我们可以通过短视频的标题引导用户进行评论等。

3、热度加权

快手短视频的热门短视频的播放量一般都是在百万次的播放级别的,他们的点赞数、评论率和转发率也是出于瑶瑶领先的状态的,这是因为这些短视频是经过一层层热度所带来的结果的。

九、推荐算法详细讲解?

推荐算法是计算机专业中的一种算法,通过一些数学算法,推测出用户可能喜欢的东西。推荐算法已应用到各个领域中,电子商务的应用近年来逐渐普及,当当网和淘宝网等都使用了电子商务推荐系统,推荐系统不止给这些互联网商家带来了巨大的附加利益,同时也提高了用户满意度,增加了用户粘性,

十、算法工程师能干多久?

40岁。据今晚报可知,一般来说,算法工程师的职业寿命很少超过40岁。当然这中间的原因很多,有的是跟不上IT行业的发展节奏,有的是因为常年加班没有自己的生活,有的是因为没有养成常年学习的习惯,被行业淘汰了。算法工程师就是利用算法处理事物的人, 算法工程师有计算机、电子、通信、数学等相关专业要求,研究方向有视频算法工程师、图像处理算法工程师、音频算法工程师等。