推荐引擎的架构一般如下,在线实时推荐返回内容由总控、召回、排序三部分组成。
其中从海量内容中在线筛选出用户最感兴趣的内容由召回模型和排序模型完成,其中排序模型主要是对召回模型筛选出来的内容进行打分排序,即对内容进行点击率CTR预估,最终将得分最高,即点击率最高,的内容返回给用户,流程如下:
其中常见的点击率 CTR 预估算法模型包括一下几种:
- LR(Logistic Regression,逻辑回归):是 CTR 预估中较为经典的模型之一。它对特征向量的每一个维度赋予一个权重,然后加权求和,再套用 sigmoid 函数将值域压缩在0到1之间,以预估点击率。优点是简单、容易实现,缺点是需要手工构造特征(特征交叉),且较适合处理离散特征,对于连续特征需手工分段或归一化处理。但只要特征交叉做得足够好,简单的 LR 也能取得较好效果;
- GBDT(Gradient Boosting Decision Tree,梯度提升决策树):使用多颗回归树(如 CART 树)来拟合残差。优点是适合处理连续特征,还可输出特征重要性;缺点是较易过拟合,不太适合处理离散特征;
- GBDT+LR:利用 GBDT 自动对连续特征离散化,无需对连续特征手工处理,但需要预训练 GBDT 模型;
- FM(Factorization Machines,因子分解机):为解决 LR 需人工做特征交叉的问题而提出。其核心思想是对交叉特征的权重进行分解和共享,将权重 wij 分解为两个隐向量的乘积,从而降低特征全交叉导致的权重爆炸问题;
- DeepFM:是一种并行结构模型,由 FM 和 DNN(深度神经网络)两部分组成。它同时具备 FM 抽取低阶特征和 DNN 抽取高阶特征的能力,无需人工特征工程,且训练速度快;
- DCN(Deep & Cross Network,深度交叉网络):使用 cross 网络代替 wide&deep 中的 wide 部分,通过多层 cross layer 对输入向量进行特征交叉,以增加特征之间的交互力度;
- NFM(Neural Factorization Machines,神经因子分解机):可以看作是对 deep 部分的改进,用带 bi-interaction pooling 层的 DNN 替换了 FM 的特征交叉部分;
- AFM(Attentional Factorization Machines,注意力因子分解机):引入 attention 机制的 FM;
- AutoInt(Automatic Feature Interaction Learning via Self-Attentive Neural Networks):使用了 multi-head attention 捕捉特征间的潜在信息;
- CCPM(A Convolutional Click Prediction Model):采用了新颖的 pooling 方法,即使输入特征数量不确定,也能得到相同维度并提供给全连接层进行预测;
- DIN(Deep Interest Network,深度兴趣网络):最先从用户兴趣角度思考问题,例如建立 pipe 结构,用 GRU 对用户行为建模,并引入门机制进行有效的特征聚集;
- DIEN(Deep Interest Evolution Network,深度兴趣进化网络):使用 GRU 对用户行为建模,通过引入门机制对 GRU 的更新门进行调整,从而实现有效的特征聚集;
- Deep Crossing:深度学习 CTR 模型的基础模型,通过加入 Embedding 层将稀疏特征转化为低维稠密特征,再利用多层神经网络完成特征的组合、转换,最终用 Scoring layer 完成 CTR 的计算;
- FNN(Factorization-supported Neural Network):使用 FM 的隐层向量作为 user 和 item 的 Embedding,避免完全从随机状态训练 Embedding,降低模型训练时间和 Embedding 的不稳定性;
- PNN(Product-based Neural Network):在 Embedding 层和全连接层之间加入 Product layer,以完成针对性的特征交叉,定义了 inner product、outer product 等多种操作来捕捉不同的交叉信息,增强模型表征不同数据模式的能力。
这些模型在不同的场景和数据集上可能表现出不同的性能,实际应用中需要根据具体问题和数据特点进行选择和优化。同时,随着技术的发展,还可能会有新的 CTR 模型不断涌现。
本文暂时没有评论,来添加一个吧(●'◡'●)