CN113449260A - 广告点击率预测方法、模型的训练方法、装置和存储介质 - Google Patents

广告点击率预测方法、模型的训练方法、装置和存储介质 Download PDF

Info

Publication number
CN113449260A
CN113449260A CN202010213519.3A CN202010213519A CN113449260A CN 113449260 A CN113449260 A CN 113449260A CN 202010213519 A CN202010213519 A CN 202010213519A CN 113449260 A CN113449260 A CN 113449260A
Authority
CN
China
Prior art keywords
data
prediction model
prediction
loss
training
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202010213519.3A
Other languages
English (en)
Inventor
李嘉麟
陈锡显
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN202010213519.3A priority Critical patent/CN113449260A/zh
Publication of CN113449260A publication Critical patent/CN113449260A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/18Complex mathematical operations for evaluating statistical data, e.g. average values, frequency distributions, probability functions, regression analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/044Recurrent networks, e.g. Hopfield networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0241Advertisements
    • G06Q30/0242Determining effectiveness of advertisements

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Software Systems (AREA)
  • Mathematical Physics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Biophysics (AREA)
  • Molecular Biology (AREA)
  • General Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • Business, Economics & Management (AREA)
  • Biomedical Technology (AREA)
  • Health & Medical Sciences (AREA)
  • Finance (AREA)
  • Strategic Management (AREA)
  • Development Economics (AREA)
  • Computational Mathematics (AREA)
  • Accounting & Taxation (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Algebra (AREA)
  • Databases & Information Systems (AREA)
  • Operations Research (AREA)
  • Evolutionary Biology (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Medical Informatics (AREA)
  • Game Theory and Decision Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Economics (AREA)
  • Marketing (AREA)

Abstract

本申请公开了一种广告点击率预测方法、模型的训练方法、装置和存储介质,本申请的模型训练方法通过预测模型的损失函数和广告点击率的时间序列样本数据构造扰动数据,并根据时间序列样本数据的损失值和其在叠加扰动数据状态下的损失值来对预测模型参数进行调整,然后根据调整参数后的预测模型的损失函数和时间序列样本数据构造新的扰动数据,不断迭代训练,使得预测模型可以修正原有的决策边界,从而得到鲁棒性更强的预测模型;本申请通过构造扰动数据进行模型训练,可以有效地增加训练过程中的边缘数据,使得模型可以在遇到噪声数据时也能拥有较好的预测精度,提高了模型的鲁棒性。可见,本申请可以广泛应用于人工智能技术领域中。

Description

广告点击率预测方法、模型的训练方法、装置和存储介质
技术领域
本申请涉及人工智能技术领域,尤其是一种广告点击率预测方法、模型的训练方法、装置和存储介质。
背景技术
广告点击率预测是一种典型的时间序列预测应用。时间序列是指将某种统计指标的数值,按时间先后顺序排列所形成的数列。时间序列预测就是通过编制和分析时间序列,根据时间序列所反映出来的发展过程、方向和趋势,进行类推或延伸,以预测未来可能达到的水平。
广告商可以根据广告在一段时间内的点击率数据来预测该段时间后的发展趋势,从而根据运营策略对广告进行调整。例如,预测到某类广告的点击率在未来有较大的上升趋势,则可以增加这一类广告的投放量;预测到某类广告的点击率在未来会不断下降,那么则可以减少这一类广告的投放量。
在现有技术中,有很多机器学习模型可以在一般的时间序列预测任务上取得出色的表现。但在广告点击率的预测上,却非常容易受到噪声的干扰,即便是微小的噪声,都有可能导致模型无法较好地得到预测结果。其主要原因在于:不同于一般的时间序列,广告点击率受到人的偏好的影响,其次还包括误点击的因素。现有训练方法得到的广告点击率预测模型,在遇到诸如竞争对手的干扰点击等噪声时,模型的鲁棒性不足,预测的效果不佳。
发明内容
为解决上述技术问题的至少之一,本申请提供了一种广告点击率预测方法、模型的训练方法、装置和存储介质,以提高广告点击率预测模型的鲁棒性和预测的准确率。
根据本申请的第一方面,提供了一种广告点击率预测方法,包括以下步骤:
获取广告点击率的时间序列数据;
通过广告点击率预测模型对所述时间序列数据进行预测,得到所述广告点击率的预测结果;
其中,所述预测模型基于广告点击率的时间序列样本数据和所述时间序列样本数据的标签值训练得到,所述预测模型的训练过程包括以下步骤:
通过所述预测模型对时间序列样本数据进行预测,得到第一预测结果;
根据所述第一预测结果和所述标签值确定第一损失值;
根据所述预测模型的损失函数和所述时间序列样本数据构造扰动数据,所述扰动数据小于等于阈值;
向所述时间序列样本数据或者所述预测模型中提取的特征的至少之一叠加所述扰动数据,通过所述预测模型对所述时间序列样本数据进行预测,得到第二预测结果;
根据所述第二预测结果和所述标签值确定第二损失值;
根据所述第一损失值和所述第二损失值调整所述预测模型的参数,根据调整参数后的所述预测模型的损失函数和所述时间序列样本数据构造新的扰动数据进行迭代训练,所述新的扰动数据小于等于所述阈值。
根据本申请的第二方面,提供了一种广告点击率预测模型的训练方法,包括以下步骤:
获取广告点击率的时间序列样本数据和所述时间序列样本数据对应的标签值;所述广告点击率的时间序列样本数据为多个连续的统计周期内的广告点击率;
通过所述预测模型对所述时间序列样本数据进行预测,得到第一预测结果;
根据所述第一预测结果和所述标签值确定第一损失值;
根据所述预测模型的损失函数和所述时间序列样本数据构造扰动数据,所述扰动数据小于等于阈值;
向所述时间序列样本数据或者所述预测模型中提取的特征的至少之一叠加所述扰动数据,通过所述预测模型对所述时间序列样本数据进行预测,得到第二预测结果;
根据所述第二预测结果和所述标签值确定第二损失值;
根据所述第一损失值和所述第二损失值调整所述预测模型的参数,根据调整参数后的所述预测模型的损失函数和所述时间序列样本数据构造新的扰动数据进行迭代训练,所述新的扰动数据小于等于所述阈值。
根据本申请的第三方面,提供了一种广告点击率预测模型的训练装置,包括:
获取单元,用于获取广告点击率的时间序列样本数据和所述时间序列样本数据对应的标签值;所述广告点击率的时间序列样本数据为多个连续的统计周期内的广告点击率;
第一预测单元,用于通过所述预测模型对所述时间序列样本数据进行预测,得到第一预测结果;
第一损失值确定单元,用于根据所述第一预测结果和所述标签值确定第一损失值;
扰动构造单元,用于根据所述预测模型的损失函数和所述时间序列样本数据构造扰动数据,所述扰动数据小于等于阈值;
第二预测单元,用于向所述时间序列样本数据或者所述预测模型中提取的特征的至少之一叠加所述扰动数据,并通过所述预测模型对所述时间序列样本数据进行预测,得到第二预测结果;
第二损失值确定单元,用于根据所述第二预测结果和所述标签值确定第二损失值;
模型训练单元,用于根据所述第一损失值和所述第二损失值调整所述预测模型的参数,并将调整参数后的预测模型返回到扰动构造单元构造新的扰动数据进行迭代训练,所述新的扰动数据小于等于所述阈值。
根据本申请的第四方面,提供了一种装置,包括存储器、处理器和程序;
所述程序被存储在所述存储器中,所述处理器执行所述程序以实现上述的广告点击率预测方法或者广告点击率预测模型的训练方法。
根据本申请的第五方面,提供了一种存储介质,所述存储介质存储有程序,当所述程序被处理器执行,实现上述的广告点击率预测方法或者广告点击率预测模型的训练方法。
本申请实施例的有益效果是:在训练预测模型时,通过预测模型的损失函数和时间序列样本数据构造扰动数据,并根据时间序列样本数据的损失值和时间序列样本数据在叠加扰动数据状态下的损失值来对预测模型的参数进行调整,然后根据调整参数后的预测模型的损失函数和时间序列样本数据构造新的扰动数据不断迭代训练,最终得到训练好的预测模型用于预测广告点击率;本申请实施例通过构造扰动数据进行模型训练,不断迭代可以有效地增加边缘数据,修正模型原有的决策边界,使得模型可以在遇到噪声数据时也能拥有较好的预测精度,提高了模型的鲁棒性,模型的预测结果更加可靠。
附图说明
图1为二维空间中的机器学习模型决策边界示意图;
图2为现有技术中机器学习模型预测广告点击率碰到噪声数据的示意图;
图3为根据本申请实施例提供的广告点击率预测模型的训练方法的流程图;
图4为根据本申请实施例提供的广告点击率预测模型的训练方法训练前预测模型的决策边界示意图;
图5为根据本申请实施例提供的广告点击率预测模型的训练方法训练后预测模型的决策边界示意图;
图6为根据本申请实施例提供的构造扰动数据方法的流程图;
图7为根据本申请实施例提供的扰动数据叠加位置示意图;
图8为根据本申请实施例提供的确定第二损失值方法的流程图;
图9a为根据本申请实施例提供的训练集分类失误率统计图,图9b为根据本申请实施例提供的验证集分类失误率统计图;
图10为现有技术中的长短期记忆神经网络的结构示意图;
图11为根据本申请实施例提供的广告点击率预测模型的训练方法的示意图;
图12为根据本申请实施例提供的广告点击率预测方法的流程图;
图13为根据本申请实施例提供的广告服务系统的示意图;
图14为根据本申请实施例提供的移动终端设备应用程序界面的示意图;
图15为根据本申请实施例提供的移动终端设备应用程序界面的另一种示意图;
图16为根据本申请实施例提供的广告处理方法的示意图;
图17为根据本申请实施例提供的网页UI界面的示意图;
图18为根据本申请实施例提供的广告点击率的预测模型训练装置的结构示意图;
图19为根据本申请实施例提供的服务器的结构示意图。
具体实施方式
下面结合说明书附图和具体的实施例对本申请进行进一步的说明。所描述的实施例不应视为对本申请的限制,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。
在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本申请实施例的目的,不是旨在限制本申请。
对本申请实施例进行进一步详细说明之前,对本申请实施例中涉及的名词和术语进行说明,本申请实施例中涉及的名词和术语适用于如下的解释。
时间序列:指某种现象的某一个统计指标在不同时间上的各个数值,按照时间先后顺序排列而形成的序列,通常是在相等间隔的时间段内依照给定的采样率对某种潜在过程进行观测得到的结果。例如:2020年1月某广告每天的点击率数据就是一个时间序列。
决策边界:划分数据空间的超曲面,机器学习模型通过决策边界将数据空间划分为多个空间集合,从而将决策边界不同侧的样本分属到不同类。例如:参照图1,以简单的二维空间为例,可以用一条直线来将不同的样本分割成为两个子集。图1中可以看到,直线L1和L2就是两个决策边界,它们都可以将以方块为代表的A类样本和以圆形为代表的B类样本正确分为两类。
梯度:一个向量,表示某一函数在该点处的方向导数沿着该方向取得最大值,即函数在该点处沿着梯度的方向变化最快,变化率最大。其中,变化率可以用梯度的模表示。
特征:从样本输入机器学习模型到最后输出结果过程中的中间数据,其包括样本通过模型参数处理得到的各类数据,数据形式包括数值、向量或者矩阵等形式。
本申请实施例中,所提供的广告点击率预测模型的训练方法、广告点击率预测方法均可以应用于人工智能技术之中。人工智能(Artificial Intelligence,AI)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。人工智能技术是一门综合学科,涉及领域广泛,既有硬件层面的技术也有软件层面的技术。其中,人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术;人工智能软件技术主要包括计算机视觉技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。
具体地,本申请实施例中提供的广告点击率预测模型的训练方法、广告点击率预测方法可以应用在广告商业规划、广告布局以及广告数据统计分析等应用场景中,在这些应用场景中,人工智能系统可以利用该广告点击率预测模型得到的广告点击率的预测结果作进一步的应用,也就是说,通过本申请实施例方法所得到的广告点击率的预测结果可以是这些人工智能应用的中间结果。
本申请实施例中,主要涉及的人工智能技术是机器学习。
机器学习(Machine Learning,ML)是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。机器学习是人工智能的核心,是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域,算法类型很多。其中,机器学习根据学习方式可以分为:监督式学习、非监督式学习、半监督式学习和强化学习。根据算法的功能可以分为:回归算法、分类算法、聚类算法、降维算法和集成算法等。
在时间序列预测的任务上,要解决的问题大体上有两种:数值预测和分类预测。前者方法一般采用的是回归模型,比如最常用的线性回归;后者的方法则多种多样。另外,时间序列数值预测的任务,本身也可以转换为分类预测的任务,例如:可以划分具体的数值作为分类预测时的不同类别。随着计算机科学技术的发展,机器处理数据的能力高速飞跃,现有技术中,有大量的机器学习模型在处理一般的时间序列预测任务时,表现都十分出色,例如:人工神经网络(Artificial Neural Network,ANN)、整合移动平均自回归模型(AutoRegressive Integrated Moving Average model,ARIMA)、支持向量机(Support VectorMachine,SVM),逻辑回归(Logistic Regression,LR)及基于Xgboost算法的模型等等。
以上的这些机器学习模型,在基于时间序列数据训练时的过程如下:批量地输入训练样本,通过前向传播得到模型输出的预测结果,根据训练样本对应的标签值计算模型预测结果的误差大小,然后根据该误差反向传播更新模型的参数,通过训练样本的多次迭代训练使得模型最终输出的预测结果接近真实结果。这种训练方式在应对一般的时间序列数据时,例如天气状况数据、人体的血压和心电图测量等生物医学测量数据等,这些数据连续性强、规律性好,可以不考虑时间序列数据的外界因素影响,因而能够取得不错的预测效果。
但是,对于广告点击率的预测,上述方式训练的预测模型却常常会出现预测准确性忽高忽低,模型鲁棒性不足的情况。分析其产生的原因,可以发现,这跟广告点击率数据本身的一些特点和机器学习模型的结构有关:不同于上述的一般时间序列数据,广告点击率本身非常容易受到噪声数据的干扰,其本身就是一个统计人群偏好的指标数据,上下浮动是很常见的。虽然在广告面向较广人群的情况下,可以粗略地认为个人的偏好差别、用户误点击等因素造成的影响总体上在时间维度的分布是恒定的,但在遇到其他噪声数据,例如竞争对手造成的干扰点击时,还是会对整个广告点击率的时间序列数据造成一定影响。参照图2,向图2中原始的广告点击率时间序列数据上加入一些微弱的噪声数据,在加入噪声数据后,广告点击率时间序列数据本身并没有很大浮动,但是采用预测模型对加入噪声数据前后的广告点击率时间序列数据进行预测时,得到预测结果1与预测结果2就可能大相径庭。原因在于:预测模型在预测过程中,隐藏层的权重内积会逐渐导致某些噪声数据放大,因此即使是很小的扰动,也可能会对最终的预测结果产生很大的影响。而且,在训练预测模型时,训练的目标是希望预测模型能够在区分一个数据集中的数据时达到一定的准确度,但训练样本在数据空间中的分布存在离散性,并不能完全代表数据集的真实情况,因此,得到的模型的决策边界往往只是能比较好地区分训练集中的数据。在训练集中,分布在决策边界的附近的数据,也被称为边缘数据,其对决策边界的影响比较大,同时数量也比较少。基于现有方式训练得到的预测模型的决策边界,仅仅是刚好能把这些边缘数据分准确,但是边缘数据却可能非常贴近于决策边界,一旦在边缘数据中出现少量噪声,就可能使边缘数据越过决策边界,从而令预测模型得到一个错误的预测结果。以图1为例,直线L1和L2两个决策边界虽然都可以将以方块为代表的A类样本和以圆形为代表的B类样本正确分为两类,但实际看来,使用决策边界L1进行分类时,对于靠近决策边界L1的训练样本,例如A1,在出现少量噪声时是很容易分类错误的;但使用决策边界L2进行分类时,却不容易产生分类错误,其原因是A1距离决策边界L2较远,即便出现噪声,也比较难使其越过决策边界,产生错误的分类结果。现有技术训练得到的机器学习模型,在广告点击率的预测应用中,往往只能得到类似于决策边界L1这种情况的训练结果,即得到一个刚好能把将边缘数据分开的决策边界,故在受到噪声数据的影响时,模型的鲁棒性不足,预测的效果得不到保障。
有鉴于此,本申请提供的广告点击率预测方法、预测模型的训练方法在训练预测模型时,会基于预测模型当前的参数和训练样本构造一些扰动数据,然后确定训练样本训练时的损失值和训练样本在叠加扰动数据状态下训练的损失值,通过反向传播算法来对预测模型参数进行调整,修正模型原有的决策边界,对调整后的预测模型再次构造扰动数据,不断迭代训练最终得到一个鲁棒性强、预测效果好的预测模型决策边界。
下面结合附图,对本申请的具体实施方式进行说明,首先描述本申请实施例中的广告点击率预测模型的训练方法。
本申请实施例提供了一种广告点击率预测模型的训练方法,可应用于终端中,也可应用于服务器中,还可以是运行于终端或服务器中的软件。在一些实施例中,终端可以是智能手机、平板电脑、笔记本电脑、台式计算机或者智能手表等;服务器可以配置成独立的物理服务器,也可以配置成多个物理服务器构成的服务器集群或者分布式系统,还可以配置成提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN以及大数据和人工智能平台等基础云计算服务的云服务器;软件可以是训练广告点击率预测模型的应用程序等,但并不局限于以上形式。图3是本申请实施例提供的一种广告点击率预测模型的训练方法的一个可选的流程图,图3中的方法包括步骤310至步骤370。
步骤310、获取广告点击率的时间序列样本数据和所述时间序列样本数据对应的标签值;所述广告点击率的时间序列样本数据为多个连续的统计周期内的广告点击率;
本步骤中,预测模型所针对的广告,主要指的是互联网广告,具体是通过网站、网页、互联网应用程序等媒介,以文字、图片、音频、视频或者其他形式,直接或者间接地向消费者、用户传播商品信息以及服务信息。广告点击率这一统计指标反映的是广告内容的受关注程度,即广告对人的吸引程度,通常来说,可以采取广告点击量与广告展示量的比值作为广告点击率,其中,广告点击量就是消费者、用户点击访问广告的链接网站或者延伸界面的次数;广告展现量就是投放广告被显示的次数,当广告所在的页面被打开,就产生一次广告展现量,一般可以采用广告页面被浏览的次数作为广告展现量。应当说明的是,广告点击率是统计一段时间内的广告效果的指标数据,这个统计周期可以根据实际需要调整,例如,可以根据一天内的广告点击量与广告展示量的比值来确定当天的广告点击率,也可以根据一个小时内的广告点击量与广告展示量的比值来确定该小时对应的广告点击率。将广告点击率数据按照先后的时间顺序排成序列,即可得到广告点击率的时间序列数据,例如,将一个月内的每日的广告点击率数据按照日期排成序列,就是当月广告点击率的时间序列数据。可选地,这个广告点击率的时间序列数据可以从互联网获取、由本地输入装置输入或者从存储器读取。
需要说明的是,本申请实施例中所指的广告点击率预测,预测目标可以是广告点击率在未来某个时间点的数值或者升降趋势,而每一个未来时间点的广告点击率预测结果又同样能够组成新的时间序列数据继续参与预测,因此预测目标还可以是未来一段时间内广告点击率的连续变化情况。例如:获取的原始数据为某年1月1号到1月15号的广告点击率时间序列数据,可以通过预测得到1月16号的广告点击率相对于1月15号的广告点击率是否有升降,或者预测得到1月16号的广告点击率具体数值,而通过将预测到的1月16号的广告点击率也编制到时间序列数据中,又能够继续预测得到1月17号的广告点击率。依此类推,最终可以选择直到1月31号停止预测,得到整个1月份的广告点击率的连续变化情况。此处,1月16号即属于上述的“未来某个时间点”,而1月16号至1月31号即属于上述的“未来一段时间”。应当理解的是,实际预测时,可以根据需要自行确定预测的目标,预测的时间点也并不局限于某一天,例如,某小时的广告点击率同样可以作为预测的时间点。
对于机器学习模型而言,可以通过训练集中的训练样本和对应的标签值来训练,并通过验证集中的验证样本和对应的标签值验证训练的结果,从而确定预测模型是否达到训练的预定目标。训练集和验证集中的训练样本、验证样本本身数据格式是统一的,对于本申请实施例中的广告点击率而言,为方便描述起见,将模型训练过程中用到的广告点击率的时间序列样本数据统称为训练样本,将模型验证过程中用到的广告点击率的时间序列样本数据统称为验证样本。具体地,可以从广告点击率的时间序列数据中选取一部分,得到多个连续的统计周期内的广告点击率来组成训练样本以及验证样本。例如,对于一个连续100天、由每天的广告点击率数据组成的时间序列数据来说,可以选取每连续5天的广告点击率时间序列数据组成一个训练样本或者验证样本。具体地,例如第1天到第5天的广告点击率数据(3%,2.5%,2.7%,3.1%,3%)就可以作为一个训练样本,类似地,第2天到第6天的广告点击率数据可以作为另一个训练样本。对于训练样本来说,按照具体的预测目标从其后一天的广告点击率确定它所对应的标签值,以预测目标为明天的广告点击率数据来说,那么训练样本中最后一天的下一天的广告点击率即为它所对应的标签值;以预测目标为明天的广告点击率的升降趋势来说,则通过对比训练样本中最后一天和其下一天的广告点击率大小情况来确定。例如,对于第1天到第5天的广告点击率数据(3%,2.5%,2.7%,3.1%,3%)所组成的训练样本,可以根据第6天的广告点击率数据来确定这一训练样本的标签值。具体地,以对明天的广告点击率升降趋势进行分类预测来说,预测结果的输出包括(y1,y2,y3),其中y1表示明天的广告点击率上升10%以上的概率,y2表示明天的广告点击率在下降10%到上升10%区间内的概率,y3表示明天的广告点击率下降10%以上的概率,需要说明的是,此处的10%并不是指广告点击率本身,而是相对于训练样本中最后一天的升降比例。假定第6天的广告点击率数据为4%,其相对于训练样本中最后一天也就是第5天的升降比例为(4%-3%)/3%=33.3%,属于上升10%以上的分类,故这一组训练样本的标签值为(1,0,0)。从以上例子可以知道,只要对分类预测进行进一步的细分,就可以得到更加精细的预测结果,因此数值预测往往也可以转化为分类预测。可选地,可以按照上述方式从前80天的数据中选取训练样本并确定训练样本对应的标签值,从后20天的数据中选取验证样本并确定验证样本对应的标签值。应当说明的是,上述训练样本、验证样本、标签值均可以从输入的广告点击率的时间序列数据获取,而实际的选取方式、样本个数则可以依照需要灵活调整。
步骤320、通过所述预测模型对所述时间序列样本数据进行预测,得到第一预测结果;
本步骤中,所述预测模型可以选择如前述的人工神经网络、整合移动平均自回归模型、支持向量机,逻辑回归及基于Xgboost算法的模型中的任一种,当然,这里的预测模型不同的种类各有特点,实际使用时可以综合考虑预测目标、预测精度、训练时间以及训练样本集的大小等因素来选取。具体地,例如当预测目标是未来某个时间点的数值时,可以选用人工神经网络、整合移动平均自回归模型或者逻辑回归,当预测目标是广告点击率在未来某个时间点的升降趋势时,可以选用支持向量机;当对预测精度的要求较高时,可以选用人工神经网络;当要求训练时间尽可能短时,可以选用逻辑回归或者基于Xgboost算法的模型;当训练样本的数量较小时,可以选用支持向量机。
将训练样本输入到预测模型中,这里的预测模型既可以是刚刚初始化后的模型,也可以是现有技术中已经训练好的模型。换句话说,本申请实施例可以是从无到有,训练出一个比现有技术效果更好的预测模型,也可以是对现有的预测模型再训练,以提高其鲁棒性。
训练样本通过预测模型中的参数计算、输出一个预测结果,以通过前述的第1天到第5天的广告点击率数据(3%,2.5%,2.7%,3.1%,3%)所组成的训练样本,对第6天的广告点击率升降趋势进行分类预测为例,预测模型输出的预测结果为向量(0.8,0.1,0.1),即为得到的第一预测结果。此处预测模型的参数指的是模型内部的配置变量,训练预测模型的过程就是一个预测模型从历史训练数据中学习、更新参数的过程;而使用预测模型则是通过模型参数对数据进行计算,并输出预测结果的过程。当然,在训练预测模型的过程中,自然也包括多次使用预测模型的过程。不同的机器学习模型中参数的种类可能不同,例如可以是人工神经网络中的权重、支持向量机中的支持向量、逻辑回归中的系数;数据结构也可以多种多样,例如包括向量、矩阵或者张量等多种形式。
步骤330、根据所述第一预测结果和所述标签值确定第一损失值;
具体地,仍以通过前述的第1天到第5天的广告点击率数据(3%,2.5%,2.7%,3.1%,3%)所组成的训练样本,对第6天的广告点击率升降趋势进行分类预测为例,其对应的第一预测结果为(0.8,0.1,0.1),而该训练样本的标签值为(1,0,0),通过预测模型的损失函数(Loss Function),可以确定该训练样本训练的损失值。损失函数在机器学习模型中被用来衡量单个样本的预测误差,是一种评估模型预测结果的精确程度的方法,如果模型的预测结果与实际结果偏离较远,损失函数会得到一个比较大的值。在模型的训练过程中,通过不断迭代训练样本更新参数,训练集中所有训练样本的通过损失函数得到平均预测误差会逐渐缩小。
常用损失函数的种类有很多,可选地,例如公式
Figure BDA0002423624220000101
就可以作为机器学习模型的损失函数,式中,θ表示机器学习模型的参数;y表示样本的标签值,
Figure BDA0002423624220000102
表示样本的预测结果。具体地,
Figure BDA0002423624220000103
就可以表示第i个样本的损失值。对于上述第1天到第5天的广告点击率数据(3%,2.5%,2.7%,3.1%,3%)所组成的训练样本,通过以上损失函数确定得到的损失值:
Figure BDA0002423624220000104
即为第一损失值。当然,这里仅仅是列出了一种损失函数可选的实施方式,其他的例如0-1损失函数、平方损失函数、绝对损失函数、对数损失函数等均可以作为机器学习模型的损失函数,在此不再一一阐述。
步骤340、根据所述预测模型的损失函数和所述时间序列样本数据构造扰动数据,所述扰动数据小于等于阈值;
本步骤中,通过构造扰动数据进行预测模型的训练,具体来说是在训练样本训练的过程中,叠加一些扰动数据,获取在叠加扰动数据状态下的训练样本的损失值,然后将这个损失值也作为反向传播更新模型参数的一个因素,从而使得预测模型原有的决策边界允许这类微弱扰动数据的存在。这是一种对抗的训练方式,能够在训练的过程中增加边缘数据,修正预测模型原有的决策边界。下面,以扰动数据叠加在训练样本上为例,说明本申请实施例中的训练方法是如何修正决策边界的,为描述方便起见,以下以预测目标为“预测未来的广告点击率可能上升还是下降”的二分类预测为例,结合图4进行说明。本领域内技术人员应当理解,在广告点击率预测的问题上,数值预测的任务本身也可以转换为分类预测的任务,例如:将预测未来的广告点击率会上升0.1%视为类别一,将预测未来的广告点击率会下降0.1%视为类别二(此处的0.1%指的是广告点击率数值),其他数值依此类推,便是一种可选的预测目标转换方式。
参照图4,数据空间410为一个二维空间,其中包括很多个训练样本,正方形和圆形分别表示两种不同类型的训练样本。例如,在本申请实施例中,正方形的训练样本可以是标签值为1,代表未来的广告点击率上升的训练样本;圆形的训练样本可以是标签值为-1,代表未来的广告点击率下降的训练样本。虚直线411表示这两种训练样本所代表数据的真实分类边界,而曲线412表示的是预测模型对于这两类训练样本的决策边界。根据虚直线411和曲线412的位置可知,虚直线411和曲线412构成了区域A、区域B和区域C三个盲区,预测模型训练的结果如果以曲线412作为决策边界,那么意味着在该预测模型投入使用时,处于区域A、区域B和区域C三个区域的数据的分类将会是错误的。这是因为训练样本本身具有离散性,预测模型在训练时并不能很好地照顾到处于决策边界的边缘数据。例如,在训练完成后,一个和训练样本413同样的数据在被预测时,就很可能受到噪声的影响偏离到区域A,从而出现在预测模型给出的决策边界曲线412中预测结果错误的情况。
针对上述问题,本申请实施例中,考虑在训练样本叠加上一些小小的扰动数据,使得训练样本向周围稍稍“移动”,当然,需要说明的是,这个“移动”的距离应当是尽可能小的,因为一般实际的噪声数据相对于广告点击率数据就非常小,也即添加的扰动数据本身应当小于等于某个阈值。这里扰动数据的数据形式可能有很多种,例如数值、向量或者矩阵等形式,统一来说,可以以扰动数据的p范数小于等于某个阈值来表示其大小的约束关系,即
Figure BDA0002423624220000111
式中,i表示训练样本的编号,xi表示第i个训练样本,
Figure BDA0002423624220000113
表示叠加在第i个训练样本上的扰动数据,
Figure BDA0002423624220000112
表示叠加在第i个训练样本上的扰动数据的p范数,ε表示阈值。此处的阈值应当根据实际情况配置,并尽可能地小,以使得原来的训练样本和叠加扰动数据后的训练样本尽量相似。需要说明的是,这里的所谓的阈值“小”是相对训练样本所处的数据空间的大小来说的,对于不同的训练集,阈值的设置数值是可以不同的。
本申请实施例中,向训练样本叠加扰动数据,在约束了扰动数据的大小范围后,还考虑了另外一个问题,即叠加哪些扰动数据效果比较好。接前述分析可知,叠加扰动数据的目的是为了构造出一些对预测模型的决策边界有影响的边缘数据,从而去修正预测模型的决策边界。换句话说,要尽可能地使得叠加扰动数据后的训练样本“越过”当前的决策边界,模拟出预测模型在执行预测任务时被噪声数据干扰,出现分类错误的情况。参考图4,在二维空间内,训练样本在叠加扰动数据后的偏离范围可以视为以训练样本为圆心,约束扰动数据的阈值为半径所形成的圆。例如对于训练样本413来说,虚线圆414内就是训练样本叠加扰动数据时可能偏离的范围。而当训练样本413叠加某个扰动数据,偏离到三角形(将它看做一个虚拟的训练样本415)所示的状态时,即训练样本413叠加扰动数据变为了训练样本415时,落入了区域A,使得训练增加了更有利修正决策边界的边缘数据,那么意味着这样的扰动数据就是本申请实施例中需要构造的扰动数据。具体地,在约束了扰动数据的大小范围后,可以通过叠加扰动数据后的训练样本的损失值大小来衡量构造扰动数据的效果,因为叠加扰动数据后的训练样本损失值越大,就说明现有预测模型的决策边界给出的预测结果越差,使用该扰动数据对决策边界的修正效果就越好。当然,应当理解的是,本申请实施例中,基于叠加扰动数据后的训练样本的损失值大小构造扰动数据只是一种可选的实施方式,随机叠加扰动数据也是一种可行的方案。参照图6,本申请实施例中提供了一种根据所述预测模型的损失函数和所述时间序列样本数据构造扰动数据的方法的一个可选的流程图,图6中的方法包括步骤610和步骤620。
步骤610、根据所述时间序列样本数据计算所述预测模型的损失函数在扰动数据叠加处的梯度;
根据步骤340中的描述,本申请实施例中可以通过叠加扰动数据,使得叠加扰动数据后的训练样本的损失值较大,所以可以构造一个叠加在训练样本上的扰动数据和训练样本的损失值之间的函数关系,即:
Figure BDA0002423624220000121
式中,i表示训练样本的编号,xi表示第i个训练样本,
Figure BDA0002423624220000122
表示叠加在第i个训练样本上的扰动数据,θ表示机器学习模型的参数,yi表示第i个训练样本的标签值,
Figure BDA0002423624220000123
表示第i个训练样本叠加扰动数据后的预测结果。然后计算预测模型的损失函数关于叠加在第i个训练样本的扰动数据的梯度,确定出扰动数据向数据空间的哪个方向上叠加能够使得训练样本的损失值增加得最快。
步骤620、根据所述梯度确定所述扰动数据。
本步骤中,基于步骤610确定出预测模型的损失函数在扰动数据叠加处的梯度后,就可以按照该梯度方向构造扰动数据了。具体地,扰动数据的大小可以是上述梯度方向上,小于等于阈值的任意数值。当然,较为优选地,可以要求叠加的扰动数据使得训练样本对应的损失值最大,此时,扰动数据等于该梯度和阈值的乘积。在这种情况下,能够较大程度量化出预测模型预测结果错误的情况,以使得预测模型后续反向传播更新参数时能够基于叠加这个扰动数据后得到的损失值修正原来的决策边界,从而更好地应对预测中可能出现的噪声。
步骤350、向所述时间序列样本数据或者所述预测模型中提取的特征的至少之一叠加所述扰动数据,通过所述预测模型对所述时间序列样本数据进行预测,得到第二预测结果;
在步骤340中,说明了预测模型训练过程中,扰动数据叠加在训练样本上的原理和效果,而本申请实施例在训练样本训练的过程中,扰动数据叠加的位置不仅仅可以是训练样本本身,还可以是在预测模型中提取的特征。参照图7,一般来说,机器学习模型710的结构由输入层711(Input Layer)、隐藏层712(Hidden Layer)和输出层713(Output Laver)三部分构成,其中,隐藏层712的个数可以大于等于1。每个隐藏层712均可以通过计算由其之前的输入层711或者隐藏层712输入的数据得到特征(feature),特征可以看作是从输入机器学习模型到最后输出结果过程中的一种中间数据,其数据形式包括数值、向量或者矩阵等形式。本申请实施例中,扰动数据既可以包括叠加在训练样本上的第一扰动数据,也可以包括叠加在特征上的第二扰动数据,而且第二扰动数据本身也可以包括同时叠加在多个特征上的情况。当然,第一扰动数据、第二扰动数据单独配置或者同时配置都是可选的实施方式,即扰动数据实际上可以是第一扰动数据和第二扰动数据的任意组合。当选择叠加在训练样本上的第一扰动数据时,其具体的实施方式和原理可见步骤340及步骤610和步骤620;当选择叠加在特征上的第二扰动数据时,可以从被叠加处的特征开始的隐藏层向后看作一个新的机器学习模型,将特征本身视为“训练样本”,因此其实施方式和原理同样可以参考步骤340及步骤610和步骤620。另外,除了步骤610和步骤620所提供的确定扰动数据的方法,对于数据量较小的训练样本,随机地叠加扰动数据大小、位置,挑选其中使得训练样本损失值最大的扰动数据也是一种可选的实施方式。需要说明的是,当同时叠加第一扰动数据和第二扰动数据时,扰动数据所对应的阈值既可以分别限定第一扰动数据的阈值、第二扰动数据的阈值,也可以限定第一扰动数据与第二扰动数据之和的阈值,阈值的具体设置方式参照步骤340。
本步骤中,在叠加扰动数据的状态下,通过预测模型对训练样本进行了再次预测、输出另一个预测结果,即第二预测结果。这里预测的过程和步骤320中的过程相同,只是预测的过程中叠加了扰动数据,细节在此不再赘述。
步骤360、根据所述第二预测结果和所述标签值确定第二损失值;
同样地,本步骤中确定第二损失值的过程和步骤330中的过程相同,且两个步骤中所使用的损失函数保持一致,不同的是步骤320中是通过第一预测结果和训练样本的标签值确定损失值,得到第一损失值,本步骤中是通过第二预测结果和训练样本的标签值确定损失值,得到第二损失值。
需要说明的是,本申请实施例中的步骤340、步骤350和步骤360可以视为一个循环一体的过程。具体地,以随机地叠加扰动数据大小、位置,挑选其中使得训练样本损失值最大的扰动数据的实施方式为例进行说明。参照图8,本申请实施例中提供了一种构造扰动数据、确定第二损失值的方法的一个可选的流程图,图8中的方法包括步骤810至步骤870。
步骤810、随机生成扰动数据;这里的扰动数据可以是叠加在训练样本上的第一扰动数据以及叠加在预测模型中的特征上的第二扰动数据所构成的数据组合,且随机包括数据大小随机和叠加位置随机,所述扰动数据小于等于阈值;
步骤820、在叠加扰动数据的状态下,对训练样本进行预测;通过这个步骤得到预测模型在受扰动数据干扰的情况下输出的预测结果;
步骤830、根据预测结果和标签值确定损失值;即确定叠加当前的扰动数据状态下所得到的第二损失值;
步骤840、判断损失值是否增大,若增大则执行步骤850,否则返回执行步骤810;此处,训练刚开始时可以认为损失值为0,每次生成一个扰动数据,便比较在该扰动数据干扰的状态下,预测模型对训练样本预测结果的损失值与之前所得到的最大损失值的关系:如果本次生成的扰动数据使得训练样本预测结果的损失值的大小更大,则说明该扰动数据比先前的所有扰动数据都要更合适,因此继续执行后续步骤;如果本次生成的扰动数据使得训练样本预测结果的损失值的大小比之前所得到的最大损失值小,则说明该扰动数据并不如先前的扰动数据,此时则返回步骤810重新生成扰动数据;
步骤850、更新损失值和迭代次数;当每次遇到使得训练样本预测结果的损失值大小更大的扰动数据时,则更新记录的损失值,下次比较时使用该损失值作为最大损失值进行比较,并更新迭代次数加一;
步骤860、判断迭代次数是否达到预设次数,若是则执行步骤870,否则返回执行步骤810;本步骤中,判断损失值更新迭代的次数是否达到了预设的值,预设次数指的是期望迭代寻找多少次合适的扰动数据,预设次数越大,则扰动数据就越合适,叠加该扰动数据状态下,预测模型对训练样本的预测结果的损失值就越接近最大值。当然,考虑到训练时间的关系,预设次数也不宜过大,否则会导致预测模型训练的速度过慢。如果记录的迭代次数达到了预设次数,则执行后续步骤输出当前记录的损失值作为第二损失值用于更新预测模型参数;如果当前记录的迭代次数没有达到预设次数,则返回步骤810重新生成扰动数据;
步骤870、输出当前的损失值作为第二损失值。
通过步骤810至步骤870中所提供的一种通过随机构造扰动数据确定第二损失值的方法,可以看出,本申请实施例中,步骤340至步骤360在构造扰动数据、预测模型的预测以及确定损失值的过程,可以是一个循环往复的过程。
步骤370、根据所述第一损失值和所述第二损失值调整所述预测模型的参数,根据调整参数后的所述预测模型的损失函数和所述时间序列样本数据构造新的扰动数据进行迭代训练,所述新的扰动数据小于等于所述阈值。
下面,首先对本步骤中调整一次所述预测模型的参数的过程进行说明,本申请实施例中,所述预测模型的目标函数可以通过以下公式表示:
Figure BDA0002423624220000151
式中,θ表示预测模型的参数;i表示训练样本的编号,n表示训练样本的总个数;
Figure BDA0002423624220000152
表示预测模型的第一代价函数,
Figure BDA0002423624220000153
表示第i个训练样本的第一损失值,其中,yi是第i个训练样本对应的标签值,
Figure BDA0002423624220000154
是预测模型对第i个训练样本输出的第一预测结果;f(θ)是预测模型的正则项,λ是预测模型正则项的权重;
Figure BDA0002423624220000155
表示预测模型的第二代价函数,
Figure BDA0002423624220000156
表示第i个训练样本的第二损失值,其中,
Figure BDA0002423624220000157
是预测模型对第i个训练样本输出的第二预测结果,ρ是预测模型的第二代价函数的权重。
具体地,如前述,机器学习模型的损失函数(Loss Function)是定义在单个训练样本上的,用于衡量一个训练样本的预测误差;而实际训练中有很多训练样本,上式中的
Figure BDA0002423624220000158
叫做机器学习模型的代价函数(Cost Function),是定义在整个训练样本集合上的,用于计算所有训练样本误差的平均值,能够更好地衡量出预测模型的预测效果。常用的代价函数就是基于损失函数得来的,一般包括平均误差(AE)函数、平均绝对误差(MAE)函数以及均方根误差函数等等。预测模型的代价函数通常也叫经验风险,经验风险越小,预测模型就越复杂,其包含的参数就越多,当经验风险函数小到一定程度就会出现过拟合现象,为了尽量避免过拟合现象的发生,就要降低预测模型的复杂度。因此,一般通过在经验风险后面加一个正则项(惩罚项)的结构风险,将预测模型的结构复杂度也纳入训练时的约束。本申请实施例中的权重λ、ρ可以根据需要调整,以使得预测模型在训练时偏重于不同的因素,例如,当权重λ较大时,预测模型的结构复杂度低,不容易出现过拟合的情况;当权重ρ较大时,预测模型的决策边界较优,预测的准确度高,不容易受到噪声数据的影响,鲁棒性高。
具体地,预测模型在训练时,可以通过梯度下降法(Gradient Descent,GD)来更新参数,梯度下降法是为目标函数求取全局最小值的一种常用迭代算法,它的种类有很多,例如批量梯度下降法(Batch Gradient Descent,BGD)、随机梯度下降法(StochasticGradient Descent,SGD)、小批量梯度下降法(Mini-batch Gradient Descent,MBGD)等等。本申请实施例中,选用随机梯度下降法对模型进行参数更新。随机梯度下降法的学习速率比较快,效果也十分良好。具体地,随机梯度下降法的原理是每次随机从训练集中选择少量训练样本进行学习,通过迭代多次来更新预测模型参数。例如训练集的训练样本总数是100个,可以选择每次随机挑选20个来反向传播更新模型参数,一共挑选20次做迭代,即可得到更新好的预测模型的参数。本申请实施例中,将上述过程作为调整一次的预测模型参数的过程。
对于调整参数后的预测模型,再次返回到步骤320进行重新迭代训练,整个迭代训练的过程中,各个训练样本对应的扰动数据阈值不变,预测模型的决策边界不断通过构造的扰动数据修正。参照图4和图5,图4表示数据空间410在预测模型使用本申请实施例的方法训练前的决策边界示意图,图5表示数据空间410在预测模型训练后的决策边界示意图。其中,正方形和圆形分别表示两种不同类型的训练样本,虚直线411表示这两种训练样本所代表数据的真实分类边界,曲线412表示的是预测模型在训练前对于这两类训练样本的决策边界,曲线512表示的是预测模型在训练后对于这两类训练样本的决策边界。从图4和图5的对比中可以看出,本申请实施例中提供的广告点击率模型训练方法,较好地修正了预测模型原有的决策边界,使得模型在遇到噪声数据时的准确程度得到了提高,鲁棒性更强。基于以上理解,可以推知,本申请实施例还可以利用比较少的训练样本来扩展出更多的训练样本,那么意味着在同等的训练效果的前提下,本申请实施例所需要的训练样本更少,可以推知本申请实施例可以节省训练样本的标注成本,降低训练样本所需的存储空间。
下面,对本申请实施例中提供的预测模型训练结束条件予以说明。应当明白的是,本申请最终得到的预测模型是直接用于广告点击率预测的,所以只要确定何时预测模型用于预测的效果最好即可停止训练,便可得到参数最优的模型。因此,可以对比训练集和验证集的错误来判断训练进程,训练集的预测错误率可以通过其目标函数表示;验证集的预测错误率可以通过公式
Figure BDA0002423624220000171
来表示,式中,θ表示预测模型的参数,j表示验证样本的编号,m表示验证样本的总个数;yj表示第j个验证样本的预测结果,
Figure BDA0002423624220000172
表示第j个验证样本的标签值;
Figure BDA0002423624220000173
表示第j个验证样本的损失值。
参照图9a,一般来说,训练集在整个训练的过程中,其预测错误率是一直在降低的,参照图9b,验证集却往往会出现预测错误率先降低后升高的状况。这是由于刚开始随着训练的进行,预测模型不断被修正,故而预测的效果也在不断提升,但是随着训练的时间加长,预测模型往往会出现过拟合的情况,即预测模型的参数过度拟合于训练样本。如图9b中的T1时刻之后,验证集的预测错误率不降反升,就是因为上述原因。因此,可以选择验证集预测错误率最低的时刻,即T1时刻的预测模型的参数作为训练好的模型参数。当然,预测模型训练结束条件并不仅仅局限于上述实施方式,例如限定的调整参数的迭代轮数或者限定满足要求的预测错误率阈值等都是可选的实施方式。
下面参照图10和图11描述本申请实施例所提供的一种广告点击率预测模型的训练方法。在本申请实施例中,选择训练的是人工神经网络中的长短期记忆神经网络(LongShort-Term Memory networks,LSTM)。
长短期记忆神经网络是以重复结构组成的神经网络,图10是它其中一个结构(模型单元)的原理图,该模型单元的工作原理如下:首先,模型单元每一个时刻都有一个输出和细胞状态,图10中,以t时刻表示当前时刻,输出就是所示的ht,细胞状态就是Ct。对于当前时刻,把上一个时刻的输出ht-1连带着当前时刻的输入作为整体,作为当前时刻细胞状态的输入xt,同时也是控制三个门(Gate)的输入。首先,上一个时刻的输出经过一个遗忘门(Forget Gate),如果遗忘门的输出结果接近0,表示尽量忘掉上一个时刻的输出,而接近1表示尽可能进行记忆上一个时刻的输出;然后,经过遗忘门后的细胞内上一个状态残存的部分继续向前,通过输入门(Input Gate)加上当前时刻的输入,这个门表征通过多少量的输入,经过输入门处理后当前时刻的输入(在进入输入门之前要对输入做tanh运算,把值域压缩到[-1,1]范围内)和前面的上一个细胞状态Ct-1的残余加起来,就是这个时刻的细胞状态。这样,细胞状态就完成了从上一个时刻到当前时刻的更新。而经过tanh运算后的细胞状态Ct与输出门(Output Gate)相乘,结果就是当前时刻的输出ht。长短期记忆神经网络能够克服简单的RNN神经网络在处理长期依赖的时间序列时出现的梯度消失问题,在时间序列预测任务上的预测性能优秀。
参照图11,对本申请实施例中所提供的一种广告点击率预测模型的训练方法应用在训练长短期记忆神经网络为例,简要说明训练的具体流程。
首先,假定训练的相关背景:用于训练的训练样本集是某个广告100个连续三天的广告点击率数据,即训练样本的总个数为100。其中,比方说:假设图11中的i=1,第一个训练样本x1是(2.3%,2.7%,3%),表示的是1月15号到1月17号的广告点击率,预测的目标是未来一天的广告点击率是上升、持平还是下降,即有三类结果,1月18号的广告点击率是3.1%,则该训练样本x1的标签值y01为向量(1,0,0),对应的真实结果是上升。将该训练样本x1输入到初始化后的长短期记忆神经网络,得到的第一预测结果y11为(0.7,0.2,0.1),以预测模型采用平方损失函数
Figure BDA0002423624220000181
为例,则训练样本x1的第一损失值为0.32+0.22+0.12=0.14。然后再次在叠加扰动数据的状态下对训练样本x1进行预测,通过比较叠加扰动数据的状态下训练样本x1的损失值大小,发现在某种扰动数据组合下,例如,扰动数据叠加在训练样本x1上的部分——即图11中的第一扰动数据Px1是(0%,0.01%,-0.02%)(此处的百分数指的是广告点击率数值),扰动数据叠加在预测模型的第一层隐藏层参数θ1计算出的特征(例如该特征是一个向量(5,9,7))上的部分——即第二扰动数据P11是向量(0.001,0.002,-0.003),其他特征上没有叠加扰动数据成分这种情况时,训练样本x1的损失值最大。例如此时的第二预测结果为(0.6,0.4,0),则第二损失值为0.32。此时便得到了训练样本x1的第一损失值和第二损失值,通过以上步骤获取到所有100个训练样本的第一损失值和第二损失值,然后根据前述的随机梯度下降法,每次随机挑选例如25个训练样本来通过目标函数反向传播,更新长短期记忆神经网络的参数,一共挑选20批次的训练样本做迭代训练,即可得到调整一次后的长短期记忆神经网络的参数。对于调整参数后的长短期记忆神经网络,再次按照上述方式构造扰动数据,确定第二损失值,反复地迭代训练,直至该长短期记忆神经网络在验证集的错误率达到最小值,即可得到一个抗噪声干扰的、鲁棒性强的广告点击率预测模型。输入训练集和验证集的数据所对应的广告连续三天的广告点击率数据,该长短期记忆神经网络便能够有效预测出第四天的广告点击率趋势是上升、下降还是持平。
参照图12,本申请实施例提供一种广告点击率预测方法,图12中的方法包括步骤1210和1220。
步骤1210、获取广告点击率的时间序列数据;
步骤1220、通过上述广告点击率预测模型的训练方法训练得到的广告点击率预测模型对所述时间序列数据进行预测,得到所述广告点击率的预测结果。
具体地,结合图13、图14、图15来说明本申请实施例提供的广告点击率预测方法。参照图13,图中所示的是一种广告服务系统,包括广告数据统计服务器1310、广告点击率预测服务器1320和终端1330。广告点击率预测服务器1320通过互联网或者局域网与广告数据统计服务器1310和终端1330通讯,从广告数据统计服务器1310中获取到广告的点击率数据,然后基于当前的广告点击率数据预测出未来的广告点击率数值或者升降趋势,该预测任务具体是通过广告点击率预测模型对广告点击率的时间序列数据进行预测来实现的,该预测模型通过上述广告点击率预测模型的训练方法实施例训练得到。广告点击率预测服务器1320得到的预测结果,可以发送给与该广告利益相关方的终端1330,例如广告投资方、广告设计者以及广告平台的相关人员。从而为他们提供广告点击率的预测服务,以方便广告利益相关方及时统计、分析广告的效益,有助于相关商业决策的制定。
参照图14,图中所示的是一种移动终端设备的应用程序界面1410,包括输入文档区1411和预测结果显示区1412。其中,输入文档区1411可以接收用户输入的广告点击率数据,例如导入Excel表格,当广告点击率数据被输入后,应用程序将发送至广告数据统计服务器1310,接收传回的预测结果,并自动生成含有输入数据段和预测结果数据段的广告点击率数值升降趋势图,显示在预测结果显示区1412。该应用程序能够方便、实时地提供各类广告的未来点击率预测功能,对于广告行业的从事者来说,只需要导入按日期编排好的广告点击率数据,便能方便地得到该广告点击率的预测升降趋势图。
参照图15,图中所示的是移动终端设备应用程序的另一种界面1510,包括广告监测列表1511、预测结果显示区1512、建议显示区1513和指令发送区1514。应用程序还可以基于上述的广告点击率预测功能进一步拓展,为用户提供更人性化的服务。如图15所示,用户可以选择一些利益相关的广告,将该广告添加到广告监测列表1511,为应用程序授权获取并监控该广告的点击率数据,预测结果显示区1512与图14中预测结果显示区1412的功能及实现原理相同。应用程序还设置有提供建议的功能,当发现预测的广告点击率在未来呈长期下降趋势或者在未来低于某个阈值时,将在建议显示区1513显示出对该广告相关的处理意见,例如建议下撤该广告减少投资成本。当用户认为该建议合理时,可以直接通过指令发送区1514选择相应的指令来调控广告布局,指令具体的执行者可以是相关人员,也可以是与该应用程序对接的其他程序。
参照图16,本申请实施例还提供一种广告处理方法,图16中的方法包括步骤1610至1630。
步骤1610、获取广告点击率的时间序列数据;
步骤1620、将所述时间序列数据输入到上述广告点击率预测模型的训练方法训练得到的预测模型中,得到所述广告的点击率预测结果;
步骤1630、根据所述广告的点击率预测结果,对所述广告进行调整。
具体地,结合图17来说明本申请实施例提供的广告处理方法。参照图17,图中所示的是一种网页的UI界面1710,包括显示级别较高的第一广告显示区1711和显示级别较低的第二广告显示区1712,以在第一广告显示区显示的广告为例,后台程序通过统计该广告的点击率数据,并实时执行预测广告点击率未来数值或者升级趋势的任务,具体同样是通过上述广告点击率预测模型的训练方法实施例训练得到的广告点击率预测模型,对广告点击率的时间序列数据进行预测来实现的。当后台程序预测到该广告近期的点击率数值很可能低于某个阈值或者该广告目前点击率低于历史均值且预测到长期呈下降趋势,此时后台程序将自动将该广告从第一广告显示区1711转入第二广告显示区1712,以降低对未来效益可能较差的广告显示级别,减少广告的投入成本;相对地,对于吸引度强的广告,也可以反向提高显示级别。通过以上的广告处理方式,能够基于广告点击率的预测结果及时、合理地对广告进行布局调控,提高广告投资的回报比。
通过以上实施例的描述,可以得知,本申请实施例中提供的广告点击率预测模型的训练方法、广告点击率预测方法和广告处理方法,可应用于终端中及服务器中,还可以是运行于终端或服务器中的应用程序。以上实施例仅用于描述本申请提供方法的部分应用场景,并不局限于以上形式。
参照图18,本申请实施例公开了一种广告点击率预测模型的训练装置,可以实现上述广告点击率预测模型的训练方法的实施例,该装置包括:
获取单元1810,用于获取广告点击率的时间序列样本数据和所述时间序列样本数据对应的标签值;所述广告点击率的时间序列样本数据为多个连续的统计周期内的广告点击率;
第一预测单元1820,用于通过所述预测模型对所述时间序列样本数据进行预测,得到第一预测结果;
第一损失值确定单元1830,用于根据所述第一预测结果和所述标签值确定第一损失值;
扰动构造单元1840,用于根据所述预测模型的损失函数和所述时间序列样本数据构造扰动数据,所述扰动数据小于等于阈值;
第二预测单元1850,用于向所述时间序列样本数据或者所述预测模型中提取的特征的至少之一叠加所述扰动数据,并通过所述预测模型对所述训练样本进行预测,得到第二预测结果;
第二损失值确定单元1860,用于根据所述第二预测结果和所述标签值确定第二损失值;
模型训练单元1870,用于根据所述第一损失值和所述第二损失值调整所述预测模型的参数,并将调整参数后的预测模型返回到扰动构造单元1840构造新的扰动数据进行迭代训练,所述新的扰动数据小于等于所述阈值。
本申请实施例还公开了一种装置,包括存储器、处理器和程序;
所述程序被存储在所述存储器中,所述处理器执行所述程序以实现上述各个实施例的广告点击率预测模型的训练方法、广告点击率预测方法或者广告处理方法。
具体地,参照图19,本申请实施例中的装置可以被配置为服务器的形式,如图19所示,其为本申请实施例提供的服务器1900的结构图,服务器1900可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(Central Processing Units,CPU)1922(例如,一个或一个以上处理器)和存储器1932,一个或一个以上存储应用程序1942或数据1944的存储介质1930(例如一个或一个以上海量存储装置)。其中,存储器1932和存储介质1930可以是短暂存储或持久存储。存储在存储介质1930的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对服务器中的一系列指令操作。更进一步地,中央处理器1922可以设置为与存储介质1930通信,在服务器1900上执行存储介质1930中的一系列指令操作。
服务器1900还可以包括一个或一个以上电源1926,一个或一个以上有线或无线网络接口1950,一个或一个以上输入输出接口1958,和/或,一个或一个以上操作系统1941,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM等等。
服务器中的处理器可以用于执行上述各个实施例的广告点击率预测模型的训练方法、广告点击率预测方法或者广告处理方法。
本申请实施例还提供一种计算机可读存储介质,所述计算机可读存储介质用于存储程序代码,所述程序代码用于执行上述各个实施例的广告点击率预测模型的训练方法、广告点击率预测方法或者广告处理方法。
本申请的说明书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例例如能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或装置不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或装置固有的其它步骤或单元。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。存储介质可包括:U盘、移动硬盘、只读存储器(Read-Only Memory,简称ROM)、随机存取存储器(Random Access Memory,简称RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
对于上述方法实施例中的步骤编号,其仅为了便于阐述说明而设置,对步骤之间的顺序不做任何限定,实施例中的各步骤的执行顺序均可根据本领域技术人员的理解来进行适应性调整。
以上是对本申请的较佳实施进行了具体说明,但本申请并不限于所述实施例,熟悉本领域的技术人员在不违背本申请精神的前提下还可做作出种种的等同变形或替换,这些等同的变形或替换均包含在本申请权利要求所限定的范围内。

Claims (13)

1.一种广告点击率预测方法,其特征在于,包括以下步骤:
获取广告点击率的时间序列数据;
通过广告点击率的预测模型对所述时间序列数据进行预测,得到所述广告点击率的预测结果;
其中,所述预测模型基于广告点击率的时间序列样本数据和所述时间序列样本数据的标签值训练得到,所述预测模型的训练过程包括以下步骤:
通过所述预测模型对时间序列样本数据进行预测,得到第一预测结果;
根据所述第一预测结果和所述标签值确定第一损失值;
根据所述预测模型的损失函数和所述时间序列样本数据构造扰动数据,所述扰动数据小于等于阈值;
向所述时间序列样本数据或者所述预测模型中提取的特征的至少之一叠加所述扰动数据,通过所述预测模型对所述时间序列样本数据进行预测,得到第二预测结果;
根据所述第二预测结果和所述标签值确定第二损失值;
根据所述第一损失值和所述第二损失值调整所述预测模型的参数,根据调整参数后的所述预测模型的损失函数和所述时间序列样本数据构造新的扰动数据进行迭代训练,所述新的扰动数据小于等于所述阈值。
2.根据权利要求1所述的方法,其特征在于,所述根据所述预测模型的损失函数和所述时间序列样本数据构造扰动数据的步骤,包括:
根据所述时间序列样本数据计算所述预测模型的损失函数在扰动数据叠加处的梯度;
根据所述梯度确定所述扰动数据。
3.根据权利要求2所述的方法,其特征在于,所述根据所述梯度确定所述扰动数据的步骤,包括:
根据所述梯度和所述阈值的乘积确定所述扰动数据。
4.根据权利要求1-3任一项所述的方法,其特征在于,所述根据所述第一损失值和所述第二损失值调整所述预测模型的参数的步骤,包括:
根据所述第一损失值和所述第二损失值确定目标函数的总损失;
根据所述目标函数的总损失,通过梯度下降法调整所述预测模型的参数;
其中,所述目标函数包括第一代价函数和第二代价函数,所述第一代价函数用于计算多个所述时间序列样本数据对应的第一损失值的平均值,所述第二代价函数用于计算多个所述时间序列样本数据对应的第二损失值的平均值。
5.一种广告点击率预测模型的训练方法,其特征在于,包括以下步骤:
获取广告点击率的时间序列样本数据和所述时间序列样本数据对应的标签值;所述广告点击率的时间序列样本数据为多个连续的统计周期内的广告点击率;
通过所述预测模型对所述时间序列样本数据进行预测,得到第一预测结果;
根据所述第一预测结果和所述标签值确定第一损失值;
根据所述预测模型的损失函数和所述时间序列样本数据构造扰动数据,所述扰动数据小于等于阈值;
向所述时间序列样本数据或者所述预测模型中提取的特征的至少之一叠加所述扰动数据,通过所述预测模型对所述时间序列样本数据进行预测,得到第二预测结果;
根据所述第二预测结果和所述标签值确定第二损失值;
根据所述第一损失值和所述第二损失值调整所述预测模型的参数,根据调整参数后的所述预测模型的损失函数和所述时间序列样本数据构造新的扰动数据进行迭代训练,所述新的扰动数据小于等于所述阈值。
6.根据权利要求5所述的方法,其特征在于,所述根据所述预测模型的损失函数和所述时间序列样本数据构造扰动数据的步骤,包括:
根据所述时间序列样本数据计算所述预测模型的损失函数在扰动数据叠加处的梯度;
根据所述梯度确定所述扰动数据。
7.根据权利要求6所述的方法,其特征在于,所述根据所述梯度确定所述扰动数据的步骤,包括:
根据所述梯度和所述阈值的乘积确定所述扰动数据。
8.根据权利要求5-7任一项所述的方法,其特征在于,所述根据所述第一损失值和所述第二损失值调整所述预测模型的参数的步骤,包括:
根据所述第一损失值和所述第二损失值确定目标函数的总损失;
根据所述目标函数的总损失,通过梯度下降法调整所述预测模型的参数;
其中,所述目标函数包括第一代价函数和第二代价函数,所述第一代价函数用于计算多个所述广告点击率的时间序列数据对应的第一损失值的平均值,所述第二代价函数用于计算多个所述广告点击率的时间序列数据对应的第二损失值的平均值。
9.根据权利要求8所述的方法,其特征在于,所述根据所述第一损失值和所述第二损失值确定目标函数的总损失的步骤,包括:
确定所述目标函数的正则项值;
对所述正则项值、所述第一损失值和所述第二损失值进行加权,得到目标函数的总损失;
其中,所述正则项值用于描述所述预测模型的结构复杂度。
10.根据权利要求8所述的方法,其特征在于,所述预测模型为长短期记忆神经网络,所述梯度下降法为随机梯度下降法。
11.一种广告点击率预测模型的训练装置,其特征在于,包括:
获取单元,用于获取广告点击率的时间序列样本数据和所述时间序列样本数据对应的标签值;所述广告点击率的时间序列样本数据为多个连续的统计周期内的广告点击率;
第一预测单元,用于通过所述预测模型对所述时间序列样本数据进行预测,得到第一预测结果;
第一损失值确定单元,用于根据所述第一预测结果和所述标签值确定第一损失值;
扰动构造单元,用于根据所述预测模型的损失函数和所述时间序列样本数据构造扰动数据,所述扰动数据小于等于阈值;
第二预测单元,用于向所述时间序列样本数据或者所述预测模型中提取的特征的至少之一叠加所述扰动数据,并通过所述预测模型对所述时间序列样本数据进行预测,得到第二预测结果;
第二损失值确定单元,用于根据所述第二预测结果和所述标签值确定第二损失值;
模型训练单元,用于根据所述第一损失值和所述第二损失值调整所述预测模型的参数,并将调整参数后的预测模型返回到扰动构造单元构造新的扰动数据进行迭代训练,所述新的扰动数据小于等于所述阈值。
12.一种装置,其特征在于,包括存储器、处理器和程序;
所述程序被存储在所述存储器中,所述处理器执行所述程序以实现如权利要求1-10中任一项所述的方法。
13.一种存储介质,其特征在于,所述存储介质存储有程序,当所述程序被处理器执行,实现如权利要求1-10中任一项所述的方法。
CN202010213519.3A 2020-03-24 2020-03-24 广告点击率预测方法、模型的训练方法、装置和存储介质 Pending CN113449260A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010213519.3A CN113449260A (zh) 2020-03-24 2020-03-24 广告点击率预测方法、模型的训练方法、装置和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010213519.3A CN113449260A (zh) 2020-03-24 2020-03-24 广告点击率预测方法、模型的训练方法、装置和存储介质

Publications (1)

Publication Number Publication Date
CN113449260A true CN113449260A (zh) 2021-09-28

Family

ID=77806426

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010213519.3A Pending CN113449260A (zh) 2020-03-24 2020-03-24 广告点击率预测方法、模型的训练方法、装置和存储介质

Country Status (1)

Country Link
CN (1) CN113449260A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114612167A (zh) * 2022-05-12 2022-06-10 杭州桃红网络有限公司 一种建立广告自动关停模型的方法及广告自动关停模型
CN114999182A (zh) * 2022-05-25 2022-09-02 中国人民解放军国防科技大学 基于lstm回馈机制的车流量预测方法、装置及设备
CN115131079A (zh) * 2022-08-25 2022-09-30 道有道科技集团股份公司 基于数据处理的广告投放效果预测方法及装置

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114612167A (zh) * 2022-05-12 2022-06-10 杭州桃红网络有限公司 一种建立广告自动关停模型的方法及广告自动关停模型
CN114612167B (zh) * 2022-05-12 2022-08-19 杭州桃红网络有限公司 一种建立广告自动关停模型的方法及广告自动关停模型
CN114999182A (zh) * 2022-05-25 2022-09-02 中国人民解放军国防科技大学 基于lstm回馈机制的车流量预测方法、装置及设备
CN114999182B (zh) * 2022-05-25 2023-07-04 中国人民解放军国防科技大学 基于lstm回馈机制的车流量预测方法、装置及设备
CN115131079A (zh) * 2022-08-25 2022-09-30 道有道科技集团股份公司 基于数据处理的广告投放效果预测方法及装置
CN115131079B (zh) * 2022-08-25 2022-12-09 道有道科技集团股份公司 基于数据处理的广告投放效果预测方法及装置

Similar Documents

Publication Publication Date Title
US11544591B2 (en) Framework for a computing system that alters user behavior
JP7316358B2 (ja) 生物物理学的モデル化および応答予測のためのシステム、方法、およびデバイス
Ouyang et al. Agricultural commodity futures prices prediction via long-and short-term time series network
Dangeti Statistics for machine learning
Dirick et al. Time to default in credit scoring using survival analysis: a benchmark study
Baesens et al. Neural network survival analysis for personal loan data
US10824940B1 (en) Temporal ensemble of machine learning models trained during different time intervals
El Morr et al. Descriptive, predictive, and prescriptive analytics
Strickland Predictive analytics using R
CN113449260A (zh) 广告点击率预测方法、模型的训练方法、装置和存储介质
CN107977864A (zh) 一种适用于金融场景的客户洞察方法和系统
US11887167B2 (en) Utilizing machine learning models to generate an optimized digital marketing simulation
JP7139932B2 (ja) 需要予測方法、需要予測プログラムおよび需要予測装置
US20220138887A1 (en) Method and system for constructing virtual environment for ride-hailing platforms
Strickland Predictive modeling and analytics
Priya Linear regression algorithm in machine learning through MATLAB
US11144938B2 (en) Method and system for predictive modeling of consumer profiles
CN117195061B (zh) 事件响应预测模型处理方法、装置和计算机设备
Subramanian et al. Ensemble-based deep learning techniques for customer churn prediction model
Pandey et al. Machine learning–based classifiers ensemble for credit risk assessment
US11983743B2 (en) Training an artificial intelligence engine for generating models to provide targeted actions
Levine et al. Neural network modeling of business decision making
CN116994764A (zh) 一种健康行为模型构建方法、装置及电子设备及存储介质
Vélez et al. Predicting medicine demand fluctuations through Markov chain
WO2021077227A1 (en) Method and system for generating aspects associated with a future event for a subject

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40052365

Country of ref document: HK

SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination