CTR预估模型

核心提示CTR:click-through-rate,找到用户的反馈行为(例如点击、收藏、购买等)与各种特征(包括用户特征、广告特征等)之间的关系。 特征数据特点:原始数据通常包括的特征特别多,而且一般会用one-hot-coding的方法进行

CTR:click-through-rate,找到用户的反馈行为(例如点击、收藏、购买等)与各种特征(包括用户特征、广告特征等)之间的关系。

特征数据特点:原始数据通常包括的特征特别多,而且一般会用one-hot-coding的方法进行记录,但是这样构成的数据高维、稀疏。

特征的编码:直接用one-hot会有问题,就像上边提到的,高纬稀疏不利于后面的处理,所以大部分的CTR预估模型都会对one-hot特征进行embedding。压缩编码的方式有:神经网络模型(nnlm, word2vec)、矩阵分解(MF)、因子分解机(FM)等。

CTR预估模型本质是个二分类的问题,因为主要是去建模预测用户是否会点击某个广告。

图1展示了两条CTR预估模型推演的过程。

红色的展示了:从FM开始推演其在深度学习上的各种推广

黑色的展示了:从embedding+MLP自身演变的过程并结合CTR预估本身的业务场景推进的过程。

LR模型一般是CTR预估问题的基线模型,简单、可解释性强,但是由于本身的局限,不能处理特征和目标之间的非线性关系,尤其是在特征选择上,严重依赖于工程师的经验。

为了让线性模型能学习到原始特征和拟合目标之间的非线性关系,通常会对原始特征做非线性转换,例如:连续特征离散化、特征交叉(即利用领域知识,融入到模型中)等。

先将特征通过GBDT学习到每个叶子节点的编号做为新的特征,做为LR的输入。原因:GBDT能学习到高阶非线性特征组合。

CTR: LR、GBDT、FM、FNN、PNN、wide &Deep、DeepFM、DCN(Deep cross network)、xDeepFM

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

https://fuhailin.github.io/Deep-and-Cross-Network/

https://arxiv.org/pdf/1803.05170.pdf

xDeepFM: Combining Explicit and Implicit Feature Interactions for Recommender Systems

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

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

Deep Interest Evolution Network for Click-Throug(阿里的一篇文章,2019 AAAI)

https://www.jiqizhixin.com/articles/2018-07-22-19

预测模型可分为哪几类?

深度置信网络(Deep Belief Network)

DBNs是一个概率生成模型,与传统的判别模型的神经网络相对,生成模型是建立一个观察数据和标签之间的联合分布,对P(Observation|Label)和 P(Label|Observation)都做了评估,而判别模型仅仅而已评估了后者,也就是P(Label|Observation)。

DBNs由多个限制玻尔兹曼机(Restricted Boltzmann Machines)层组成,一个典型的神经网络类型如图所示。这些网络被“限制”为一个可视层和一个隐层,层间存在连接,但层内的单元间不存在连接。隐层单元被训练去捕捉在可视层表现出来的高阶数据的相关性。

DBNs的灵活性使得它的拓展比较容易。一个拓展就是卷积DBNs(Convolutional Deep Belief Networks(CDBNs))。DBNs并没有考虑到图像的2维结构信息,因为输入是简单的从一个图像矩阵一维向量化的。而CDBNs就是考虑到了这个问题,它利用邻域像素的空域关系,通过一个称为卷积RBMs的模型区达到生成模型的变换不变性,而且可以容易得变换到高维图像。DBNs并没有明确地处理对观察变量的时间联系的学习上,虽然目前已经有这方面的研究,例如堆叠时间RBMs,以此为推广,有序列学习的dubbed temporalconvolutionmachines,这种序列学习的应用,给语音信号处理问题带来了一个让人激动的未来研究方向。

目前,和DBNs有关的研究包括堆叠自动编码器,它是通过用堆叠自动编码器来替换传统DBNs里面的RBMs。这就使得可以通过同样的规则来训练产生深度多层神经网络架构,但它缺少层的参数化的严格要求。与DBNs不同,自动编码器使用判别模型,这样这个结构就很难采样输入采样空间,这就使得网络更难捕捉它的内部表达。但是,降噪自动编码器却能很好的避免这个问题,并且比传统的DBNs更优。它通过在训练过程添加随机的污染并堆叠产生场泛化性能。训练单一的降噪自动编码器的过程和RBMs训练生成模型的过程一样。

如何建立bp神经网络预测 模型

1、趋势外推预测方法

