CN113424207A - 高效地训练可理解模型的系统和方法 - Google Patents

高效地训练可理解模型的系统和方法 Download PDF

Info

Publication number
CN113424207A
CN113424207A CN202080012634.2A CN202080012634A CN113424207A CN 113424207 A CN113424207 A CN 113424207A CN 202080012634 A CN202080012634 A CN 202080012634A CN 113424207 A CN113424207 A CN 113424207A
Authority
CN
China
Prior art keywords
training data
training
data set
historical data
data records
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.)
Granted
Application number
CN202080012634.2A
Other languages
English (en)
Other versions
CN113424207B (zh
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.)
Alipay Hangzhou Information Technology Co Ltd
Original Assignee
Alipay Hangzhou Information Technology 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 Alipay Hangzhou Information Technology Co Ltd filed Critical Alipay Hangzhou Information Technology Co Ltd
Publication of CN113424207A publication Critical patent/CN113424207A/zh
Application granted granted Critical
Publication of CN113424207B publication Critical patent/CN113424207B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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
    • G06N20/00Machine learning
    • G06N20/20Ensemble learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/04Inference or reasoning models
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/01Dynamic search techniques; Heuristics; Dynamic trees; Branch-and-bound

Abstract

描述了用于训练可解释机器学习模型的方法、系统和设备,包括编码在计算机存储介质上的计算机程序。一种示例性方法包括:通过多次无替换采样来从多个历史数据记录获得多个训练数据集,所述多个训练数据集包括具有一个或多个重叠的历史数据记录的第一训练数据集和第二训练数据集;生成分别与所述多个训练数据集相对应的多个直方图,其中,所述第二训练数据集的直方图重用所述第一训练数据集的直方图中与所述一个或多个重叠的历史数据记录相对应的一个或多个数据点;基于所述多个直方图,来训练与所述一个或多个用户特征相对应的一个或多个机器学习模型;以及基于所述一个或多个机器学习模型来提供个性化。

Description

