- 前言
- 一、推荐系统是什么?
- 二、工业级推荐系统步骤
- 1.数据处理和保存
- 2.模型部分
- 3.推荐系统评价标准
- 疑问
- 总结
由于打算秋招找份推荐算法职位,写写博客加深下印象和逻辑思维。
一、推荐系统是什么?推荐系统要求针对用户的兴趣进行推荐即个性化推荐,给用户推荐他们感兴趣的东东。推荐领域目前分为两类:
- 商品推荐
- 视频推荐
包括还有其他很多的推荐算法嵌入在我们的手机app内,比如社交软件会给你推荐你感兴趣的人、具有社交软件属性的软件在你点击某个词条或标签后还会给你推荐发布这个相同标签的用户。
总而言之就是实现个性化推荐但是在推荐的过程中往往会带来隐私问题,因为app往往会涉及到用户历史相关信息的利用还有app自己设置的一些隐私条款需要去调用用户手机内的一些隐私部分。
王喆老师将推荐系统概括为:对于某个用户U(User),在特定场景C(Context)下,针对海量的“物品”信息构建一个函数,预测用户对特定候选物品I(Item)的喜好程度,再根据喜好程度对所有物品进行排序,生成推荐列表的问题。
对于大型公司,每天用户、物品、场景的数据非常庞大,怎么利用和处理这些数据是需要去解决的一个问题。
首先数据存储方式分为两种:
1.实时数据处理
实时数据处理对用户产生的数据进行实时处理,直接再线上就完成这一步吗?
2.离线数据处理
利用大数据平台将数据先进行保存,然后再对其进行处理?现在公司采用的大数据平台有Spark、Flink。
数据出口:
1.生成推荐模型所需要的训练数据
2.生成推荐模型所需要的测试数据,用于model serving时用于线上推断。
模型“模块”主要有两部分:召回层、排序层、补充策略算法层。
1.召回层
召回层一般也称作为粗排,让模型在成千上万个商品中快速排序一部分商品,商品数目为百量级别。
2.排序层
排序层一般称为精排,对粗排后的商品再进行排序,最后得到少量的商品,商品数目为10个左右,比如b站你每一次刷新都会生成8个视频。
3.补充策略算法层
为了让用户体验更好,保证推荐效果的多样性,通常提供补充算法策略进行筛选。
推荐系统中的正负样本是什么?怎么去定义它们?
总结未完待续…
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)