APP下载

基于RNN和GBDT融合方法的用户活跃度预测

2020-03-05盛爱林左劼孙频捷

现代计算机 2020年3期
关键词:快照特征融合

盛爱林,左劼,孙频捷

(1.四川大学计算机学院,成都610065;2.上海政法学院,上海200000)

0 引言

好看视频App是一个聚合平台,为用户提供海量高质量的短视频内容。它提供的短视频类型覆盖了所有的范围,如乐趣、音乐、电影、娱乐、游戏、生活等。百度好看视频App使用智能算法了解用户的兴趣和偏好,并向用户推荐量身定制的视频内容。在快速增长的过程中,百度好看视频App也面临新的挑战。新用户可以下载应用程序浏览和播放视频一段时间。一些新的用户将在第二天继续使用App观看视频(我们称他们为回归用户);但是,其他用户不再使用该应用程序。我们想知道如何提高提高用户留存率以及深度挖掘影响用户留存率的因素。

根据用户的人像数据(性别、年龄、学历、地理位置、兴趣爱好等)、用户浏览行为、当天使用时间、安装来源等,任务是估计新用户是否会在第二天使用百度好看App。

对于这种异构数据,GBDT模型将有很好的性能,对类别数据的支持在这里尤为重要。因此,我们选择了支持类别特征的LightGBM和CatBoost作为GBDT的代表模型,来检验我们的特征的有效性和结果的差异性。

ManyToMany结构的RNN模型,其每一个输入都对应输出后的用户是否活跃,充分利用了监督信息,减少了梯度对负荷的影响,使训练更加容易。与Light GBM和CatBoost相比,RNN以历史统计数据作为特征,不需要对输入序列进行过多的处理,可以直接输入各种行为序列。通过余弦退火快照集成方法,可以以很低的成本获得大量不同的局部最优解。

训练集包含大量的用户和视频交互信息,包括喜欢、转载、评论等,还有一些视频没有显示给用户,在后台推荐。利用RNN多对多结构模型和GBDT模型融合的方法来增强模型的鲁棒性。

1 问题定义

WSDMCup用户留存率预测比赛是一个典型的二分类任务,用于预测用户在体验百度好看App的第一天之后是否重新使用该App。可用的原始信息包括用户的属性数据、视频的属性数据和交互信息数据。挑战的设置是使用第一天的交互信息作为训练数据,并预测用户第二天是否重新使用App。

为了证明预测的性能,我们使用对数损失作为评估指标,定义如下:

上面式子中,N是用户的总数,log是自然对数,yi是样本标签,pi是模型预测的结果输出。

2 算法实现

2.1 预处理数据

区域编码和评论这两个字段的数据取值都相同,因此直接删除掉。用户上次播放视频的时间为s,最后一次视频播放的时间点加上视频播放时间的时间点是t,如果s和t不在同一天,那么删除训练集中所有的此类用户。

由于性别、年龄、文化程度、安装渠道在同一个用户中并不独特,所以这些特征都是选择使用频率最高的值作为其代表特征,并使用LabelEncoder作为最后的特征。

2.2 特征工程

由于原始数据中提供了三个数据集的集合,因此我们的特征可以从该三个维度的数据中生成,通过这三个维度的任意组合,我们可以创造出数百个特征出来。

用户操作数,包括删除显示和点击缺失值后的操作数、用户观看的视频数和用户关注的次数等,构成用户操作的特征集合。

由于训练集的用户都是新用户,且时间限制在一天之内,时间滑动窗口特征将失去其统计意义。但是时间点类型特征,例如上次或者第一次用户做什么,意义重大。我们可以在这些时间点上做一些计时操作,例如时差、时差平均值等。同时我们也考虑到了视频的特点。我们做了很多基于视频的统计特征,例如播放的总持续时间、点击次数、标签的TF-IDF值的总和等。

从业务场景出发,我们生成了一些不寻常的特征。例如时间衰减特性放大了时间对用户的影响。由于只有一天的动作记录,用户在特定时间的操作将变得尤为重要。我们可以聚合多个维度进行嵌套,然后进行堆叠操作。我们选择在一个特定维度上聚合,然后在用户级别聚合。例如,我们聚合视频类型的特性,然后将它们聚合为一系列的聚合特征,例如单击、喜欢和转发,然后合并到用户级别,然后在用户级别再次执行聚合操作。我们称通过该方法生成的特征为多层叠加特征。

通过我们的模型选择和特征重要性排序,我们得到了前五个特征:①用户上次打开App的时间;②用户首次打开App的时间与上次打开App的时间间隔;③App安装渠道;④用户首次打开App的时间;⑤用户交互的总持续时间。特征重要也说明我们的特征工程思想是正确的。

2.3 模型

(1)梯度提升模型

