这次Hulu讲工业界的推荐系统,主讲人好像是个萌妹子。这讲主要是如何把模型运用到真实的推荐系统中。
工业界推荐系统是为了什么?
1 推荐系统可以应用在不同的场景下
2 推荐系统是为了处理信息过载,把用户感兴趣的信息呈现在用户面前
3 推荐系统服务已经成为互联网公司(Tik Tok, Hulu,amazon等)比较重要的服务
工业界推荐系统的流程推荐系统的服务化
输入:用户,上下文信息,商品列表,历史记录,和其他的特征
处理过程:转化输入成特征,调用推荐模型已经其他模型(热门榜单,广告推荐等),商品数据是从数据储存中粗筛得到,
输出:有顺序的前几个商品类别
推荐系统的自我维护:
收集并且生成训练数据集
训练模型并且更新参数
2013 Netflix推荐系统2013年Netfilx提出的推荐系统分三部分组成:Online,Nearline和Offline。Online部分是最接近用户的部分,可以得到最新鲜的数据,它可以快速调用模型并给予结果;它对于每个请求都是即来即算,需要对模型有快速的计算速度和可靠性;它的缺点是没法使用复杂的模型。Offline部分可以通过hadoop等大数据处理软件对于数据进行更新并储存;它对于及时性要求比较低,它可以做一些比较重的计算。Nearline时间和性能介于Offine和Online之间。Nearline处理时间,并且同步计算到用户事件;它通常被用来做上下文无关的计算。
从使用场景出发
因为推荐算法的使用场景的不同,所以我们设计的推荐算法的也有所不同。
目前,使用场景可以分为新闻推荐,视频推荐(长视频,短视频,直播)和商品推荐
根据不同的商业目标,可以分为CTR+转化率(alibaba.com电商网站)和观看时间(Youtube视频网站)
在设计推荐算法的时候,还要考虑响应时间,最多请求次数和内存占用等细节。
在不同的应用场景下,对于推荐模型会有不同的问题
短视频(抖音、快手):
大多数视频都是用户生成;内容生命周期比较短;大多数视频是冷启动内容
PGC长视频(Hulu,Netflix):
用户的决定成本是相对高;标题党问题
推荐算法结构
模型设计推荐算法结构,主要分为召回算法和排序算法。召回算法会从所有可能的商品中召回上百或者上千件,召回的结果多准确性要求低;排序算法会排序相关商品,在排序基础上可能会有再排序可能使冷门得到曝光等等。
Youtube召回模型通过神经网络学习到用户的特征,然后使用最近邻算法在视频库中选取前N个视频输出。
Youtube排序模型Youtube的目标是为了人们花更长时间在观看视频上。Ranker模型是对用户和待排序的视频打分,之后输出前几个视频作为推荐内容。
在特征工程的时候,需要了解数据是否可以被得到;数据是否完整;数据的可靠性。
模型训练
Offline训练(全局训练)
使用全部数据进行模型训练,缺点是更新比较慢并且延迟比较高;、
增量训练
基于更新模型上,通过批量训练,进行更新。优点是速度比全局训练要快,缺点是比较难找到全局最优点。
在线学习
在线学习方法更加激进,容易陷入局部最优,但是更适用于强化学习。
另外方法
对于模型进行拆分,然后使用多种模型结合
评价指标
离线评估的意义:
离线评估过程比较简单;在线流量比较宝贵
离线评价指标:
Recall@K;AUC;mAP(mean average precision);NDCG(normalized discounted cumulative gain)
在线评估的意义:
一些商业指标只能在线上计算;不是所有算法都可以通过离线评估了;在线环境很难在线下保存;离线评估有时候有偏。
在线评估方法:
A/B测试;interleaving
在线评价指标:
商业指标
网友评论