一种业务模型的训练方法、训练装置和计算设备与流程

文档序号:32399865发布日期:2022-12-02 18:40阅读:49来源:国知局
一种业务模型的训练方法、训练装置和计算设备与流程

1.本技术涉及人工智能(artificial intelligence,ai)技术领域,尤其涉及一种业务模型的训练方法、训练装置和计算设备。


背景技术:

2.在应用程序消息推送、商务营销和医疗方案选择等业务场景中,业务平台可以使用业务模型对用户进行因果效应估计,即预测用户在是否接受干预操作时可能出现的潜在结果。业务平台可以根据用户的潜在结果确定是否向该用户执行该干预操作,从而达到一定干预目的。
3.一般地,业务模型需要使用两组训练样本(接受干预操作的训练样本和不接受干预操作的训练样本)训练获得。但两组训练样本的特征分布不一致使业务模型的泛化能力较差,业务模型的预测准确性较低。


技术实现要素:

4.本技术提供了一种业务模型的训练方法、训练装置和计算设备,能够均衡训练样本的特征分布,从而提高业务模型的泛化能力,提高业务模型的预测准确性。
5.第一方面,本技术提供一种业务模型的训练方法。该业务模型包括表征网络和预测网络;该方法包括:获取用户集中各个用户的特征数据和事实结果,所述用户集中包括接受第一策略的第一用户、以及接受第二策略的第二用户;使用所述表征网络处理所述各个用户的特征数据得到所述各个用户的表征数据,以及利用所述预测网络处理所述各个用户的表征数据得到所述各个用户的预测事实结果;根据所述各个用户的事实结果和预测事实结果确定第一损失;基于最优传输求解算法获得的优化的传输矩阵确定所述第一用户与所述第二用户的样本分布距离,其中,所述优化的传输矩阵根据所述第一用户和第二用户的目标质量分布向量确定;根据所述第一损失和第二损失更新所述业务模型的模型参数,所述第二损失根据所述样本分布距离确定。
6.上述方案中,在使用第一用户和第二用户的特征数据和事实结果训练业务模型时,使用最优传输求解算法获的的传输矩阵确定两组训练样本之间的样本分布距离,将样本分布距离考虑在模型的损失值中,可以解决两组训练样本的特征分布的不一致性影响模型泛化能力的问题。
7.在一种可能的实施方式中,所述基于最优传输求解算法获得的优化的传输矩阵确定所述第一用户与所述第二用户的样本分布距离包括:根据所述第一用户的表征数据和所述第二用户的表征数据确定距离矩阵;确定所述优化的传输矩阵,其为使得目标项最小化的传输矩阵,所述目标项正相关于第一距离项和第二距离项,所述第一距离项为所述距离矩阵与传输矩阵的点乘结果,第二距离项包括:基于所述传输矩阵确定的传输质量分布与所述第一用户和第二用户的目标质量分布向量之间的分布差异;根据所述距离矩阵和所述优化的传输矩阵,确定所述样本分布距离。其中,最优传输求解算法可以包括sinkhorn算
法,sinkhorn算法用于以目标项最小为目的求解传输矩阵。
8.上述方案中,如果一组训练样本中存在异常样本,会使得异常样本与另一组训练样本之间的样本分布距离较大,进而降低模型的泛化能力。使用两组训练样本的目标质量分布向量优化传输矩阵,可以避免异常样本对训练业务模型的影响。
9.在一种可能的实施方式中,所述方法还包括:预测所述第一用户接受第二策略时的反事实结果、以及所述第二用户接受所述第一策略时的反事实结果;其中,所述根据所述第一用户的表征数据和所述第二用户的表征数据确定距离矩阵包括:根据所述第一用户的表征数据与所述第二用户的表征数据的差值、所述第一用户的事实结果与所述第二用户的反事实结果的差值、以及所述第二用户的事实结果与所述第一用户的反事实结果的差值,确定所述距离矩阵。
10.上述方案中,由于无法观测到用户的所有特征数据,即用户可能存在的不可观测干扰,根据预测的用户的反事实结果计算表征数据之间的距离矩阵,可以缓解不可观测干扰对训练业务模型的影响。
11.在一种可能的实施方式中,所述分布差异为以下两项之和:根据所述传输矩阵确定的对应于所述第一用户的第一传输质量分布向量与其目标质量分布向量之间的第一kl散度,以及,根据所述传输矩阵确定的对应于所述第二用户的第二传输质量分布向量与其目标质量分布向量之间的第二kl散度。
12.上述方案中,使用kl散度和目标质量约束两组训练样本之间的传输质量,可以避免两组训练样本的传输质量强制对齐,从而有效解决两组训练样本中的异常样本对业务模型的影响。
13.在一种可能的实施方式中,所述确定优化的传输矩阵包括多轮迭代运算,任意轮迭代运算包括:根据当前轮次中当前传输矩阵确定当前的第一传输质量分布向量,根据当前的第一传输质量分布向量和所述第一用户的目标质量分布向量之间的当前分布差,更新第一向量;根据所述当前传输矩阵确定当前的第二传输质量分布向量,根据当前的第二传输质量分布向量和所述第二用户的目标质量分布向量之间的当前分布差,更新第二向量;其中,所述第一向量和所述第二向量用于在多轮迭代后,运算得出所述优化的传输矩阵。
14.在一种可能的实施方式中,所述第一策略为接受目标干预操作,第二策略为不接受所述目标干预操作。
15.在一种可能的实施方式中,所述根据所述第一损失和第二损失更新所述业务模型的模型参数包括:根据所述第一损失值、所述第二损失值和所述第二损失值的权重确定总损失值;根据所述总损失值更新所述业务模型的模型参数。
16.第二方面,本技术还提供一种消息推送方法。该方法包括:获取多个用户的特征数据;使用业务模型根据多个用户的特征数据,预测多个用户中各个用户在被推送应用程序的目标消息时的潜在结果和各个用户在不被推送目标消息时的潜在结果;根据多个用户对应的潜在结果确定向多个用户中的第一用户推送目标消息、以及向多个用户的第二用户不推送目标消息。其中,该业务模型通过第一方面及可能的实施方式中任一所述的方法训练获得。
17.上述方案中,通过业务模型预测用户在是否被推送目标消息时的潜在结果,并根据潜在结果向哪部分用户推送目标消息和不推送目标消息,可以提高该应用程序的使用
率。
18.第三方面,本技术还提供一种业务模型的训练装置,其特征在于,所述业务模型包括表征网络和预测网络;所述训练装置包括:获取模块、预测模块、和更新模块。
19.其中,获取模块用于获取用户集中各个用户的特征数据和事实结果,所述用户集中包括接受第一策略的第一用户、以及接受第二策略的第二用户。
20.其中,预测模块用于使用所述表征网络处理所述各个用户的特征数据得到所述各个用户的表征数据,以及利用所述预测网络处理所述各个用户的表征数据得到所述各个用户的预测事实结果。
21.其中,更新模块用于根据所述各个用户的事实结果和预测事实结果确定第一损失。
22.其中,更新模块用于基于最优传输求解算法获得的优化的传输矩阵确定所述第一用户与所述第二用户的样本分布距离,其中,所述优化的传输矩阵根据所述第一用户和第二用户的目标质量分布向量确定。
23.其中,更新模块用于根据所述第一损失和第二损失更新所述业务模型的模型参数,所述第二损失根据所述样本分布距离确定。
24.在一种可能的实施方式中,所述更新模块具体用于:根据所述第一用户的表征数据和所述第二用户的表征数据确定距离矩阵;确定所述优化的传输矩阵,其为使得目标项最小化的传输矩阵,所述目标项正相关于第一距离项和第二距离项,所述第一距离项为所述距离矩阵与传输矩阵的点乘结果,第二距离项包括:基于所述传输矩阵确定的传输质量分布与所述第一用户和第二用户的目标质量分布向量之间的分布差异;根据所述距离矩阵和所述优化的传输矩阵,确定所述样本分布距离。
25.在一种可能的实施方式中,所述预测模块还用于:预测所述第一用户接受第二策略时的反事实结果、以及所述第二用户接受所述第一策略时的反事实结果;其中,所述更新模块具体用于:根据所述第一用户的表征数据与所述第二用户的表征数据的差值、所述第一用户的事实结果与所述第二用户的反事实结果的差值、以及所述第二用户的事实结果与所述第一用户的反事实结果的差值,确定所述距离矩阵。
26.在一种可能的实施方式中,所述分布差异为以下两项之和:根据所述传输矩阵确定的对应于所述第一用户的第一传输质量分布向量与其目标质量分布向量之间的第一kl散度,以及,根据所述传输矩阵确定的对应于所述第二用户的第二传输质量分布向量与其目标质量分布向量之间的第二kl散度。
27.在一种可能的实施方式中,所述更新模块用于通过多轮迭代运算确定优化的传输矩阵,具体用于:根据当前轮次中当前传输矩阵确定当前的第一传输质量分布向量,根据当前的第一传输质量分布向量和所述第一用户的目标质量分布向量之间的当前分布差,更新第一向量;根据所述当前传输矩阵确定当前的第二传输质量分布向量,根据当前的第二传输质量分布向量和所述第二用户的目标质量分布向量之间的当前分布差,更新第二向量;其中,所述第一向量和所述第二向量用于在多轮迭代后,运算得出所述优化的传输矩阵。
28.在一种可能的实施方式中,所述第一策略为接受目标干预操作,第二策略为不接受所述目标干预操作。
29.在一种可能的实施方式中,所述更新模块具体用于:根据所述第一损失值、所述第
二损失值和所述第二损失值的权重确定总损失值;根据所述总损失值更新所述业务模型的模型参数。
30.第四方面,本技术还提供一种消息推送装置。该消息推送装置包括:获取模块、预测模块、和推送模块。
31.其中,获取模块用于获取多个用户的特征数据。
32.其中,预测模块用于使用业务模型根据所述多个用户的特征数据,确定所述多个用户中各个用户接受第一策略时的潜在结果和所述各个用户接受第二策略时的潜在结果;其中,该业务模型通过第一方面及可能的实施方式中任一所述的方法训练获得。
33.其中,推送模块用于根据所述多个用户对应的潜在结果,确定向所述多个用户中的第一用户推送所述第一策略对应的消息、以及向所述多个用户的第二用户推送所述第二策略对应的消息。
34.第五方面,本技术还提供一种计算设备。该计算设备包括:处理器和存储器,所述处理器用于执行存储于所述存储器内的计算机程序以实现第一方面及其可能的实施方式中任一所述的方法,或者实现第二方面中所述的方法。
35.第六方面,本技术还提供一种计算机可读存储介质,包括指令,当所述指令在计算机上运行时,使得所述计算机实现第一方面及其可能的实施方式中任一所述的方法,或者实现第二方面中所述的方法。
36.第七方面,本技术还提供一种计算机程序产品,包括程序代码,当计算机运行所述计算机程序产品时,使得所述计算机实现第一方面及其可能的实施方式中任一所述的方法,或者实现第二方面中所述的方法。
37.上述提供的任一种装置、计算设备或计算机存储介质或计算机程序产品,均用于执行上文所提供的方法,因此,其所能达到的有益效果可参考上文提供的对应方法中的对应方案的有益效果,此处不再赘述。
附图说明
38.图1是本技术实施例提供的一种业务场景的结构示意图;
39.图2是本技术实施例提供的一种业务场景中的业务模型训练示意图;
40.图3是本技术实施例提供的一种业务模型的结构示意图;
41.图4是本技术实施例提供的一种业务模型的训练方法流程图;
42.图5是本技术实施例提供的一种确定样本分布距离的方法流程图;
43.图6是本技术实施例提供的一种消息推送方法的流程图;
44.图7是本技术实施例提供的一种业务模型的训练装置的结构示意图;
45.图8是本技术实施例提供的一种消息推送装置的结构示意图;
46.图9是本技术实施例提供的一种计算设备的结构示意图。
具体实施方式
47.为了使本技术实施例的目的、技术方案和优点更加清楚,下面将结合附图,对本技术实施例中的技术方案进行描述。
48.在本技术实施例的描述中,“示例性的”、“例如”或者“举例来说”等用于表示作例
子、例证或说明。本技术实施例中被描述为“示例性的”、“例如”或者“举例来说”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”、“例如”或者“举例来说”等词旨在以具体方式呈现相关概念。
49.在本技术实施例的描述中,术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,单独存在b,同时存在a和b这三种情况。另外,除非另有说明,术语“多个”的含义是指两个或两个以上。例如,多个系统是指两个或两个以上的系统,多个屏幕终端是指两个或两个以上的屏幕终端。
50.此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者多个该特征。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。
51.在介绍本技术实施例之前,下面先对本技术中出现的名词进行解释。
52.因果推断是估计个体在不同策略作用下可能出现的潜在结果的过程。个体的潜在结果可以通过因果推断得到。
53.个体因果效应估计(individual treatment effect,ite)是指对业务场景中的个体在不同策略(因)作用下出现的结果进行评估。个体的结果可以分为潜在结果、事实结果和反事实结果。
54.潜在结果是指个体在策略作用下可能出现的结果。如果存在多个策略,一个个体可以对应有多个潜在结果,一个个体的所有潜在结果都有可能在业务场景中出现,但无法在实际场景中同时出现。
55.事实结果是指业务场景中的个体在策略作用下实际出现的结果。由于在业务场景中一个个体只能被作用一个策略,因此,一个个体只有一个事实结果。事实结果也可以理解为,一个潜在结果在实际场景中出现的结果。
56.反事实结果是指业务场景中个体未出现的潜在结果。在存在多个策略的情况下,一个个体可以有多个潜在结果。
57.以业务场景中存在两种策略(t表示策略的类型,t取值例如为0和1,0表示不接受目标干预,1表示接受目标干预)为例,个体在两种策略下可能出现的潜在结果分别表示为y
t=1
(x)和y
t=0
(x),个体的因果效应可以表示为τ(x):=e[y
t=1-y
t=0
|x],其中,x表示个体的特征数据,e表示期望值。
[0058]
因果效应估计可以被应用于应用程序消息推送、商务营销、和医疗方案选择等业务场景中,使用观测数据训练业务模型,使用业务模型预测所有用户在目标干预下的潜在结果,从而可以根据潜在结果预估目标干预的效果。例如,应用程序消息推送场景中提高应用程序的使用率、商务营销场景中提高商品的点击率、医疗方案选择场景中提高患者的治疗效果等。
[0059]
在使用观测数据进行因果效应估计时存在下面两点问题,使得因果效应估计准确性较差。
[0060]
首先,反事实结果缺失。如前所述的,在业务场景中,一个用户只能被作用于一种策略,因此只能观测到用户的一个事实结果。以应用程序消息推送场景为例,只能观测到用户在接收到推送消息时的事实结果,无法得到该用户在未接收到该推送消息时的事实结果
(或者即一个用户在未接收到推送消息时的事实结果,无法得到该用户给在接收到该推送消息时的事实结果)。
[0061]
其次,选择偏置。在训练样本中,由于每个用户对不同策略有不同偏好,使得不同群体的用户的特征分布不一致。
[0062]
基于此两点问题,在一种实施例中,可以通过采集两组用户的特征数据和每组用户在一种策略下的事实结果训练业务模型,使用业务模型预测所有用户的所有潜在结果。
[0063]
图1是本技术实施例提供的一种业务场景的结构示意图。在该业务场景中包括位于平台侧的业务平台和位于用户侧的终端设备。其中,业务平台可以包括位于云端的服务器,终端设备可以包括智能手机、平板电脑、笔记本电脑和台式电脑等设备。
[0064]
业务平台中部署有业务模型,可以通过对用户执行目标干预,以向用户提供定向的业务服务。例如,应用程序消息推送场景中向用户推送应用程序消息、商务营销场景中向用户推送营销方案、以及医疗方案选择场景中为用户选择治疗方案等。
[0065]
以业务场景为应用程序消息推送为例的,参阅图2,业务平台可以对用户集中各个用户的交互日志进行预处理,得到两组用户(即实验组和对照组)的训练样本,并根据两组用户的训练样本训练业务模型。其中,实验组中的用户包括进行了目标干预的用户,对照组中的用户包括未进行目标干预的用户。
[0066]
在业务模型训练结束后,业务平台可以使用业务模型预测所有用户在不同策略下的潜在结果,一个用户的潜在结果指示该用户在不同策略下是否会使用该应用程序或者与应用程序的交互次数。进而,业务平台可以根据各个用户的潜在结果确定向哪些用户执行哪种策略,即向哪部分用户推送目标消息,不向哪部分用户推送目标消息,从而提高该应用程序的使用率。其中,业务平台还可以在推送目标消息后,继续收集用户的交互日志,从而对用户进行进一步分析。
[0067]
一个用户的交互日志中可以包括该用户的特征数据以及推送目标消息时间时用户与应用程序的交互数据。训练样本可以包括用户的特征数据和事实结果。
[0068]
用户的特征数据可以包括该用户对应的属性信息和环境信息,属性信息可以包括但不限于年龄、性别、学历、工作行业等,环境信息可以包括但不限于目标消息的推送时间、终端设备的信息(例如剩余内存和剩余电量)等。
[0069]
用户的事实结果指示该用户是否使用了该应用程序。业务平台可以对推送目标消息的时间内的用户的交互数据进行分析,得到两组用户中各个用户的事实结果。例如,当用户在接收到一个目标消息时,如果该用户在应用程序内出现浏览、点击、评论和购买等行为时,业务平台可以确定用户使用了该应用程序。
[0070]
对于反事实数据缺失问题,可以使用元算法(meta-learners)类方法构建业务模型并训练。具体是,业务模型包括两个基学习器,两个基学习器分别使用两组用户的训练样本训练。但是基于对照组的数据训练的基学习器很难准确泛化到不在对照组的用户群体(对于实验组同理),从而导致业务模型的准确性较低。其中,基学习器可以采用线性回归网络、决策树网络和神经网络等网络构建。
[0071]
对于选择偏置问题,在训练过程中,可以通过最小化业务模型提取到两组用户的表征数据之间的样本分布距离缓解选择偏置问题。例如,可以采用反事实回归方法训练业务模型,通过最小化不同用户群组的表征数据之间的样本分布距离以及各个用户群组的事
实结果的预测误差。
[0072]
上述两种方案仍存在下述两点问题,导致不能有效解决选择偏置问题。
[0073]
第一,训练样本是小批量采样获得的,训练样本无法覆盖整个用户群体,使得业务模型对不同用户群组的特征分布比较敏感。例如,当一个用户群组中存在异常样本时(outliers),该用户群组与其他用户群组的特征分布不均衡,分布距离较大,此时训练的模型的鲁棒性不高。
[0074]
第二,未考虑用户的不可观测干扰,然而在实际应用中不可观测结果是广泛存在的,使得业务模型存在一定偏差。其中,不可观测干扰是指无法观测到的用户的特征数据。
[0075]
基于上述介绍,本技术实施例提供一种业务模型的训练方法,可以有效解决反事实缺失问题和选择偏置问题,从而提高业务模型的泛化能力和鲁棒性,使业务模型的预测结果更加准确。
[0076]
在介绍本技术实施例的训练方法之前,下面先介绍本技术实施例的业务模型的结构。
[0077]
图3是本技术实施例提供的一种业务模型的结构示意图。参阅图3,该业务模型中包括表征网络ψ和预测网络,其中预测网络包括分类器φ。其中,表征网络用于从用户的特征数据中提取表征数据,预测网络用于根据用户的表征数据预测用户的潜在结果。在图3中包括两个分类器,分别用于两种策略下的潜在结果。
[0078]
在本技术实施例提供的业务模型的训练方法中,通过在业务模型的预测准确度和训练样本的表征分布对齐之间均衡,可以有效解决选择偏置问题。具体而言,使用样本分布距离计算单元计算样本分布距离,其中样本分布距离计算单元中包括放松质量保持正则化(relaxed mass preserving regularizer,rmpr)模块和近端事实结果正则化(proximalfactual outcome regularizer,pfor)模块。通过rmpr模块放松随机最优传输方法中的质量保持约束,以解决训练样本中存在异常样本的问题和训练样本的表征数据分布不均衡的问题。通过pfor模块利用各个用户的潜在结果(事实预测结果和反事实预测结果)的差异调整样本分布距离,缓解不可观测干扰的影响。
[0079]
下面结合图4对本技术实施例的训练方法进行具体介绍。
[0080]
图4是本技术实施例提供的一种业务模型的训练方法的流程图。该方法可以应用于上述的业务平台。其中,业务平台可以包括一个或多个服务器,上述图4所示方法实施例中的方法步骤可以由业务平台中的一个服务器执行,也可以由业务平台中的多个服务器共同执行。
[0081]
参阅图4,该方法可以包括如下的步骤s401-步骤s405。
[0082]
步骤s401,获取用户集中用户的训练样本。用户的训练样本包括各个用户的特征数据和事实结果。
[0083]
本步骤中,业务平台可以从用户集中选取接受第一策略的第一用户作为实验组并获得其训练样本,即实验组的训练样本包括可以包括接受第一策略的第一用户的特征数据和事实结果,以及从用户集中随机选取接受第二策略的第二用户作为对照组并获得其训练样本,即对照组的训练样本包括可以包括接受第二策略的第二用户的特征数据和事实结果。可以理解的,实验组中包括多个第一用户,对照组中包括多个第二用户。
[0084]
在一个实施例中,业务平台可以对实验组和对照组的用户分别执行不同策略(即
第一策略和第二策略),从而获得两组用户在不同策略下的事实结果。其中,第一策略可以是接受目标干预操作,第二策略可以是不接受目标干预操作。以应用程序推荐消息场景为例,第一策略可以是推送目标消息,第二策略可以是不推送目标消息。
[0085]
步骤s402,使用表征网络处理各个用户的特征数据得到各个用户的表征数据,以及利用预测网络处理各个用户的表征数据得到各个用户的预测事实结果。
[0086]
本步骤中,业务平台可以将用户的特征数据输入业务模型中的表征网络得到表征数据。具体可以使用图3中的表征网络处理用户的特征数据x从而得到用户的表征数据r,具体可以通过如下的公式(1)进行计算获得。
[0087][0088]
公式(1)中,xi和xj分别表示实验组中第i个用户的特征数据和对照组中第j个用户的特征数据,ri和rj分别表示实验组中第i个用户的表征数据和对照组中第j个用户的表征数据,n和m分别表示实验组和对照组中的用户的数量。
[0089]
在使用表征网络得到表征数据后,将其通过预测网络中的分类器得到对应的预测事实结果。将实验组的表征数据输入图3中的分类器φ1得到实验组的预测事实结果,将对照组的表征数据输入分类器φ0得到对照组的预测事实结果,具体可以通过如下述的公式(2)进行计算获得。
[0090][0091]
公式(2)中,表示实验组中第i个用户的预测事实结果,表示对照组中第j个用户的预测事实结果。
[0092]
本实施例中,表征网络和预测网络采用神经网络构建。在其他可能的实施例中,表征网络和预测网络还可以采用其他机器学习网络构建,本技术不做具体限制。
[0093]
步骤s403,根据各个用户的事实结果和预测事实结果确定第一损失。
[0094]
本步骤中,在使用业务模型获得各个用户的预测事实结果后,可以通过公式(3)计算第一损失。
[0095][0096]
公式(3)中,表示实验组中第i个用户的预测事实结果与其事实结果yi的差值的二范数,表示对照组中第j个用户的预测事实结果与其事实结果yj的差值的二范数。
[0097]
步骤s404,使用计算单元,基于最优传输求解算法获得的优化的传输矩阵确定第一用户与第二用户的样本分布距离。本步骤中,可以通过图5所示的步骤s4041-步骤s4043确定该样本分布距离。
[0098]
在步骤s4041中,根据第一用户的表征数据和第二用户的表征数据确定距离矩阵。
[0099]
具体地,本步骤中可以使用业务模型预测各个用户的反事实结果,即将对照组的表征数据输入分类器φ1得到对照组的反事实结果,以及将实验组的表征数据输入分类器φ0得到实验组的反事实结果,具体可以通过公式(4)计算获得。
[0100][0101]
公式(4)中,表示实验组中第i个用户的反事实结果,表示对照组中第j个用户
的反事实结果。
[0102]
然后,使用pfor模块根据各个用户的事实结果和反事实结果,通过公式(5)计算距离矩阵d。
[0103][0104]
公式(5)中,||r
i-rj||2表示ri与rj的差值的二范数,表示yj与的差值的二范数,表示yj与的差值的二范数,γ为的权重。
[0105]
在步骤s4042中,确定优化的传输矩阵。优化的传输矩阵为使得目标项最小化的传输矩阵,其中,该目标项正相关于第一距离项和第二距离项,第一距离项为距离矩阵与传输矩阵的点乘结果,第二距离项包括:基于传输矩阵确定的传输质量分布与第一用户和第二用户的目标质量分布向量之间的分布差异。
[0106]
其中,分布差异可以包括根据传输矩阵确定的对应于第一用户的第一传输质量分布向量与其目标质量分布向量之间的第一kl散度,以及,根据传输矩阵确定的对应于第二用户的第二传输质量分布向量与其目标质量分布向量之间的第二kl散度。
[0107]
具体地,rmpr模块可以基于随机最优传输(stochastic optimal transmission,sot)确定如公式(6)所示的目标函数,并使用sinkhorn算法求解该如公式(6)所示的目标函数,使得目标函数中的目标项最小化,从而获得优化的传输矩阵。
[0108]
π:=arg min
π
{《d,π》-∈h(π)+κ(d
kl
(π1m,a)+d
kl
(π1n,b))}
ꢀꢀꢀꢀ
(6)
[0109]
公式(6)中,为传输矩阵,《d,π》为第一距离项,h(π)为π的熵,d
kl
(π1m,a)和d
kl
(π1n,b)分别为第一kl散度和第二kl散度;a为第一用户的目标质量分布向量,维度为n;b为第二用户的目标质量分布向量,维度为m;π1m为第一用户的第一传输质量分布向量,π1n为第二用户的第二传输质量分布向量,∈为h(π)的权重,κ为第二距离项的权重,1m和1n分别为m维和n维元素均为1的单位向量。其中,a和b中各个元素的值为各个用户对应的样本的目标质量,具体取值根据实际应用中的样本预先设置。本技术中样本的目标质量设为1,因此a和b中各个元素的值均为1。
[0110]
使用sinkhorn算法求解该如公式(6)所示的目标函数可以通过多轮迭代运算获得。在每轮迭代中,根据当前轮次中当前传输矩阵确定当前的第一传输质量分布向量a