趋势外推预测方法是根据事物的历史和现实数据,寻求事物随时间推移而发展变化的规律,从而推测其未来状况的一种常用的预测方法。

趋势外推法的假设条件是:

(1)假设事物发展过程没有跳跃式变化,即事物的发展变化是渐进型的。

(2)假设所研究系统的结构、功能等基本保持不变,即假定根据过去资料建立的趋势外推模型能适合未来,能代表未来趋势变化的情况。

由以上两个假设条件可知,趋势外推预测法是事物发展渐进过程的一种统计预测方法。简言之,就是运用一个数学模型,拟合一条趋势线,然后用这个模型外推预测未来时期事物的发展。

2、回归预测方法

回归预测方法是根据自变量和因变量之间的相关关系进行预测的。自变量的个数可以一个或多个,根据自变量的个数可分为一元回归预测和多元回归预测。同时根据自变量和因变量的相关关系,分为线性回归预测方法和非线性回归方法。回归问题的学习等价于函数拟合:选择一条函数曲线使其很好的拟合已知数据且能很好的预测未知数据。

3、卡尔曼滤波预测模型

卡尔曼滤波是以最小均方误差为估计的最佳准则,来寻求一套递推估计的模型,其基本思想是: 采用信号与噪声的状态空间模型,利用前一时刻地估计值和现时刻的观测值来更新对状态变量的估计,求出现时刻的估计值。 

它适合于实时处理和计算机运算。卡尔曼滤波器问题由预计步骤,估计步骤,前进步骤组成。 在预计步骤中, t时状态的估计取决于所有到t-1 时的信息。在估算步骤中, 状态更新后, 估计要于时间t的实际观察比较。更新的状态是较早的推算和新观察的综合。 置于每一个成分的权重由“ Kalmangain”(卡尔曼增益) 决定,它取决于噪声 w 和 v。(噪声越小,新的观察的可信度越高,权重越大,反之亦然)。前进步骤意味着先前的“新”观察在准备下一轮预计和估算时变成了“旧” 观察。 在任何时间可以进行任何长度的预测(通过提前状态转换)。

4、组合预测模型

组合预测法是对同一个问题,采用多种预测方法。组合的主要目的是综合利用各种方法所提供的信息,尽可能地提高预测精度。组合预测有 2 种基本形式,一是等权组合, 即各预测方法的预测值按相同的权数组合成新的预测值;二是不等权组合,即赋予不同预测方法的预测值不同的权数。 这 2 种形式的原理和运用方法完全相同,只是权数的取定有所区别。 根据经验,采用不等权组合的组合预测法结果较为准确。

5、BP神经网络预测模型

BP网络(Back-ProPagation Network)又称反向传播神经网络, 通过样本数据的训练,不断修正网络权值和阈值使误差函数沿负梯度方向下降,逼近期望输出。它是一种应用较为广泛的神经网络模型,多用于函数逼近、模型识别分类、数据压缩和时间序列预测等。点击打开链接(BP神经网络预测实例)

参考资料:

百度百科-趋势外推法

百度百科-回归预测法

百度百科-卡尔曼滤波法

百度百科-组合预测法

百度百科-神经网络模型

预测模型建立

建立BP神经网络预测 模型,可按下列步骤进行:

1、提供原始数据

2、训练数据预测数据提取及归一化

3、BP网络训练

4、BP网络预测

5、结果分析

现用一个实际的例子,来预测2015年和2016年某地区的人口数。

已知2009年——2014年某地区人口数分别为3583、4150、5062、4628、5270、5340万人

执行BP_main程序,得到

[ 2015,  5128.631704710423946380615234375]

[ 2016, 5100.5797325642779469490051269531]

代码及图形如下。

松散含水层含水量预测模型的建立,主要是将预测松散含水层含水量问题转化为利用支持向量机求解的数学模型,主要包括如下4个步骤:

1)选取训练集T={(x1,y1),…,(xl,yl)}∈(x×y')。

2)选择适当的核函数K(x,x′),如线性核函数、径向基核函数、多项式核函数和Sigmoid核函数。

3)确定支持向量机中的参数,如C,ε,γ等。

4)建立模型。

(一)训练集的选取

1.预测基本输入特征量

选取合适的训练集,对于建立松散含水层含水量预测模型是非常重要的,本课题对预测模型输入特征量的选取遵循以下原则:

1)现有物探仪器设备可测、或可转换参数,具有实用性和可观测性。

2)要与所研究地下含水层结构的综合物探方法相配套,充分挖掘所获观测数据的信息资源。

3)优化组合,兼顾所利用的输入特征量间的互补性,避免或减少冗余性。

4)保障预测模型具有广泛的推广能力。

建模时要把所有的数据分为训练集和测试集,根据训练集,求出决策函数,而用测试集测试所得决策函数的准确率。那么选择一个合适的训练集,第一要满足训练集中的样本点数量不能过多,也不能太少第二训练集中所含特征向量不能太少,如果太少则不能够反映实际情况,影响分类或者回归的准确性,但也不能太多,否则会增加计算难度,甚至影响训练速度和时间。除了样本点多少的选择以外,还要在数据中不能选择过多的属性。属性选择要达到以下3个目的:首先是确认哪些属性与预测输出特征量相关的特性其次是尽量降低输入空间维数,缩小求解问题的规模最后是提高准确率,得到更好的决策函数。

基于上述原则,将支持向量机预测模型的预测输入基本特征量选定为:反演电阻率值ρ、反演含水层厚度H,半衰时Th,衰减度D,视极化率ηs,纵波速度v等地面物探观测参数作为基本输入特征量讨论。

为了验证上述输入特征量选择原则的正确性,选择了石家庄市西马庄水源地现有电测深资料与单孔单位涌水量资料并进行了秩相关性分析,原始数据见表5-1所示。分析结果如表5-2所示。

表5-1 西马庄原始数据

表5-2 西马庄电性参数与涌水量相关分析

2.综合性参数的引入

鉴于第四纪含水层一般呈高阻性,在电测深反演解释过程中易产生hT等值现象的解释误差。依据含水层的富水性对应于一定的电阻率值,而单孔单位涌水量既与含水层富水性有关,又与其厚度有关。为了尽可能消除因等值现象导致解释所产生的误差,又能使输入特征量与预测量有更为密切的相关性,使预测模型具有良好的推广能力,对此,将电测深反演后的含水层电阻率与其层厚度相乘作为一个输入特征量T″,该特征量T″与含水层单孔单位涌水量相关分析结果表明,二者有更为密切的相关性,见表5-3所示。

表5-3 综合参数与涌水量相关分析

考虑到不同的地区地下水所含矿化度的不同,因其孔隙水的导电性不同,将会导致同类富水层电阻率有较大差别。为了消除孔隙水的导电性对预测精度的影响,突出含水层有效孔隙度特征,基于,ρ=αΦ-ms-nρw引入了相对综合因子参数T″,其表达式为

含水层含水量预测综合物探技术

式中:ρf为孔隙流体的电阻率ρt为岩石的电阻率H为含水层厚度。

从而将原基本输入特征量ρ和H组合为一个输入特征量T″。

3.激发比的引入

考虑到激发比可以放大激电异常,对第四系含水层有更为灵敏的反应。因此将激电模型里的极化率、衰减度参量用激发比参量代替,其表达式为J=ηsD。由表5-4和表5-5可知,激发比的引入,改善了模型预测精度。

表5-4 未引入激发比模型预测结果

表5-5 引入激发比模型预测结果

4.输入特征量的归一化

由于各输入特征量的量度差异较大,在用支持向量回归机进行建模训练和使用时,有必要对输入特征量进行归一化。归一化是指将属性数据按比例缩放,使之落入一个小的特定区域,如[-1,1]或[0,1]范围内。

归一化可以帮助防止具有较大初始值域的属性与具有较小初始值域的属性相比,权重差距过大。本次所建模型采用最小-最大规范化方法:将输入特征量归一化到[0,1]范围内。归一化公式为

含水层含水量预测综合物探技术

式中:x为某个输入参数对应的值xmin和xmax分别为该项特征量的设置最小值和最大值xs为该输入参数的归一化值。

5.预测输入特征量的优选

在基本预测输入特征量归一化处理的基础上,需要进一步研究特征量组合结构的优化性问题,即确定预测模型最佳输入特征量的数量和成分。

通过电测深找水实践证明:

第四纪地下含水层结构对应特定的电测深异常特征,所获取的地电参数与单孔涌水量均存在着一定的对应关系,但深入研究还表明:作为预测输入量而言,每一参量与单孔涌水量间存在着不同的相关性,输入量相互之间可能还存在着冗余成分,为提高预测模型的预测精度和模型运算速度,探讨上述地电参量与地下水单孔涌水量的相关性和输入特征量的最佳组合问题,揭示地电参数与地下含水层含水量的内在关联是十分必要的,也是确定预测模型输入特征向量的基础。

鉴于地电参数与地下含水层含水量间不存在明确的函数关系,在优化分析过程中,以石家庄市西马庄水源地的已知8眼井孔的资料为基础,将现有的已知特征量参数:T″,Th,D,ηs及激发比J作为分析对象,利用高斯径向基核函数,C=1024,ε=0.5,γ=1.0和ε-SVR模型进行7+1循环式训练-预测方式。其分析结果如表5-6所示。

由表5-6所列预测精度可得到以下结论:

表5-6 特征量的优化分析表 单位:%

第一,随着特征数量的增大,其预测精度得到提高,四个特征量预测精度最好

第二,若采用三个特征量时,其中的T″,Th,D组合最佳,其次为T″,D,ηs。以上结论对建模时输入特征量的优化筛选提供了重要的参考依据。

6.预测模型输入特征量的确定

基于上述分析,针对研究对象的尺度及精度要求,建立了4种预测模式。对于不同的预测模型,分别确定了其输入特征量。

模型一:输入特征量为含水层的反演电阻率ρ、隔水层的反演电阻率ρ隔、含水层厚度h、含水层层数n和井孔孔径φ。该模型主要用于对精度要求不高的区域水文地质调查。

模型二:输入特征量为含水层的反演电阻率ρ、隔水层的反演电阻率ρ隔、视极化率ηs、含水层的半衰时Th、含水层厚度h、含水层层数n和井孔孔径φ。该模型主要用于专门性水文地质调查。

模型三:输入特征量为含水层的反演电阻率ρ、隔水层的反演电阻率ρ隔、视极化率ηs、半衰时Th、衰减度D、含水层厚度h、含水层层数n和井孔孔径φ。该模型主要用于对精度要求较高但探测深度要求不高的地下水源评价与开发工作。

模型四:输入特征量为含水层的反演电阻率、ρ隔水层的反演电阻率ρ隔、视极化率ηs、纵波波速v、含水层厚度h、含水层层数n和井孔孔径φ。该模型主要用于对精度要求较高,探测深度较深的地下水源评价与开发工作。

(二)核函数的选择

在建立预测模型过程中,需要选择函数K(·,·),即选择一个映射φ(·),把x所在的输入空间x映射到另一个空间H。H是一个Hilbert空间,即可以是有限维空间也可以是无穷维空间。因此核函数方法的核心内容就是采用非线性变换φ将n维矢量空间中的随机矢量x映射到高维特征空间,在高维特征空间中设相应的线性学习算法,由于其中各坐标分量间的相互作用只限于内积,因此不需要知道非线性变换φ的具体形式,只要利用满足Mercer条件的核函数替换线性算法中的内积,就能得到原输入空间中对应的非线性算法。

支持向量回归机中的核函数对于预测模型的推广能力产生直接的影响,在选取核函数时,通常采用的方法有:一是利用专家的先验知识预先给定核函数二是采用Cross-Validation方法,即在核函数选取时,分别试用不同的核函数,归纳预测误差最小的核函数就是最好的核函数。在本课题中我们采用了第二种方法进行核函数的选择。

为使确定的核函数具有最佳的预测效果,首先要对相应的核数的参数进行优化筛选。由(5-20),(5-22),(5-24)式可见,径向基核函数需要确定1个核参数,即系数γSigmoid核函数需要确定2个参数,分别为:系数γ和常数r多项式核函数需要确定3个参数,分别为:阶数d、系数γ和常数r。

在筛选过程中,将石家庄市西马庄水源地的井旁电测深成果和抽水试验数据作为研究基础,具体数据详见表5-1所示。

将其划分为两个子集,即一个训练集和一个预测验证集。由此对上述每一种核函数利用已确定的训练集进行建模参数优化筛选。具体方法为:对于径向基函数采取了交叉验证和网格搜索的方法,多项式核函数和Sigmoid核函数采用了试凑法。

试验一:径向基核函数交叉验证对石家庄西马庄水源地8眼井作试验数据,选出7个作为训练样本,一个不参加训练的样本。再将选出的7个训练样本随机分为3组,选择其中两组进行训练,另外一组作为验证,这样一个接一个,进行3次。每次验证时,尝试所有的参数对,计算其交叉校验的平均性能MSE,最后以模型在3次验证数据上的性能平均值作为这一学习参数下的模型性能,然后循环8次,从而确定最佳参数值范围。确定的搜索范围分别为C(2-10,215),ε(2-10,23),γ(2-10,210)。为了增加搜索速度,我们步长选择的是2的指数倍。最终确定参数C=1024,ε=0.5,γ=1。

试验二:多项式核函数试凑法

借鉴试验一的分析结果,选择参数C=1024,ε=0.5。在选取核参数之前,我们需要对多项式核的阶数d做出限定,选择的阶数不易过大,如阶数太大,不仅增加了学习模型的复杂性,易出现“过拟合”现象,导致SVM的推广性能降低。因此,规定d的取值不超过4。另外对γ和r做了初步筛选,圈定了其范围分别为:γ∈[1,4]r∈[0.1,1]。然后采用阶梯式搜索分别找出最优的阶数d、系数γ和常数r

首先进行阶数d的选择,设定参数γ=1,r=0.2从8眼井中选出7个作为训练样本,d依次选择1、2、3、4进行训练,预测那个没有参加训练的样本,循环8次然后将预测结果进行对比。本文采用两个误差指标来衡量模型的预测效果:均方误差(MSE)和平均绝对百分比误差(AMPE),其表达式分别为

含水层含水量预测综合物探技术

式中: 为预测值xi为实测值N为试验次数,这里N取8。

由表5-7可以看出:当d=3或d=4时,预测精度相近,但考虑到阶数越大,学习模型的复杂性越大,因此选取d=3最佳参数。

表5-7 不同阶数多项式核函数对预测结果影响统计表

然后进行系数γ选择,设定参数d=3,r=0.2γ依次选择1、2、3、4进行训练,然后将预测结果进行对比,可知γ=1为最佳参数(表5-8)。

表5-8 不同γ多项式核函数对预测结果影响统计表

最后进行常数r的选择,设定参数d=3,γ=1.0r依次选择0.2、0.4、0.6、0.8和1进行训练,然后将预测结果进行对比,可知r=0.8为最佳参数(表5-9)。

表5-9 不同r多项式核函数对预测结果影响统计表

最终确定参数d=3,γ=1,r=0。

试验三:Sigmoid核函数试凑法

选取石家庄西马庄水源地8眼井作试验数据,仍借鉴试验一的分析结果,选择参数C=1024,ε=0.5。

对γ和r做了初步筛选后,确定γ为0.1圈定r∈[0.01,1]。下边对参数r进行精细选择,设定r值分别为:0.01、0.1、0.2、0.4、0.8,从8眼井中选出7个作为训练样本,预测样本不参加训练集,经过8次循环,通过对预测结果的对比,从而确定r=0.01~0.1时预测效果最好。分析结果如表5-10所示。

表5-10 不同rSigmoid核函数对预测结果影响统计表

核函数的选择通常采用Cross-Validation法,即在核函数选取时,分别试用不同的核函数,归纳预测误差最小的核函数就是最好的核函数。

我们将石家庄西马庄8眼井的资料与北京潮白河水源地7眼井的资料组合建立新的建模集,从中任意选出14个作为训练集样本,另外1个样本组成预测集,这样进行了8组试验,通过图5-3我们看到基于RBF核函数的预测模型预测精度最高。因此我们认为利用RBF核函数建立的含水层含水量预测模型预测效果最佳。

图5-3 三种核函数预测精度对比

(三)参数确定

采用径向基核函数所建立的模型需要确定的参数共有三个,分别为核函数参数γ,惩罚系数C和松弛变量ε。

惩罚因子C为正常数,惩罚因子C决定了对超出误差ε的样本惩罚程度。从结构风险的角度考虑,C值取得过大,问题倾向于经验最小,忽略对结构复杂程度的考虑反之则更多地考虑了问题的复杂程度,忽略了经验数据的作用。因此可以说,C是支持向量机回归和泛化能力的平衡参数。惩罚因子C取不同的常数值,对结果有不同的影响。

由表5-11可知当C值取1024和2048时预测精度相同,说明当C大于一定值时,其变化对分析结果产生的影响变小。

表5-11 不同C值对预测结果影响统计表

通过对比试验,最终取值

(四)模型建立

构造并求解最优化问题

含水层含水量预测综合物探技术

得到最优解 每个支持值 。

构造决策函数

含水层含水量预测综合物探技术

将所求得的核函数系数、β值及b值带入5-44式,即为ε-SVR预测模型。

以上就是关于CTR预估模型全部的内容,如果了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

 
友情链接
鄂ICP备19019357号-22