简介
这个专栏是打算做一个供大家学习的文章,我发现推荐系统有很多博客虽然讲得很好,但是难度太大,理解较为复杂,所以我现在以一个小白的身份和大家一起学习这个晦涩难懂的知识,本人还没有接触这个知识,所以我们可以一起学习,我会用最简单的语言给大家讲解这个知识,如果对你有帮助可以留下一个免费的支持
推荐系统背景技术
一般来说推荐系统是基于用户的行为来进行推荐商品或者是其他实体类或者非实体类物品,通过这个技术可以实现用户的捕捉还有吸引,比如说淘宝还有抖音都是如此,我们在刷抖音的时候,我们会发现抖音的内容都是我们喜欢的内容,这个确实是很神奇的一件事情,那我们学习这个技术就是为了可以达到这样的目的
推荐系统常用的词汇描述
- item:这个一般来说就是我们的商品之类的实体或非实体物品
- embedding:隐向量,对用户行为矩阵进行分解,比如说给一个用户用向量表示,比如说喜欢啥之类的,但是很显然这里有一个十分困难的问题就是如何给用户用向量表示
- 召回:粗略计算的返回结果
- 打分:在排序的时候用着重要作用,排序这里同样有个名词叫做重排
首先我们讲解的这几个名词解释起来确实是很简单,但是我们需要知道如何利用这些名词
推荐系统经典流程
离线 + 近线 + 在线(召回 + 粗排 + 精排)
离线
在打ACM竞赛时有一种做法叫做离线做法,离线要求必须知道所有的操作,类似 "记录所有步,回头再做” 的思想,这里借鉴了在线和离线算法这篇文章,在这里离线其实有一些相似,离线通常跑较大的模型与算法,先得到当前数据的大致结果,一定时间更新一次,在这里,我们可以想象,如果用户很多,我们是不是很难做到实时更新,可以想象这样的业务是很困难的,因为这样对服务器的压力相当大,所以我们可以一段时间更新一次数据
粗排
粗排通常会跟着用户走,用户做了什么事,推荐结果也会随之更新,这里一般就会做个粗略的排序
精排
在线模块需要根据业务规则来返回最终呈现结果,比如咱需要开始推广告了,这个时候我们就需要把他的所有行为进行排序,比如说,我现在的广告商让我做一个这样的事情
| 广告 | A | B | C |
|---|---|---|---|
| 收益 | ¥10 | ¥5 | ¥1 |
但是很显然我能赚的钱越多买这个广告对应的商品应该价格同样会更高对吧,,所以我们还要结合的经济能力去考虑问题进行排序
推荐系统难点与挑战
需要更广泛的收集用户标签并画像
人是善变的,随着时间的推移,兴趣也会改变
根据固定画像数据,推荐结果可不能固定不变
特征工程如何构建一直是一个大难题
固定画像数据:
仅为网上图片查找学习
这篇文章是通过任务流程与挑战概述这个视频进行学习与总结,如果本人文章有什么问题欢迎批评指正