广告点击率预估模型的优化方法和装置与流程

文档序号:18743323发布日期:2019-09-21 02:03阅读:398来源:国知局
广告点击率预估模型的优化方法和装置与流程

本发明涉及机器学习技术领域,尤其涉及一种广告点击率预估模型的优化方法和装置。



背景技术:

广告点击率(Ad CTR,Ad Click-through Rate)预估模型是目前整个互联网广告产业的核心支柱。面对每一个互联网用户,如何选择、分发并展示给这个用户广告,以求最大化该用户点击所展示广告的可能性,不仅显示了该互联网广告平台在用户流量变现方面的能力和效率,同时也直接影响了这个平台在互联网广告方面的营收。

利用机器学习理论构建的广告点击率预估模型,可以从有限(少量)的广告展示/点击日志中自动寻找规律,确定模型的参数。并且,经过这些日志数据的训练(优化)之后,可以直接利用这些优化好的参数,对其他大量广告的点击率进行更加准确的估计/推断,特别是对于那些没有足够展现和点击历史的候选广告。

目前广告点击率预估模型最常采用的是逻辑斯蒂回归(LR,Logistic Regression)模型。LR模型通常情况下是结合超高维度(可以达到万亿级别)的特征向量x使用。CTR具体定义为一个Sigmoid函数δ(z),如公式(1)所示。需要说明的是,在本申请文件中,加粗的小写字母代表向量;不加粗的小写字母代表标量;加粗的大写字母代表矩阵。

其中,CTR的取值范围为(0,1)。如图1为现有技术中Sigmoid函数的数值曲线示意图。

e-z是以-z为参数的自然幂指数,z被定义为大规模特征向量x与对应相同维度的权重向量w的内积(或者,可以理解为特征的加权求和)。

Z采用公式(2)确定:

z=w·x (2)

在搜索广告场景下,用于估计广告CTR的大规模特征向量x一般包括用户本身的各项特征(性别、地域、年龄、喜好等等),用户搜索词的文本特征,候选广告的文本、图像、视频各项特征,等等。

仅仅以简单的文本特征为例,独热编码(one-hot encoding)方式将每一种词汇单独视作为一个维度的特征。中文词汇的种类非常庞大(几十万),因此仅仅中文文本特征就可能达到几十万,甚至几百万;这也说明了为什么总体的特征向量x的维度可以达到近万亿级别。

如果用这种独热编码(one-hot encoding)的方式,将每一条数据(由某一条具体的广告,具体的用户,具体的广告投放商,以及具体的一个搜索词组成)映射到这个近万亿维度的离散特征上,将会是非常稀疏的二值向量(只有个别一些特征位置被赋值为1,其他许多特征值均为0)。如图2为现有技术中的一个高维特征(星期、性别、城市)映射示意图。其中,“星期”的槽位(slot)有7个维度的特征(周一到周日),性别的槽位(slot)有2个维度的特征(男、女),城市槽位的维度更高(所有需要被考虑的城市)。针对具体一条数据(星期=2,性别=男,城市=伦敦)只能选择其中3个维度赋值为1;其余很大比例的特征值为0;这种表现叫做稀疏。这里我们通常把每种特征更加宽泛的高层类别(星期、性别、城市),统称为槽位(slot)。

对于没有搜索词的场景,向量x依然需要包括除了搜索词以外的其他各种用户、广告,以及广告投放商的高维离散特征。

当然,随着最近几年有关深度学习的兴起,类似词向量的技术可以将许多离散稀疏的文本特征转化为低维稠密的向量表示。本发明实施例同时适用于高维离散特征向量和低维稠密特征向量。

对于一个特征向量(代表正数域)为k维的广告,记y代表其是否被真实点击(y=1代表被点击;y=0代表没有被点击)。按照公式(1)与公式(2)的联合定义,其被点击的概率为:

其没有被点击的概率为:

P(y=0|x;w)=1-hw(x) (4)

整合公式(3)与公式(4),我们可以将CTR预估的概率定义为:

P(y|x;w)=(hw(x))y(1-hw(x))1-y (5)

按照公式(5)的概率假设,若有训练集Δtrain={(x(i),y(i));i=1,...m},里面包含m条广告是否点击的数据,那么我们希望最大化这m条数据的联合概率作为CTR预估模型的优化目标,进而得到达成这个目标的最佳参数w。如公式6所示:

对公式(6)取自然对数的负数之后,得到了以基本逻辑斯蒂回归作为CTR预估模型的最终优化目标,即最小化Ltrain(w),其中,

即,最终优化目标如公式(7)所示:

但是,在实际的业界公司规模的大型广告点击率预估模型中,上述优化目标中的特征向量维度k一般为几万亿,而每天能够收集的数据量m一般也就在几亿;也就是说,用于训练的数据规模m远小于参数(权重)的数量k;换言之,模型的自由度过高,优化后的模型容易过拟合(Overfitting)。

为了克服过拟合的问题,现有技术针对上述内容做出了如下两点改进:

1)考虑到大规模特征本身是非常稀疏的;因此,如果能够让模型在优化的过程中,逐步朝着参数(权重)稀疏的目标优化,即有大量的参数为0,也就间接减少了参数的规模,降低模型的自由度,减轻了过拟合现象。为了让参数(权重)朝着更加稀疏的目标进行优化,现有技术在基本的优化目标(公式(7))基础上,增加一个约束的L1-正则项(L1-Norm)(即,参数的1-范数||w||1),得到新的优化目标Jtrain(w,θ),如下所示:

Jtrain(w,θ)=Ltrain(w)+θ×||w||1 (8)

其中,也就是对k维的参数向量逐项求绝对值,然后求和。直观一些讲,引入的正则项作为约束,只有在w中大部分参数为0的时候,||w||1的值才能比较小。由于整体优化目标是最小化Jtrain(w,θ),所以这样就迫使w中许多参数值为0。另外,超参数θ需要人为设定,用来调节正则项(参数的1-范数||w||1)占整体优化目标的比重。

2)在训练集之外,构建一个验证集(必须保证验证集里的数据没有出现在训练集中,即);其中,Δtrain为训练集,Δvalid为验证集),用来更加客观评价模型优化的好坏。

基于上述两点,现有的带有正则项的LR模型参数的优化算法过程如下:

1、准备好两份数据集:训练集Δtrain和验证集Δvalid。

2、人工定义θ的搜索范围[a,b],并且以步长c进行网格搜索(Grid search),假设a到b之间有M个候选超参数(包括:a,a+c,a+2c,…,b),形成一个候选超参数列表Θ=[a,a+c,a+2ci,...,b]

3、定义一个空列表L。

4、随机初始化参数w。

5、针对Θ中的每个超参数θ(θ=Θ[i],其中,i=1~M)分别执行以下步骤:

采用人工定义的优化策略,以在训练集Δtrain上最小化Jtrain(w,θ)为目标,内部经过T轮的学习优化参数w;其中,j表示优化次数的索引,j=1~T。

将当前学习到的参数w代入Lvalid(w),得到该轮次模型在验证集Lvalid(w)上的模型损失Lvalid,并加入列表L。

6、从列表L中选取验证集上的损失最小的索引j。

7、最终选取第j轮的优化参数w和超参数θ,作为最终模型的参数。

由上述算法可见,在引入了“1-范数”正则项(L1-norm)的同时,也额外增加了一个超参数θ需要手工设定。即便采用网格搜索(Grid Search)的方式,也需要人为设定搜索的范围和搜索的步长;换言之,得到的超参数θ只能说是在搜索范围内的相对最优结果,而不是全局最优的。并且,手动寻找对应的超参数加大了模型筛选的复杂度,按照上述算法的介绍,基本需要T*M轮优化。此外,针对于不同的训练数据和应用场景,现有优化技术所采取的方案和规则都是一成不变的。



技术实现要素:

本发明实施例提供一种广告点击率预估模型的优化方法及装置,以至少解决现有技术中的以上技术问题。

第一方面,本发明实施例提供了一种广告点击率预估模型的优化方法,包括:

采用训练集中的数据统计优化前的第一参数向量对应的方向向量及步长向量;其中,所述第一参数向量为所述广告点击率预估模型的参数向量;

将所述优化前的第一参数向量、所述方向向量及所述步长向量作为更新函数的输入,采用优化前的第二参数向量计算优化后的第一参数向量;其中,所述第二参数向量为所述更新函数的参数向量;

以在验证集中的优化目标为准则,估计优化后的第二参数向量;其中,所述优化目标采用所述优化后的第一参数向量确定;

采用所述优化后的第二参数向量更新所述优化后的第一参数向量。

在一种实施方式中,所述采用训练集中的数据统计优化前的第一参数向量对应的方向向量,包括:

采用以下式子分别计算所述方向向量中的各个元素,将所述各个元素组成所述方向向量;

其中,

所述表示第t轮优化时,所述方向向量中的第i个元素;

所述α为大于0并且小于1的正数;

所述xi表示广告特征向量中的第i个特征;

所述click(xi)表示所述xi在所述训练集中被真实点击的次数;

所述predict(xi)表示所述xi被预估点击的次数。

在一种实施方式中,采用训练集中的数据统计优化前的第一参数向量对应的步长向量,包括:

采用以下式子分别计算所述步长向量中的各个元素,将所述各个元素组成所述步长向量;

其中,

所述表示第t轮优化时,所述步长向量中的第i个元素;

所述β为大于0并且小于1的正数;

所述xi表示广告特征向量中的第i个特征;

所述predict(xi)表示所述xi在所述训练集中被展现的次数。

在一种实施方式中,所述更新函数采用以下式子定义:

wt+1=F(wt,d(wt),s(wt));其中,

所述wt+1表示第t轮优化时,优化后的所述第一参数向量;

所述wt表示第t轮优化时,优化前的所述第一参数向量;

所述d(wt)表示第t轮优化时,wt对应的方向向量;

所述s(wt)表示第t轮优化时,wt对应的步长向量。

在一种实施方式中,所述wt+1的计算方式为:

采用以下式子分别计算所述wt+1中的各个元素,将所述各个元素组成所述wt+1

其中,

所述表示所述wt+1的第j个槽位中的第m个元素;

所述表示所述wt的第j个槽位中的第m个元素;

所述表示所述d(wt)的第j个槽位中的第m个元素;

所述表示所述s(wt)的第j个槽位中的第m个元素;

所述uj表示所述优化前的第二参数向量中对应第j个槽位的向量;

所述vj表示第j个槽位的特征值向量。

在一种实施方式中,所述vj的确定方式为:

将所述优化前的第一参数向量中对应第j个槽位的各个元素分别用一个三维向量表示;所述三维向量为:其中,所述m为第j个槽位中元素的索引;

针对第j个槽位的各个元素对应的所述三维向量,采用K-means算法进行聚类,得到每个槽位中的l个中心点;所述l为整数;

针对所述优化前的第一参数向量中的第j个槽位的各个元素对应的三维向量,分别计算所述三维向量与所述元素所属槽位中的l个中心点的距离的倒数,将所述倒数作为所述vj的各个元素;

将所述各个元素组成得到所述vj。

在一种实施方式中,所述vj的确定方式为:

将所述优化前的第一参数向量中的第j个槽位用一组三维向量表示;所述一组三维向量为:其中,所述为所述wt的第j个槽位对应的向量;所述为所述d(wt)的第j个槽位对应的向量;所述为所述s(wt)的第j个槽位对应的向量;

将所述一组三维向量用高斯混合模型重新表示,利用最大期望算法估计所述vj。

在一种实施方式中,所述训练集及所述验证集的确定方式为:

采用滑动窗口在流式数据环境中进行动态切割和划分,得到所述训练集及所述验证集。

第二方面,本发明实施例还提出一种广告点击率预估模型的优化装置,包括:

统计模块,用于采用训练集中的数据统计优化前的第一参数向量对应的方向向量及步长向量;其中,所述第一参数向量为所述广告点击率预估模型的参数向量;

优化模块,用于将所述优化前的第一参数向量、所述方向向量及所述步长向量作为更新函数的输入,采用优化前的第二参数向量计算优化后的第一参数向量;其中,所述第二参数向量为所述更新函数的参数向量;

验证模块,用于以在验证集中的优化目标为准则,估计优化后的第二参数向量;其中,所述优化目标采用所述优化后的第一参数向量确定;

更新模块,用于采用所述优化后的第二参数向量更新所述优化后的第一参数向量。

在一种实施方式中,所述统计模块用于:

采用以下式子分别计算所述方向向量中的各个元素,将所述各个元素组成所述方向向量;

其中,

所述表示第t轮优化时,所述方向向量中的第i个元素;

所述α为大于0并且小于1的正数;

所述xi表示广告特征向量中的第i个特征;

所述click(xi)表示所述xi在所述训练集中被真实点击的次数;

所述predict(xi)表示所述xi被预估点击的次数。

在一种实施方式中,所述统计模块用于:

采用以下式子分别计算所述步长向量中的各个元素,将所述各个元素组成所述步长向量;

其中,

所述表示第t轮优化时,所述步长向量中的第i个元素;

所述β为大于0并且小于1的正数;

所述xi表示广告特征向量中的第i个特征;

所述predict(xi)表示所述xi在所述训练集中被展现的次数。

