美国第二大有线电视运营商广告曝光(impression)(图)

优采云 发布时间: 2021-08-12 01:10

  美国第二大有线电视运营商广告曝光(impression)(图)

  FreeWheel 是一家负责高端视频广告投放的公司。其主要业务是整合美国的传统电视和数字电视。作为 FreeWheel 的重要客户之一,Charter 是美国仅次于 Comcast 的第二大有线电视运营商。

  准确预测未来一个小时内,Charter 流量中每个电视频道可能的广告印象是我们的主要目标。我们可以通过捕捉用户的观看行为来实现更准确的广告。

  通过聚合时间、区域、渠道、站点分类等多个维度的预测数据,不仅为广告主提供售前参考,也为售中广告提供决策支持。

  本文介绍了我们在数据上的发现以及基于数据和业务对模型所做的改进,通过构建深度学习模型来达到准确预测的目的。

  “异常”数据对模型训练的挑战

  时间序列预测的主要思想是从历史数据和预测数据的相关性中学习行为模式来进行预测。对于模型来说,预测的时间序列序列越稳定越有规律,就越准确。

  突如其来的“异常”时间序列序列频率低,规律性弱,难以准确预测。因此,时间序列中“异常”序列的预测对我们来说是一个很大的挑战。

  在Charter收录的流量中,我们随机选取了一个站点,观察了其今年4-6月的流量数据。横坐标为当天日期,纵坐标为当天网站流量。

  从图中我们可以看出,在一定时期内,流量的趋势有很多相似之处。在流量稳定的情况下,该模型可以通过学习最近的历史数据,充分了解流量的规律,对未来一段时间内的观看行为做出更准确的预测。

  

  但如果有突发事件导致用户的观看行为发生变化(比如大假期,人们选择外出旅游或在家看电视,这会使假期期间的观看行为与日常有所不同),那么模型只通过最近的历史数据无法对此做出反应,这是模型中的一些“异常”行为。

  如图所示,我们选取​​了同一站点从12月到次年2月的流量数据。对比4-6月用户的浏览行为,我们可以看到,从圣诞节到年初,流量格局发生了变化。新年前后的曲线在其他时期会更多。

  

  为了更细化地观察节假日和非节假日每天的流量变化,下图中横坐标表示每天0点到23点,纵坐标表示当前每小时流量。可以看出,非节假日期间(左图)日流量曲线趋势相似,新年期间产生的流量(右图)更加离散。

  

  这是因为用户比平时有更多的空闲时间看电视,导致观看行为发生变化,从而导致流量曲线之间的相似度也降低了。

  因此,如何处理时间序列预测中的“异常”行为,提高模型对假期等周期性事件的感知能力,是我们需要关注的问题。

  优化“异常”数据模型的同比数据注入

  在时间序列预测中,通常的做法是选择离预测日期越近的月环比数据,因为距离越近,与预测结果的相关性越高。但考虑到节日和一些重大事件引起的异常,我们也可以在考虑链式数据的同时,从去年同期(同比)数据中学习。

  模型在进行预测时,不仅可以了解用户最近的观看模式,还可以通过参考同比数据判断未来是否会出现一些“异常”的观看模式。

  在时间序列预测任务中,机器学习模型主要有两种:以ARIMA为代表的传统时间序列预测模型和基于RNN的深度学习模型。

  随着预测任务的维数越来越高,传统的时间序列预测模型很难达到业务要求的准确率,因此深度学习模型成为当前时间序列预测场景中更常见的选择。

  网络*敏*感*词*如图所示。我们以Cross&Deep为模型原型,根据业务需求和数据的特点对模型进行相应的修改。将经典的二塔结构改为三塔结构,并对模型细节做了相应的优化。

  

  注意力机制介绍

  在Cross&Deep模型中,Cross network用于处理离散特征,如user id、channel id等。Cross network会先对离散信息进行向量化处理,然后通过cross层完成特征组合,增加特征之间的交互。

  但是在实验中我们发现由于user id信息太大,与channel、region等信息交叉乘积后,过高的数据空间维度会影响模型对一定的拟合效果范围。

  在梯度传播过程中,离散特征的参数往往无法实现有效的梯度下降,模型很难找到最优解。如果降低数据空间的维数,很容易导致模型中离散特征的编码不足。

  因此,虽然交叉层做了高维特征交叉,但模型仍然难以实现有效的特征提取。基于这个问题,我们引入了一种self-attention机制,在进行特征交叉之前增加模型对特征空间中有效数据的注意力。

  它是全球信息重要性的捕手。随着Transformer的出现,它代替RNN得到了更广泛的应用,用于一些对时序信息不是很敏感的场景。与时间信息的捕获相比,离散特征的提取对位置信息的依赖较弱,自注意力机制在该场景下具有天然优势。

  self-attention机制的计算主要有两个阶段:一是计算query和key的相似度,二是计算query和key对输入的权重,得到输入的重要性分布信息。

  因此在特征交叉前引入self-attention机制可以有效捕捉特征信息的内在相关性,筛选出更重要和相关的信息参与特征交互,增加特征交叉时数据空间的有效集中度这不仅可以对离散特征进行完整编码,还可以降低在数据空间中寻找最优解的复杂度。

  时间信息的提取

  在Deep network中,我们使用两个deep network分别训练同比和环比数据。但是,DNN 不能很好地捕捉计时数据中的计时信息,在小时级预测粒度下结果不准确。因此,我们在 DNN 中添加了 CNN 和 RNN,以增强 DNN 模块对时序信息的捕获。

  这里我们按照一定的周期折叠输入时序。首先是因为我们的预测是细粒度的,而且周期长。将所有的时间序列数据放在一维中会增加后续RNN计算在时间步长的计算负担,也会带来信息的丢失。风险。

  二是正常情况下,我们的数据在短时间内的观看行为有一定的相似性。因此,根据预测的粒度,我们将输入的历史数据按周的粒度进行折叠。对于 CNN 来说,每周的观看行为是一个频道。这样,卷积网络可以在短时间内轻松提取浅层信息,甚至隐式完成一些统计信息计算。

  RNN的加入是为了增强序列信息的表征。由于时间步长,为了缓解梯度的消失,我们尝试使用LSTM/Transformer代替RNN,但是在实验中发现LSTM的增益没有达到预期,而使用LSTM大大增加了模型的训练时间。

  Transformer 在时序问题上的表现并不理想。首先是时序问题对位置关系的依赖性很强,而Transformer只是简单地添加了位置信息。抓拍能力不好。二是Transformer大大增加了模型的复杂度,对模型的计算和收敛有很大影响。

  因此我们对数据进行了进一步的分析。用户的观看模式有一定的稳定性。虽然每天的观看模式并不完全相同,但观看行为会集中在一天的某个时段。在此分析的基础上,我们对时间序列序列的信息提取方法进行了调整。

  对于时间序列序列,当我们将短周期的粒度从周缩短到天时,历史数据按照天的周期粒度进行折叠,卷积会在当天的查看序列上滑动找到集中观赏期。这样可以大大减少时间步长,节省模型计算时间,使用简单的RNN就可以完成序列信息的表征。

  在同比数据和季度环比数据的融合中,我们选择了拼接向量的方法,而不是使用加法来完成特征的融合。在正常流量下,用户在不同时段的观看模式分布可能是相似的,但如果出现异常流量,观看模式就会出现抖动,从而导致数据分布出现偏差。这时候直接把不同分布的数据相加。不太对。

  同时,在融合向量之后连接了一个全连接层,可以作为一个简单的注意力机制来选择性地选择同比或环比数据。

  在模型的评价指标中,我们选择MAPE(平均绝对百分比误差)作为衡量模型性能的指标。对比Zone、Channel、Hour这三种不同的粒度,可以看到优化后的模型效果对比在线模型在日常预测和节假日异常数据预测方面的指标都有提升。可以看出,通过加入同比数据,模型可以增强对一些“异常”数据的识别能力。

  

  总结

  本文介绍了我们在收视率预测中的优化探索。通过对数据的周期性分析,我们尝试在模型中加入同比数据,以提高模型对长期变化的感知能力,并根据数据的特点做出详细的模型。相应地进行修改。

  模型的优化没有止境。在线模型可能会随着数据的变化而逐渐恶化。没有任何一种模式可以一直完美地满足业务的需求。因此,我们需要时刻要求自己对数据保持敏感,了解业务,才能更好地应对在线数据和业务需求的变化。

  作者介绍:

  黄霞宇,FreeWheel机器学习团队工程师,在计算广告业务从事机器学习的算法研究和模型开发,热爱大数据处理分析技术。通过算法与工程的结合,机器学习可以更多地应用于计算广告领域。

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线