高效地训练可理解模型的系统和方法
技术领域
本申请总体上涉及用于提高训练机器学习模型的效率的系统和方法,尤其涉及用于高效地训练可理解模型以进行全局解释的系统和方法。
背景技术
个性化,或广义上称为定制,涉及定制服务或产品,以满足特定个人,有时与群体或部分个体联系在一起,这可以显著提高客户满意度、销售转换、营销结果、广告、品牌以及各种网站或应用指标。个性化已在社交媒体和推荐系统中广泛采用。个性化可以是通过学习用户数据、探索用户特征与用户反应之间的潜在关系以及基于潜在关系构建回归和/或分类可理解模型(例如,机器学习模型)来实现的。机器学习模型可以基于各种用户特征预测用户的行为,从而实现针对个人用户的个性化服务和产品。
广义加性模型(Generalization Additive Model,GAM)是建立关于分类和回归问题的可理解模型的流行方法之一。拟合最准确的GAM通常是通过利用袋装浅树(baggedshallow tree)进行梯度提升来完成的。但是,这种方法逐次遍历训练样本中的所有记录,因此对于大型工业应用而言通常是昂贵且不切实际的。本申请描述了一种准确且更高效的方式来提高GAM的训练效率,从而改进个性化过程。
发明内容
本文的各种实施例包括但不限于用于高效地训练可解释机器学习模型的系统、方法和非暂时性计算机可读介质。
根据一些实施例,一种用于有效地训练可解释机器学习模型的计算机实现的方法可以包括:通过多次无替换采样来从多个历史数据记录获得多个训练数据集,所述多个历史数据记录中的每个历史数据记录包括一个或多个用户特征以及用户响应,其中,所述多个训练数据集包括具有一个或多个重叠的历史数据记录的第一训练数据集和第二训练数据集;生成分别与所述多个训练数据集相对应的多个直方图,其中,所述第二训练数据集的直方图重用所述第一训练数据集的直方图中与所述一个或多个重叠的历史数据记录相对应的一个或多个数据点;基于所述多个直方图,来训练与所述一个或多个用户特征相对应的一个或多个机器学习模型,其中,所述一个或多个机器学习模型中的每个机器学习模型学习相应的用户特征与多个用户响应之间的关系;以及基于所述一个或多个机器学习模型来提供个性化。
在一些实施例中,该方法还可以包括将所述一个或多个机器学习模型整合为广义线性模型,以基于所述一个或多个用户特征来预测用户响应;其中,基于所述一个或多个机器学习模型来提供个性化包括:基于所述广义线性模型来提供个性化。
在一些实施例中,通过多次无替换采样来从所述多个历史数据记录获得所述多个训练数据集,包括:随机排列所述多个历史数据记录;从所述多个随机排列的历史数据记录中无替换采样出所述第一训练数据集;随机重排所述多个历史数据记录;以及从所述多个随机重排的历史数据记录中无替换采样出所述第二训练数据集。
在一些实施例中,所述第一训练数据集和所述第二训练数据集大小相等,并且各自包括所述多个历史数据记录的一半以上。
在一些实施例中,生成分别与所述多个训练数据集相对应的多个直方图,包括:基于所述第一训练数据集生成第一直方图;识别在所述第一训练数据集中但不在所述第二训练数据集中的一个或多个第一历史数据记录,以及在所述第二训练数据集中但不在所述第一训练数据集中的一个或多个第二历史数据记录;以及通过去除与所述一个或多个第一历史数据记录相对应的一个或多个数据点并添加与所述一个或多个第二历史数据记录相对应的一个或多个数据点,基于所述第一直方图生成第二直方图。
在一些实施例中,基于所述多个直方图来训练与一个或多个用户特征相对应的一个或多个机器学习模型,包括:对于所述一个或多个用户特征中的每个用户特征,基于所述多个直方图构建多个单特征浅树;以及将所述多个单特征浅树聚合为与该用户特征相对应的单特征机器学习模型。
在一些实施例中,所述一个或多个机器学习模型包括一个或多个回归模型或者一个或多个分类模型。
在一些实施例中,该方法还可以包括对所述多个训练数据集进行排序以最小化用于生成所述多个直方图的计算成本。
在一些实施例中,对所述多个训练数据集进行排序,包括:构建包括与所述多个训练数据集相对应的多个节点和多条边的全连接图,其中,所述多条边中的每条连接两个训练数据集并与权重相关联,该权重与属于所述两个训练数据集之一但不在它们的交集中的历史数据记录的数量有关;确定所述全连接图的最小生成树,其中,所述最小生成树包括所述多条边的子集,所述子集以最小的总边权重连接所述多个节点;以及基于所述最小生成树对所述多个训练数据集进行排序。
在一些实施例中,基于所述最小生成树对所述多个训练数据集进行排序,包括:从所述最小生成树选择节点作为起点;执行广度优先搜索(BFS)以确定所述最小生成树中所述多个节点的处理顺序;以及基于所述最小生成树中所述多个节点的处理顺序对所述多个训练数据集进行排序。
在一些实施例中,所述个性化包括个性化产品或服务配置。
在一些实施例中,所述个性化包括基于个体的所述一个或多个特征的个体级预测。
根据其他实施例,一种用于高效地训练可解释机器学习模型的系统包括一个或多个处理器以及一个或多个非暂时性计算机可读存储器,所述存储器耦接到所述一个或多个处理器并配置有能够由所述一个或多个处理器执行以使所述系统执行包括以下的操作的指令:通过多次无替换采样来从多个历史数据记录获得多个训练数据集,所述多个历史数据记录中的每个历史数据记录包括一个或多个用户特征以及用户响应,其中,所述多个训练数据集包括具有一个或多个重叠的历史数据记录的第一训练数据集和第二训练数据集;生成分别与所述多个训练数据集相对应的多个直方图,其中,所述第二训练数据集的直方图重用所述第一训练数据集的直方图中与所述一个或多个重叠的历史数据记录相对应的一个或多个数据点;基于所述多个直方图,来训练与所述一个或多个用户特征相对应的一个或多个机器学习模型,其中,所述一个或多个机器学习模型中的每个机器学习模型学习相应的用户特征与多个用户响应之间的关系;以及基于所述一个或多个机器学习模型来提供个性化。
根据又一实施例,一种用于高效地训练可解释机器学习模型的非暂时性计算机可读存储介质,其配置有能够由一个或多个处理器执行以使所述一个或多个处理器执行包括以下的操作的指令:通过多次无替换采样来从多个历史数据记录获得多个训练数据集,所述多个历史数据记录中的每个历史数据记录包括一个或多个用户特征以及用户响应,其中,所述多个训练数据集包括具有一个或多个重叠的历史数据记录的第一训练数据集和第二训练数据集;生成分别与所述多个训练数据集相对应的多个直方图,其中,所述第二训练数据集的直方图重用所述第一训练数据集的直方图中与所述一个或多个重叠的历史数据记录相对应的一个或多个数据点;基于所述多个直方图,来训练与所述一个或多个用户特征相对应的一个或多个机器学习模型,其中,所述一个或多个机器学习模型中的每个机器学习模型学习相应的用户特征与多个用户响应之间的关系;以及基于所述一个或多个机器学习模型来提供个性化。
本文公开的实施例具有一种或多种技术效果。在一些实施例中,GAM的训练依赖于子样本聚合(也称为子装袋(subagging或sub-bagging)),而不是自举聚合(装袋)来构建用于训练GAM中的树的训练数据集。子样本聚合是指无替换采样,而自举聚合是指替换采样。使用子样本聚合来训练GAM提供了性能改善的机会。例如,可以从训练数据超集采样出多个训练数据集,该训练数据超集可以包含(或在简单过滤之后)多个唯一的数据样本。通过子样本聚合从训练数据超集获得的训练数据集将类似地包括唯一的数据样本。相比而言,通过自举聚合从训练数据超集获得的训练数据集可能具有重复的数据样本。通过子样本聚合获得的训练数据集中的这种“唯一性”可以进一步被利用以减少GAM训练期间的重复计算。例如,为了训练GAM,需要构建多个浅决策树(例如,弱学习器)。这种浅决策树的构建可以基于根据训练数据集生成的直方图。在利用自举聚合的传统解决方案中,直方图是通过逐次处理每个训练数据集中的所有数据样本生成的,这对于工业规模的应用而言,在计算上是昂贵且不切实际的。相比而言,通过使用子样本聚合,合理大小(例如,整个训练超集的60%)的两个训练数据集通常具有重叠的数据样本,并且在每个训练数据集中,这些数据样本也是唯一的。这些重叠而唯一的数据样本可以通过避免逐次处理方式来加快直方图构建。即,如果先前已经为构建一个直方图而对数据样本进行了处理,则构建另一直方图可以跳过对这些数据样本的处理。因此,对于重叠的数据样本没有重复的计算成本,并且可以显著地提高用于生成直方图(从而训练浅树和GAM)的效率。在一些实施例中,为了充分利用节省计算成本的潜力,本申请描述了仔细对训练数据集进行排序的方法,使得连续的训练数据集共享尽可能多的数据样本。这样,构建直方图总体节省的计算成本得以最大化。此外,本文公开的一些实施例描述了用于个性化/定制的GAM的高效训练的现实生活应用,其证明了所述方法是有效、准确和实用的。
本文公开的系统、方法和非暂态计算机可读介质的这些和其他特征,以及结构的相关元件的功能和操作方法以及零件的组合及制造的经济性,在参考附图考虑以下描述和所附权利要求时将变得更加明显,所有这些附图、描述和权利要求均形成本文的一部分,其中,相似的附图标记指代各个附图中的相应部分。然而,应该明确理解,附图仅用于示例性和说明性,而不旨在限制。
附图说明
图1示出了根据一些实施例的与利用广义加性模型(GAM)的个性化相关联的环境。
图2示出了根据一些实施例的用于高效训练GAM的示例性方法的示图。
图3示出了根据一些实施例的用于训练GAM的示例性方法。
图4示出了根据一些实施例的用于高效地构建直方图的示例性方法的示图。
图5示出了根据一些实施例的用于以提高的效率来训练GAM的示例性方法的示图。
图6示出了根据一些实施例的高效训练GAM的示例性应用。
图7示出了根据一些实施例的用于高效地训练GAM的示例性方法。
图8示出了根据一些实施例的用于高效地训练和应用可解释机器学习模型的计算机系统的框图。
图9示出了可实现本文描述的任何实施例的计算系统的框图。
具体实施方式
现在将参考附图描述本发明的具体的、非限制性实施例。应当理解,本文公开的任何实施例的特定特征和方面可与本文公开的任何其他实施例的特定特征和方面使用和/或组合。还应当理解,这样的实施例是举例的方式,并且仅仅是对本发明范围内的少量实施例的说明。本发明所属领域的技术人员显而易见的各种改变和修改被视为在所附权利要求中进一步限定的本发明的精神、范围和构思内。
个性化、定制或个体级预测需要了解用户特征与用户动作或反应之间的潜在关系。这里的术语“用户”是指与系统交互的对象的一般概念。这些对象可以包括个人用户、用户账户、用户请求、实体或与多个用户特征相关联的其他合适形式的用户。该系统可以指电子商务平台(例如,商品或服务提供平台)、风险评估平台/系统、拼车或打车平台、或与多个用户或对象交互的其他合适系统。学习和近似这些潜在关系的任务可以形成为分类和回归问题。这些问题可以通过基于个人特征及其响应或动作训练各种可理解机器学习模型来解决。示例性模型包括可解释的广义加性模型(Generalized Additive Model,GAM)或其他合适的广义线性模型。在本申请中,将GAM用作示例,以描述可应用于各种可理解机器学习模型的新颖且高效的训练过程。
为了便于理解涵盖高效训练过程的实施例,首先解释GAM的工作方式可能会有所帮助。通常,GAM可以写为公式(1):
g(E[y])=βo+∑jfj(xj) (1)
其中,g是指链接函数,并且fj是指形状函数,y是指用户响应或动作,E(y)是指y的期望值,βo是指截距(intercept)。为了可识别性,fj通常居中,即E(fj)=0。由于GAM只有单变量分量,因此很容易将这些在维度上的加性分量可视化。也就是说,它是一个完全白盒模型,并提供全局加性解释。GAM已被证明在许多任务关键型应用中是有用且准确的,例如医疗保健和累犯预测中的偏差检测。
GAM的训练(也称为拟合)算法通常采用自举聚合(bootstrap aggregating,也称为装袋(bagging))和梯度提升的组合作为优化方法。例如,GAM可以利用袋装浅树进行梯度提升,该梯度提升逐次遍历训练数据样本,这被证明是昂贵且低效的,尤其是对于工业规模的应用而言。为了解决该问题,本申请中描述的实施例说明了GAM和其他合适模型的改进的训练过程,该训练过程涉及训练和整合多个弱学习器(例如,浅决策树)。
图1示出了根据一些实施例的与高效地训练广义加性模型(GAM)相关联的环境,以用于个性化服务和产品。该环境可以包括计算系统120和与计算系统120交互的用户池110。计算系统120可以在一个或多个网络(例如,企业网络)、一个或多个端点、一个或多个服务器(例如,一个服务器)或者一个或多个云中实现。服务器可以包括管理对网络中的集中式资源或服务的访问的硬件或软件。云可以包括分布在网络上的服务器和其他设备的集群。计算系统120还可以在诸如移动电话、平板电脑、服务器、台式计算机、膝上型计算机等的各种设备上实现或实现为所述各种设备。用户池110与计算系统120之间的通信可以通过互联网、通过局域网(例如,LAN)或通过直接通信(例如,BLUETOOTHTM、射频、红外线)。
在一些实施例中,计算系统120可以指通过诸如网页、移动应用或另一合适的信道之类的通道114向用户池110中的用户提供服务或产品的平台。然后,用户响应于服务或产品的响应或动作可以通过通道112(例如,通过网站和/或移动应用)来收集,并被存储为历史数据记录,以供平台学习用户行为并进一步提高其服务和产品的质量。
在一些实施例中,计算系统120可以包括训练数据集获得组件122、直方图生成组件124、模型训练组件126和应用组件128。取决于实施方式,计算系统120可以具有更少、更多或替代的组件。
在一些实施例中,训练数据集获得组件122被配置为通过多次无替换采样(sampling without replacement)来从多个历史数据记录中获得多个训练数据集,每个历史数据记录包括一个或多个用户特征以及用户响应。在下面的描述中,“训练数据集”可以被称为样本,并且训练数据集中的每个历史数据记录可以被称为历史数据记录。这里的“无替换采样”是指子样本聚合(子装袋(subagging)),其中多个历史数据记录均只有一个机会被选择到同一训练数据集中。这与自举聚合(现有解决方案中使用的替换采样或装袋)不同,在自举聚合中每个历史数据记录可以被多次选择到同一训练数据集中。至少出于以下原因,这种差异对于提高GAM的训练效率至关重要:训练GAM涉及训练多个弱学习器(例如,浅决策树),这些学习器是基于由训练数据集生成的直方图而构建的。当两个训练数据集有重叠时,即共享一个或多个唯一的历史数据记录,两个训练数据集的直方图的生成可以重用共享的记录的计算结果,从而避免了重复计算的成本。在没有这种“唯一性”属性(例如,使用自举聚合)的情况下,一个历史数据记录可能会在第一训练数据集中出现X次,而在第二训练数据集中出现Y次(X和Y不同),因此历史数据记录的计算结果在第一训练数据集的直方图和第二训练数据集的直方图中可能具有不同的权重,因此,计算结果可能无法直接重用,并且无法节省计算成本。
在一些实施例中,子装袋过程可以被描述为:随机地排列多个历史数据记录;从随机排列的多个历史数据记录中无替换采样出第一训练数据集;随机重排多个历史数据记录;以及从随机重排的多个历史数据记录中无替换采样出第二训练数据集。在一些实施例中,可以选择多个历史数据记录中用来形成每个训练数据集的百分比。例如,在多个历史数据记录被随机排列后,选择历史数据记录的60%来形成第一训练数据集;在再次随机重排多个历史数据记录之后,可以选择重排的历史数据记录的60%来形成第二训练数据集。在一些实施例中,从多个历史数据记录中无替换采样出的多个训练数据集包括具有一个或多个重叠的历史数据记录的第一训练数据集和第二训练数据集。使用与上述相同的示例,选择历史数据记录的60%来形成每个训练数据集将导致训练数据集之间出现重叠。
在一些实施例中,直方图生成组件124被配置为生成分别对应于多个训练数据集的多个直方图。当第一训练数据集和第二训练数据集具有一个或多个重叠的历史数据记录时,第二训练数据集的直方图的生成可以重用第一训练数据集的直方图中与一个或多个重叠的历史数据记录对应的一个或多个数据点。在一些实施例中,直方图生成过程可以描述为:基于第一训练数据集生成第一直方图;识别在第一训练数据集中但不在第二训练数据集中的一个或多个第一历史数据记录以及在第二训练数据集中但不在第一训练数据集中的一个或多个第二历史数据记录;通过去除与所述一个或多个第一历史数据记录相对应的一个或多个数据点并添加与所述一个或多个第二历史数据记录相对应的一个或多个数据点,基于第一直方图来生成第二直方图。也就是说,基于一个直方图生成另一直方图涉及针对属于两个训练数据集之一但不在它们的交集中的数据记录计算数据点。
如上所述,直方图的生成可以重用来自另一先前生成的直方图的计算结果,以便降低成本并提高效率。这意味着直方图的生成顺序将影响总体计算成本。在一些实施例中,训练数据集可以被仔细地排序,以使得生成相应直方图的总成本最小化。例如,可以通过以下方式来实现排序:构建全连接图,该图包括与多个训练数据集相对应的多个节点以及多条边,每条边连接两个训练数据集并且与权重相关联,该权重与属于两个训练数据集之一但不在它们的交集中的历史数据记录的数量有关;确定所述全连接图的最小生成树,其中所述最小生成树包括所述多条边的子集,所述子集以最小总边权重连接所述多个节点;以及基于最小生成树对多个训练数据集进行排序。
在一些实施例中,模型训练组件126可以被配置为基于多个直方图来训练与一个或多个用户特征相对应的一个或多个机器学习模型。一个或多个机器学习模型均学习相应的用户特征与多个用户响应之间的关系。在一些实施例中,可以通过以下方式构建每个机器学习模型:对于一个或多个用户特征中的每个用户特征,基于多个直方图构建多个单特征浅树;以及将多个单特征浅树聚合为与该用户特征相对应的单特征机器学习模型。在一些实施例中,可以将这些单特征机器学习模型整合为广义线性模型(例如,通过线性聚合单特征机器学习模型)。例如,如前所述,可以通过如公式(1)所示的多个形状函数(单特征机器学习模型)来构建GAM(或广义线性模型)。
在一些实施例中,应用组件128可以被配置为将多个单机器学习模型(例如,以用于回归或分类的整合的广义线性模型的形式)部署到实际应用中。一个示例性应用可以是个性化或定制,以基于个人用户的各种特征来定制服务或产品。例如,可以针对不同用户来个性化UI设计,可以基于个人用户特征和/或历史来进行个性化推荐,可以基于个体级的特征来生成更准确的预测等等。在图6中,详细描述了经训练的GAM的实际应用。
图2示出了根据一些实施例的用于高效训练GAM的示例性方法的示图。训练过程可以从获得训练数据210开始。以电子商务平台为例,用于训练GAM以了解用户行为的训练数据210可以包括平台与用户之间的历史交互。每个交互可以包括提供给用户的产品或服务(例如,具有特定配置)以及用户响应。这些历史交互可以由平台收集并存储为历史数据记录。为简单起见,在以下描述中,令
Figure BDA0003196488370000111
表示大小为N的多个历史数据记录,其中,i为第i数据记录的索引,xi=(xi1,...,xip)是指具有p个特征(例如,与第i数据记录相关联的用户特征)的特征向量,以及yi可以指用户响应;然后令x=(x1,...,xp)表示p个用户特征。此外,假设每个数据点都可以具有权重wi
在一些实施例中,可以从收集的训练数据210中采样出多个训练数据集220A和220B。通过从收集的训练数据210中无替换采样(子装袋),训练数据集220A和220B均可以在其中包括唯一的数据记录。在一些实施例中,训练数据210的数量可以是有限的,并且训练数据集220A和220B各自的数据记录的数量可以为训练数据的一半以上。因此,训练数据集220A和220B可以具有一个或多个重叠的数据记录。
在一些实施例中,在采样出多个训练数据集220A和220B之后,可以基于多个训练数据集220A和220B分别生成多个直方图230A和230B。直方图为数值数据分布的近似表示,通常是将值的某个范围放入“容器(bin)”(或“桶(bucket)”)中(例如,将值的整个范围划分为一系列区间),然后对落入每个区间的值的数量进行计数。在此,“值”可以指与训练数据集中的每个历史数据记录相关联的属性,并且根据实际应用可以具有不同的实际含义。在一些实施例中,基于训练数据集生成直方图可以涉及针对训练数据集中的数据记录生成数据点。例如,针对数据记录生成数据点可以涉及扫描训练数据210以获得数据记录。
在一些实施例中,多个直方图230A和230B可以顺序地生成并且重用一些先前的数据点以减少总体计算成本。例如,如果训练数据集220A和220B具有一个或多个重叠的数据记录,则在生成训练数据集220A的第一直方图之后,可以通过重用与一个或多个重叠的数据记录相对应的数据点(步骤231)来加速训练数据集220B的第二直方图的生成。通过这样做,可以避免重复扫描这些重叠的数据记录的成本,并且可以提高整体训练效率。此外,由于直方图的生成是有顺序的,因此这些直方图230A和230B的生成顺序可能会直接影响训练效率的提高程度。在一些实施例中,可以以最大化相邻训练数据集220A和220B之间的重叠的方式对多个训练数据集进行划分和排列。在图4中可以找到关于如何对训练数据集进行划分和排列的详细描述。
在一些实施例中,可以基于多个直方图230A和230B来训练多个弱机器学习模型240。在此,“弱”机器学习模型240可以指单特征决策树,每个决策树都专注于一个单用户特征。例如,这种单特征决策树专注于学习用户特征与用户响应(或单一特征的影响)之间的潜在关系。在一些实施例中,对于p个用户特征x=(x1,...,xp)中的一个用户特征,可以从多个直方图230A和230B的每个中构建一个或多个单特征浅树,并且得到的多个单特征浅树可以聚合为与用户特征相对应的单特征决策树。
在一些实施例中,多个弱机器学习模型240可以被整合广义线性模型,以基于一个或多个用户特征来预测用户响应。由于在此过程中的训练数据集是利用子装袋采样出的,因此在以下描述中,广义线性模型可以称为子袋装整合250。这种子袋装整合可以部署在回归应用或分类应用中。例如,由于子袋装整合可以基于用户特征来预测用户响应,因此可以相应地个性化服务或产品配置以提高用户满意度或合适的关键性能指标(KPI)。
图3示出了根据一些实施例的用于训练GAM的示例性方法。图3中示出的方法包括:利用在现有的训练机制中使用的循环梯度提升和自举聚合(装袋)来训练GAM。解释现有机制的目的是更好地理解利用子样本聚合(子装袋)改进的方法。循环梯度提升和自举聚合遵循多个加性回归树(MART)算法的一种变体,旨在寻找函数F=∑jfj,其中,F为整合,fj为形状函数(例如,单特征浅树),以最小化公式(2)中所示的目标函数:
L(y,F(x)) (2)
其中,y为观察(例如,用户响应),并且L(.,.)为非负凸损失函数。平方损失L可用于回归问题并且逻辑损失L可用于二元分类问题。
在图3中,算法1和算法2分别概括了回归和分类问题的优化过程。两种算法都始于对于p个用户特征中的每个,初始化形状函数fj,然后创建大小为B的训练数据集Sb。在每个提升阶段(pass)中,遍历所有p个用户特征以在函数空间中构建(伪)残差ri关于特征j的负梯度。对于回归问题,残差ri等效于yi-F(Xi)。对于分类问题,残差ri等效于yi-pi,其中,pi=(1/(1+exp(-F(xi))。然后,两种算法都会继续进行自举聚合(装袋)并在每个训练数据集Sb上拟合树(第6-7行)。对于分类问题,可以添加一个额外的Newton-Raphson步骤来更新对回归树的叶子的预测(第8行)。两种算法的最后一步都涉及将学习率v应用到袋装整合并更新形状函数fj
对于实际实现,上述算法中的回归树可以指单特征回归树。建立这样的单特征回归树等效于在一条线上切割。线切割的基本统计是直方图。图3中的算法3概括了用于MART算法的直方图的构建。令H(j)(v).r和H(j)(v).w分别表示用户响应的加权和(一阶信息)和xj=v时的权重的加权和,其中,v=xij是指第j个特征向量中的第i个特征。为了简化算法2中的Newton-Raphson步骤,令H(j)(v).h表示对于xj=v,|ri|(1-|ri|)的加权和(二阶信息)。线切割比标准回归树更高效,因为直方图只需要构建一次,而不是在标准回归树中拆分之后每次都重构直方图。
图3中的图300示出了在大小为5的直方图上的示例性线切割。线切割的结果可能是如图所示的单特征浅树。示例性用户特征表示为xj,并且基于大小为5的直方图构建的单特征浅树包括三个内部节点和四个叶子节点。每个内部节点是指对用户特征xj的测试。例如,如果xj小于2.5,则树转到左分支,如果xj大于1.5,则结果(例如,类标签)是指直方图中的第二数据点。
图4示出了根据一些实施例的用于高效地构建直方图的示例性方法的示图。如上所述,直方图是基于从多个历史数据记录中无替换采样(子装袋)出的训练数据集构建的。通过使用无替换采样,每个训练数据集包含唯一的历史数据记录,并且某些训练数据集可能具有重叠的历史数据记录。在构建直方图的过程中,与重叠的历史数据记录相关联的计算成本仅限于一次性扫描。即,对于第一训练数据集和第二训练数据集中的重叠的历史数据记录,在第一训练数据集的第一直方图的构建期间针对重叠的历史数据记录生成的数据点可以在第二个训练数据集的第二直方图的构建中重用。
如图4的部分“(1)直方图构建”中所示,第一训练数据集410包括以下历史数据记录:记录1、记录2、记录3和记录4;第二训练数据集420包括以下历史数据记录:记录1、记录3、记录5和记录6。当基于第一训练数据集410构建第一直方图412时,可以针对每个历史数据记录对训练数据超集(例如,所有历史数据记录)进行一次扫描以生成相应的数据点。为了简单起见,将第一训练数据集410中的历史数据记录的数据点标记为1、2、3和4。在构建第一直方图412之后,可以基于第一直方图412训练相应的单特征浅树414。
当构建与第二训练数据集420相对应的第二直方图422时,不必针对第二训练数据集420中的每个历史数据记录扫描训练数据超集。在一些实施例中,第二直方图422的构建可以包括:识别在第一训练数据集410中但不在第二训练数据集420中的一个或多个第一历史数据记录,以及在第二训练数据集420中但不在第一训练数据集410中的一个或多个第二历史数据记录;以及通过去除与所述一个或多个第一历史数据记录对应的一个或多个数据点,并添加与所述一个或多个第二历史数据记录对应的一个或多个数据点,来生成第二直方图422。与重叠的历史数据记录相对应的数据点可以直接重用。在一些实施例中,去除与第一历史数据记录对应的数据点也不需要昂贵的对训练数据超集的扫描。结果,构建第二直方图422的成本仅包括针对在第二训练数据集420中但不在第一训练数据集410中的每个历史数据记录扫描训练数据超集。如图4所示,包括-2、-4、+5、+6的框416中列出了从第一直方图412到第二直方图422所需的操作。这些操作指示,为了构建第二直方图422,需要去除第一直方图412中的数据点2和4,需要扫描新的数据点5和6,并且第一直方图412中的所有其他数据点可以在第二直方图422中被直接重用。
由于效率提高是节省相邻训练数据集之间重叠的历史数据记录的计算成本的结果,因此训练数据集的处理顺序(例如,生成相应的直方图)可能会直接影响提高的程度。在一些实施例中,为了最大程度地提高效率,可以以最小化用于生成多个直方图的计算成本的方式对训练数据集进行排序和排列。一种示例性方法可以包括:构建全连接图,该完全连接图包括与多个训练数据集相对应的多个节点和多条边,其中,多条边中的每条边连接两个训练数据集并且与权重相关联,该权重与属于两个训练数据集之一但不在它们的交集中的历史数据记录的数量有关;确定全连接图的最小生成树,其中,所述最小生成树包括所述多条边的子集,所述子集以最小的总边权重连接所述多个节点;以及基于最小生成树对多个训练数据集进行排序。
在图4的部分“(2)对用于直方图构建的训练数据集进行排序”中,出于说明目的,示出了五个训练数据集S1至S5。为了最小化构建五个相应直方图的总成本,可以首先构建包含五个训练数据集的全连接树430。全连接树430包括每两个训练数据集之间的边。每条边与表示从一个训练数据集转变到另一训练数据集的成本的权重相关联。利用此全连接树430,成本最小化问题可等同于在全连接树430中找到最小生成树440。该步骤可以用各种算法来实现。一旦计算出最小生成树440,就可以对训练数据集进行排序和排列,从而可以以相同的顺序来构建直方图。在一些实施例中,可以选择来自最小生成树440的节点作为起点,并且可以执行广度优先搜索(BFS)以生成排序。如图4所示,排序450表示为具有两个字段的数据结构:O.start和O.end,分别表示用于开始训练数据集和目标训练数据集的向量。
在图4中示出了概括用于计算子装袋排序的整体流程。例如,对于两个训练数据集Si和Sj,Si的直方图表示为Hi,Sj的直方图表示为Hj,将Hi转变为Hj的成本可以表示为|Si∪Sj|-2|Si∩Sj|,其中,∪代表合并操作符,∩代表交集操作符。成本可以进一步分解为两个部分:
Figure BDA0003196488370000161
(要添加到Hi的数据点),以及
Figure BDA0003196488370000171
(要从Hi删除的数据点)。算法4的第5行是指构建最小生成树的步骤,第6行是指随机选择训练数据集作为起点(用于生成直方图)的步骤,第7行是指用于确定子装袋排序的BFS步骤。
图5示出了根据一些实施例的用于以提高的效率来训练GAM的示例性方法的示图。对于分类问题,LogitBoost可能会产生比MART更准确的模型。主要区别在于,MART使用一阶信息来使树生长,使用二阶信息来计算叶子值,而LogitBoost使用二阶信息来完成这两种操作。由于这个原因,一些实施例在分类问题上使用LogitBoost与上述高效训练方法进行GAM拟合,以进一步提高效率。示例被示出为图5中的算法5和6,其中,算法5概括了利用LogitBoost进行二元分类的GAM训练,算法6概括了构建直方图的相应步骤。
算法5和算法2之间的主要区别在于(1)训练了鲁棒型回归树,并且(2)避免了算法2中的Newton-Raphson步骤。鲁棒型回归树是LogitBoost中的数值稳定实现。在一些实施例中,可以使用鲁棒型线切割过程以获得更好的效率。与算法1和2相似,直方图仍然是构建回归模型所必需的关键统计。
图5中的算法6描述了用于在鲁棒型线切割中建立直方图的示例性方法。在算法6中,未使用响应的加权和,因为每个点的权重已设置为pi(1-pi)(算法5中的第6行)。在计算叶子值时,可以直接获得二阶信息,而无需执行算法2中的Newton-Raphson步骤。
图6示出了根据一些实施例的高效训练GAM的示例性应用。该示例性应用涉及自动在线财务助手,其为用户提供全生命周期财务服务。该助手可以是聊天机器人、移动应用、网页、用户界面的另一合适形式或它们的任意组合的形式。以下描述以带有聊天机器人的移动应用为例。为了进一步简化描述,提供了几种假设:应用中有两个主要条目610(a)和610(b),它们可以触发该应用的聊天机器人的对话流610(c)。第一条目610(a)在总资产页面上。当金融产品即将到期时,框612中的消息将通知用户。在第二条目610(b)中,框614包括可点击图标。每当用户单击这两个条目中的框区域时,该用户就会被重定向进入对话流,如610(c)所示。620中示出了用户通过聊天机器人可能经历的更完整的交互流。610(c)中的“Overview(概览)”616示出了接近成熟的金融产品的细节。610(c)中的“Auto Renew(自动续签)”和“not now(现在不续签)”是用户选择的两个选项。如果用户决定现在不续签,则平台将通过询问用户是否愿意在同类别中寻找低风险产品或尝试其他资产来尝试留住该用户。经验转变概率显示在620的边上。由于用户可以在任何阶段放弃(例如,退出应用或取消交互),因此引出的边可能不一定总和为1。
在没有个性化的情况下,所有用户将从“Overview”开始,这对于有特殊需求的用户来说,从头开始经历整个流程可能是乏味的。因此,高效地训练的GAM可能很容易找到全局解释,以便从数据中获得见解(例如,具有特定特征的用户倾向于相对于一个条目而言更喜欢另一条目),从而该平台可以在对话框中为不同用户提供不同条目。
在一些实施例中,高效的GAM训练可以从收集历史数据记录开始。在这种情况下,可以在一段时间内收集与平台交互的用户的日志。可以研究多个用户特征。在该示例中,用户特征可以包括与用户、用户的产品、用户的历史行为、市场特征以及其他合适的特征有关的各种特征。一些示例性特征包括用户投资组合特征(例如,共同基金的数量)、页面级特征(例如,3天内对新闻页面的点击次数)、区域级特征(例如,15天内对账户位置的点击次数)、收益/损失特征(例如,7天内的总收益或共同基金)、用户交易行为特征(例如,30天内的交易数量)、市场级特征(例如,7天内的积极事件数量)、促销特征(例如,是否兑换了优惠券),用户个人资料特征(例如,受教育程度)。
在一些实施例中,可以针对平台感兴趣的不同场景来训练不同的GAM。示例性场景可以包括以下用户选择:“renew”与“not now and drop(现在不续签并放弃)”之间、“renew”与“not now”之间、“find lower-risk products(查找低风险产品)”与“not nowand drop”之间、“try other assets(尝试其他资产)”与“not now and drop”之间。对于每个场景,可以收集多个用户交互,其可以包括正样本(例如,选择第一用户选项的交互)和负样本(例如,选择第二用户选项的交互)。对于每个场景,上述高效GAM训练方法(子装袋和LogitBoost)可应用于基于历史数据找到全局解释。例如,可以通过避免扫描不同训练数据集或样本之间的重叠历史数据记录来加速直方图的构建。在一些实施例中,可以针对每个用户特征来训练单特征机器学习模型(也称为浅树、弱学习器或形状函数),以解释场景中特征与用户响应之间的关系(例如,用户的受教育程度与其购买特定金融产品的选择之间的关系)。
在一些实施例中,可以基于由高效地训练的GAM提供的全局解释来开发各种个性化策略。例如,对于具有高账户余额的用户,对话可以直接从“Find Lower-Risk Products”开始,条目1 610(a)可显示“Let us find lower-risk financial products for you(让我们为您查找低风险金融产品)”。作为另一示例,对于经常访问不同共同基金的信息页面的用户,对话可以直接从“Try Other Assets”开始,因此,条目1 610(a)可显示消息“Doyou want to find other assets?(您要查找其他资产吗?)”。作为又一示例,对于在账户位置页面上点击很少的用户,可以跳过“Overview”状态,并且可以直接询问用户是否续签产品。因此,条目1 610(a)可显示“Do you want to renew your financial product?(您想续签您的金融产品吗?)”。这样,不同用户可以接收具有基于用户特征确定的不同消息(链接到不同服务)的个性化用户界面。
除了上述用于提供个性化服务(例如,用户界面)的用例之外,高效训练GAM的方法可以应用于涉及用户与系统交互的其他场景。例如,在风险检测或风险评估系统中,用户(包括用户请求、用户动作、用户个人资料等)可以与多个特征相关联,并且系统可以训练GAM学习多个特征与风险水平之间的关系,从而提供更准确的风险评估。作为另一示例,拼车或打车平台中的骑手和驾驶员可能与各种特征相关联,该平台可以训练GAM来学习各种特征与骑手/驾驶员的喜好之间的关系,从而提供更准确的服务(例如,订单分派、路线推荐、激励等)。
图7示出了根据一些实施例的用于确定路由的示例性方法700。方法700可由图1中所示的计算系统120实施,并对应于图1至图6中示出的实施例。根据实施方式,该方法可以具有附加的、较少的或替代的步骤。
框710包括通过多次无替换采样来从多个历史数据记录获得多个训练数据集,多个历史数据记录中的每个包括一个或多个用户特征以及用户响应,其中,多个训练数据集包括具有一个或多个重叠的历史数据记录的第一训练数据集和第二训练数据集。在一些实施例中,通过多次无替换采样来从多个历史数据记录获得多个训练数据集,包括:随机排列多个历史数据记录;从多个随机排列的历史数据记录中无替换采样出第一训练数据集;随机重排多个历史数据记录;以及从多个随机重排的历史数据记录中无替换采样出第二训练数据集。在一些实施例中,第一训练数据集和第二训练数据集的大小相等,并且各自包括多个历史数据记录的一半以上。
框720包括生成分别与多个训练数据集相对应的多个直方图,其中,第二训练数据集的直方图重用第一训练数据集的直方图中与一个或多个重叠的历史数据记录相对应的一个或多个数据点。在一些实施例中,生成分别与多个训练数据集相对应的多个直方图包括:基于第一训练数据集生成第一直方图;识别在第一训练数据集中但不在第二训练数据集中的一个或多个第一历史数据记录,以及在第二训练数据集中但不在第一训练数据集中的一个或多个第二历史数据记录;以及通过去除与所述一个或多个第一历史数据记录相对应的一个或多个数据点并添加与所述一个或多个第二历史数据记录相对应的一个或多个数据点,基于第一直方图生成第二直方图。
框730包括基于多个直方图来训练与一个或多个用户特征相对应的一个或多个机器学习模型,其中,一个或多个机器学习模型中的每个学习相应的用户特征与多个用户响应之间的关系。在一些实施例中,基于多个直方图来训练与一个或多个用户特征相对应的一个或多个机器学习模型包括:对于一个或多个用户特征中的每个,基于多个直方图构建多个单特征浅树;以及将多个单特征浅树聚合为与该用户特征相对应的单特征机器学习模型。在一些实施例中,一个或多个机器学习模型包括一个或多个回归模型或者一个或多个分类模型。
框740包括基于一个或多个机器学习模型来提供个性化。在一些实施例中,个性化包括:个性化产品或服务配置、基于个人的一个或多个特征的个体级预测或其他合适的个性化。
在一些实施例中,方法700还可以包括:将一个或多个机器学习模型整合为广义线性模型,以基于一个或多个用户特征来预测用户响应;其中,基于一个或多个机器学习模型来提供个性化包括:基于广义线性模型来提供个性化。
在一些实施例中,方法700还可以包括通过以下步骤对多个训练数据集进行排序以最小化生成多个直方图的计算成本:构建包括与多个训练数据集相对应的多个节点和多条边的全连接图,其中,多条边中的每条连接两个训练数据集并与权重相关联,该权重与属于两个训练数据集之一但不在它们的交集中的历史数据记录的数量有关;确定全连接图的最小生成树,其中,所述最小生成树包括所述多条边的子集,所述子集以最小的总边权重连接所述多个节点;基于最小生成树对多个训练数据集进行排序。在一些实施例中,基于最小生成树对多个训练数据集进行排序包括:从最小生成树中选择节点作为起点;执行广度优先搜索(BFS)以确定最小生成树中多个节点的处理顺序;基于最小生成树中多个节点的处理顺序对多个训练数据集进行排序。
图8示出了根据一些实施例的用于训练和应用可解释机器学习模型的计算机系统800的框图。下面呈现的计算机系统800的组件旨在说明。取决于实施方式,计算机系统800可以包括附加的、更少的或替代的组件。
该计算机系统可以是图1至图7所示的系统、操作、方法的示例性实施方式。计算机系统800可以包括一个或多个处理器以及一个或多个非暂时性计算机可读存储介质(例如,一个或多个存储器),所述非暂时性计算机可读存储介质耦合到一个或多个处理器并配置有可由一个或多个处理器执行以促使系统或设备(例如,处理器)执行上述方法,例如方法700的指令。计算机系统800可以包括与指令(例如,软件指令)相对应的各种单元/模块。
在一些实施例中,计算机系统800可以被称为用于训练和应用诸如GAM的可解释机器学习模型的装置。该装置可以包括训练样本获得模块810、直方图生成模块820、模型训练模块830和应用模块840。在一些实施例中,训练样本获得模块810可以通过多次无替换采样来从多个历史数据记录获得多个训练数据集,多个历史数据记录中的每个包括一个或多个用户特征以及用户响应,其中,多个训练数据集包括具有一个或多个重叠的历史数据记录的第一训练数据集和第二训练数据集。在一些实施例中,直方图生成模块820可以生成分别与多个训练数据集相对应的多个直方图,其中,第二训练数据集的直方图重用第一个训练数据集的直方图中与一个或多个重叠的历史数据记录相对应的一个或多个数据点。在一些实施例中,模型训练模块830可以基于多个直方图来训练与一个或多个用户特征相对应的一个或多个机器学习模型,其中,一个或多个机器学习模型中的每个学习相应的用户特征与多个用户响应之间的关系。在一些实施例中,应用模块840可以基于一个或多个机器学习模型来提供个性化(诸如商品、服务、预测)。
图9示出了可以实现本文描述的任何实施例的计算机系统900的框图。系统900可以在图1至图8所示的环境、系统或方法的任何组件中实现。图1至图8中示出的示例性方法中的一个或多个可以通过计算机系统900的一个或多个实施方式来执行。
计算机系统900可以包括用于通信信息的总线902或其他通信机制、与总线902耦合以处理信息的一个或多个硬件处理器904。硬件处理器904可以是例如一个或多个通用微处理器。
计算机系统900还可以包括耦合到总线902、用于存储可由处理器904执行的信息和指令的主存储器906,例如随机存取存储器(RAM)、高速缓存和/或其他动态存储设备。主存储器906还可以用于在执行可由处理器904执行的指令期间存储临时变量或其他中间信息。当这些指令存储在处理器904可访问的存储介质中时,这些指令将计算机系统900呈现为被定制以执行指令中指定的操作的专用机器。计算机系统900还可以包括耦合到总线902、用于存储处理器904的静态信息和指令的只读存储器(ROM)908或其他静态存储设备。诸如磁盘、光盘或USB拇指驱动器(闪存驱动器)等的存储设备910可以被提供并被耦合到总线902以存储信息和指令。
计算机系统900可以使用与计算机系统相结合使得计算机系统900成为专用机器或将计算机系统700编程为专用机器的定制硬连线逻辑、一个或多个ASIC或FPGA、固件和/或程序逻辑实现本文所述的技术。根据一个实施例,这里描述的操作、方法和处理由计算机系统900响应于处理器904执行主存储器906中包含的一个或多个指令的一个或多个序列而执行。这些指令可以从例如存储设备910的另一存储介质读入主存储器906。主存储器906中包含的指令序列的执行可以促使处理器904执行这里描述的处理步骤。在替代的实施例中,可以使用硬接线电路代替软件指令或与软件指令结合使用。
主存储器906、ROM 908和/或存储设备910可包括非暂时性存储介质。术语“非暂态介质”和类似术语,在本文中使用时,是指存储使机器以特定方式运行的数据和/或指令的介质,所述介质不包括暂态信号。这种非暂态介质可包括非易失性介质和/或易失性介质。非易失性介质包括例如光盘或磁盘,例如存储设备910。易失性介质包括动态存储器,例如主存储器906。非暂态介质的常见形式包括例如软盘、软磁盘、硬盘、固态驱动器、磁带或任何其他磁数据存储介质、CD-ROM、任何其他光学数据存储介质、具有孔图案的任何物理介质、RAM、PROM和EPROM、FLASH-EPROM、NVRAM、任何其他存储芯片或内存盒、以及他们的网络版本。
计算机系统900还可以包括耦合到总线902的网络接口918。网络接口918可以提供耦合到一个或多个网络链路的双向数据通信,所述一个或多个网络链路连接到一个或多个本地网络。例如,网络接口918可以是综合业务数字网(ISDN)卡、电缆调制解调器、卫星调制解调器或调制解调器,以提供与相应类型的电话线的数据通信连接。作为另一示例,网络接口918可以是局域网(LAN)卡,以提供与兼容LAN(或WAN组件以与WAN通信)的数据通信连接。也可以实现无线链接。在任何这样的实施方式中,网络接口918可以发送和接收携带表示各种类型的信息的数字数据流的电信号、电磁信号或光信号。
计算机系统900可以通过网络、网络链路和网络接口918发送消息和接收数据,包括程序代码。在互联网示例中,服务器可以通过互联网、ISP、本地网络和网络接口918发送用于应用程序的请求代码。
所接收的代码当被接收时可以由处理器904执行,和/或存储在存储设备910或其他非易失性存储器中以用于稍后执行。
上述部分所述的每个过程、方法和算法可以被包含在代码模块中并全部或部分由代码模块自动执行,所述代码模块由包括计算机硬件的一个或多个计算机系统或者计算机处理器执行。所述处理和算法可以部分地或全部地在专用电路中实现。
上述各种特征和处理可彼此独立地使用,或者可以各种方式组合。所有可能的组合和子组合均应落入本文的范围内。此外,在一些实施方式中可以省略某些方法或过程块。本文所述的方法和过程也不限于任何特定的顺序,与其相关的块或状态可以以适当的其他顺序执行。例如,所述块或状态可以以不同于具体公开的顺序执行,或者多个块或状态可以组合成单个块或状态。块或状态的示例可以串行、并行或以一些其他方式执行。块或状态可被添加到所公开实施例或从所公开实施例移除。本文所述的系统和组件的示例可以被配置为不同于所描述的。例如,与所公开的实施例相比,可以将元件添加、移除或重新排列。
本文所述的方法的各种操作可由临时配置(例如,通过软件)或永久配置以执行相关操作的一个或多个处理器至少部分地执行。无论临时配置或永久配置,这些处理器可以构成处理器实现的引擎,其操作以执行本文所述的一个或多个操作或功能。
类似地,本文所述的方法可以至少部分为处理器实施,一个或多个特定处理器是硬件的示例。例如,方法的至少一些操作可以由一个或多个处理器实现的引擎执行。此外,一个或多个处理器还可以操作以支持“云计算”环境中的相关操作的性能或作为“软件即服务”(SaaS)。例如,至少一些操作可以由一组计算机(例如,包括处理器的机器)执行,这些操作通过网络(例如,互联网)和一个或多个适当的接口(例如,应用编程接口(API))可访问。
某些操作的性能可以分布在处理器之间,不仅驻留在单个机器内,而且部署在多台机器上。在一些实施例中,处理器或处理器实现的引擎可以位于单个地理位置(例如,在家庭环境、办公室环境或服务器场中)。在其他实施例中,处理器或处理器实现的引擎可以分布在多个地理位置上。
在本文中,多个实例可以实现描述为单个实例的组件、操作或结构。虽然一种或多种方法的单个操作被示出并描述为单独的操作,但是一个或多个单个操作可以同时执行,而不需要按照所示的顺序执行操作。在配置中作为单独组件呈现的结构和功能可以作为组合结构或组件实现。同样,作为单个组件呈现的结构和功能可以作为单独的组件实现。这些和其他变更、修改、添加和改进落入本文主题的范围内。
尽管已经参考具体实施例描述了主题的概述,但是在不脱离本文的实施例的较宽范围的情况下,可以对这些实施例进行各种修改和改变。详细说明不应以限制性的意义来理解,各种实施方案的范围仅由所附的权利要求以及这些权利要求的主题等同的全部范围来限定。此外,本文中使用的相关术语(诸如“第一”、“第二”、“第三”等)不表示任何顺序、高度或重要性,而是被用于区分一个元件和另一元件。此外,术语“一个”和“多个”在本文中不表示数量限制,而是表示至少一种所述物品的存在。

Claims (20)

1.一种计算机实现的方法,包括:
通过多次无替换采样来从多个历史数据记录获得多个训练数据集,所述多个历史数据记录中的每个历史数据记录包括一个或多个用户特征以及用户响应,其中,所述多个训练数据集包括具有一个或多个重叠的历史数据记录的第一训练数据集和第二训练数据集;
生成分别与所述多个训练数据集相对应的多个直方图,其中,所述第二训练数据集的直方图重用所述第一训练数据集的直方图中与所述一个或多个重叠的历史数据记录相对应的一个或多个数据点;
基于所述多个直方图,来训练与所述一个或多个用户特征相对应的一个或多个机器学习模型,其中,所述一个或多个机器学习模型中的每个机器学习模型学习相应的用户特征与多个用户响应之间的关系;以及
基于所述一个或多个机器学习模型来提供个性化。
2.根据权利要求1所述的方法,还包括:
将所述一个或多个机器学习模型整合为广义线性模型,以基于所述一个或多个用户特征来预测用户响应;
其中,基于所述一个或多个机器学习模型来提供个性化包括:
基于所述广义线性模型来提供个性化。
3.根据权利要求1所述的方法,其中,通过多次无替换采样来从所述多个历史数据记录获得所述多个训练数据集,包括:
随机排列所述多个历史数据记录;
从所述多个随机排列的历史数据记录中无替换采样出所述第一训练数据集;
随机重排所述多个历史数据记录;以及
从所述多个随机重排的历史数据记录中无替换采样出所述第二训练数据集。
4.根据权利要求3所述的方法,其中,所述第一训练数据集和所述第二训练数据集大小相等,并且各自包括所述多个历史数据记录的一半以上。
5.根据权利要求1所述的方法,其中,生成分别与所述多个训练数据集相对应的多个直方图,包括:
基于所述第一训练数据集生成第一直方图;
识别在所述第一训练数据集中但不在所述第二训练数据集中的一个或多个第一历史数据记录,以及在所述第二训练数据集中但不在所述第一训练数据集中的一个或多个第二历史数据记录;以及
通过去除与所述一个或多个第一历史数据记录相对应的一个或多个数据点并添加与所述一个或多个第二历史数据记录相对应的一个或多个数据点,基于所述第一直方图生成第二直方图。
6.根据权利要求1所述的方法,其中,基于所述多个直方图来训练与一个或多个用户特征相对应的一个或多个机器学习模型,包括:
对于所述一个或多个用户特征中的每个用户特征,基于所述多个直方图构建多个单特征浅树;以及
将所述多个单特征浅树聚合为与该用户特征相对应的单特征机器学习模型。
7.根据权利要求1所述的方法,其中,所述一个或多个机器学习模型包括一个或多个回归模型或者一个或多个分类模型。
8.根据权利要求1所述的方法,还包括:
对所述多个训练数据集进行排序以最小化用于生成所述多个直方图的计算成本。
9.根据权利要求8所述的方法,其中,对所述多个训练数据集进行排序,包括:
构建包括与所述多个训练数据集相对应的多个节点和多条边的全连接图,其中,所述多条边中的每条边连接两个训练数据集并与权重相关联,该权重与属于所述两个训练数据集之一但不在它们的交集中的历史数据记录的数量有关;
确定所述全连接图的最小生成树,其中,所述最小生成树包括所述多条边的子集,所述子集以最小的总边权重连接所述多个节点;以及
基于所述最小生成树对所述多个训练数据集进行排序。
10.根据权利要求9所述的方法,其中,基于所述最小生成树对所述多个训练数据集进行排序,包括:
从所述最小生成树选择节点作为起点;
执行广度优先搜索BFS以确定所述最小生成树中所述多个节点的处理顺序;以及
基于所述最小生成树中所述多个节点的处理顺序对所述多个训练数据集进行排序。
11.根据权利要求1所述的方法,其中,所述个性化包括个性化产品或服务配置。
12.根据权利要求1所述的方法,其中,所述个性化包括基于个体的所述一个或多个特征的个体级预测。
13.一种系统,包括一个或多个处理器以及一个或多个非暂时性计算机可读存储器,所述存储器耦接到所述一个或多个处理器并配置有能够由所述一个或多个处理器执行以使所述系统执行包括以下的操作的指令:
通过多次无替换采样来从多个历史数据记录获得多个训练数据集,所述多个历史数据记录中的每个历史数据记录包括一个或多个用户特征以及用户响应,其中,所述多个训练数据集包括具有一个或多个重叠的历史数据记录的第一训练数据集和第二训练数据集;
生成分别与所述多个训练数据集相对应的多个直方图,其中,所述第二训练数据集的直方图重用所述第一训练数据集的直方图中与所述一个或多个重叠的历史数据记录相对应的一个或多个数据点;
基于所述多个直方图,来训练与所述一个或多个用户特征相对应的一个或多个机器学习模型,其中,所述一个或多个机器学习模型中的每个机器学习模型学习相应的用户特征与多个用户响应之间的关系;以及
基于所述一个或多个机器学习模型来提供个性化。
14.根据权利要求13所述的系统,其中,所述操作还包括:
将所述一个或多个机器学习模型整合为广义线性模型,以基于所述一个或多个用户特征来预测用户响应;以及
其中,基于所述一个或多个机器学习模型来提供个性化包括:
基于所述广义线性模型来提供个性化。
15.根据权利要求13所述的系统,其中,生成分别与所述多个训练数据集相对应的多个直方图,包括:
基于所述第一训练数据集生成第一直方图;
识别在所述第一训练数据集中但不在所述第二训练数据集中的一个或多个第一历史数据记录,以及在所述第二训练数据集中但不在所述第一训练数据集中的一个或多个第二历史数据记录;以及
通过去除与所述一个或多个第一历史数据记录相对应的一个或多个数据点并添加与所述一个或多个第二历史数据记录相对应的一个或多个数据点,基于所述第一直方图生成第二直方图。
16.根据权利要求13所述的系统,其中,所述操作还包括通过以下对所述多个训练数据集进行排序,以最小化用于生成所述多个直方图的计算成本:
构建包括与所述多个训练数据集相对应的多个节点和多条边的全连接图,其中,所述多条边中的每条边连接两个训练数据集并与权重相关联,该权重与属于所述两个训练数据集之一但不在它们的交集中的历史数据记录的数量有关;
确定所述全连接图的最小生成树,其中,所述最小生成树包括所述多条边的子集,所述子集以最小的总边权重连接所述多个节点;以及
基于所述最小生成树对所述多个训练数据集进行排序。
17.一种非暂时性计算机可读存储介质,配置有能够由一个或多个处理器执行以使所述一个或多个处理器执行包括以下的操作的指令:
通过多次无替换采样来从多个历史数据记录获得多个训练数据集,所述多个历史数据记录中的每个历史数据记录包括一个或多个用户特征以及用户响应,其中,所述多个训练数据集包括具有一个或多个重叠的历史数据记录的第一训练数据集和第二训练数据集;
生成分别与所述多个训练数据集相对应的多个直方图,其中,所述第二训练数据集的直方图重用所述第一训练数据集的直方图中与所述一个或多个重叠的历史数据记录相对应的一个或多个数据点;
基于所述多个直方图,来训练与所述一个或多个用户特征相对应的一个或多个机器学习模型,其中,所述一个或多个机器学习模型中的每个机器学习模型学习相应的用户特征与多个用户响应之间的关系;以及
基于所述一个或多个机器学习模型来提供个性化。
18.根据权利要求17所述的非暂时性计算机可读存储介质,其中,生成分别与所述多个训练数据集相对应的多个直方图,包括:
基于所述第一训练数据集生成第一直方图;
识别在所述第一训练数据集中但不在所述第二训练数据集中的一个或多个第一历史数据记录,以及在所述第二训练数据集中但不在所述第一训练数据集中的一个或多个第二历史数据记录;以及
通过去除与所述一个或多个第一历史数据记录相对应的一个或多个数据点并添加与所述一个或多个第二历史数据记录相对应的一个或多个数据点,基于所述第一直方图生成第二直方图。
19.根据权利要求17所述的非暂时性计算机可读存储介质,其中,所述操作还包括,通过以下对所述多个训练数据集进行排序,以最小化用于生成所述多个直方图的计算成本:
构建包括与所述多个训练数据集相对应的多个节点和多条边的全连接图,其中,所述多条边中的每条边连接两个训练数据集并与权重相关联,该权重与属于所述两个训练数据集之一但不在它们的交集中的历史数据记录的数量有关;
确定所述全连接图的最小生成树,其中,所述最小生成树包括所述多条边的子集,所述子集以最小的总边权重连接所述多个节点;以及
基于所述最小生成树对所述多个训练数据集进行排序。
20.根据权利要求17的非暂时性计算机可读存储介质,其中,所述操作还包括:
将所述一个或多个机器学习模型整合为广义线性模型,以基于所述一个或多个用户特征来预测用户响应;以及
其中,基于所述一个或多个机器学习模型来提供个性化包括:
基于所述广义线性模型来提供个性化。
CN202080012634.2A 2020-10-13 2020-10-13 高效地训练可理解模型的系统和方法 Active CN113424207B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2020/120683 WO2022077231A1 (en) 2020-10-13 2020-10-13 System and method for efficiently training intelligible models

Publications (2)

Publication Number Publication Date
CN113424207A true CN113424207A (zh) 2021-09-21
CN113424207B CN113424207B (zh) 2022-05-17

Family

ID=77712094

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202080012634.2A Active CN113424207B (zh) 2020-10-13 2020-10-13 高效地训练可理解模型的系统和方法

Country Status (3)

Country Link
US (1) US20220114499A1 (zh)
CN (1) CN113424207B (zh)
WO (1) WO2022077231A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023100057A1 (en) * 2021-11-30 2023-06-08 International Business Machines Corporation Providing reduced training data for training a machine learning model
DE102022112194A1 (de) 2022-05-16 2023-11-16 Cariad Se Konvertierungsvorrichtung und Verfahren zum Konvertieren eines vorgegebenen Modells eines Maschinellen Lernens in ein vorgegebenes Ausgabeformat sowie zugehörigen computerlesbares Speichermedium

Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150379430A1 (en) * 2014-06-30 2015-12-31 Amazon Technologies, Inc. Efficient duplicate detection for machine learning data sets
CN106407999A (zh) * 2016-08-25 2017-02-15 北京物思创想科技有限公司 结合规则来进行机器学习的方法及系统
CN106663224A (zh) * 2014-06-30 2017-05-10 亚马逊科技公司 用于机器学习模型评估的交互式界面
CN108734297A (zh) * 2017-04-24 2018-11-02 微软技术授权有限责任公司 用于网络传输的电子内容项的性能优化的机器学习推荐系统
US20180374109A1 (en) * 2017-06-26 2018-12-27 Kronos Technology Systems Limited Partnership Using machine learning to predict retail business volume
US20190102675A1 (en) * 2017-09-29 2019-04-04 Coupa Software Incorporated Generating and training machine learning systems using stored training datasets
US20190102693A1 (en) * 2017-09-29 2019-04-04 Facebook, Inc. Optimizing parameters for machine learning models
CN110210626A (zh) * 2019-05-31 2019-09-06 京东城市(北京)数字科技有限公司 数据处理方法、装置和计算机可读存储介质
CN110968887A (zh) * 2018-09-28 2020-04-07 第四范式(北京)技术有限公司 在数据隐私保护下执行机器学习的方法和系统
CN111095330A (zh) * 2017-09-14 2020-05-01 艾玛迪斯简易股份公司 用于预测在线用户交互的机器学习方法和系统
CN111164620A (zh) * 2017-09-28 2020-05-15 甲骨文国际公司 用于自动机器学习模型选择的特定于算法的神经网络体系架构
CN111417975A (zh) * 2020-01-13 2020-07-14 支付宝(杭州)信息技术有限公司 用于个性化优惠的方法和系统

Patent Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150379430A1 (en) * 2014-06-30 2015-12-31 Amazon Technologies, Inc. Efficient duplicate detection for machine learning data sets
CN106663224A (zh) * 2014-06-30 2017-05-10 亚马逊科技公司 用于机器学习模型评估的交互式界面
CN106407999A (zh) * 2016-08-25 2017-02-15 北京物思创想科技有限公司 结合规则来进行机器学习的方法及系统
CN108734297A (zh) * 2017-04-24 2018-11-02 微软技术授权有限责任公司 用于网络传输的电子内容项的性能优化的机器学习推荐系统
US20180374109A1 (en) * 2017-06-26 2018-12-27 Kronos Technology Systems Limited Partnership Using machine learning to predict retail business volume
CN111095330A (zh) * 2017-09-14 2020-05-01 艾玛迪斯简易股份公司 用于预测在线用户交互的机器学习方法和系统
CN111164620A (zh) * 2017-09-28 2020-05-15 甲骨文国际公司 用于自动机器学习模型选择的特定于算法的神经网络体系架构
US20190102675A1 (en) * 2017-09-29 2019-04-04 Coupa Software Incorporated Generating and training machine learning systems using stored training datasets
US20190102693A1 (en) * 2017-09-29 2019-04-04 Facebook, Inc. Optimizing parameters for machine learning models
CN110968887A (zh) * 2018-09-28 2020-04-07 第四范式(北京)技术有限公司 在数据隐私保护下执行机器学习的方法和系统
CN110210626A (zh) * 2019-05-31 2019-09-06 京东城市(北京)数字科技有限公司 数据处理方法、装置和计算机可读存储介质
CN111417975A (zh) * 2020-01-13 2020-07-14 支付宝(杭州)信息技术有限公司 用于个性化优惠的方法和系统

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023100057A1 (en) * 2021-11-30 2023-06-08 International Business Machines Corporation Providing reduced training data for training a machine learning model
US11853392B2 (en) 2021-11-30 2023-12-26 International Business Machines Corporation Providing reduced training data for training a machine learning model
DE102022112194A1 (de) 2022-05-16 2023-11-16 Cariad Se Konvertierungsvorrichtung und Verfahren zum Konvertieren eines vorgegebenen Modells eines Maschinellen Lernens in ein vorgegebenes Ausgabeformat sowie zugehörigen computerlesbares Speichermedium

Also Published As

Publication number Publication date
CN113424207B (zh) 2022-05-17
US20220114499A1 (en) 2022-04-14
WO2022077231A1 (en) 2022-04-21

Similar Documents

Publication Publication Date Title
Shmueli et al. Data mining for business analytics: Concepts, techniques, and applications with XLMiner
Das et al. Hands-On Automated Machine Learning: A beginner's guide to building automated machine learning systems using AutoML and Python
US11038976B2 (en) Utilizing a recommendation system approach to determine electronic communication send times
CN106445988A (zh) 一种大数据的智能处理方法和系统
CN111626832A (zh) 产品推荐方法、装置及计算机设备
US20190080352A1 (en) Segment Extension Based on Lookalike Selection
US11367117B1 (en) Artificial intelligence system for generating network-accessible recommendations with explanatory metadata
CN112148973B (zh) 一种信息推送的数据处理方法及装置
Hodeghatta et al. Business analytics using R-a practical approach
CN113424207B (zh) 高效地训练可理解模型的系统和方法
Arun et al. Big data: review, classification and analysis survey
US11494686B1 (en) Artificial intelligence system for relevance analysis of data stream items using similarity groups and attributes
CN110852785A (zh) 用户分级方法、装置及计算机可读存储介质
CN114387477A (zh) 标签分类模型训练方法、标签分类方法、装置及设备
US20210049665A1 (en) Deep cognitive constrained filtering for product recommendation
CN116127188A (zh) 目标反馈值确定方法、装置、电子设备及存储介质
Viswanathan et al. R data analysis cookbook
Bhuvaneswari et al. Predicting periodical sales of products using a machine learning algorithm
CN113327132A (zh) 多媒体推荐方法、装置、设备及存储介质
CN113469819A (zh) 基金产品的推荐方法、相关装置及计算机存储介质
CN112328899A (zh) 信息处理方法、信息处理装置、存储介质与电子设备
Ghosh et al. Understanding Machine Learning
US11367118B1 (en) Method, system, and manufacture for min-cost flow item recommendations
Mahalle et al. Data-Centric AI
US11941076B1 (en) Intelligent product sequencing for category trees

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant