资源分配方法与装置与流程

文档序号:18119462发布日期:2019-07-10 09:32阅读:169来源:国知局
资源分配方法与装置与流程
本发明涉及数据科学领域,尤其涉及一种基于历史数据使用机器学习预测模型进行资源分配的方法和装置。
背景技术
:利用有限的资源获取最大的收益一直是人们的在各个生产经营领域追寻的目标。由于针对不同的目标对象投放资源所获取的收益不同,因此人们总是期望找到最为合理的资源分配方法以实现收益最大化。在现有的各个领域中,大多根据已有经验和专家规则进行资源分配,缺乏对海量数据的深度挖掘与定量分析。图1示出了资源分配的一个例子。如图所示,假设某大型渔业公司具有2000条捕鱼船。该公司需要对现有的2000条捕鱼船(及其相应的船员配备)在全球范围内进行捕捞区域分配,以实现捕鱼利润的最大化。应该理解,图1仅仅示出了捕鱼船分配的一个简化例子,真正的捕鱼船分配需要基于每艘船进行细分,还需考虑各种捕捞许可,因此会是一个比图示要复杂得多的系统。由于不同海域的可捕鱼量不同且会受到气候都因素影响而实时变化,因此在捕鱼船数量有限的情况下,如何进行针对不同海域的渔船分配是难以仅凭经验获取最优方案的。此外,在其他领域中,也存在类似的情况。例如,视频网站对于忍耐力差的用户做一些广告时间减免,由于用户忍耐力的差异性,希望执行差异化的广告时间减免,在有限的时间减免总量的前提下达到最高的广告播放量。又例如,电商平台或商家在优惠券发放时,期望在有限的优惠券使用量的前提下达到最高的销售额。在现有的各个领域中,大多根据已有经验和专家规则进行资源分配,缺乏对海量数据的深度挖掘与定量分析。例如,不同海域的可捕鱼量不同且实时变化,在捕鱼船数量有限的情况下,如何进行针对不同海域的渔船分配难以仅凭经验获取到最优方案。为此,需要一种有限资源代价下的资源优化分配方案。技术实现要素:有鉴于此,为了解决如上至少一个问题,本发明提出了一种资源分配方案,该方案通过使用机器学习建模从而让机器自动挖掘实际历史数据中的规律和模式,避免过度依赖既有经验和专家规则的缺陷。进一步地,本发明通过计算单位收益值,并引入限制规则,求取满足限制的最大收益,以真正实现基于资源分配的收益最大化。根据本发明的一个方面,提出了一种资源分配方法,包括:预测分别为目标对象集合中各目标对象分配不同量的资源时的收益率;根据预测出的收益率和资源分配方法,确定分别为各目标对象分配不同量的资源时,单位资源对应的收益率回报;在预设的可分配资源总量的限制条件下,根据分别为各目标对象分配不同量的资源时的单位资源对应的收益率回报,确定目标对象集合中各目标对象对应的资源分配量。由此,通过对预测收益率的简单处理,获取在已有限制下的最优目标。可选地,收益率预测可以如下进行:使用经训练的模型预测分别为目标对象集合中各目标对象分配不同量的资源时的收益率;基于规则预测分别为目标对象集合中各目标对象分配不同量的资源时的收益率;基于蒙特卡洛模拟预测分别为目标对象集合中各目标对象分配不同量的资源时的收益率;基于贝叶斯算法预测分别为目标对象集合中各目标对象分配不同量的资源时的收益率。可选地,该方法在使用经训练的模型之前,还包括以下训练模型的步骤:获取关于资源分配的历史数据记录集合;对于所述历史数据记录集合中的各数据记录进行特征抽取处理,得到训练样本集合;基于所述训练样本集合训练所述模型。由此,能够有效挖掘历史数据中的规律,避免对经验和规则的过度依赖。可选地,该方法还可以包括:如果一条历史数据记录表示为特定目标对象分配指定数量资源后有收益产生或达到预期收益,构造为该特定目标对象分配比所述指定数量资源更多的资源后有收益产生的正训练样本添加到所述训练样本集合中;和/或,如果一条历史数据记录表示为特定目标对象分配指定数量资源后无收益产生或未达到预期收益,构造为该特定目标对象分配比所述指定数量资源更少的资源后无收益产生的负训练样本添加到所述训练样本集合中。由此,获取样本更为多样的二分类模型。可选地,该方法还可以包括:获取关于资源分配的第二历史数据记录集合,所述第二历史数据记录集合是经所述经训练的模型预测后的多个预测样本的实际业务反馈数据集合;基于所述第二历史数据记录集合对使用经训练的模型预测的收益率进行修正,以得到经修正的预测出的收益率用于所述收益率回报的确定。由此,可以通过简单修正,进一步提升资源分配的准确性。更具体地,基于所述第二历史数据记录集合对使用经训练的模型预测的收益率进行修正包括:按照所述经训练的模型针对多个预测样本进行预测得到的收益率的大小顺序,构造第一有序集合,所述第一有序集合包括多个第一元素,每个所述第一元素包括所述经训练的模型针对一个预测样本的预测收益率值和该预测样本的实际业务反馈分值;根据所述第一有序集合中某一预测收益率附近预定数量个第一元素中的实际业务反馈分值,计算所述预测的收益率的修正值,所述修正值与所述预定数量个第一元素中的实际业务反馈分值之和相关,以及与所述预定数量相关;根据计算得到的修正值对所述预测的收益率进行修正。也可以使用诸如分桶计算来进行后验修正。可选地,根据预测出的收益率和资源分配方法,确定分别为各目标对象分配不同量的资源时,单位资源对应的收益率回报包括如下之一:针对离散型资源,计算相应分配量的单位资源对应的收益率回报;以及针对连续型资源,通过对预测收益率函数求导以计算边际收益率回报。由此实现对各类资源的有效分配。可选地,在预设的可分配资源总量的限制条件下,根据分别为各目标对象分配不同量的资源时的单位资源对应的收益率回报,确定目标对象集合中各目标对象对应的资源分配量还包括如下至少一项:将所述预设的可分配资源总量的限制条件下单位资源对应的最高收益率回报确定作为目标对象集合中各目标对象对应的资源分配量;以及在分配资源成本的限制条件下,计算单位资源对应的最高收益率回报确定作为目标对象集合中各目标对象对应的资源分配量。由此实现在各种限制环境下的目标收益最大化。可选地,该方法还可以包括:根据所确定的目标对象集合中各目标对象对应的资源分配量,为各目标对象分配相应量的资源。由此实现资源的实际分配。更进一步地,该方法还可以包括:收集为各目标对象分配相应量的资源后的实际记录数据;基于收集的实际记录数据重训所述经训练的模型。由此,实际数据可以回流用于模型的自学习,以使得模型随时间变化数据的积累性能不断优化。可选地,该方法还可以包括:使用经训练的第二模型预测分别为目标对象集合中各目标对象分配不同量的资源时的收益率;根据预测出的第二收益率和资源分配方法,确定分别为各目标对象分配不同量的资源时,单位资源对应的第二收益率回报;在预设的可分配资源总量的限制条件下,根据分别为各目标对象分配不同量的资源时的单位资源对应的所述收益率回报和所述第二收益率回报,确定目标对象集合中各目标对象对应的资源分配量。由此,该方案可以适用于具有多重目标的情况。可选地,该方法可以进一步包括:在预设的多个可分配资源总量的限制条件下,分别确定每个可分配资源总量的限制条件下目标对象集合中各目标对象对应的资源分配量;输出所述多个可分配资源总量的限制条件以及分别对应的所确定的结果,供用户选择。根据本发明的另一个方面,还提供了一种资源分配装置,包括:收益率预测单元,用于预测分别为目标对象集合中各目标对象分配不同量的资源时的收益率;单位回报确定单元,用于根据预测出的收益率和资源分配方法,确定分别为各目标对象分配不同量的资源时,单位资源对应的收益率回报;资源分配量确定单元,在预设的可分配资源总量的限制条件下,根据分别为各目标对象分配不同量的资源时的单位资源对应的收益率回报,确定目标对象集合中各目标对象对应的资源分配量。可选地,所述收益率预测单元用于如下任一种:使用经训练的模型预测分别为目标对象集合中各目标对象分配不同量的资源时的收益率;基于规则预测分别为目标对象集合中各目标对象分配不同量的资源时的收益率;基于蒙特卡洛模拟预测分别为目标对象集合中各目标对象分配不同量的资源时的收益率;基于贝叶斯算法预测分别为目标对象集合中各目标对象分配不同量的资源时的收益率。可选地,该资源分配装置还可以包括模型训练单元,用于:获取关于资源分配的历史数据记录集合;对于所述历史数据记录集合中的各数据记录进行特征抽取处理,得到训练样本集合;基于所述训练样本集合训练所述模型。可选地,所述模型训练单元进一步用于:如果一条历史数据记录表示为特定目标对象分配指定数量资源后有收益产生或达到预期收益,构造为该特定目标对象分配比所述指定数量资源更多的资源后有收益产生的正训练样本添加到所述训练样本集合中;和/或,如果一条历史数据记录表示为特定目标对象分配指定数量资源后无收益产生或未达到预期收益,构造为该特定目标对象分配比所述指定数量资源更少的资源后无收益产生的负训练样本添加到所述训练样本集合中。可选地,该资源分配装置还可以包括后验修正单元,用于:获取关于资源分配的第二历史数据记录集合,所述第二历史数据记录集合是经所述经训练的模型预测后的多个预测样本的实际业务反馈数据集合;基于所述第二历史数据记录集合对使用经训练的模型预测的收益率进行修正,以得到经修正的预测出的收益率用于所述收益率回报的确定。可选地,基于所述第二历史数据记录集合对使用经训练的模型预测的收益率进行修正包括:按照所述经训练的模型针对多个预测样本进行预测得到的收益率的大小顺序,构造第一有序集合,所述第一有序集合包括多个第一元素,每个所述第一元素包括所述经训练的模型针对一个预测样本的预测收益率值和该预测样本的实际业务反馈分值;根据所述第一有序集合中某一预测收益率附近预定数量个第一元素中的实际业务反馈分值,计算所述预测的收益率的修正值,所述修正值与所述预定数量个第一元素中的实际业务反馈分值之和相关,以及与所述预定数量相关;根据计算得到的修正值对所述预测的收益率进行修正。可选地,所述单位回报确定单元:针对离散型资源,用于计算相应分配量的单位资源对应的收益率回报;针对连续型资源,用于通过对预测收益率函数求导以计算边际收益率回报。可选地,所述资源分配量确定单元用于:将所述预设的可分配资源总量的限制条件下单位资源对应的最高收益率回报确定作为目标对象集合中各目标对象对应的资源分配量;和/或在分配资源成本的限制条件下,计算单位资源对应的最高收益率回报确定作为目标对象集合中各目标对象对应的资源分配量。可选地,该资源分配装置还可以包括:实际资源分配单元,用于根据所确定的目标对象集合中各目标对象对应的资源分配量,为各目标对象分配相应量的资源。可选地,所述模型训练单元进一步用于:收集为各目标对象分配相应量的资源后的实际记录数据;基于收集的实际记录数据重训所述经训练的模型。可选地,所述收益率预测单元进一步用于使用经训练的第二模型预测分别为目标对象集合中各目标对象分配不同量的资源时的收益率;单位回报确定单元进一步用于根据预测出的第二收益率和资源分配方法,确定分别为各目标对象分配不同量的资源时,单位资源对应的第二收益率回报;资源分配量确定单元进一步用于在预设的可分配资源总量的限制条件下,根据分别为各目标对象分配不同量的资源时的单位资源对应的所述收益率回报和所述第二收益率回报,确定目标对象集合中各目标对象对应的资源分配量。可选地,所述资源分配量确定单元进一步用于:在预设的多个可分配资源总量的限制条件下,分别确定每个可分配资源总量的限制条件下目标对象集合中各目标对象对应的资源分配量;输出所述多个可分配资源总量的限制条件以及分别对应的所确定的结果,供用户选择。根据本发明的另一个方面,提出了一种计算设备,包括:处理器;以及存储器,其上存储有可执行代码,当所述可执行代码被所述处理器执行时,使所述处理器执行如上任一项所述的资源分配方法。根据本发明的再一个方面,提出了一种非暂时性机器可读存储介质,其上存储有可执行代码,当所述可执行代码被电子设备的处理器执行时,使所述处理器执行如上任一项所述的资源分配方法。针对资源分配中存在的问题,本发明通过使用机器学习建模从而让机器自动挖掘数据中的规律和模式,避免了过度依赖业务经验和专家规则的缺陷。本发明通过用户对不同分配量的响应率计算单位相对收益,然后对单位相对收益做过滤,保留合理候选项,并对单位相对收益排序,按照成本从高到低累积到刚好达到预算的点,即可以相对较低的计算量获取最优分配方案。附图说明通过结合附图对本公开示例性实施方式进行更详细的描述,本公开的上述以及其它目的、特征和优势将变得更加明显,其中,在本公开示例性实施方式中,相同的参考标号通常代表相同部件。图1示出了资源分配的一个例子。图2示出了根据本发明一个实施例的资源分配方法的流程示意图。图3示出了根据本发明进行资源分配以提升响应率方案的一个完整流程例。图4示出了根据本公开一个实施例的资源分配装置的示意性框图。图5示出了根据本发明一个实施例的计算设备的结构示意图。具体实施方式下面将参照附图更详细地描述本公开的优选实施方式。虽然附图中显示了本公开的优选实施方式,然而应该理解,可以以各种形式实现本公开而不应被这里阐述的实施方式所限制。相反,提供这些实施方式是为了使本公开更加透彻和完整,并且能够将本公开的范围完整地传达给本领域的技术人员。本发明提出了一种资源分配方案,该方案通过使用机器学习建模从而让机器自动挖掘实际历史数据中的规律和模式,避免过度依赖既有经验和专家规则的缺陷。进一步地,本发明通过计算单位收益值,并引入限制规则,求取满足限制的最大收益,以真正实现基于资源优化分配的收益最大化。图2示出了根据本发明一个实施例的资源分配方法的流程示意图。在步骤s210,预测分别为目标对象集合中各目标对象分配不同量的资源时的收益率。在步骤s220,根据预测出的收益率和资源分配方法,确定分别为各目标对象分配不同量的资源时,单位资源对应的收益率回报。随后,在步骤s230,在预设的可分配资源总量的限制条件下,根据分别为各目标对象分配不同量的资源时的单位资源对应的收益率回报,确定目标对象集合中各目标对象对应的资源分配量。由此,通过结合机器学习模型,并对由此得到的收益率进行单位收益计算和收益排序,实现有限资源代价下的收益最大化。结合图1的例子,图2所示方法中所述的资源是捕鱼船,目标对象是投放海域。收益率在不同的实施例中可以投放捕鱼船后带来的捕鱼量、捕鱼利润或是刨除掉各类成本的单船利润等。资源分配方法指给每个海域分配捕鱼船的数量选择的集合。由此,通过图2所示的方法,能够在有限捕鱼船数量的条件下获取最大的收益率。在视频网站广告时间减免的场景下,图2所示方法中所述的资源是广告减免时间,目标对象是视频网站的用户。收益率是指为用户减免指定广告时间后,用户等待广告播放完毕并观看视频的概率。资源分配方法指给每个用户减免广告时长时的可选时间长度集合。通过图2所示的方法,能够在有限的广告时常减免总量的条件下获取最多的广告观看量。在优惠券营销场景,图2所示方法中所述的资源是优惠券,这里,优惠券是为了促进用户消费的积极性,商家给予用户的补贴,用于抵扣消费时的需付的现金。收益率是用户在收到给定优惠券后,使用该优惠券从而成为业务活跃用户的概率。资源分配方法是给每个用户分发优惠券的可选金额的集合。例如对于离散类型优惠券,可选金额集合可以为【1元,2元,3元】。对于连续类型优惠券,可选金额集合为连续变化的数值,如1-10的正实数集合。又例如在云计算场景,如果执行多买多赠,则图2所示方法中所述的资源就是云计算资源本身,收益率是给用户提供多赠的许诺后,用户购买云资源资源的概率。资源分配方法是给用户许诺多赠时的赠送云计算资源可选数量的集合。在步骤s210中,收益率的预测可以基于多种方法实现。在一些实施例中并在下文中将详述的,可以使用经训练的模型预测分别为目标对象集合中各目标对象分配不同量的资源时的收益率。在另一些实施例中,可以基于规则预测分别为目标对象集合中各目标对象分配不同量的资源时的收益率。具体地,可以基于业务经验给出收益率公式。在涉及购物的收益率预测中,可以根据经验区分30岁以上和以下用户的收益率。例如,可以规定30岁以下的用户收益率y=0.5*(10000/收入+10000)+0.5*(历史购买次数/100);30岁以上的用户收益率y=0.5*(20000/收入+20000)+0.5*(历史购买次数/200)。在又一些实施例中,可以基于蒙特卡洛模拟预测分别为目标对象集合中各目标对象分配不同量的资源时的收益率。例如,可以:收益率=0.25+2.5*明天上证指数涨跌幅+0.5*明天客户所在地天气是否为晴天,根据历史数据选择恰当的分布去模拟公式中的两个自变量,并使用多次模拟结果的均值作为收益率预测结果。在再一个实施例中,则可基于贝叶斯算法预测分别为目标对象集合中各目标对象分配不同量的资源时的收益率。例如:收益率=p(收益=1|客户=40岁,教师)=p(收益=1,客户=40岁教师)/p(40岁,教师)约=p(客户=40岁|收益=1)*p(客户=教师|收益=1)*p(收益=1)/[p(客户=40岁|收益=1)*p(客户=教师|收益=1)*p(收益=1)+p(客户=40岁|收益=0)*p(客户=教师|收益=0)*p(收益=0)]。在使用经训练的模型进行预测的实施例中,模型可以基于历史数据训练得到。由此,通过有效挖掘历史数据中的规律,可以避免对经验和规则的过度依赖。具体地,本发明的资源分配方法在使用经训练的模型之前,还可以包括以下训练模型的步骤:获取关于资源分配的历史数据记录集合;对于所述历史数据记录集合中的各数据记录进行特征抽取处理,得到训练样本集合;基于所述训练样本集合训练所述模型。针对各种资源分配场景,预测模型的训练都需要包括数据采集、数据清洗与特征工程计算的步骤。在数据采集阶段,需要获取会影响目标获取收益的各类历史数据记录。例如,在针对客户进行资源分配并期望获取相应收益的应用场景中(如优惠券营销场景),获取的数据可以包括自然人信息、产品信息、交易记录、营销记录等,这些数据是预测客户对不同资源分配量响应的依据和如何在有限资源下进行分配的基础。将数据采集下来后,需要清洗无用数据,并将经清洗的数据整理成结构化的数据,并按照分区(例如,日切片表)或全量表(例如,拉链表)以多副本的方式存储在数据库内。随后,根据用户数据、不同资源分配数据、历史营销数据和业务数据计算入模特征,包括用户基本属性、资源基本属性、用户资产、用户月交易流水统计、历史行为偏好等类别的特征。在获取了用于模型训练的特征之后,可以使用有监督机器学习算法训练机器学习模型,该机器学习模型用于预测目标对象在不同资源分配下的收益率。例如,在优惠券营销场景,用于预测用户在收到给定优惠券后,使用该优惠券从而成为业务活跃用户的概率。在本发明的其他实施例中,在优惠券营销场景,收益率不限于优化活跃用户数,还可以时其他指标,如总交易金额、交易数等。在本发明的个实施例中,该机器学习模型可以是复杂的多分类模型,也可以是一个二分类模型。例如可以是逻辑回归(lr)模型。在使用二分类模型的情况下,正样本是历史上所有分配了资源同时目标对象对该分配资源有所行动(或是行动对应收益达到阈值)的集合;负样本是历史上所有分配了资源同时目标对象对该分配资源没有行动(或是行动对应收益未达到阈值)的集合。例如在优惠券营销场景,正样本是历史上所有发放了优惠券同时用户使用了该优惠券的集合;负样本是历史上所有发放了优惠券但用户没有使用优惠券的集合。为了增加样本的多样性,如果一条历史数据记录表示为特定目标对象分配指定数量资源后有收益产生或达到预定收益,构造为该特定目标对象分配比所述指定数量资源更多的资源后有收益产生的正训练样本添加到所述训练样本集合中;和/或,如果一条历史数据记录表示为特定目标对象分配指定数量资源后无收益产生或未达到预定收益,构造为该特定目标对象分配比所述指定数量资源更少的资源后无收益产生的负训练样本添加到所述训练样本集合中。例如,正样本中可以加入历史上所有发放了优惠券/其他让利(例如,免费使用期限等),且用户使用优惠券/其他让利的更高档位的集合;负样本中可以加入历史上所有发放了优惠券/其他让利,但用户没有使用优惠券/其他让利对应更低挡位的集合。例如,假设给用户发了8元优惠券,用户实际使用了优惠券,即响应了该优惠券。那么如果给他发更高档的(10元,15元)优惠券,也会响应,作为正样本加入模型训练样本。如果给用户发了5元优惠券,用户没有响应,那么如果给他发更低档的(2元,4元)优惠券,也不会响应,作为负样本加入模型训练样本中。由于模型预测的分数与实际后验概率不完全一致,因此在在发明的一个实施例中,还可以根据实际的业务反馈数据对其做后验修正。为此,该方法还可以包括:获取关于资源分配的第二历史数据记录集合,所述第二历史数据记录集合是经所述经训练的模型预测后的多个预测样本的实际业务反馈数据集合;基于所述第二历史数据记录集合对使用经训练的模型预测的收益率进行修正,以得到经修正的预测出的收益率用于所述收益率回报的确定。由此,可以通过简单修正,进一步提升资源分配的准确性。基于所述第二历史数据记录集合对使用经训练的模型预测的收益率进行修正可以包括:按照所述经训练的模型针对多个预测样本进行预测得到的收益率的大小顺序,构造第一有序集合,所述第一有序集合包括多个第一元素,每个所述第一元素包括所述经训练的模型针对一个预测样本的预测收益率值和该预测样本的实际业务反馈分值;根据所述第一有序集合中某一预测收益率附近预定数量个第一元素中的实际业务反馈分值,计算所述预测的收益率的修正值,所述修正值与所述预定数量个第一元素中的实际业务反馈分值之和相关,以及与所述预定数量相关;根据计算得到的修正值对所述预测的收益率进行修正。也可以使用诸如分桶计算来进行后验修正。例如,可以假设按照打分排序后的样本的打分和标签集合为x={(x1,y1),(x2,y2),…,(xn,yn)},x1≤x2≤…≤xn。其中xi是模型预测的响应率,为介于0和1之间的实数,yi是实际业务响应结果,为0,1取值。选择m个分位数计算分位数对应样本附近的样本集合的正样本比例。以xi为例:其中,width是计算后验响应率估计的窗口大小。一般来说样本充足的情况下,width取100左右较好。为了方便说明,如下以width=4举例说明。假设x=…,(0.18,1),(0.19,0),(0.2,0),(0.21,1),(0.22,0),,(0.23,0),(0.24,1),(0.25,1),(0.26,0),(0.27,1),(0.28,1)}如果我们需要计算的分位数点为0.2和0.25,则p0.2=0.4,因为从0.18到0.22之间总共出现了2个响应,分子是2,分母是5。p0.25=0.6,因为从0.23到0.27之间总共出现了3个响应,分子是3,分母是5。得到分位数的后验概率集合p={(xi1,pi1),(xi2,pi2),…,(xim,pim)},然后采用插值的方式可以计算出所有样本包括未来新样本的后验概率。插值方式包括但不限于使用线性插值、二次差值、三次差值、样条插值。以线性插值为例,那么模型打分xi的修正分计算公式为:在上例中,计算0.22的修正后响应率可以是:由此得到了可用于后续更精确计算的修正后收益率(例如,响应率)。在其他实施例中,也可以使用其他方法进行后验修正,例如分桶方法。在预设的可分配资源总量的限制条件下,根据分别为各目标对象分配不同量的资源时的单位资源对应的收益率回报,确定目标对象集合中各目标对象对应的资源分配量还包括如下至少一项:将所述预设的可分配资源总量的限制条件下单位资源对应的最高收益率回报确定作为目标对象集合中各目标对象对应的资源分配量;以及在分配资源成本的限制条件下,计算单位资源对应的最高收益率回报确定作为目标对象集合中各目标对象对应的资源分配量。由此实现在各种限制环境下的目标收益最大化。在单位收益率的计算过程中,可以假设目标对象集合为u={u1,u2,…}(例如,在优惠券营销场景为用户集合),集合中目标对象个数为n,并且针对每个目标对象的可选资源分配量集合为c={c1,c2,…|c1≤c2≤…cm,ci∈n}(如可分配的优惠券金额的集合,为不失一般性,将不发优惠券对应为c1=0),其中n可以是自然数的集合,用于指代资源分配量的单位份数,例如,1元、2元、3元的优惠券,或是1g、10g、100g的免费云存储空间等。在使用二分类模型进行预测的情况下,将分配资源对应为c1=0,收益率(在优惠券营销场景可称之为响应率)矩阵r={rij|i=1,…,n;j=1,…,m}表示对目标对象ui发资源cj后他使用(或进行其他满足收益率阈值活动)的概率,这里每个目标对象发放且只发放一种资源分配量:a={a1,…an|ai∈{1,2,…,m}}。在此,资源分配的目标是:即最大化总体的收益率,例如,在优惠券营销场景是实际发放优惠券后的活跃用户数量(响应率总和),或是总利润值。由于能够分配的资源通常有限,因此需要对最优值的求解加以限制。例如,限制条件1可以是:即分配的资源总数小于某个提前定义好的预算或是实际资源保有量。作为附加的限制条件2则可以是:即分配的资源(例如,发放的优惠券面额)被使用的期望总和小于某个提前定义好的预算。在其他实施例中,还可以施加其他的或是进一步的限制条件,例如运营成本限制等。限制条件1和限制条件2各对应一种实际问题。但对条件2来说,只需对c做一个用户级的变换即可转化为条件1:c′i={c1ri1,c2ri2,…}。因此以下按照条件1进行求解。首先求解每个目标对象的不同资源分配量相对单位收益s,其代表为第i个目标对象分配第j种资源分配量相比于不分配的单位收益(例如,在优惠券营销场景即为每单位金额优惠券的付出得到的响应率提升的回报):在求取了单位收益之后,可以对非优资源分配量进行过滤。如下,在上例中,可以接着对每个目标对象对相对单位收益做过滤,保留:进行非优过滤的目的是在后续计算中可以不必考虑资源分配的边际收益时后者对前者的依赖关系,然后再将保留点的相对收益转换为边际收益和对应的边际成本:根据活动预算和上一步的到的m选择每个目标对象分配的资源量。将mi中的元素都展开,并按照边际收益排序,按照边际成本累积到恰好小于预算的位置即可得到发优惠券的主要预算的分配方案,例如使用二分法,牛顿法、启发式方法等。如上分析下平均计算复杂度上限为o(mn),从而解决动态规划解方法中时间复杂度过高的问题。根据预测出的收益率和资源分配方法,确定分别为各目标对象分配不同量的资源时,单位资源对应的收益率回报可以包括如上针对离散型资源,计算相应分配量的单位资源对应的收益率回报,还可以包括针对连续型资源,通过对预测收益率函数求导以计算边际收益率回报。由此实现对各类资源的有效分配。根据方案的到的资源分配结果,完成实际资源分配操作后可以收集业务反馈结果。这部分数据通过特征工程后回流到模型可以进一步提升模型的结果。这个过程叫做自学习。自学习可以使模型随时间变化数据的积累性能不断优化。于是,该方法可以包括:根据所确定的目标对象集合中各目标对象对应的资源分配量,为各目标对象分配相应量的资源。由此实现资源的实际分配。更进一步地,该方法还可以包括:收集为各目标对象分配相应量的资源后的实际记录数据;基于收集的实际记录数据重训所述经训练的模型。由此,实际数据可以回流用于模型的自学习,以使得模型随时间变化数据的积累性能不断优化。在优惠券营销场景,资源分配优化目标可以是各种类型的指标,例如活跃用户数,总交易金额、交易数等。例如,针对交易金额的优化可以在计算时对r(x)做加权,乘以每个用户的交易金额即可;而针对交易笔数的优化则可以在计算时对r(x)做加权,乘以每个用户的交易笔数即可。另外,在离散优惠券计算单位相对收益做筛选时也可以替换为计算绝对收益,不影响结果。该方法还可以包括:使用经训练的第二模型预测分别为目标对象集合中各目标对象分配不同量的资源时的收益率;根据预测出的第二收益率和资源分配方法,确定分别为各目标对象分配不同量的资源时,单位资源对应的第二收益率回报;在预设的可分配资源总量的限制条件下,根据分别为各目标对象分配不同量的资源时的单位资源对应的所述收益率回报和所述第二收益率回报,确定目标对象集合中各目标对象对应的资源分配量。由此,该方案可以适用于具有多重目标的情况。例如,在优化用户响应率和利润率的双重目标下,可以训练响应率和利润率两个模型进行预测,并求取限制条件下的最优分配解。该方法还可以包括:在预设的多个可分配资源总量的限制条件下,分别确定每个可分配资源总量的限制条件下目标对象集合中各目标对象对应的资源分配量;输出所述多个可分配资源总量的限制条件以及分别对应的所确定的结果,供用户选择。图3示出了根据本发明进行资源分配以提升响应率方案的一个完整流程例。如图3所示,首先需要训练预测模型。预测模型的训练包括历史数据采集,数据的清洗和存储,特征工程计算,并训练收益率预估模型。随后,基于经训练的模型预估为目标对象集合中各目标对象分配不同量的资源时的收益率。在首次预估的情况下,直接进行分配资源量单位收益计算,非优分配资源量过滤,并在限制条件(例如,预算)的限制下求取用于实际发放的资源分配方案。而在后续预估的情况下,可以进行收益率的后验修正,并使用经修正的数据进行单位收益计算、过滤和分配。实际资源分配后的效果数据可被收集用于自学习特征工程的计算,即提升预估模型的预估准确率。以上已经集合图2和图3详细描述了根据本发明的资源分配方法。本发明还可以实现一种资源分配装置。图4示出了根据本公开一个实施例的资源分配装置的示意性框图。其中,资源分配装置的功能模块可以由实现本公开原理的硬件、软件或硬件和软件的结合来实现。本领域技术人员可以理解的是,图4所描述的功能模块可以组合起来或者划分成子模块,从而实现上述发明的原理。因此,本文的描述可以支持对本文描述的功能模块的任何可能的组合、或者划分、或者更进一步的限定。下面就资源分配装置可以具有的功能模块以及各功能模块可以执行的操作做简要说明,对于其中涉及的细节部分可以参见上文相关的描述,这里不再赘述。如图4所示,该资源分配装置400可以包括收益率预测单元410、单位回报确定单元420和资源分配量确定单元430。收益率预测单元410可以预测分别为目标对象集合中各目标对象分配不同量的资源时的收益率。在不同的应用场景中,收益率预测单元410可以用于如下任一种:使用经训练的模型预测分别为目标对象集合中各目标对象分配不同量的资源时的收益率;基于规则预测分别为目标对象集合中各目标对象分配不同量的资源时的收益率;基于蒙特卡洛模拟预测分别为目标对象集合中各目标对象分配不同量的资源时的收益率;基于贝叶斯算法预测分别为目标对象集合中各目标对象分配不同量的资源时的收益率。单位回报确定单元420可以根据预测出的收益率和资源分配方法,确定分别为各目标对象分配不同量的资源时,单位资源对应的收益率回报。资源分配量确定单元430可以在预设的可分配资源总量的限制条件下,根据分别为各目标对象分配不同量的资源时的单位资源对应的收益率回报,确定目标对象集合中各目标对象对应的资源分配量。在本发明的一个实施例中,图4所示的资源分配装置400还可以包括模型训练单元。该模型训练单元可以用于:获取关于资源分配的历史数据记录集合;对于所述历史数据记录集合中的各数据记录进行特征抽取处理,得到训练样本集合;以及基于所述训练样本集合训练所述模型。在本发明的一个实施例中,该模型训练单元可以进一步用于:如果一条历史数据记录表示为特定目标对象分配指定数量资源后有收益产生或达到预定收益,构造为该特定目标对象分配比所述指定数量资源更多的资源后有收益产生的正训练样本添加到所述训练样本集合中;和/或,如果一条历史数据记录表示为特定目标对象分配指定数量资源后无收益产生或未达到预定收益,构造为该特定目标对象分配比所述指定数量资源更少的资源后无收益产生的负训练样本添加到所述训练样本集合中。在本发明的一个实施例中,图4所示的资源分配装置400还可以包括后验修正单元。该后验修正单元可以用于:获取关于资源分配的第二历史数据记录集合,所述第二历史数据记录集合是经所述经训练的模型预测后的多个预测样本的实际业务反馈数据集合;基于所述第二历史数据记录集合对使用经训练的模型预测的收益率进行修正,以得到经修正的预测出的收益率用于所述收益率回报的确定。在本发明的一个实施例中,基于所述第二历史数据记录集合对使用经训练的模型预测的收益率进行修正可以包括:按照所述经训练的模型针对多个预测样本进行预测得到的收益率的大小顺序,构造第一有序集合,所述第一有序集合包括多个第一元素,每个所述第一元素包括所述经训练的模型针对一个预测样本的预测收益率值和该预测样本的实际业务反馈分值;根据所述第一有序集合中某一预测收益率附近预定数量个第一元素中的实际业务反馈分值,计算所述预测的收益率的修正值,所述修正值与所述预定数量个第一元素中的实际业务反馈分值之和相关,以及与所述预定数量相关;根据计算得到的修正值对所述预测的收益率进行修正。在本发明的一个实施例中,所述单位回报确定单元可以用于:针对离散型资源,用于计算相应分配量的单位资源对应的收益率回报;针对连续型资源,用于通过对预测收益率函数求导以计算边际收益率回报。在本发明的一个实施例中,所述资源分配量确定单元可以用于:将所述预设的可分配资源总量的限制条件下单位资源对应的最高收益率回报确定作为目标对象集合中各目标对象对应的资源分配量;和/或在分配资源成本的限制条件下,计算单位资源对应的最高收益率回报确定作为目标对象集合中各目标对象对应的资源分配量。在本发明的一个实施例中,图4所示的该资源分配装置400还可以包括实际资源分配单元。该实际资源分配单元可以用于根据所确定的目标对象集合中各目标对象对应的资源分配量,为各目标对象分配相应量的资源。所述模型训练单元进一步可以用于:收集为各目标对象分配相应量的资源后的实际记录数据;基于收集的实际记录数据重训所述经训练的模型。所述收益率预测单元进一步用于使用经训练的第二模型预测分别为目标对象集合中各目标对象分配不同量的资源时的收益率;单位回报确定单元进一步用于根据预测出的第二收益率和资源分配方法,确定分别为各目标对象分配不同量的资源时,单位资源对应的第二收益率回报;资源分配量确定单元进一步用于在预设的可分配资源总量的限制条件下,根据分别为各目标对象分配不同量的资源时的单位资源对应的所述收益率回报和所述第二收益率回报,确定目标对象集合中各目标对象对应的资源分配量。另外,资源分配量确定单元430还可以进一步用于:在预设的多个可分配资源总量的限制条件下,分别确定每个可分配资源总量的限制条件下目标对象集合中各目标对象对应的资源分配量;输出所述多个可分配资源总量的限制条件以及分别对应的所确定的结果,供用户选择。关于本发明的资源分配装置及其各个单元/模块分析执行的操作可以参见上文相关描述,在此不再赘述。图5示出了根据本发明一个实施例的计算设备的结构示意图。参见图5,计算设备500包括存储器510和处理器520。处理器520可以是一个多核的处理器,也可以包含多个处理器。在一些实施例中,处理器520可以包含一个通用的主处理器以及一个或多个特殊的协处理器,例如图形处理器(gpu)、数字信号处理器(dsp)等等。在一些实施例中,处理器520可以使用定制的电路实现,例如特定用途集成电路(asic)或者现场可编程逻辑门阵列(fpga)。存储器510可以包括各种类型的存储单元,例如系统内存、只读存储器(rom),和永久存储装置。其中,rom可以存储处理器520或者计算机的其他模块需要的静态数据或者指令。永久存储装置可以是可读写的存储装置。永久存储装置可以是即使计算机断电后也不会失去存储的指令和数据的非易失性存储设备。在一些实施方式中,永久性存储装置采用大容量存储装置(例如磁或光盘、闪存)作为永久存储装置。另外一些实施方式中,永久性存储装置可以是可移除的存储设备(例如软盘、光驱)。系统内存可以是可读写存储设备或者易失性可读写存储设备,例如动态随机访问内存。系统内存可以存储一些或者所有处理器在运行时需要的指令和数据。此外,存储器510可以包括任意计算机可读存储媒介的组合,包括各种类型的半导体存储芯片(dram,sram,sdram,闪存,可编程只读存储器),磁盘和/或光盘也可以采用。在一些实施方式中,存储器510可以包括可读和/或写的可移除的存储设备,例如激光唱片(cd)、只读数字多功能光盘(例如dvd-rom,双层dvd-rom)、只读蓝光光盘、超密度光盘、闪存卡(例如sd卡、minsd卡、micro-sd卡等等)、磁性软盘等等。计算机可读存储媒介不包含载波和通过无线或有线传输的瞬间电子信号。存储器510上存储有可执行代码,当可执行代码被处理器520处理时,可以使处理器520执行上文述及的资源分配方法。[应用例1]优惠券营销场景:在待分配资源为优惠券,收益率为活跃用户数的情况下,可以假设有三个客户a、b、c,优惠券面额有0元(不发),1元、2元,预算为第一类即总发放优惠券面额不超过3元,修正后的响应率如下表所示:0元1元2元a0.10.150.4b0.50.550.6c0.80.90.92首先计算相对单位收益:第二步,非优优惠券过滤,我们注意到对于a来说2元的相对单位收益大于1元的相对单位收益,因此按照排除给a发1元的选项。计算边际收益和边际成本:第三步,优惠券金额分配:对数组{<+∞,a,0>,<0.15,a,2>,<+∞,b,0>,<0.05,b,1>,<0.05,b,2>,<+∞,c,0>,<0.1,c,1>,<0.02,c,2>}按第一列排序得到:{<+∞,a,0>,<+∞,b,0>,<+∞,c,0>,<0.15,a,2>,<0.1,c,1>,<0.05,b,1>,<0.05,b,2>,<0.02,c,2>}从前往后遍历,按照边际成本累积到恰好小于预算的位置,即<0.1,c,1>正好用完预算,得到最优分配方案:a2元b0元c1元如果优惠券为连续类型,相应过程可替换如下:假设用户集合为u={u1,u2,…},优惠券金额集合为c={x|0≤x≤t,x∈r},其中,r是实数集合,ri(x)表示对用户ui发x金额优惠券后他使用的概率,这里每个用户发且只发一种优惠券:a={x1,…xn}。目标:限制条件1:限制条件2:根据极值理论,优惠券分配金额最优的点一定是所有用户边际收益相同的点,且全局收益应该不小于该边际收益。条件1:其中,“≡”指分配方案中,每个用户分配金额最优的点一定是所有用户边际收益(导数)相等(等于c)的点。由此可以得到边际收益为c'时每个用户的最优选择:条件2:以及由此可以得到边际收益为c'时每个用户的最优选择:通过二分法查找与预算相匹配的编辑收益copt,对于每次查找过程中的c',每个用户根据q函数选择应该分配的优惠券金额,如果不存在就为0,这样通过计算所有用户应发优惠券金额与预算比较,可以不断缩小二分查找范围,找到copt。可以以平均o(nm)的复杂度找到最优分配方案。其中m代表解析每个用户的边际收益和最优选择的时间复杂度。m的复杂度取决于响应函数。[应用例2]视频广告时长减免场景在此例中,资源可以是减免的视频广告时间(例如,可以包括不播放视频广告、减少至播放5秒钟、减少至播放15秒钟等),目标对象是视频网站的用户,收益率为用户观看完广告后观看视频的概率。首先可以获取包括用户画像信息、偏好信息、历史观看信息等的数据。随后将采集的数据清洗并整理成结构化的数据,并进行存储。根据用户数据、视频广告减免数据和历史观看数据计算入模特征,包括用户基本属性、减免数据基本属性、观看历史统计、行为偏好等类别的特征。为了降低计算量,可以训练一个二分类模型,例如用于预测视频广告减免后用户观看视频的时长是否增加的模型。正样本是历史上所有减免了视频广告播放后用户观看时长增加的集合,负样本是历史上所有减免了视频广告播放后用户观看时长没有增加的集合。为了增加样本多样性,还可以增加更高减免档位下用户观看时长增加的集合作为正样本,以及更低减免档位下用户观看时长没有增加的集合作为负样本。可选地,可以利用实际数据进行模型预测分数的后验修正。随后,对预测数据进行单位收益率的计算并保留最优的视频广告减免档位。在此,最优资源分配的目标是最大的用户视频观看时长的增加率。由于广告减免会影响运营网站的收入,因此视频广告总减免时间可以作为限制条件。作为附加,还可以附加其他的条件。例如,限制条件2可以是被减免视频广告的用户总人数等。确定最优资源分配方案可以被实际发放,并且系统可以收集发放效果,用作预估系统的自学习。本发明的资源分配方案还适用于其他广泛的场景,例如,捕鱼场景中的船只投放,农业灌溉场景中水资源调度,以及诸如云计算或云存储空间的贩售等。此处不再一一赘述上文中已经参考附图详细描述了根据本发明的资源分配方法和装置。针对资源分配中存在的问题,本发明通过使用机器学习建模从而让机器自动挖掘数据中的规律和模式,避免了过度依赖业务经验和专家规则的缺陷。本发明通过数据清洗、存储和管理以及对分配结果数据的回流完成了一套完整的可以自学习的完整分配系统,从而可以保证其性能不随时间而显著衰减。在资源分配过程中,针对动态规划解优惠券分发的时间复杂度过高无法满足商用需要的缺点,本发明提出一种新的方法:对于离散型资源,首先根据目标对象对不同分配量的响应率计算单位相对收益,然后对单位相对收益做过滤,保留合理候选项,并对单位相对收益排序,按照成本从高到低累积到刚好达到预算的点,即可得到最优分配方案;而对应连续型资源,首先计算目标对象对分配量响应率函数的一阶导数的反函数,然后使用二分法对寻找与预算一致的边际收益,每给定一个边际收益,按照条件选择每个目标对象的最佳分配金额,最终得到最优资源分配方案。本方案尤其适用于目标对象(例如,用户)量在千万级甚至亿级的大型资源分配系统。此外,根据本发明的方法还可以实现为一种计算机程序或计算机程序产品,该计算机程序或计算机程序产品包括用于执行本发明的上述方法中限定的上述各步骤的计算机程序代码指令。或者,本发明还可以实施为一种非暂时性机器可读存储介质(或计算机可读存储介质、或机器可读存储介质),其上存储有可执行代码(或计算机程序、或计算机指令代码),当所述可执行代码(或计算机程序、或计算机指令代码)被电子设备(或计算设备、服务器等)的处理器执行时,使所述处理器执行根据本发明的上述方法的各个步骤。本领域技术人员还将明白的是,结合这里的公开所描述的各种示例性逻辑块、模块、电路和算法步骤可以被实现为电子硬件、计算机软件或两者的组合。附图中的流程图和框图显示了根据本发明的多个实施例的系统和方法的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标记的功能也可以以不同于附图中所标记的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。以上已经描述了本发明的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本
技术领域
的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术的改进,或者使本
技术领域
的其它普通技术人员能理解本文披露的各实施例。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1