推荐系统介绍

tangliang39 tangliang39     2022-11-28     699

关键词:

推荐系统介绍

一、推荐系统的应用场景

推荐系统在我们的日常生活中无出不在。想要了解资讯时,推荐系统会为你准备你感兴趣的新闻;想要看电影时,推荐系统会为你挑选让你满意的电影;想要购物时,推荐系统会为你找到你需要的商品;想要学习时,推荐系统会为你精心挑选你最需要的课程;想要休闲娱乐时,推荐系统会为你推荐最应景的音乐;想要玩游戏时,推荐系统会为你找到你热爱的游戏。推荐系统充斥着我们的生活,让我们的生活更加高效与惬意。

二、推荐系统的作用和意义

推荐系统存在的作用和意义可以从用户和公司两个角度进行阐述。

  • 用户角度:推荐系统解决在“信息过载”的情况下,用户如何高效获得感兴趣信息的问题。从理论上讲,推荐系统并不仅限于互联网。但互联网带来的海量信息问题,往往会导致用户迷失在信息中无法找到目标内容。可以说,互联网是推荐系统应用的最佳场景。从用户需求层面看,推荐系统是在用户需求并不十分明确的情况下进行信息的过滤,因此,与搜索系统(用户会输入明确的“搜索词”)相比,推荐系统更多地利用用户的各类历史信息“猜测”其可能喜欢的内容,这是解决推荐问题是必须注意的基本场景假设。
  • 公司角度:推荐系统解决产品能够最大限度地吸引用户、留存用户、增加用户粘性、提高用户转化率的问题,从而达到公司商业目标连续增长的目的。不同业务模式的公司定义的具体推荐系统优化目标不同。例如,视频类公司更注重用户观看时长,电商类公司更注重用户的购买转化率(Conversion Rate,CVR),新闻类公司更注重用户的点击率,等等。需要注意的是,设计推荐系统的最终目标是达成公司的商业目标、增加公司收益,这应是推荐工程师站在公司角度考虑问题的出发点

正因为如此,推荐系统不仅是用户高效获取感兴趣内容的“引擎”,也是互联网公司达商业目标的引擎,而这时一个问题的两个维度,是相辅相成的。

三、推荐系统的架构

  • 推荐系统的逻辑架构

在获知“用户信息”、”物品信息“、”场景信息“的基础上,推荐系统要处理的问题可以较形式化的定义为:对于用户U(User),在特定场景C(Context)下,针对海量的“物品”信息,构建一个函数f(U, I, C),预测用户对特定候选物品I(Item)的喜好程度,再根据喜好程度对所有候选物品进行排序,生成推荐列表的问题。
根据推荐系统问题的定义,可以得到抽象的推荐系统逻辑框架(如图1.1)。虽然该逻辑框架是概括性的,但正是在此基础上,对各模块进行细化和扩展,才产生了推荐系统的整个技术体系。

技术图片
图1.1
  • 推荐系统的技术架构

在实际的推荐系统中,工程师需要将抽象的概念和模块具体化、工程化。在图1.1的基础上,工程师需要着重解决的问题有两类。

  1. 数据和信息相关的问题,即“用户信息”、“物品信息”、“场景信息”分别是什么?如何存储、更新和处理?
  2. 推荐系统算法和模型相关的问题,即模型如何训练、如何预测、如何达成更好的推荐效果?
    可以将这两类问题分为两个部分:“数据和信息”部分逐渐发展为推荐系统中融合了数据离线批处理、实时流处理的数据流框架;“算法和模型”部分则进一步细化为推荐系统中集训练、评估、部署、线上推断为一体的模型框架。推荐系统的技术架构示意图如图1.2所示。
技术图片
图1.2

? 推荐系统的数据部分主要负责用户、物品、场景的信息收集与处理。具体地讲,将负责数据收集与处理的三种平台按照实时性的强弱排序,依次为客户端及服务器实时数据处理、流处理平台准实时数据处理、大数据平台离线数据处理。在实时性由强到弱递减的同时,三种平台的海量数据处理能力则由弱到强。因此,一个成熟的推荐系统的数据流系统会将三者取长补短,配合使用。
? 在得到原始的数据信息后,推荐系统的数据处理系统会将原始数据进一步加工,加工后的数据出口主要有三个:

  • 生成推荐模型所需的样本数据,用于模型的训练和评估。
  • 生成推荐模型服务(model serving)所需的“特征”,用于推荐系统的线上推断。
  • 生成系统监控、商业智能(Business Intelligence, BI)系统所需的统计型数据。

? 推荐系统的模型部分是推荐系统的主体。模型的结构一般由“召回层”、“排序层”、“补充策略与算法层”组成。
? 召回层一般利用高效的召回规则、算法或简单的模型,快速从海量的候选 集中召回用户可能感兴趣的物品。
? 排序层利用排序模型对初筛的候选集进行精排序。
? 补充策略与算法层,也被称为再排序层,可以在将推荐列表返回用户之前,为兼顾结果的多样性、流行度、新鲜度等指标,结合一些补充的策略和算法对推荐列表进行一定的调整,最终形成用户可见的推荐列表。
? 从推荐模型接收到所有候选物品集,到最后产生推荐列表,这一过程一般称为模型服务过程。
? 在线环境进行模型服务之前,需要通过模型训练(model training)确定模型结构、结构中不同参数权重的具体数值,以及模型相关算法和策略中的参数取值。模型的训练方法又可以根据模型训练环境的不同,分为离线训练和在线更新两部分,其中:离线训练的特点是可以利用全量样本和特征,使模型逼近全局最优点;在线更新则可以准实时地消化新的数据样本,更快的反映新的数据变化趋势,满足模型实时性的需求。
? 除此之外,为了评估推荐模型的效果,方便模型的迭代优化,推荐系统的模型部分提供了离线评估和线上A/B测试等多种评估模块,用得出的线下和线上评估指标,指导下一步的模型迭代优化。

以上所有模块共同组成了推荐系统模型部分的技术框架。模型部分,特别是排序层模型是推荐系统产生效果的重点,也是业界和学界研究的重心。

四、深度学习对推荐系统的革命性贡献

深度学习对推荐系统的革命性贡献在于对推荐模型部分的改进。与传统的推荐模型相比,深度学习模型对数据模式的拟合能力和对特征组合的挖掘能力更强。此外,深度学习模型结构的灵活性,使其能够根据不同推荐场景调整模型,使之与特定业务数据完美契合。
与此同时,深度学习对海量训练数据及数据实时性的要求,也对推荐系统的数据流部分提出了新的挑战。如何尽量做到海量数据的实时处理、特征的实时提取,线上模型服务过程的数据实时获取,是深度学习推荐系统数据部分需要攻克的难题。











推荐系统篇--推荐系统介绍和基本架构流程

一、前述推荐系统是企业中常用的技术,所以系统的掌握推荐系统的知识是很有必要的。本专栏主要讲述手机APP下载的项目。常用的推荐方法有两个,分别是基于物品的推荐和基于用户的推荐。基于用户的推荐原理是:跟你喜好... 查看详情

推荐系统推荐业务架构介绍(代码片段)

11.1黑马头条推荐业务架构介绍1.1.1业务在头条APP海量用户与海量文章之上,使用lambda大数据实时和离线计算整体架构,利用黑马头条用户在APP上的点击行为、浏览行为、收藏行为等建立用户与文章之间的画像关系,通... 查看详情

推荐系统推荐业务架构介绍(代码片段)

11.1黑马头条推荐业务架构介绍1.1.1业务在头条APP海量用户与海量文章之上,使用lambda大数据实时和离线计算整体架构,利用黑马头条用户在APP上的点击行为、浏览行为、收藏行为等建立用户与文章之间的画像关系,通... 查看详情

google官方开源的推荐系统工具库介绍(含视频教程)(代码片段)

...供学习使用,如有侵权请联系删除编辑:搜索与推荐Wiki参考:1.谷歌开源推荐系统库(TensorFlowRecommenders)2.中文视频|TFRecommenders系列视频教程TensorFlowRecommendersTensorFlow推荐器是一个使用TensorFlow构建推荐系统模型的库。它... 查看详情

google官方开源的推荐系统工具库介绍(含视频教程)(代码片段)

...供学习使用,如有侵权请联系删除编辑:搜索与推荐Wiki参考:1.谷歌开源推荐系统库(TensorFlowRecommenders)2.中文视频|TFRecommenders系列视频教程TensorFlowRecommendersTensorFlow推荐器是一个使用TensorFlow构建推荐系统模型的库。它... 查看详情

推荐系统基础-纪要(代码片段)

推荐系统纪要推荐概念Lambda架构介绍推荐算法架构推荐模型构建流程协同过滤思路介绍相似度计算使用不同相似度计算方式实现协同过滤协同过滤基于模型的算法推荐系统的评价推荐系统的冷启动基于内容的推荐基于内容的推荐... 查看详情

推荐系统介绍:(协同过滤)—introtorecommendersystems:collaborativefiltering

本文试验前期准备:MovieLens ml-100k数据集Jupyternotebookthemoviedb.orgAPIkey  添加python引用importnumpyasnpimportpandasaspd进入MovieLens ml-100k数据存放目录cdF:MasterMachineLearningkNNml-100k读取数据:u.da 查看详情

十大免费cms建站系统介绍推荐

文章目录1、Discuz2、PageAdmin3、DeDecms4、PHP1685、WordPress&Z-blog6、ThinkSNSSNS7、163K8、HDWiki百科程序9、MaxCms视频程序10、EasyTalk微博客选择一个好用的cms建站系统对网站的管理和维护尤为重要,根据不同的网站类型,我们会选... 查看详情

个性化推荐系统原理介绍(基于内容过滤/协同过滤/关联规则/序列模式)

 个性化推荐根据用户兴趣和行为特点,向用户推荐所需的信息或商品,帮助用户在海量信息中快速发现真正所需的商品,提高用户黏性,促进信息点击和商品销售。推荐系统是基于海量数据挖掘分析的商业智能平台,推荐主... 查看详情

关于推荐系统的详细介绍

简介推荐系统是一种信息过滤系统,能够自动预测用户对特定产品或服务的偏好,并向其提供个性化的推荐。它通常基于用户的历史行为、个人喜好、兴趣和偏好等,通过数据挖掘和机器学习算法,在大数据的支... 查看详情

推荐系统——online(上)

框架介绍    上一篇从总体上介绍了推荐系统,推荐系统online和offline是两个组成部分,其中offline负责数据的收集,存储,统计,模型的训练等工作;online部分负责处理用户的请求,模型数据的使用,onlinelearning等... 查看详情

传统机器学习和前沿深度学习推荐模型演化关系介绍

本文来自王喆老师《深度学习推荐系统》一书,如果有一定的推荐系统基础的话,建议读一读,当然如果只是初学者的话还是建议从基础的开始学起,比如《推荐系统开发实战》。传统机器学习推荐模型演化简单... 查看详情

评价一个推荐系统的指标详解!(代码片段)

...#xff1a;太子长琴,Datawhale成员本文主要从整体角度介绍推荐系统,先介绍了推荐系统定义与系统架构等背景,然后详细说明如何评价一个推荐系统。推荐系统简介推荐系统可以说是机器学习和深度学习应用最广泛的领... 查看详情

深度学习核心技术精讲100篇(七十七)-主流推荐引擎技术及优缺点分析

前言在本文中,将详细介绍多种类型的推荐系统,具体介绍基于近邻算法的推荐引擎、个性化推荐引擎、基于模型的推荐系统和混合推荐引擎等,并分析介绍每种推荐系统的优缺点。主要介绍的不同类型的推荐系统包括:近邻算... 查看详情

keras深度学习实战——推荐系统数据编码(代码片段)

Keras深度学习实战——推荐系统数据编码0.前言1.推荐系统数据编码的必要性2.推荐系统数据编码2.1在推荐系统中对用户和电影进行编码2.2数据集介绍2.3用于推荐系统的编码策略2.4实现推荐系统编码模型相关链接0.前言在《自编码... 查看详情

深度解析推荐系统的算法原理

目录一、推荐系统介绍1.1推荐系统的应用1.2推荐系统的目标 查看详情

推荐系统[一]:超详细知识介绍,一份完整的入门指南,解答推荐系统是什么。

1.推荐算法的初步理解如果说互联网的目标就是连接一切,那么推荐系统的作用就是建立更加有效率的连接,推荐系统可以更有效率的连接用户与内容和服务,节约了大量的时间和成本。1.1推荐系统主要解决问题任务一:挖掘长... 查看详情

系统架构设计师系统架构设计师考试介绍(考试形式介绍|备考策略|综合知识备考策略|案例分析备考策略|论文备考策略|软考刷题小程序推荐)

...案例分析备考策略四、论文备考策略五、软考刷题小程序推荐一、系统架构设计师考试形式介绍系统架构设计师考试时间:每年11月上旬;系统架构设计师考试科目:每个科目75分满分,45分合格;科目一:综合知识,75道选择题,150分钟;需... 查看详情