在一种实施方式中,所述更新函数采用以下式子定义:

wt+1=F(wt,d(wt),s(wt));其中,

所述wt+1表示第t轮优化时,优化后的所述第一参数向量;

所述wt表示第t轮优化时,优化前的所述第一参数向量;

所述d(wt)表示第t轮优化时,wt对应的方向向量;

所述s(wt)表示第t轮优化时,wt对应的步长向量。

在一种实施方式中,所述优化模块用于,采用以下式子分别计算所述wt+1中的各个元素,将所述各个元素组成所述wt+1

其中,

所述表示所述wt+1的第j个槽位中的第m个元素;

所述表示所述wt的第j个槽位中的第m个元素;

所述表示所述d(wt)的第j个槽位中的第m个元素;

所述表示所述s(wt)的第j个槽位中的第m个元素;

所述uj表示所述优化前的第二参数向量中对应第j个槽位的向量;

所述vj表示第j个槽位的特征值向量。

在一种实施方式中,所述vj的确定方式为:

将所述优化前的第一参数向量中对应第j个槽位的各个元素分别用一个三维向量表示;所述三维向量为:其中,所述m为第j个槽位中元素的索引;

针对第j个槽位的各个元素对应的所述三维向量,采用K-means算法进行聚类,得到每个槽位中的l个中心点;所述l为整数;

针对所述优化前的第一参数向量中的第j个槽位的各个元素对应的三维向量,分别计算所述三维向量与所述元素所属槽位中的l个中心点的距离的倒数,将所述倒数作为所述vj的各个元素;

将所述各个元素组成得到所述vj。

在一种实施方式中,所述vj的确定方式为:

将所述优化前的第一参数向量中的第j个槽位用一组三维向量表示;所述一组三维向量为:其中,所述为所述wt的第j个槽位对应的向量;所述为所述d(wt)的第j个槽位对应的向量;所述为所述s(wt)的第j个槽位对应的向量;

将所述一组三维向量用高斯混合模型重新表示,利用最大期望算法估计所述vj。

在一种实施方式中,所述装置还包括:

训练集及验证集确定模块,用于采用滑动窗口在流式数据环境中进行动态切割和划分,得到所述训练集及所述验证集。

第三方面,本发明实施例提供了一种广告点击率预估模型的优化设备,所述设备的功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能相对应的模块。

在一个可能的设计中,所述设备的结构中包括处理器和存储器,所述存储器用于存储支持所述设备执行上述广告点击率预估模型的优化方法的程序,所述处理器被配置为用于执行所述存储器中存储的程序。所述设备还可以包括通信接口,用于与其他设备或通信网络通信。

第四方面,本发明实施例提供了一种计算机可读存储介质,用于存储广告点击率预估模型的优化设备所用的计算机软件指令,其包括用于执行上述广告点击率预估模型的优化方法所涉及的程序。

上述技术方案中的一个技术方案具有如下优点或有益效果:

本发明实施例提供的广告点击率预估模型的优化方法及装置,重新定义了用于优化广告点击率预估模型参数的更新函数(在本发明实施例中更新函数用wt+1=F(wt,d(wt),s(wt))表示),将优化原始的第一参数向量(在本发明实施例中第一参数向量用w表示)转化为优化更新的第二参数向量(在本发明实施例中第二参数向量用u表示)。可见,本发明实施例避免了采用网格搜索(Grid Search)的方式手动设定超参数θ,能够得到更优的优化结果。

上述概述仅仅是为了说明书的目的,并不意图以任何方式进行限制。除上述描述的示意性的方面、实施方式和特征之外,通过参考附图和以下的详细描述,本发明进一步的方面、实施方式和特征将会是容易明白的。

附图说明

在附图中,除非另外规定,否则贯穿多个附图相同的附图标记表示相同或相似的部件或元素。这些附图不一定是按照比例绘制的。应该理解,这些附图仅描绘了根据本发明公开的一些实施方式,而不应将其视为是对本发明范围的限制。

图1为现有技术中Sigmoid函数的数值曲线示意图;

图2为现有技术中的一个高维特征(星期、性别、城市)映射示意图;

图3为本发明实施例的一种广告点击率预估模型的优化方法实现流程图;

图4为本发明实施例的参数优化路径与现有技术的参数优化路径的对比示意图;

图5为本发明实施例的一种广告点击率预估模型的优化方法中的槽位特征示意图;

如图6为本发明实施例的一种广告点击率预估模型的优化方法中,训练集和验证集的动态切割和划分方式示意图

