发明内容
为解决上述技术问题,本申请实施例提供一种CTR预估模型选择方法及装置,以达到提高CTR预估模型的更新、选择的效率及准确性的目的,技术方案如下:
一种CTR预估模型选择方法,包括:
每隔第一设定时间,获取一次模型池中各个CTR预估模型的转化数据,所述CTR预估模型为实时CTR预估模型或非实时CTR预估模型,所述实时CTR预估模型的确定过程,包括:每日获取一次所述模型池中各个所述CTR预估模型的历史转化数据,并利用获取到的历史转化数据,训练CTR预估模型,将训练好的CTR预估模型作为实时CTR预估模型,并将所述实时CTR预估模型存储至所述模型池中;
基于各个所述CTR预估模型的转化数据,从所述模型池中选择出待使用的CTR预估模型。
所述方法还包括:
每隔第二设定时间,对所述模型池中的非实时CTR预估模型的参数进行一次更新。
所述基于各个所述CTR预估模型的转化数据,从所述模型池中选择出待使用的CTR预估模型,包括:
基于各个所述CTR预估模型的转化数据,从所述模型池中选择出转化效果最优的CTR预估模型;
将所述转化效果最优的CTR预估模型作为待使用的CTR预估模型。
所述基于各个所述CTR预估模型的转化数据,从所述模型池中选择出待使用的CTR预估模型,包括:
基于各个所述CTR预估模型的转化数据,从所述模型池中选择出转化效果最优的CTR预估模型;
将所述模型池中除所述转化效果最优的CTR预估模型之外的CTR预估模型作为待检测CTR预估模型;
将各个所述待检测CTR预估模型输出的结果作为输入,将各个所述待检测CTR预估模型的输入值对应的真实类别值作为输出,对目标CTR预估模型进行训练,直至所述待检测CTR预估模型输出的结果与所述真实类别值之间的差值在预设范围内时,将所述目标CTR预估模型的参数作为各个所述待检测CTR预估模型的权重;
按照从小到大的顺序,对多个所述待检测CTR预估模型的权重进行排序,得到排序结果,将所述排序结果中第一个至第n个权重对应的待检测CTR预估模型作为待组合CTR预估模型;
基于各个所述待组合CTR预估模型的权重,对多个所述待组合CTR预估模型进行组合,得到组合CTR预估模型;
将所述转化效果最优的CTR预估模型作为待使用的主CTR预估模型,将所述组合CTR预估模型,作为待使用的辅助CTR预估模型。
所述将训练好的实时CTR预估模型存储到所述模型池中之前,还包括:
判断所述模型池中实时CTR预估模型的个数是否已达到第一设定个数阈值;
若未达到,则将训练好的实时CTR预估模型存储到所述模型池中;
若已达到,则从所述模型池中删除一个实时CTR预估模型,并将训练好的实时CTR预估模型添加到所述模型池中。
一种CTR预估模型选择装置,包括:
获取模块,用于每隔第一设定时间,获取一次模型池中各个CTR预估模型的转化数据,所述CTR预估模型为实时CTR预估模型或非实时CTR预估模型,所述实时CTR预估模型通过确定模块确定,所述确定模块,用于:每日获取一次所述模型池中各个所述CTR预估模型的历史转化数据,并利用获取到的历史转化数据,训练CTR预估模型,将训练好的CTR预估模型作为实时CTR预估模型,并将所述实时CTR预估模型存储至所述模型池中;
选择模块,用于基于各个所述CTR预估模型的转化数据,从所述模型池中选择出待使用的CTR预估模型。
所述装置还包括:
更新模块,用于每隔第二设定时间,对所述模型池中的非实时CTR预估模型的参数进行一次更新。
所述选择模块,具体用于:
基于各个所述CTR预估模型的转化数据,从所述模型池中选择出转化效果最优的CTR预估模型;
将所述转化效果最优的CTR预估模型作为待使用的CTR预估模型。
所述选择模块,具体用于:
基于各个所述CTR预估模型的转化数据,从所述模型池中选择出转化效果最优的CTR预估模型;
将所述模型池中除所述转化效果最优的CTR预估模型之外的CTR预估模型作为待检测CTR预估模型;
将各个所述待检测CTR预估模型输出的结果作为输入,将各个所述待检测CTR预估模型的输入值对应的真实类别值作为输出,对目标CTR预估模型进行训练,直至所述待检测CTR预估模型输出的结果与所述真实类别值之间的差值在预设范围内时,将所述目标CTR预估模型的参数作为各个所述待检测CTR预估模型的权重;
按照从小到大的顺序,对多个所述待检测CTR预估模型的权重进行排序,得到排序结果,将所述排序结果中第一个至第n个权重对应的待检测CTR预估模型作为待组合CTR预估模型;
基于各个所述待组合CTR预估模型的权重,对多个所述待组合CTR预估模型进行组合,得到组合CTR预估模型;
将所述转化效果最优的CTR预估模型作为待使用的主CTR预估模型,将所述组合CTR预估模型,作为待使用的辅助CTR预估模型。
所述确定模块,还用于:
判断所述模型池中实时CTR预估模型的个数是否已达到第一设定个数阈值;
若未达到,则将训练好的实时CTR预估模型存储到所述模型池中;
若已达到,则从所述模型池中删除一个实时CTR预估模型,并将训练好的实时CTR预估模型添加到所述模型池中。
与现有技术相比,本申请的有益效果为:
在本申请中,通过每日获取一次所述模型池中各个所述CTR预估模型对应的历史转化数据,并利用获取到的历史转化数据,训练CTR预估模型,实现对模型池中CTR预估模型的更新,相比于人工更新的方式,效率及准确性得到提高。在模型池中CTR预估模型不断更新的基础上,通过每隔第一设定时间,获取一次模型池中各个CTR预估模型的转化效果数据,基于各个所述CTR预估模型的转化效果数据,从所述模型池中选择出待使用的CTR预估模型,实现自动选择CTR预估模型,提高选择的效率及准确性,并保证选择出的CTR预估模型是经过不断更新得到的,提高选择出的CTR预估模型预测的准确性。
并且,通过每日获取一次所述模型池中各个所述CTR预估模型对应的历史转化数据,并利用获取到的历史转化数据,训练CTR预估模型,可以使实时CTR预估模型能够抓取当日影响市场最终的因素,及时应对市场波动带来的影响,进一步提高CER预估模型预测的准确性。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
如图1所示的,为本申请提供的一种CTR预估模型选择方法实施例1的流程图,可以包括以下步骤:
步骤S11、每隔第一设定时间,获取一次模型池中各个CTR预估模型的转化数据,所述CTR预估模型为实时CTR预估模型或非实时CTR预估模型。
本实施例中,模型池中包括多个CTR预估模型,其中CTR预估模型为实时CTR预估模型或非实时CTR预估模型,保证模型池中可以包含不同类型的CTR预估模型,保证模型池中CTR预估模型的丰富性。
转化数据包括但不局限于:转化率。转化率,可以理解为但不局限于:CTR预估模型预测出的有信贷需求的用户中,从未借款转化到借款的用户所占的比例。
本实施例中,非实时CTR预估模型可以包括但不局限于:长期CTR预估模型和/或短期CTR预估模型。
长期CTR预估模型,可以理解为:利用长周期的用户画像信息及转化数据训练得到的CTR预估模型。例如,利用用户的职业、最近一年的证信信息等用户画像信息,及最近半年的转化数据,训练得到的CTR预估模型。
短期CTR预估模型,可以理解为:利用短期的用户画像信息及转化数据训练得到的CTR预估模型。例如,利用用户最近的query数据、证信信息等用户画像信息,及最近一周的转化数据,训练得到的CTR预估模型。
本实施例中,第一设定时间可以根据需要进行设置,在本申请中不做限制。
本实施例中,所述实时CTR预估模型的确定过程,可以参见图2,该过程可以包括以下步骤:
步骤S111、每日获取一次所述模型池中各个所述CTR预估模型的历史转化数据。
历史转化数据可以为CTR预估模型在当天之前的前n天的转化数据,n为不小于1的整数。
步骤S112、利用获取到的历史转化数据,训练CTR预估模型,将训练好的CTR预估模型作为实时CTR预估模型。
利用获取到的历史转化数据,训练CTR预估模型的过程,可以包括:
对获取到的历史转化数据进行采样,得到正样本和负样本;
从正样本中提取特征,并利用XGBoost特征排序方式,从提取的特征中选择排列在前N个的特征,将选择出的特征作为正样本特征,并从负样本中提取特征,利用XGBoost特征排序方式,从提取的特征中选择排列在前N个的特征,将选择出的特征作为负样本特征;
利用正样本特征及负样本特征,训练CTR预估模型。
步骤S113、将训练好的实时CTR预估模型存储至所述模型池中。
本实施例中,在将训练好的实时CTR预估模型存储至模型池中之前,可以对训练好的实时CTR预估模型进行测试,在测试达到设定要求时,将训练好的实时CTR预估模型存储至模型池中。
对训练好的实时CTR预估模型进行测试,可以包括:将训练好的实时CTR预估模型上线,对用户是否有信贷需求进行预估,在预估出有信贷需求的用户之后,判断有信道需求的用户中从未借款转化为借款的用户所占的比例是否达到设定比例阈值;若达到设定比例阈值,则确定训练好的实时CTR预估模型达到设定要求。
另外,将训练好的实时CTR预估模型存储至所述模型池中的过程,也可以包括:
S1131、判断所述模型池中实时CTR预估模型的个数是否已达到第一设定个数阈值。
若未达到,则执行步骤S1132;若已达到,则执行步骤S1133。
S1132、将训练好的实时CTR预估模型存储到所述模型池中;
S1133、从所述模型池中删除一个实时CTR预估模型,并将训练好的实时CTR预估模型添加到所述模型池中。
从所述模型池中删除一个实时CTR预估模型,可以理解为:
从模型池中选择出最先存储的实时CTR预估模型,将最先存储的实时CTR预估模型删除;
或者,从模型池中删除一个转化效果未达到阈值的实时CTR预估模型。
本实施例中,每日获取一次模型池中各个CTR预估模型的历史转化数据,并利用获取到的历史转化数据,训练CTR预估模型,保证每日能得到一个实时CTR预估模型,实现对模型池进行每日更新,保证模型池中CTR预估模型的有效性。
对于模型池中的非实时CTR预估模型,可以每隔第二设定时间,对模型池中的非实时CTR预估模型的参数进行一次更新,提高非实时CTR预估模型的有效性。
第二设定时间可以根据需要进行设置,在本申请中不做限制。
步骤S12、基于各个所述CTR预估模型的转化数据,从所述模型池中选择出待使用的CTR预估模型。
基于各个所述CTR预估模型的转化数据,至少可以确定各个CTR预估模型的转化效果,根据转化效果,可以从模型池中选择出待使用的CTR预估模型。
本实施例中,针对模型池中各个CTR预估模型,可以设置保底阈值,使各个CTR预估模型上线后,至少能对个数为保底阈值的用户进行预估,避免该CTR预估模型消失,避免由市场突变对系统造成冲击。
在本申请中,通过每日获取一次所述模型池中各个所述CTR预估模型对应的历史转化数据,并利用获取到的历史转化数据,训练CTR预估模型,实现对模型池中CTR预估模型的更新,相比于人工更新的方式,效率及准确性得到提高。在模型池中CTR预估模型不断更新的基础上,通过每隔第一设定时间,获取一次模型池中各个CTR预估模型的转化效果数据,基于各个所述CTR预估模型的转化效果数据,从所述模型池中选择出待使用的CTR预估模型,实现自动选择CTR预估模型,提高选择的效率及准确性,并保证选择出的CTR预估模型是经过不断更新得到的,提高选择出的CTR预估模型预测的准确性。
并且,通过每日获取一次所述模型池中各个所述CTR预估模型对应的历史转化数据,并利用获取到的历史转化数据,训练CTR预估模型,可以使实时CTR预估模型能够抓取当日影响市场最终的因素,及时应对市场波动带来的影响,进一步提高CER预估模型预测的准确性。
作为本申请另一可选实施例,参照图3,为本申请提供的一种CTR预估模型选择方法实施例2的流程示意图,本实施例主要是对上述实施例1描述的CTR预估模型选择方法的细化方案,如图3所示,该方法可以包括但并不局限于以下步骤:
步骤S21、每隔第一设定时间,获取一次模型池中各个CTR预估模型的转化数据。
所述CTR预估模型为实时CTR预估模型或非实时CTR预估模型。
其中,所述实时CTR预估模型的确定过程,包括:每日获取一次所述模型池中各个所述CTR预估模型的历史转化数据,并利用获取到的历史转化数据,训练CTR预估模型,将训练好的CTR预估模型作为实时CTR预估模型,并将所述实时CTR预估模型存储至所述模型池中。
步骤S21的详细过程可以参见实施例1中步骤S11的相关介绍,在此不再赘述。
步骤S22、基于各个所述CTR预估模型的转化数据,从所述模型池中选择出转化效果最优的CTR预估模型。
在转化数据包括转化率的情况下,可以将转化率的大小作为转化效果的衡量标准,转化率越大,转化效果越好,转化率越小,转化效果越差。具体地,基于各个所述CTR预估模型的转化数据,从模型池中选择出转化效果最优的CTR预估模型,可以包括:
对各个所述CTR预估模型的转化率进行比较,从模型池中选择出转化率最大的CTR预估模型。
当然,在将转化率的大小作为转化效果的衡量标准时,可以将设定时间内的转化率的大小作为转化效果的衡量标准,保证转化效果的时效性。具体地,基于各个所述CTR预估模型的转化数据,从模型池中选择出转化效果最优的CTR预估模型,可以包括:
对各个所述CTR预估模型在设定时间内的转化率进行比较,从模型池中选择出转化率最大的CTR预估模型。
设定时间可以设置为但不局限于:当天之前的前一天。
步骤S23、将所述转化效果最优的CTR预估模型作为待使用的CTR预估模型。
具体地,可以将转化率最大的CTR预估模型,作为待使用的CTR预估模型。
步骤S22-S23为实施例1中步骤S12的一种具体实施方式。
本实施例中,通过对各个所述CTR预估模型在设定时间内的转化率进行比较,从模型池中选择出转化率最大的CTR预估模型,可以保证转化率的时效性,即保证转化效果的时效性,进而提高CTR预估模型选择的有效性。
作为本申请另一可选实施例,参照图4,为本申请提供的一种CTR预估模型选择方法实施例3的流程示意图,本实施例主要是对上述实施例1描述的CTR预估模型选择方法的细化方案,如图3所示,该方法可以包括但并不局限于以下步骤:
步骤S31、每隔第一设定时间,获取一次模型池中各个CTR预估模型的转化数据。
所述CTR预估模型为实时CTR预估模型或非实时CTR预估模型。
其中,所述实时CTR预估模型的确定过程,包括:每日获取一次所述模型池中各个所述CTR预估模型的历史转化数据,并利用获取到的历史转化数据,训练CTR预估模型,将训练好的CTR预估模型作为实时CTR预估模型,并将所述实时CTR预估模型存储至所述模型池中。
步骤S31的详细过程可以参见实施例1中步骤S11的相关介绍,在此不再赘述。
步骤S32、基于各个所述CTR预估模型的转化数据,从所述模型池中选择出转化效果最优的CTR预估模型。
步骤S32的详细过程可以参见实施例2中步骤S22的相关介绍,在此不再赘述。
步骤S33、将所述模型池中除所述转化效果最优的CTR预估模型之外的CTR预估模型作为待检测CTR预估模型。
步骤S34、将各个所述待检测CTR预估模型输出的结果作为输入,将各个所述待检测CTR预估模型的输入值对应的真实类别值作为输出,对目标CTR预估模型进行训练,直至所述待检测CTR预估模型输出的结果与所述真实类别值间的差值在预设范围内时,将所述目标CTR预估模型的参数作为各个所述待检测CTR预估模型的权重。
现以两个待检测CTR预估模型为例,对将各个所述待检测CTR预估模型输出的结果作为输入,将各个所述待检测CTR预估模型的输入值对应的真实类别值作为输出,对目标CTR预估模型进行训练进行说明,例如,待检测CTR预估模型A和B,其中,待检测CTR预估模型A预测用户a和b是否有信贷需求,输出的结果为用户a有信贷需求,用户b无信贷需求,而用户a对应的真实类别值为有信贷需求,用户b对应的真实类别值为有信贷需求,待检测CTR预估模型预测用户c和d是否有信贷需求,输出的结果为用户c和d均有信贷需求,用户c对应的真实类别值为有信贷需求且用户d对应的真实类别值为有信贷需求,则将待检测CTR预估模型A输出的用户a有信贷需求及用户b无信贷需求及待检测CTR预估模型B输出的用户c有信贷需求及用户d有信贷需求作为输入,将用户a、b、c及d的真实类别值即有信贷需求作为输出,对目标CTR预估模型进行训练。
预设范围可以根据实际需要进行介绍,在本申请中不做限制。
步骤S35、按照从小到大的顺序,对多个所述待检测CTR预估模型的权重进行排序,得到排序结果,将所述排序结果中第一个至第n个权重对应的待检测CTR预估模型作为待组合CTR预估模型。
步骤S36、基于各个所述待组合CTR预估模型的权重,对多个所述待组合CTR预估模型进行组合,得到组合CTR预估模型。
步骤S37、将所述转化效果最优的CTR预估模型作为待使用的主CTR预估模型,将所述组合CTR预估模型,作为待使用的辅助CTR预估模型。
待使用的主CTR预估模型,可以作为对大流量的用户进行预估。待使用的辅助CTR预估模型,可以作为对小流量的用户进行预估。
步骤S32-S37为实施例1中步骤S12的一种具体实施方式。
本实施例中,通过基于各个所述待组合CTR预估模型的权重,对多个所述待组合CTR预估模型进行组合,得到组合CTR预估模型,并将所述转化效果最优的CTR预估模型作为待使用的主CTR预估模型,将所述组合CTR预估模型,作为待使用的辅助CTR预估模型,保证可使用的CTR预估模型的多样性,并且,待使用的主CTR预估模型及待使用的辅助CTR预估模型,均能最大化的保证转化效果。
接下来对本申请提供的CTR预估模型选择装置进行介绍,下文介绍的CTR预估模型选择装置与上文介绍的CTR预估模型选择方法可相互对应参照。
请参见图4,CTR预估模型选择装置包括:获取模块100和选择模块200。
获取模块100,用于每隔第一设定时间,获取一次模型池中各个CTR预估模型的转化数据,所述CTR预估模型为实时CTR预估模型或非实时CTR预估模型,所述实时CTR预估模型通过确定模块确定,所述确定模块,用于:每日获取一次所述模型池中各个所述CTR预估模型的历史转化数据,并利用获取到的历史转化数据,训练CTR预估模型,将训练好的CTR预估模型作为实时CTR预估模型,并将所述实时CTR预估模型存储至所述模型池中;
选择模块200,用于基于各个所述CTR预估模型的转化数据,从所述模型池中选择出待使用的CTR预估模型。
本实施例中,CTR预估模型选择装置还可以包括:
更新模块,用于每隔第二设定时间,对所述模型池中的非实时CTR预估模型的参数进行一次更新。
本实施例中,所述选择模块200,具体可以用于:
基于各个所述CTR预估模型的转化数据,从所述模型池中选择出转化效果最优的CTR预估模型;
将所述转化效果最优的CTR预估模型作为待使用的CTR预估模型。
本实施例中,所述选择模块200,具体可以用于:
基于各个所述CTR预估模型的转化数据,从所述模型池中选择出转化效果最优的CTR预估模型;
将所述模型池中除所述转化效果最优的CTR预估模型之外的CTR预估模型作为待检测CTR预估模型;
将各个所述待检测CTR预估模型输出的结果作为输入,将各个所述待检测CTR预估模型的输入值对应的真实类别值作为输出,对目标CTR预估模型进行训练,直至所述待检测CTR预估模型输出的结果与所述真实类别值之间的差值在预设范围内时,将所述目标CTR预估模型的参数作为各个所述待检测CTR预估模型的权重;
按照从小到大的顺序,对多个所述待检测CTR预估模型的权重进行排序,得到排序结果,将所述排序结果中第一个至第n个权重对应的待检测CTR预估模型作为待组合CTR预估模型;
基于各个所述待组合CTR预估模型的权重,对多个所述待组合CTR预估模型进行组合,得到组合CTR预估模型;
将所述转化效果最优的CTR预估模型作为待使用的主CTR预估模型,将所述组合CTR预估模型,作为待使用的辅助CTR预估模型。
本实施例中,所述确定模块,还用于:
判断所述模型池中实时CTR预估模型的个数是否已达到第一设定个数阈值;
若未达到,则将训练好的实时CTR预估模型存储到所述模型池中;
若已达到,则从所述模型池中删除一个实时CTR预估模型,并将训练好的实时CTR预估模型添加到所述模型池中。
需要说明的是,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于装置类实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本申请时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本申请可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例或者实施例的某些部分所述的方法。
以上对本申请所提供的一种数据存储方法及装置进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。