,根据当前的第一传输质量分布向量a

和第一用户的目标质量分布向量a之间的当前分布差,更新第一向量u;以及,根据当前传输矩阵确定当前的第二传输质量分布向量b

,根据当前的第二传输质量分布向量b

和第二用户的目标质量分布向量b之间的当前分布差,更新第二向量v;在迭代结束时,根据最终的第一向量u和第二向量v运算得出优化的传输矩阵。具体可以通过下述的算法实现:
[0111]k←
exp(-d/∈);
[0112]f←0n
,g
←0m
,l

1;
[0113]
while l<l
max do
[0114]u←
exp(f/∈),v

exp(g/∈);
[0115]a′←
π1n,b
′←
π
t1m

[0116]
if l//2=0 then
[0117]
[0118]
else
[0119][0120]
l

l+1;
[0121]
π
∈,κ

diag(u)k diag(v)。
[0122]
上述中,k表示diag(v)的权重,f和g分别表示实验组的第一参数和对照组的第二参数。
[0123]
在步骤s4043中,根据距离矩阵和优化的传输矩阵,确定样本分布距离。
[0124]
本步骤中,rmpr模块可以通过下述的公式(7)计算样本分布距离ld(ψ)。
[0125]
ld(ψ)

《d,π》
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(7)
[0126]
步骤s405,根据第一损失和第二损失更新业务模型的模型参数,第二损失根据样本分布距离确定。
[0127]
本步骤中,业务平台可以通过下述的公式(8)确定业务模型的总损失值l,然后根据该总损失值更新模型参数,直至满足业务模型的训练条件。其中,更新模型参数可以包括但不限于根据该损失值使用梯度下降法更新模型参数。
[0128]
l