图7为本发明实施例的一种广告点击率预估模型的优化装置结构示意图一;

图8为本发明实施例的一种广告点击率预估模型的优化装置结构示意图二:

图9为本发明实施例的一种广告点击率预估模型的优化设备结构示意图。

具体实施方式

在下文中,仅简单地描述了某些示例性实施例。正如本领域技术人员可认识到的那样,在不脱离本发明的精神或范围的情况下,可通过各种不同方式修改所描述的实施例。因此,附图和描述被认为本质上是示例性的而非限制性的。

本发明实施例主要提供了广告点击率预估模型的优化方法和装置。特别地,本发明实施例是一种用于广告点击率预估模型优化的参数自主学习方法,其适用范围为:以逻辑斯蒂回归(LR,Logistic Regression)作为广告点击率预估模型的平台。本发明实施例所设计和公开的参数自主优化方法,可以被用于训练以LR作为广告点击率预估的模型。

本发明实施例所公开的技术属于新兴的元学习(Meta Learning)领域。区别于现有技术中广告点击率预估模型参数的人为定义更新/优化方式,本发明实施例在广告点击率预估模型的参数更新/优化机制中引入自主学习方法,将参数优化的方式构建为一个可以自适应调节学习的系统(Optimizer as a Learner)。

下面分别通过以下实施例进行技术方案的展开描述。

图3为本发明实施例的一种广告点击率预估模型的优化方法实现流程图,包括:

S31:采用训练集中的数据统计优化前的第一参数向量对应的方向向量及步长向量;其中,所述第一参数向量为所述广告点击率预估模型的参数向量;

S32:将所述优化前的第一参数向量、所述方向向量及所述步长向量作为更新函数的输入,采用优化前的第二参数向量计算优化后的第一参数向量;其中,所述第二参数向量为所述更新函数的参数向量;

S33:以在验证集中的优化目标为准则,估计优化后的第二参数向量;其中,所述优化目标采用所述优化后的第一参数向量确定;

S34:采用所述优化后的第二参数向量更新所述优化后的第一参数向量。

以上过程描述的是一轮迭代的过程。本发明实施例可以通过T轮迭代来优化点击率预估模型参数。

在第t轮迭代时,

更新函数记为wt+1=F(wt,d(wt),s(wt));

优化前的第一参数向量记为wt

wt对应的方向向量记为d(wt);

wt对应的步长向量记为s(wt);

优化后的第一参数向量记为wt+1

优化前的第二参数向量记为ut

优化后的第二参数向量记为ut+1

在一种实施方式中,所述步骤S31中的采用训练集中的数据统计优化前的第一参数向量对应的方向向量,包括:

采用以下式子分别计算所述方向向量中的各个元素,将所述各个元素组成所述方向向量;

其中,

所述表示第t轮优化时,所述方向向量中的第i个元素;

所述α为大于0并且小于1的正数;

所述xi表示广告特征向量中的第i个特征;

所述click(xi)表示所述xi在所述训练集中被真实点击的次数;

所述predict(xi)表示所述xi被预估点击的次数。

在一种实施方式中,所述步骤S31中采用训练集中的数据统计优化前的第一参数向量对应的步长向量,包括:

采用以下式子分别计算所述步长向量中的各个元素,将所述各个元素组成所述步长向量;

其中,

所述表示第t轮优化时,所述步长向量中的第i个元素;

所述β为大于0并且小于1的正数;

所述xi表示广告特征向量中的第i个特征;

所述predict(xi)表示所述xi在所述训练集中被展现的次数。

在一种实施方式中,所述更新函数采用以下式子定义:

wt+1=F(wt,d(wt),s(wt));其中,

所述wt+1表示第t轮优化时,优化后的所述第一参数向量;

所述wt表示第t轮优化时,优化前的所述第一参数向量;

所述d(wt)表示第t轮优化时,wt对应的方向向量;

所述s(wt)表示第t轮优化时,wt对应的步长向量。

在一种实施方式中,所述wt+1的计算方式为:

采用以下式子分别计算所述wt+1中的各个元素,将所述各个元素组成所述wt+1

其中,

所述表示所述wt+1的第j个槽位中的第m个元素;

所述表示所述wt的第j个槽位中的第m个元素;

所述表示所述d(wt)的第j个槽位中的第m个元素;

所述表示所述s(wt)的第j个槽位中的第m个元素;

所述uj表示所述优化前的第二参数向量中对应第j个槽位的向量;

所述vj表示第j个槽位的特征值向量。

