人工智能-机器学习推荐系统修行之路

推荐算法笔记08_国外推荐系统【上】

2022-02-03  本文已影响0人  Nefelibatas

国外推荐系统实践

倒序回归:校准

DLRM(Deep Learning Recommender Model)

特征工程

类别、id类特征用one-hot编码生成稀疏特征

数值连续特征

Embedding层

one-hot向量经Embdding层将其转换成维度为n的Embedding向量

年龄、收入等连续特征concat成特征向量,经MLP转化成维度n的向量

神经网络层

每类Embedding向量还可进一步通过神经网络层做转换

根据调参和性能评估的情况来决定是否引入神经网络进行进一步的特征处理

特征交互层

Embedding两两内积,让特征之间做充分的交叉,与之前连续特征对应的Embedding连接,输入后续的MLP

https://arxiv.org/abs/1906.00091

image-20220106151654611.png

Facebook推荐系统实践

DLRM并行训练方法

目标拟合层

最上层的蓝色三角形代表另一个全连接MLP,在最后一层使用sigmoid函数给出最终的点击率预估

并行训练

https://github.com/facebookresearch/dlrm

数据流架构
数据等待窗口的设定
分布式架构与全局统一的action id
数据流保护机制

Airbnb推荐系统实践

基于Embedding的实时搜索推荐系统

为了捕捉用户短期和长期兴趣,对用户和房源分别进行Embedding,进而利用Embedding的结果构建出诸多特征,作为排序模型的输入。

两种Embedding生成方法:

image-20220106152444658.png

基于短期兴趣的房源Embedding方法

利用用户Session内的点击行为序列进行房源的Embedding

数据预处理:

Word2Vec:skip-gram model训练Embedding

argmax_\theta\sum_{(l,c)∈D_p}log\frac{1}{1+e^{-V`_cVl}}+ \sum_{(l,c)∈D_n}log\frac{1}{1+e^{-V`_cVl}}

image-20220106153825533.png

预定会话:最后一个房源是被预定房源

将预定信息引入Embedding,使推荐列表更倾向于之前预定成功Session中的房源

不管预定房源在不在Word2Vec的滑动窗口中,都假设这个被预定房源与滑动窗口的中心房源相关,相当于引入一个全局上下文到目标函数中(item2vec)

argmax_\theta\sum_{(l,c)∈D_p}log\frac{1}{1+e^{-V`_cVl}}+ \sum_{(l,c)∈D_n}log\frac{1}{1+e^{-V`_cVl}}+ log\frac{1}{1+e^{-V`_bVl}}

负采样时,还对中心房源采样同一市场的房源集合随机采样,获得新的负样本,发现同一市场内部房源的差异性。

argmax_\theta\sum_{(l,c)∈D_p}log\frac{1}{1+e^{-V`_cVl}}+ \sum_{(l,c)∈D_n}log\frac{1}{1+e^{-V`_cVl}}+ log\frac{1}{1+e^{-V`_bVl}}+\sum_{(l,m_n)∈D_{n_n}}log\frac{1}{1+e^{-V`_{m_n}Vl}}

新房源的Embedding使用附近3个同样类型、相似价格的房源向量进行平均得到。

探索性会话:没有产生预定行为的会话

argmax_\theta\sum_{(l,c)∈D_p}log\frac{1}{1+e^{-V`_cVl}}+ \sum_{(l,c)∈D_n}log\frac{1}{1+e^{-V`_cVl}}\\ 也可以加入负采样\sum_{(l,m_n)∈D_{n_n}}log\frac{1}{1+e^{-V`_{m_n}Vl}}

基于长期兴趣的用户Embedding和房源Embedding

为捕捉用户的长期偏好,Airbnb使用了预定会话序列。

使用预定会话序列训练Word2Vec

image-20220106155044699.png

如何对用户和房源属性标识序列一起训练Word2vec?

针对某一用户按时间排序的

booking session:(l_1,l_2,...,l_m)

image-20220106155142063.png

实时排序模型与特征工程

image-20220106155254466.png

YouTube深度学习视频推荐系统

模型训练与线上服务分离

image-20220106155408605.png image-20220106155425733.png

Youtube排序模型

特征:

输出层:

训练:加权逻辑斯特回归

服务:

e^{(W^Tx+b)}

image-20220106155715883.png

优化目标:使模型更偏向于用户点击视频且观看时长更长(排序)

怎么建模呢? 样本不均衡问题?(医疗诊断)

加权逻辑斯特回归

权重的确定?

评估指标

线上排序服务

机率e^{WTx+b}\\ Odds(i)= \frac{T_ip}{1-T_ip} ≈ T_ip(1+T_ip)≈E(T_i)=期望观看时长

训练与测试样本的处理:

对每个用户提取等数量的训练样本,减少活跃用户模型损失的过度影响

测试集使用用户最近一次观看行为,避免数据穿越。

用户对新视频的偏好:

image-20220106160804675.png

https://zhuanlan.zhihu.com/p/52504407

https://zhuanlan.zhihu.com/p/138777815

上一篇 下一篇

猜你喜欢

热点阅读