lf(ψ,φ)+λ
·
ld(ψ)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(8)
[0129]
公式(8)中,λ为ld(ψ)的权重。
[0130]
上述图4所示的训练方法实施例,通过rmpr模块和pfor模块的输出计算模型的损失值,解决样本选择偏置对模型的影响,从而可以提高业务模型的泛化能力和鲁棒性,达到提升业务模型的准确性的目的。具体地,通过rmpr模块在解决不同组样本的特征分布不均衡的问题的同时,放松不同组样本的质量保持约束,从而解决样本中可能存在异常样本的问题对模型的影响。以及通过pfor模块利用样本潜在的反事实结果调整表征数据之间的二范数,从而确定样本之间的距离矩阵,达到缓解不可观测干扰的影响。
[0131]
图4训练方法获得业务模型可以最大程度的泛化到所有用户,即为全空间反事实回归模型(entire space counterfactual regression,escfr)。为验证图4所示训练方法的有效性,使用两个数据集(dataset1和dataset2),对图4所示训练方法获得的业务模型和使用基线方法获得的业务模型的异质效应估计的精度(precision in estimation of heterogeneous effect,pehe)和增益曲线下面积(area under the uplift curve,auuc)指标进行对比分析,实验结果如表1所示。表1示出了基线方法和本技术图4所示方法获得的业务模型在两个数据集的内测试集(in-sample)对应的两个指标的值和外测试集(out-sample)对应的两个指标的值。其中,pehe指标越小表明模型的准确性更好,auuc越大表明模型的准确性更好。
[0132]
数据集dataset1包括4802个样本,每个样本包括58个特征数据,数据集dataset2包括747个样本,每个样本有25个特征。两个数据集的每个样本均存在的两种干预策略对应的潜在结果。
[0133]
基线方法包括表1中示出的统计学习类方法、匹配方法和表征学习方法,统计学习类方法包括普通最小二乘法(ordinary least squares,ols)、随机森林(random forest,r.forest)、s.learner、t.learner和干预不确定性表征网络(treatment-agnostic representation network,tarnet),匹配方法包括倾向得分匹配(propensity score matching,psm)、k-近邻算法(k-nearest neighbor,k-nn)、因果森林(causal forest,
c.forest)和正交森林(orthogonal forest,o.forest),表征学习方法包括二值神经网络(binary beural betwork,bnn)、反事实回归-最大平均差异的(counterfactual regression maximum mean discrepancy,cfr-mmd)和反事实回归-wasserstein距离(counterfactual regression wasserstein distance,cfr-wass)。
[0134]
从表1可以看出,本技术图4所示的方法(escfr)在观测样本外测试集(out-sample)和观测样本内测试集(in-sample)上,escfr的auuc指标和pehe指标均最好,表明图4所示的方法对提升业务模型准确性有积极的正向作用。
[0135]
表1基线方法获得的业务模型和图4所示的方法获得的业务模型的实验结果
[0136][0137]
基于两个数据集中测试集,对图4所示的训练方法进行消融分析,获得如表2所示的实验结果。表2中示出了业务模型的训练方法中采用(对号)或不采用(叉号)随机最优传输(stochastic optimal transmission,sot)、rmpr和pfor时,业务模型的两个指标。从表2中,可以发现本技术实施例中的rmpr模块和pfor模块对提升业务模型的准确度均有明显的正向作用,可以更好的提高模型的泛化能力和鲁棒性。
[0138]
表2消融分析的实验结果
[0139][0140]
需要说明的是,图4所示的训练方法可以应用于包括但不限于前述的应用程序消息推送、商务营销方案推送和医疗方案选择等需要通过因果效应估计提高相应效果的业务场景。下面以应用程序消息推送为例,介绍一种消息推送方法。
[0141]
基于图4所示的业务模型的训练方法实施例,本技术实施例还提供一种消息推送方法。该消息推送方法可以应用于业务平台中。
[0142]
图6是本技术实施例提供的一种消息推送方法的流程图。
[0143]
如图6所示,该方法包括如下的步骤s601-s603。
[0144]
步骤s601,业务平台获取多个用户的特征数据。
[0145]
步骤s602,业务平台使用业务模型根据多个用户的特征数据,预测多个用户中各个用户在被推送应用程序的目标消息时的潜在结果和各个用户在不被推送目标消息时的潜在结果。
[0146]
本步骤中,业务平台可以使用预先训练的业务模型预测各个用户的潜在结果。其
中,业务模型可以通过图4所示实施例的训练方法训练获得。
[0147]
步骤s603,根据多个用户对应的潜在结果确定向多个用户中的第一用户推送目标消息、以及向多个用户的第二用户不推送目标消息。
[0148]
本步骤中,潜在结果可以包括用户与应用程序的交互次数。业务平台可以根据各个用户在不同策略下与应用程序的交互次数确定是否向用户推送目标消息。例如,如果一个用户在被推送目标消息时的交互次数大于不被推送目标消息时的交互次数,则向用户该用户推送该目标消息,反之同理。
[0149]
该实施例中,通过业务模型预测用户在是否被推送目标消息时的潜在结果,并根据潜在结果向哪部分用户推送目标消息和不推送目标消息,可以提高该应用程序的使用率。
[0150]
基于图4所示的业务模型的训练方法,本技术实施例还提供一种业务模型的训练装置700。该训练装置700用于执行图4所示的方法实施例中的方法步骤。
[0151]
图7是本技术实施例提供的一种业务模型的训练装置700的结构示意图。如图7所示,该训练装置700可以包括:获取模块701、预测模块702、和更新模块703。
[0152]
其中,获取模块701用于获取用户集中各个用户的特征数据和事实结果,所述用户集中包括接受第一策略的第一用户、以及接受第二策略的第二用户。
[0153]
其中,预测模块702用于使用所述表征网络处理所述各个用户的特征数据得到所述各个用户的表征数据,以及利用所述预测网络处理所述各个用户的表征数据得到所述各个用户的预测事实结果。
[0154]
其中,更新模块703用于根据所述各个用户的事实结果和预测事实结果确定第一损失。
[0155]
其中,更新模块703还用于采用sinkhorn算法,基于优化的传输矩阵确定所述第一用户与所述第二用户的样本分布距离,其中,所述优化的传输矩阵根据所述第一用户和第二用户的目标质量分布向量确定。
[0156]
其中,更新模块703还用于根据所述第一损失和第二损失更新所述业务模型的模型参数,所述第二损失根据所述样本分布距离确定。
[0157]
需要说明的是,图7所示实施例提供的训练装置700在执行训练方法时,仅以上述各功能模块的划分举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的训练装置与图4所示的训练方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
[0158]
基于图6所示的消息推送方法,本技术实施例还提供一种消息推送装置800。该消息推送装置800用于执行图6所示的方法实施例中的方法步骤。
[0159]
图8是本技术实施例提供的一种消息推送装置800的结构示意图。该消息推送装置800包括:获取模块801、预测模块802、和推送模块803。
[0160]
其中,获取模块801用于获取多个用户的特征数据。
[0161]
其中,预测模块802用于使用业务模型根据多个用户的特征数据,预测多个用户中各个用户在被推送应用程序的目标消息时的潜在结果和各个用户在不被推送目标消息时的潜在结果;其中,该业务模型可以通过图4所示的方法训练获得。
[0162]
其中,推送模块803用于根据多个用户对应的潜在结果确定向多个用户中的第一用户推送目标消息、以及向多个用户的第二用户不推送目标消息。
[0163]
需要说明的是,图8所示实施例提供的消息推送装置800在执行消息推送方法时,仅以上述各功能模块的划分举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的消息推送装置与图6所示的消息推送方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
[0164]
图9是本技术实施例提供一种计算设备900的硬件结构示意图。
[0165]
该计算设备900可以为上述训练设备。参见图9,该计算设备900包括处理器901、存储器902、通信接口903和总线904,处理器901、存储器902和通信接口903通过总线904彼此连接。处理器901、存储器902和通信接口903也可以采用除了总线904之外的其他连接方式连接。
[0166]
其中,存储器902可以是各种类型的存储介质,例如随机存取存储器(random access memory,ram)、只读存储器(read-only memory,rom)、非易失性ram(non-volatile ram,nvram)、可编程rom(programmable rom,prom)、可擦除prom(erasable prom,eprom)、电可擦除prom(electrically erasable prom,eeprom)、闪存、光存储器、硬盘等。
[0167]
其中,处理器901可以是通用处理器,通用处理器可以是通过读取并执行存储器(例如存储器902)中存储的内容来执行特定步骤和/或操作的处理器。例如,通用处理器可以是中央处理器(central processing unit,cpu)。处理器901可以包括至少一个电路,以执行图4或者图5或图6所示实施例提供的方法的全部或部分步骤。
[0168]
其中,通信接口903包括输入/输出(input/output,i/o)接口、物理接口和逻辑接口等用于实现计算设备900内部的器件互连的接口,以及用于实现计算设备900与其他设备(例如其他计算设备或用户设备)互连的接口。物理接口可以是以太网接口,光纤接口,atm接口等。
[0169]
其中,总线904可以是任何类型的,用于实现处理器901、存储器902和通信接口903互连的通信总线,例如系统总线。
[0170]
上述器件可以分别设置在彼此独立的芯片上,也可以至少部分的或者全部的设置在同一块芯片上。将各个器件独立设置在不同的芯片上,还是整合设置在一个或者多个芯片上,往往取决于产品设计的需要。本技术实施例对上述器件的具体实现形式不做限定。
[0171]
图9所示的计算设备900仅仅是示例性的,在实现过程中,计算设备900还可以包括其他组件,本文不再一一列举。
[0172]
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(dsl))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或
数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(例如,软盘、硬盘、磁带)、光介质(例如,dvd)、或者半导体介质(例如,固态硬盘(solid state disk,ssd))等。
[0173]
可以理解的是,在本技术的实施例中涉及的各种数字编号仅为描述方便进行的区分,并不用来限制本技术的实施例的范围。应理解,在本技术实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,不应对本技术实施例的实施过程构成任何限定。
[0174]
以上所述的具体实施方式,对本技术的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本技术的保护范围,凡在本技术的技术方案的基础之上,所做的任何修改、等同替换、改进等,均应包括在本技术的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1