在一种实施方式中,所述vj的确定方式为:

将所述优化前的第一参数向量中对应第j个槽位的各个元素分别用一个三维向量表示;所述三维向量为:其中,所述m为第j个槽位中元素的索引;

针对第j个槽位的各个元素对应的所述三维向量,采用K-means算法进行聚类,得到每个槽位中的l个中心点;所述l为整数;

针对所述优化前的第一参数向量中的第j个槽位的各个元素对应的三维向量,分别计算所述三维向量与所述元素所属槽位中的l个中心点的距离的倒数,将所述倒数作为所述vj的各个元素;

将所述各个元素组成得到所述vj。

在一种实施方式中,所述vj的确定方式为:

将所述优化前的第一参数向量中的第j个槽位用一组三维向量表示;所述一组三维向量为:其中,所述为所述wt的第j个槽位对应的向量;所述为所述d(wt)的第j个槽位对应的向量;所述为所述s(wt)的第j个槽位对应的向量;

将所述一组三维向量用高斯混合模型重新表示,利用最大期望算法估计所述vj。

在一种实施方式中,所述训练集及所述验证集的确定方式为:

采用滑动窗口在流式数据环境中进行动态切割和划分,得到所述训练集及所述验证集。

以下举具体的实施例详细介绍。

本发明实施例总结出一个有关参数迭代优化的通用规律:那就是,在t+1轮的参数wt+1优化值,与三个因素有关,分别是迭代上一轮的参数向量wt,准备在t+1轮行动的方向d(wt),以及准备要朝着这个行动方向前进/后退的步长s(wt);其中,d(wt)和s(wt)均是wt的函数。综上,在t+1轮的参数wt+1优化值可以用一个泛函F定义,即wt+1=F(wt,d(wt),s(wt))。

相对于现有技术,本发明实施例公开一个更加宽泛的参数优化理论,将人工定义的参数优化方式进行了更高层面的推广和建模。图4为本发明实施例的参数优化路径与现有技术的参数优化路径的对比示意图。在4中,两个带箭头的曲线分别表示采用现有的随机梯度下降(SGD,Stochastic Gradient Descent)方法及类似牛顿法(如LBFGS、OWLQN)的参数优化路径。中间的带箭头的线段表示本发明实施例的参数优化路径。本发明实施例能够根据不同的数据环境和应用场景,学着去优化(OASL,Optimizer as a Learner)最佳的优化路径。

本发明实施例提出的用于广告点击率预估模型优化的参数自主学习算法(即OASL)包括以下过程:

1、假设需要迭代T轮来优化点击率预估模型参数。

2、随机初始化LR模型的参数w。

3、随机初始化泛函F的参数u。

4、准备好两份数据集:训练集Δtrain和验证集Δvalid。

5、进行T轮优化,第t(t=1~T)轮优化的步骤包括:

在训练集Δtrain上用数值统计的方式估计出d(wt)与s(wt);

以当前参数ut计算出wt+1=F(wt,d(wt),s(wt));

以在验证集Δvalid上的优化目标argminuLvalid(wt+1)为准则,估计出ut+1

以最新估计的ut+1,更新参数wt+1=F(wt,d(wt),s(wt))。

其中,优化目标argminuLvalid(wt+1)是指:

找到u的一个取值,使得Lvalid(wt+1)的值最小。其中,

以下详细介绍d(wt)、s(wt)和F(wt,d(wt),s(wt))在CTR预估模型中的具体设计和计算方法。

首先需要强调的是:d(wt)与s(wt)的输入都是超高k维度的向量wt,为了方便在工业产品中的参数并行优化(这也是本发明实施例提出的OASL算法在工程实现上的一个优点),本发明实施例可以通过统计的方式计算出每一个维度上的具体参数的方向向量d(wt)和步长向量s(wt)。

是方向向量d(wt)的第i个元素,取决于对应索引i位置上的特征xi在训练集中被真实点击和预估之间的对数差距。可以采用式子(9)计算得到。

其中,α是一个区间(1.0)范围内的小正数,用于平滑保证分母α+predict(xi)和其值本身均不为0。

是步长向量s(wt)的第i个元素,可以被理解为前进(后退)的信心。取决于对应索引i位置上的特征xi在训练集中被展现(impression)的次数。被展现(impression)的次数越多,这个信心应该越高。可以采用式子(10)计算得到。

其中,β也是一个区间(1.0)范围内的小正数,用于保证β+impression(xi)不为0。