LightGBM和CatBoost是两个梯度提升模型框架,是基于决策树的学习算法。XGBoost[2]逐层构建节点,LightGBM逐点构建节点,CatBoost始终使用完整的二叉树来构建节点,它的节点是镜像。CatBoost调用对称树来避免过拟合,提高可靠性,并大大加快预测速度。另外,LightGBM是基于直方图的决策树算法、具有深度限制的叶子生成策略以及使用直方图进行差分加速。因此,将两种方法结合起来可以取得很好的效果。

图1 LightGBM的叶子生成策略

我们根据大量的历史数据特征进行训练,并通过参数来控制过拟合策略,使训练效果的改善更加稳定。我们还使用了两个框架进行训练,获得效果如表1所示。

表1 GBDT方法的分数

我们可以看出,在这个数据集上,CatBoost的效果比LightGBM要好,我们构建的特征也更好地反映在具体的分数上。

(2)RNN模型

通常设想使用RNN的解决方案,输入用户行为序列,并用用户是否在第二天处于活跃状态来标记该序列,这种RNN结构被称为ManyToOne。

图2 ManyToOne的RNN结构

为了充分利用数据,训练数据需要大量的滑动窗口来实现数据的扩充,但这样也会导致计算量过大。另外,每个序列只有一个标签,梯度很难传递,导致训练非常困难。相反,我们可以考虑ManyToMany的结构,即每个输入对应一个输出,用户是否在第二天处于活跃状态。充分利用了监督信息,减轻梯度传递的负担,使训练更加容易。

图3 ManyToMany的RNN结构

LightGBM和CatBoost的方法,主要以历史数据为特征。而RNN不需要处理太多的输入序列,可以直接输入各种行为序列,简单的列表如下:

●当天是否登录(0或者1)

●观看视频的次数

●动作类型(是否显示、是否点击、是否收藏等)的操作次数

另外,直接在输出层进行截距拼接,输入日期和安装渠道。低频类别可以划分为一个总的类别。通过余弦退火和快照集成,可以以非常低的成本获得大量不同的局部最优解,最后融合可以实现显著的提升。

(3)快照集成

在训练开始时,SGD将在权重空间做一个较大的跳跃,随后,由于采用余弦退火策略,学习率逐渐降低。SGD收敛到局部最优解,并通过快照集成将模型权重加入到集合中,实现模型的融合。然后,将学习率重置为一个较大的值,在模型收敛到某些不同的最优解之前,SGD将再次显著跳跃。

快照集成方法的迭代周期为20到40次。长期循环学习率可以在权重空间中找到尽可能不同权重的模型。如果模型相似,则融合模型中各个网络的预测结果也会非常接近,使得融合模型的优点变得微不足道。快照集成的效果很好,大大提高了模型的性能,而快速集合集成方法效果更好。

(4)随机加权平均

随机加权平均法(SWA)与快速集合集成方法(FGE)非常接近,但是计算量小。SWA可以应用于任何模型结构和数据集,并在这些数据集中显示出良好的效果。SWA将趋于全局最低水平。SWA不是我们在传统意义上理解的集成方法。在训练结束时,将得到一个性能优于快照集成和FGE的模型。

如图4所示,W1、W2和W3代表三个独立训练的网络,WSWA是它们的平均值。与SGD相比,在测试集上表现出更好的性能。

SWA的灵感来自于经验观察,在每个学习率周期结束时,局部极小值往往在损失曲面上损失值极低的区域的边界处累积。通过对这些点的损失值进行平均,可以得到具有较低损失值、推广性和通用性的全局最优解。

图4 SWA

3 实验结果分析

提出的两阶段学习过程包括特征工程和参数优化等技术部分。我们应用不同的参数来获得最终的结果。使用了最佳CatBoost的结果和两个RNN模型的结果进行集成,得到了最高的分数。我们融合策略是叠加和平均,使用ManyToMany的结果作为训练Cat⁃Boost的特征,并应用CatBoost模型的结果和RNN-Ma⁃nyToMany结果的平均值。我们提交了线下验证集上的最高分数,最终在排行榜上的得分为0.7671。

表2融合方法分数

4 结语

本文介绍了一个实用的端到端的机器学习解决方案,在特征工程部分,采用多种数据分割方法丰富了特征提取,并利用多层叠加特征和时间衰减特征对模型进行增强。最后,在模型学习部分,我们使用三种方法来建立我们最终的方案,我们这种方法在离线测试和线上测试中,都具有很好的表现。进一步工作将包括使用CNN和DeepFM来提高我们现有模型的性能。

猜你喜欢

快照特征融合
离散型随机变量的分布列与数字特征
一种基于CANoe实现诊断快照数据测试的方法
从创新出发,与高考数列相遇、融合
《融合》
巧破困局,快速恢复本本活力
抓特征解方程组
不忠诚的四个特征
注册表拍个照 软件别瞎闹
我和这个世界巧妙地融合在一起了
让时间停止 保留网页游戏进度