对于更新函数F,其输入是在迭代t轮的三个k维度的向量,即wt、d(wt)和s(wt),期待的输出是k维度的t+1轮的更新参数wt+1

图5为本发明实施例的一种广告点击率预估模型的优化方法中的槽位特征示意图。在图5中,第i维的特征对应一个三维向量由此,本发明实施例将超高维特征向量x转化为n个槽位特征向量的拼接,即x=[s1,s2,...,sn]。

为了降低需要优化的参数规模,本发明实施例可以对每个槽位(slot)内部的所有三维向量采用K-means算法进行聚类,每个槽位(slot)得到l个中心点,l远小于k(l<<k)。以槽位Sj为例,假设其对应得到以l个中心点重新表示的低维特征向量为oj=[cj,1,...,cj,l]。对于在槽位Sj中的第m个元素对应的三维向量都可以用oj进行重新表示,并且以分别与oj所有中心点的距离的倒数(距离越远,权重越小)作为槽位Sj的新的特征值向量中的每个元素。

除了采用K-means算法以外,本发明实施例也可以直接采用高斯混合模型(GMM,Gaussian Mixture Model)对每个槽位(slot)内部的所有三维向量进行聚类,得到每个槽位(slot)的l个中心点,l远小于k(l<<k)。这样一来,以槽位Sj为例,其对应的一组三维向量可以用高斯混合模型重新表示,利用最大期望算法(Expectation-Maximization algorithm,EM)估计出vj=(vj,1,...,Vj,l)。可以采用式子(11)确定:

其中,N(cj,k,Qj,k)是以cj,k为均值、Qj,k为协方差矩阵的正态分布。vj,k是在第k个正态分布的配比(权重)。

由此,在并行计算每一个原始高维权重的过程中,本发明实施例只需要更新优化更低维度的新权重向量uj。采用以下式子(12)表示。

由此,本发明实施例只需要在验证集优化的过程中,优化更低维度的新权重向量其中,uj为u中对应第j个槽位的向量。在实际应用中,原始高维离散特征一般在几万亿维度,涉及500个左右的特征槽位,对于每一个特征槽位,本发明实施例一般聚类100个中心点。因此u的维度仅仅只有500*100=50000左右,远小于几万亿。

在一种可能的实施方式中,本发明实施例提出的广告点击率预估系统在模型训练的过程中,训练集Δtrain和验证集Δvalid可以采用滑动窗口在流式数据环境中进行动态切割和划分。如图6为本发明实施例的一种广告点击率预估模型的优化方法中,训练集和验证集的动态切割和划分方式示意图。在图6中,采用滑动窗口切割训练集和验证集,其中每一个格子可以代表每一天收集的广告展示点击数据(划分粒度自定义即可)。

综上可见,本发明实施例提出的广告点击率预估模型的优化方法,至少具有以下优点:

1)免去了传统的带有正则项的LR模型在正则项超参数手动(网格)搜索方面的麻烦。

2)本发明实施例所公开的“学着去优化”方法能够自主适应于不同场景的现正数据,达到“面对一套数据,学习一套优化方式”的个性化优化模型参数的效果;显著减少模型过拟合带来的不良影响,广告点击率的预估也更加准确。

3)由于本发明实施例的“学着去优化”方法会自主学习最佳的广告点击率模型的优化方式,因此也使得广告点击率模型的优化过程的收敛速度显著加快。

本发明实施例还提出一种广告点击率预估模型的优化装置。参见图7,图7为本发明实施例的一种广告点击率预估模型的优化装置结构示意图,包括:

统计模块710,用于采用训练集中的数据统计优化前的第一参数向量对应的方向向量及步长向量;其中,所述第一参数向量为所述广告点击率预估模型的参数向量;

优化模块720,用于将所述优化前的第一参数向量、所述方向向量及所述步长向量作为更新函数的输入,采用优化前的第二参数向量计算优化后的第一参数向量;其中,所述第二参数向量为所述更新函数的参数向量;

验证模块730,用于以在验证集中的优化目标为准则,估计优化后的第二参数向量;其中,所述优化目标采用所述优化后的第一参数向量确定;

更新模块740,用于采用所述优化后的第二参数向量更新所述优化后的第一参数向量。

在一种可能的实施方式中,所述统计模块710用于:

采用以下式子分别计算所述方向向量中的各个元素,将所述各个元素组成所述方向向量;

其中,

所述表示第t轮优化时,所述方向向量中的第i个元素;

所述α为大于0并且小于1的正数;

所述xi表示广告特征向量中的第i个特征;

所述click(xi)表示所述xi在所述训练集中被真实点击的次数;

所述predict(xi)表示所述xi被预估点击的次数。

在一种可能的实施方式中,所述统计模块710用于:

采用以下式子分别计算所述步长向量中的各个元素,将所述各个元素组成所述步长向量;

其中,

所述表示第t轮优化时,所述步长向量中的第i个元素;

所述β为大于0并且小于1的正数;

所述xi表示广告特征向量中的第i个特征;

所述predict(xi)表示所述xi在所述训练集中被展现的次数。

在一种可能的实施方式中,所述更新函数采用以下式子定义:

wt+1=F(wt,d(wt),s(wt));其中,

所述wt+1表示第t轮优化时,优化后的所述第一参数向量;

所述wt表示第t轮优化时,优化前的所述第一参数向量;

所述d(wt)表示第t轮优化时,wt对应的方向向量;

所述s(wt)表示第t轮优化时,wt对应的步长向量。

在一种可能的实施方式中,所述优化模块720用于,采用以下式子分别计算所述wt+1中的各个元素,将所述各个元素组成所述wt+1

其中,

所述表示所述wt+1的第j个槽位中的第m个元素;

所述表示所述wt的第j个槽位中的第m个元素;

所述表示所述d(wt)的第j个槽位中的第m个元素;

所述表示所述s(wt)的第j个槽位中的第m个元素;

所述uj表示所述优化前的第二参数向量中对应第j个槽位的向量;

所述vj表示第j个槽位的特征值向量。

在一种可能的实施方式中,所述vj的确定方式为:

将所述优化前的第一参数向量中对应第j个槽位的各个元素分别用一个三维向量表示;所述三维向量为:其中,所述m为第j个槽位中元素的索引;

针对第j个槽位的各个元素对应的所述三维向量,采用K-means算法进行聚类,得到每个槽位中的l个中心点;所述l为整数;

针对所述优化前的第一参数向量中的第j个槽位的各个元素对应的三维向量,分别计算所述三维向量与所述元素所属槽位中的l个中心点的距离的倒数,将所述倒数作为所述vi的各个元素;

将所述各个元素组成得到所述vj。

在一种可能的实施方式中,所述vj的确定方式为:

将所述优化前的第一参数向量中的第j个槽位用一组三维向量表示;所述一组三维向量为:其中,所述为所述wt的第j个槽位对应的向量;所述为所述d(wt)的第j个槽位对应的向量;所述为所述s(wt)的第j个槽位对应的向量;

将所述一组三维向量用高斯混合模型重新表示,利用最大期望算法估计所述vj。

图8为本发明实施例的一种广告点击率预估模型的优化装置结构示意图二,包括:统计模块710、优化模块720、验证模块730、更新模块740及训练集及验证集确定模块850。其中,统计模块710、优化模块720、验证模块730与上述实施例中的对应模型相同,在此不再赘述。

训练集及验证集确定模块850,用于采用滑动窗口在流式数据环境中进行动态切割和划分,得到所述训练集及所述验证集。

本发明实施例各装置中的各模块的功能可以参见上述方法中的对应描述,在此不再赘述。

本发明实施例还提出一种广告点击率预估模型的优化设备,如图9为本发明实施例的广告点击率预估模型的优化设备结构示意图,包括:

存储器11和处理器12,存储器11存储有可在处理器12上运行的计算机程序。所述处理器12执行所述计算机程序时实现上述实施例中的广告点击率预估模型的优化方法。所述存储器11和处理器12的数量可以为一个或多个。

所述设备还可以包括:

通信接口13,用于与外界设备进行通信,进行数据交换传输。

存储器11可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。

如果存储器11、处理器12和通信接口13独立实现,则存储器11、处理器12和通信接口13可以通过总线相互连接并完成相互之间的通信。所述总线可以是工业标准体系结构(ISA,Industry Standard Architecture)总线,外部设备互连(PCI,Peripheral Component Interconnect)总线或扩展工业标准体系结构(EISA,Extended Industry StandardArchitecture)等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图9中仅用一条粗线表示,并不表示仅有一根总线或一种类型的总线。

可选的,在具体实现上,如果存储器11、处理器12和通信接口13集成在一块芯片上,则存储器11、处理器12和通信接口13可以通过内部接口完成相互间的通信。

在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。

此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。

流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。

在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,“计算机可读介质”可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。

应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。

本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。

此外,在本发明各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读存储介质中。所述存储介质可以是只读存储器,磁盘或光盘等。

以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到其各种变化或替换,这些都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1