首页> 中国专利> 生成机器学习样本的组合特征的方法及系统

生成机器学习样本的组合特征的方法及系统

摘要

提供了一种生成机器学习样本的组合特征的方法及系统。所述方法包括:(A)获取数据记录,其中,所述数据记录包括多个属性信息;(B)针对基于所述多个属性信息产生的每一个连续特征,执行至少一种分箱运算,以得到由至少一个分箱特征组成的分箱组特征,其中,每种分箱运算对应一个分箱特征;以及(C)通过在分箱组特征和/或基于所述多个属性信息产生的其他离散特征之间进行特征组合来生成机器学习样本的组合特征。根据所述方法和系统,将获得的分箱组特征与其他特征进行组合,使得组成机器学习样本的组合特征更为有效,从而提升了机器学习模型的效果。

著录项

  • 公开/公告号CN112990486A

    专利类型发明专利

  • 公开/公告日2021-06-18

    原文格式PDF

  • 申请/专利权人 第四范式(北京)技术有限公司;

    申请/专利号CN202110446590.0

  • 申请日2017-07-20

  • 分类号G06N20/00(20190101);G06K9/62(20060101);

  • 代理机构11286 北京铭硕知识产权代理有限公司;

  • 代理人苏银虹;于翔

  • 地址 100085 北京市海淀区清河中街66号院1号楼九层LO901-1号

  • 入库时间 2023-06-19 11:29:13

说明书

本申请是申请日为2017年7月20日、申请号为201710595326.7、题为“生成机器学习样本的组合特征的方法及系统”的专利申请的分案申请。

技术领域

本发明总体说来涉及人工智能领域,更具体地说,涉及一种生成机器学习样本的组合特征的方法及系统。

背景技术

随着海量数据的出现,人工智能技术得到了迅速发展,而为了从大量数据中挖掘出价值,需要基于数据记录来产生适用于机器学习的样本。

这里,每条数据记录可被看做关于一个事件或对象的描述,对应于一个示例或样例。在数据记录中,包括反映事件或对象在某方面的表现或性质的各个事项,这些事项可称为“属性”。

如何将原始数据记录的各个属性转化为机器学习样本的特征,会对机器学习模型的效果带来很大的影响。事实上,机器学习模型的预测效果与模型的选择、可用的数据和特征的提取等有关。也就是说,一方面,可通过改进特征提取方式来提高模型预测效果,反之,如果特征提取不适当,则将导致预测效果的恶化。

然而,在确定特征提取方式的过程中,往往需要技术人员不仅掌握机器学习的知识,还需要对实际预测问题有深入的理解,而预测问题往往结合着不同行业的不同实践经验,导致很难达到满意的效果。特别地,在将连续特征与其他特征进行组合时,一方面,难以从预测效果方面把握将哪些特征进行组合,另一方面,也难以从运算角度方面确定有效的组合方式。综上所述,现有技术中难以将特征进行自动组合。

发明内容

本发明的示例性实施例旨在克服现有技术中难以对机器学习样本的特征进行自动组合的缺陷。

根据本发明的示例性实施例,提供一种生成机器学习样本的组合特征的方法,包括:(A)获取数据记录,其中,所述数据记录包括多个属性信息;(B)针对基于所述多个属性信息产生的每一个连续特征,执行至少一种分箱运算,以得到由至少一个分箱特征组成的分箱组特征,其中,每种分箱运算对应一个分箱特征;以及(C)通过在分箱组特征和/或基于所述多个属性信息产生的其他离散特征之间进行特征组合来生成机器学习样本的组合特征。

可选地,在所述方法中,在步骤(B)之前,还包括:(D)从预定数量的分箱运算中选择所述至少一种分箱运算,使得与选择的分箱运算对应的分箱特征的重要性不低于与未被选择的分箱运算对应的分箱特征的重要性。

可选地,在所述方法中,在步骤(D)中,针对与所述预定数量的分箱运算对应的分箱特征之中的每一个分箱特征,构建单特征机器学习模型,基于各个单特征机器学习模型的效果来确定各个分箱特征的重要性,并基于各个分箱特征的重要性来选择所述至少一种分箱运算,其中,单特征机器学习模型对应所述每一个分箱特征。

可选地,在所述方法中,在步骤(D)中,针对与所述预定数量的分箱运算对应的分箱特征之中的每一个分箱特征,构建复合机器学习模型,基于各个复合机器学习模型的效果来确定各个分箱特征的重要性,并基于各个分箱特征的重要性来选择所述至少一种分箱运算,其中,复合机器学习模型包括基于提升框架的基本子模型和附加子模型,其中,基本子模型对应基本特征子集,附加子模型对应所述每一个分箱特征。

可选地,在所述方法中,根据关于组合特征的搜索策略,按照迭代的方式来生成机器学习样本的组合特征。

可选地,在所述方法中,针对每一轮迭代来执行步骤(D)以更新所述至少一种分箱运算,并且,每一轮迭代中生成的组合特征作为新的离散特征被加入基本特征子集。

可选地,在所述方法中,在步骤(C)中,分箱组特征和/或所述其他离散特征之间按照笛卡尔积进行特征组合。

可选地,在所述方法中,所述至少一种分箱运算分别对应于不同宽度的等宽分箱运算或不同深度的等深分箱运算。

可选地,在所述方法中,所述不同宽度或不同深度在数值上构成等比数列或等差数列。

可选地,在所述方法中,分箱特征指示连续特征按照对应的分箱运算被分到了哪个箱子。

可选地,在所述方法中,所述每一个连续特征由所述多个属性信息之中的连续值属性信息自身形成,或者,所述每一个连续特征通过对所述多个属性信息之中的离散值属性信息进行连续变换而形成。

可选地,在所述方法中,所述连续变换指示对所述离散值属性信息的取值进行统计。

可选地,在所述方法中,通过在固定基本子模型的情况下分别训练附加子模型来构建各个复合机器学习模型。

根据本发明的另一示例性实施例,提供一种生成机器学习样本的组合特征的系统,包括:数据记录获取装置,用于获取数据记录,其中,所述数据记录包括多个属性信息;分箱组特征生成装置,用于针对基于所述多个属性信息产生的每一个连续特征,执行至少一种分箱运算,以得到由至少一个分箱特征组成的分箱组特征,其中,每种分箱运算对应一个分箱特征;以及特征组合装置,用于通过在分箱组特征和/或基于所述多个属性信息产生的其他离散特征之间进行特征组合来生成机器学习样本的组合特征。

可选地,所述系统还包括:分箱运算选择装置,用于从预定数量的分箱运算中选择所述至少一种分箱运算,使得与选择的分箱运算对应的分箱特征的重要性不低于与未被选择的分箱运算对应的分箱特征的重要性。

可选地,在所述系统中,分箱运算选择装置针对与所述预定数量的分箱运算对应的分箱特征之中的每一个分箱特征,构建单特征机器学习模型,基于各个单特征机器学习模型的效果来确定各个分箱特征的重要性,并基于各个分箱特征的重要性来选择所述至少一种分箱运算,其中,单特征机器学习模型对应所述每一个分箱特征。

可选地,在所述系统中,分箱运算选择装置针对与所述预定数量的分箱运算对应的分箱特征之中的每一个分箱特征,构建复合机器学习模型,基于各个复合机器学习模型的效果来确定各个分箱特征的重要性,并基于各个分箱特征的重要性来选择所述至少一种分箱运算,其中,复合机器学习模型包括基于提升框架的基本子模型和附加子模型,其中,基本子模型对应基本特征子集,附加子模型对应所述每一个分箱特征。

可选地,在所述系统中,分箱组特征生成装置根据关于组合特征的搜索策略,按照迭代的方式来生成机器学习样本的组合特征。

可选地,在所述系统中,分箱运算选择装置针对每一轮迭代来重新选择所述至少一种分箱运算,并且,每一轮迭代中生成的组合特征作为新的离散特征被加入基本特征子集。

可选地,在所述系统中,特征组合装置促使分箱组特征和/或所述其他离散特征之间按照笛卡尔积进行特征组合。

可选地,在所述系统中,所述至少一种分箱运算分别对应于不同宽度的等宽分箱运算或不同深度的等深分箱运算。

可选地,在所述系统中,所述不同宽度或不同深度在数值上构成等比数列或等差数列。

可选地,在所述系统中,分箱特征指示连续特征按照对应的分箱运算被分到了哪个箱子。

可选地,在所述系统中,所述每一个连续特征由所述多个属性信息之中的连续值属性信息自身形成,或者,所述每一个连续特征通过对所述多个属性信息之中的离散值属性信息进行连续变换而形成。

可选地,在所述系统中,所述连续变换指示对所述离散值属性信息的取值进行统计。

可选地,在所述系统中,分箱运算选择装置通过在固定基本子模型的情况下分别训练附加子模型来构建各个复合机器学习模型。

根据本发明的另一示例性实施例,提供一种生成机器学习样本的组合特征的计算机可读介质,其中,在所述计算机可读介质上记录有用于执行上述方法的计算机程序。

根据本发明的另一示例性实施例,提供一种生成机器学习样本的组合特征的计算装置,包括存储部件和处理器,其中,存储部件中存储有计算机可执行指令集合,当所述计算机可执行指令集合被所述处理器执行时,执行上述方法。

在根据本发明示例性实施例的生成机器学习样本的组合特征的方法及系统中,针对连续特征,执行一种或多种分箱运算,将获得的分箱组特征与其他特征进行组合,使得组成机器学习样本的组合特征更为有效,从而提升了机器学习模型的效果。

附图说明

从下面结合附图对本发明实施例的详细描述中,本发明的这些和/或其他方面和优点将变得更加清楚并更容易理解,其中:

图1示出根据本发明示例性实施例的生成机器学习样本的组合特征的系统的框图;

图2示出根据本发明示例性实施例的机器学习模型的训练系统的框图;

图3示出根据本发明示例性实施例的机器学习模型的预测系统的框图;

图4示出根据本发明示例性实施例的机器学习模型的训练和预测系统的框图;

图5示出根据本发明另一示例性实施例的生成机器学习样本的组合特征的系统的框图;

图6示出根据本发明示例性实施例的生成机器学习样本的组合特征的方法的流程图;

图7示出根据本发明示例性实施例的用于生成组合特征的搜索策略的示例;

图8示出根据本发明示例性实施例的机器学习模型的训练方法的流程图;

图9示出根据本发明示例性实施例的机器学习模型的预测方法的流程图;以及

图10示出根据本发明另一示例性实施例的生成机器学习样本的组合特征的方法的流程图。

具体实施方式

为了使本领域技术人员更好地理解本发明,下面结合附图和具体实施方式对本发明的示例性实施例作进一步详细说明。

在本发明的示例性实施例中,通过以下方式来进行自动特征组合:对单个连续特征进行至少一种分箱运算,以生成与单个连续特征对应的一个或多个分箱特征,将这些分箱特征组成的分箱组特征与其他离散特征(例如,单个离散特征和/或其他分箱组特征)进行组合,可使得生成的机器学习样本更适于机器学习,从而可取得较好的预测结果。

这里,机器学习是人工智能研究发展到一定阶段的必然产物,其致力于通过计算的手段,利用经验来改善系统自身的性能。在计算机系统中,“经验”通常以“数据”形式存在,通过机器学习算法,可从数据中产生“模型”,也就是说,将经验数据提供给机器学习算法,就能基于这些经验数据产生模型,在面对新的情况时,模型会提供相应的判断,即,预测结果。不论是训练机器学习模型,还是利用训练好的机器学习模型进行预测,数据都需要转换为包括各种特征的机器学习样本。机器学习可被实现为“有监督学习”、“无监督学习”或“半监督学习”的形式,应注意,本发明的示例性实施例对具体的机器学习算法并不进行特定限制。此外,还应注意,在训练和应用模型的过程中,还可结合统计算法等其他手段。

图1示出根据本发明示例性实施例的生成机器学习样本的组合特征的系统的框图。具体说来,所述系统对于将进行组合的各个连续特征分别进行至少一种分箱运算,从而单个连续特征可转换为相应的至少一个分箱运算特征组成的分箱组特征,进一步地,将分箱组特征与其他离散特征进行组合,使得能够同时从不同的角度、尺度/层面来刻画原始数据记录。利用所述系统,能够自动产生机器学习样本的组合特征,而相应的机器学习样本有助于提高机器学习效果(例如,模型稳定性、模型泛化性等)。

如图1所示,数据记录获取装置100用于获取数据记录,其中,所述数据记录包括多个属性信息。

上述数据记录可以是在线产生的数据、预先生成并存储的数据、也可以是通过输入装置或传输媒介而从外部接收的数据。这些数据可涉及个人、企业或组织的属性信息,例如,身份、学历、职业、资产、联系方式、负债、收入、盈利、纳税等信息。或者,这些数据也可涉及业务相关项目的属性信息,例如,关于买卖合同的交易额、交易双方、标的物、交易地点等信息。应注意,本发明的示例性实施例中提到的属性信息内容可涉及任何对象或事务在某方面的表现或性质,而不限于对个人、物体、组织、单位、机构、项目、事件等进行限定或描述。

数据记录获取装置100可获取不同来源的结构化或非结构化数据,例如,文本数据或数值数据等。获取的数据记录可用于形成机器学习样本,参与机器学习的训练/预测过程。这些数据可来源于期望获取模型预测结果的实体内部,例如,来源于期望获取预测结果的银行、企业、学校等;这些数据也可来源于上述实体以外,例如,来源于数据提供商、互联网(例如,社交网站)、移动运营商、APP运营商、快递公司、信用机构等。可选地,上述内部数据和外部数据可组合使用,以形成携带更多信息的机器学习样本。

上述数据可通过输入装置输入到数据记录获取装置100,或者由数据记录获取装置100根据已有的数据来自动生成,或者可由数据记录获取装置100从网络上(例如,网络上的存储介质(例如,数据仓库))获得,此外,诸如服务器的中间数据交换装置可有助于数据记录获取装置100从外部数据源获取相应的数据。这里,获取的数据可被数据记录获取装置100中的文本分析模块等数据转换模块转换为容易处理的格式。应注意,数据记录获取装置100可被配置为由软件、硬件和/或固件组成的各个模块,这些模块中的某些模块或全部模块可被集成为一体或共同协作以完成特定功能。

分箱组特征生成装置200用于针对基于所述多个属性信息产生的每一个连续特征,执行至少一种分箱运算,以得到由至少一个分箱特征组成的分箱组特征,其中,每种分箱运算对应一个分箱特征。

这里,针对数据记录的至少一部分属性信息,可产生相应的连续特征,这里,连续特征是与离散特征(例如,类别特征)相对的一种特征,其取值可以是具有一定连续性的数值,例如,距离、年龄、金额等。相对地,作为示例,离散特征的取值不具有连续性,例如,可以是“来自北京”、“来自上海”或“来自天津”、“性别为男”、“性别为女”等无序分类的特征。

举例说来,分箱组特征生成装置200可将数据记录中的某种连续值属性直接作为机器学习样本中的对应连续特征,例如,可将距离、年龄、金额等属性直接作为相应的连续特征。也就是说,所述每一个连续特征可由所述多个属性信息之中的连续值属性信息自身形成。

或者,分箱组特征生成装置200也可通过对数据记录中的某些属性信息(例如,连续值属性和/或离散值属性信息)进行处理,以得到相应的连续特征,例如,将身高与体重的比值作为相应的连续特征。特别地,所述连续特征可通过对所述多个属性信息之中的离散值属性信息进行连续变换而形成。作为示例,所述连续变换可指示对所述离散值属性信息的取值进行统计。例如,连续特征可指示某些离散值属性信息关于机器学习模型的预测目标的统计信息。举例说来,在预测购买概率的示例中,可将卖家商户编号这一离散值属性信息变换为关于相应卖家商户编码的历史购买行为的概率统计特征。

此外,除了将进行分箱运算的连续特征之外,分箱组特征生成装置200还可产生机器学习样本的其他离散特征。作为可选方式,上述特征也可由其他特征产生装置(未示出)来产生。根据本发明的示例性实施例,上述特征之间可进行任意组合,其中,连续特征在组合时已经转换为分箱组特征。

对于每一个连续特征,分箱组特征生成装置200可执行至少一种分箱运算,从而能够同时获得多个从不同的角度、尺度/层面来刻画原始数据记录的某些属性的离散特征。

这里,分箱(binning)运算是指将连续特征进行离散化的一种特定方式,即,将连续特征的值域划分为多个区间(即,多个箱子),并基于划分的箱子来确定相应的分箱特征值。分箱运算大体上可划分为有监督分箱和无监督分箱,这两种类型各自包括一些具体的分箱方式,例如,有监督分箱包括最小熵分箱、最小描述长度分箱等,而无监督分箱包括等宽分箱、等深分箱、基于k均值聚类的分箱等。在每种分箱方式下,可设置相应的分箱参数,例如,宽度、深度等。应注意,根据本发明的示例性实施例,由分箱组特征生成装置200执行的分箱运算不限制分箱方式的种类,也不限制分箱运算的参数,并且,相应产生的分箱特征的具体表示方式也不受限制。

分箱组特征生成装置200执行的分箱运算可以在分箱方式和/或分箱参数方面存在差异。例如,所述至少一种分箱运算可以是种类相同但具有不同运算参数(例如,深度、宽度等)的分箱运算,也可以是不同种类的分箱运算。相应地,每一种分箱运算可得到一个分箱特征,这些分箱特征共同组成一个分箱组特征,该分箱组特征可体现出不同分箱运算,从而提升了机器学习素材的有效性,为机器学习模型的训练/预测提供了较好的基础。

特征组合装置300用于通过在分箱组特征和/或基于所述多个属性信息产生的其他离散特征之间进行特征组合来生成机器学习样本的组合特征。

如上所述,连续特征被转换为分箱组形式的离散特征,而且,还可基于属性信息产生一个或多个其他离散特征。相应地,特征组合装置300可促使作为分箱组特征和/或其他离散特征的特征之间进行任意组合,以得到相应的组合特征。这里,作为示例,分箱组特征和/或所述其他离散特征之间可按照笛卡尔积进行特征组合。然而,应理解,本发明的示例性实施例并不受限于笛卡尔积的组合方式,任何能够将上述离散特征进行组合的方式均可应用于本发明的示例性实施例。

作为示例,特征组合装置300可根据关于组合特征的搜索策略,按照迭代的方式来生成机器学习样本的组合特征。例如,根据诸如集束搜索(beam search)的启发式搜索策略,在搜索树的每一层,按照启发代价对节点进行排序,然后仅留下特定个数(Beam Width-集束宽度)的节点,仅这些节点在下一层继续扩展,而其他节点被剪掉。

图1所示的系统旨在产生机器学习样本的组合特征,该系统可独立存在,这里,应注意,所述系统获取数据记录的方式并不受限制,也就是说,作为示例,数据记录获取装置100可以是具有接收并处理数据记录的能力的装置,也可以仅仅是提供已经准备好的数据记录的装置。

此外,图1所示的系统也可集成到模型训练和/或模型预测的系统中,作为完成特征处理的组成部分。

图2示出根据本发明示例性实施例的机器学习模型的训练系统的框图。在图2所示的系统中,除了上述数据记录获取装置100、分箱组特征生成装置200和特征组合300之外,还包括机器学习样本生成装置400和机器学习模型训练装置500。

具体说来,在图2所示的系统中,数据记录获取装置100、分箱组特征生成装置200和特征组合装置300可按照在图1所示的系统中的方式进行操作,其中,数据记录获取装置100可获取已经标记过的历史数据记录。

此外,机器学习样本生成装置400用于产生至少包括一部分所产生的组合特征的机器学习样本。也就是说,在由机器学习样本生成装置400产生的机器学习样本中,包括由特征组合装置300产生的一部分或全部组合特征,此外,作为可选方式,机器学习样本还可包括基于数据记录的属性信息产生的任意其他特征,例如,直接由数据记录的属性信息本身充当的各个特征、通过对属性信息进行特征处理而得到的特征等。如上所述,作为示例,这些其他特征可由分箱组特征生成装置200来产生,也可由其他装置来产生。

具体说来,机器学习样本生成装置400可产生机器学习训练样本,特别地,作为示例,在有监督学习的情况下,机器学习样本生成装置400所产生的机器学习训练样本可包括特征和标记(label)两部分。

机器学习模型训练装置500用于基于机器学习训练样本来训练机器学习模型。这里,机器学习模型训练装置500可采用任何适当的机器学习算法(例如,对数几率回归),从机器学习训练样本学习出适当的机器学习模型。

在上述示例中,可训练出较为稳定且预测效果较好的机器学习模型。

图3示出根据本发明示例性实施例的机器学习模型的预测系统的框图。与图1所示的系统相比,图3的系统除了数据记录获取装置100、分箱组特征生成装置200和特征组合装置300之外,还包括机器学习样本生成装置400和机器学习模型预测装置600。

具体说来,在图3所示的系统中,数据记录获取装置100、分箱组特征生成装置200和特征组合装置300可按照在图1所示的系统中的方式进行操作,其中,数据记录获取装置100可获取将进行预测的数据记录(例如,不含有标记的新数据记录或用于测试的历史数据记录)。相应地,机器学习样本生成装置400可按照与在图2所示的类似方式来产生仅包括特征部分的机器学习预测样本。

机器学习模型预测装置600用于利用已经训练好的机器学习模型,提供与机器学习预测样本相应的预测结果。这里,机器学习模型预测装置600可批量地针对多个机器学习预测样本来提供预测结果。

这里,应注意:图2和图3的系统还可有效地融合以形成能够完成机器学习模型的训练和预测两者的系统。

具体说来,图4示出根据本发明示例性实施例的机器学习模型的训练和预测系统的框图。在图4所示的系统中,包括上述数据记录获取装置100、分箱组特征生成装置200、特征组合装置300、机器学习样本生成装置400、机器学习模型训练装置500和机器学习模型预测装置600。

这里,在图4所示的系统中,数据记录获取装置100、分箱组特征生成装置200和特征组合装置300可按照在图1所示的系统中的方式进行操作,其中,数据记录获取装置100可有针对性地获取历史数据记录或待预测数据记录。此外,机器学习样本生成装置400可根据情况来产生机器学习训练样本或机器学习预测样本,具体说来,在模型训练阶段,机器学习样本生成装置400可产生机器学习训练样本,特别地,作为示例,在有监督学习的情况下,机器学习样本生成装置400所产生的机器学习训练样本可包括特征和标记(label)两部分。此外,在模型预测阶段,机器学习样本生成装置400可产生机器学习预测样本,这里,应理解,机器学习预测样本的特征部分与机器学习训练样本的特征部分是一致的。

此外,在模型训练阶段,机器学习样本生成装置400将产生的机器学习训练样本提供给机器学习模型训练装置500,使得机器学习模型训练装置500基于机器学习训练样本来训练机器学习模型。在机器学习模型训练装置500学习出机器学习模型之后,机器学习模型训练装置500将训练好的机器学习模型提供给机器学习模型预测装置600。相应地,在模型预测阶段,机器学习样本生成装置400将产生的机器学习预测样本提供给机器学习模型预测装置600,使得机器学习模型预测装置600利用所述机器学习模型来提供针对机器学习预测样本的预测结果。

根据本发明的示例性实施例,需要对连续特征执行至少一种分箱运算。这里,所述至少一种分箱运算可通过任何适当的方式来确定,例如,可借助技术人员或业务人员的经验来确定,也可经由技术手段来自动确定。作为示例,可基于分箱特征的重要性来有效地确定具体的分箱运算方式。

图5示出根据本发明另一示例性实施例的生成机器学习样本的组合特征的系统的框图。与图1所示的系统相比,图5的系统除了数据记录获取装置100、分箱组特征生成装置200和特征组合装置300之外,还包括分箱运算选择装置150。

在图5所示的系统中,数据记录获取装置100、分箱组特征生成装置200和特征组合装置300可按照在图1所示的系统中的方式进行操作。此外,分箱运算选择装置150用于从预定数量的分箱运算中选择所述至少一种分箱运算,使得与选择的分箱运算对应的分箱特征的重要性不低于与未被选择的分箱运算对应的分箱特征的重要性。通过这种方式,能够在减小组合后特征空间大小的情况下,确保机器学习的效果。

具体说来,预定数量的分箱运算可指示在分箱方式和/或分箱参数方面存在差异的多种分箱运算。这里,通过执行每一种分箱运算,可得到对应的一个分箱特征,相应地,分箱运算选择装置150可确定这些分箱特征的重要性,并进而选择较为重要的分箱特征所对应的分箱运算,作为将由分箱组特征生成装置200所执行的至少一种分箱运算。

这里,分箱运算选择装置150可采用任何适当的方式来自动确定分箱特征的重要性。

例如,分箱运算选择装置150可针对与所述预定数量的分箱运算对应的分箱特征之中的每一个分箱特征,构建单特征机器学习模型,基于各个单特征机器学习模型的效果来确定各个分箱特征的重要性,并基于各个分箱特征的重要性来选择所述至少一种分箱运算,其中,单特征机器学习模型对应所述每一个分箱特征。

又例如,分箱运算选择装置150可针对与所述预定数量的分箱运算对应的分箱特征之中的每一个分箱特征,构建复合机器学习模型,基于各个复合机器学习模型的效果来确定各个分箱特征的重要性,并基于各个分箱特征的重要性来选择所述至少一种分箱运算,其中,复合机器学习模型包括基于提升框架的基本子模型和附加子模型,其中,基本子模型对应基本特征子集,附加子模型对应所述每一个分箱特征。根据本发明的示例性实施例,基本特征子集可固定地应用于所有相关复合机器学习模型中的基本子模型,这里,可将任何基于数据记录的属性信息产生的特征作为基本特征。例如,可将数据记录的至少一部分属性信息直接作为基本特征。此外,作为示例,可考虑实际的机器学习问题,基于测试计算或根据业务人员指定来确定相对重要或基本的特征作为基本特征。这里,在按照迭代的方式生成组合特征的情况下,分箱运算选择装置150可针对每一轮迭代来选择分箱运算,并且,每一轮迭代中生成的组合特征作为新的离散特征被加入基本特征子集。

应理解,图5中所示的分箱运算选择装置150可并入图2到图4所示的训练系统和/或预测系统中。

以下参照图6来描述根据本发明示例性实施例的生成机器学习样本的组合特征的方法的流程图。这里,作为示例,图6所示的方法可由图1所示的系统来执行,也可完全通过计算机程序以软件方式实现,还可通过特定配置的计算装置来执行图6所示的方法。为了描述方便,假设图6所示的方法由图1所示的系统来执行。

如图所示,在步骤S100中,由数据记录获取装置100获取数据记录,其中,所述数据记录包括多个属性信息。

这里,作为示例,数据记录获取装置100可通过手动、半自动或全自动的方式来采集数据,或对采集的原始数据进行处理,使得处理后的数据记录具有适当的格式或形式。作为示例,数据记录获取装置100可批量地采集数据。

这里,数据记录获取装置100可通过输入装置(例如,工作站)接收用户手动输入的数据记录。此外,数据记录获取装置100可通过全自动的方式从数据源系统地取出数据记录,例如,通过以软件、固件、硬件或其组合实现的定时器机制来系统地请求数据源并从响应中得到所请求的数据。所述数据源可包括一个或多个数据库或其他服务器。可经由内部网络和/或外部网络来实现全自动获取数据的方式,其中可包括通过互联网来传送加密的数据。在服务器、数据库、网络等被配置为彼此通信的情况下,可在没有人工干预的情况下自动进行数据采集,但应注意,在这种方式下仍旧可存在一定的用户输入操作。半自动方式介于手动方式与全自动方式之间。半自动方式与全自动方式的区别在于由用户激活的触发机制代替了例如定时器机制。在这种情况下,在接收到特定的用户输入的情况下,才产生提取数据的请求。每次获取数据时,优选地,可将捕获的数据存储在非易失性存储器中。作为示例,可利用数据仓库来存储在获取期间采集的原始数据以及处理后的数据。

上述获取的数据记录可来源于相同或不同的数据源,也就是说,每条数据记录也可以是不同数据记录的拼接结果。例如,除了获取客户向银行申请开通信用卡时填写的信息数据记录(其包括收入、学历、职务、资产情况等属性信息字段)之外,作为示例,数据记录获取装置100可还获取该客户在该银行的其他数据记录,例如,贷款记录、日常交易数据等,这些获取的数据记录可拼接为完整的数据记录。此外,数据记录获取装置100还可获取来源于其他私有源或公共源的数据,例如,来源于数据提供商的数据、来源于互联网(例如,社交网站)的数据、来源于移动运营商的数据、来源于APP运营商的数据、来源于快递公司的数据、来源于信用机构的数据等等。

可选地,数据记录获取装置100可借助硬件集群(诸如Hadoop集群、Spark集群等)对采集到的数据进行存储和/或处理,例如,存储、分类和其他离线操作。此外,数据记录获取装置100也可对采集的数据进行在线的流处理。

作为示例,数据记录获取装置100中可包括文本分析模块等数据转换模块,相应地,在步骤S100中,数据记录获取装置100可将文本等非结构化数据转换为更易于使用的结构化数据以在后续进行进一步的处理或引用。基于文本的数据可包括电子邮件、文档、网页、图形、电子数据表、呼叫中心日志、交易报告等。

接下来,在步骤S200中,由分箱组特征生成装置200用于针对基于所述多个属性信息产生的每一个连续特征,执行至少一种分箱运算,以得到由至少一个分箱特征组成的分箱组特征,其中,每种分箱运算对应一个分箱特征。

具体说来,步骤S200旨在产生由分箱特征组成的分箱组特征,这样的分箱组特征可代替原始的连续特征而参与离散特征之间的自动组合。为此,对于每一个连续特征,通过分别执行至少一种分箱运算,可获得相应的至少一个分箱特征。

连续特征可产生自数据记录的至少一部分属性信息。作为示例,数据记录的距离、年龄和金额等连续取值的属性信息可直接作为连续特征;作为另一示例,可通过对数据记录的某些属性信息进行进一步的处理来获得连续特征,例如,可将身高与体重的比值作为连续特征;又例如,可通过对属性信息之中的离散值属性信息进行连续变换而形成连续特征,举例说来,这里的连续变换可指示对所述离散值属性信息的取值进行统计,得到的统计信息作为连续特征。

在获得了连续特征之后,可由分箱组特征生成装置200对获得的连续特征执行至少一种分箱运算,这里,分箱组特征生成装置200可按照各种分箱方式和/或分箱参数来执行分箱运算。

以无监督下的等宽分箱为例,假设连续特征的取值区间为[0,100],相应的分箱参数(即,宽度)为50,则可分出2个箱子,在这种情况下,取值为61.5的连续特征对应于第2个箱子,如果这两个箱子的标号为0和1,则所述连续特征对应的箱子标号为1。或者,假设分箱宽度为10,则可分出10个箱子,在这种情况下,取值为61.5的连续特征对应于第7个箱子,如果这十个箱子的标号为0到9,则所述连续特征对应的箱子标号为6。或者,假设分箱宽度为2,则可分出50个箱子,在这种情况下,取值为61.5的连续特征对应于第31个箱子,如果这五十个箱子的标号为0到49,则所述连续特征对应的箱子标号为30。

在将连续特征映射到多个箱子之后,对应的特征值可以为自定义的任何值。这里,分箱特征可指示连续特征按照对应的分箱运算被分到了哪个箱子。也就是说,执行分箱运算以产生与每一个连续特征对应的多维度的分箱特征,其中,作为示例,每个维度可指示对应的箱子中是否被分到了相应的连续特征,例如,以“1”来表示连续特征被分到了相应的箱子,而以“0”来表示连续特征没有被分到相应的箱子,相应地,在上述示例中,假设分出了10个箱子,则基本分箱特征可以是10个维度的特征,与取值为61.5的连续特征对应的基本分箱特征可表示为[0,0,0,0,0,0,1,0,0,0]。

此外,作为示例,在执行分箱运算前,还可以通过去除数据样本中可能的离群点来减少数据记录中的噪音。通过这种方式,能进一步提高利用分箱特征进行机器学习的有效性。

具体说来,可额外设置离群箱,使得具有离群值的连续特征被分到所述离群箱。举例说来,对于取值区间为[0,1000]的连续特征,可选取一定数量的样本进行预分箱,例如,先按照分箱宽度为10来进行等宽分箱,然后记录每个箱子内的样本数量,对于样本数量较少(例如,少于阈值)的箱子,可以将它们合并为至少一个离群箱。作为示例,如果位于两端的箱内样本数量较少,则可将样本较少的箱子合并为离群箱,而将剩余的箱子保留,假设0-10号箱子中的样本数量较少,则可将0-10号箱子合并为离群箱,从而将取值为[0,100]的连续特征统一划分到离群箱。

根据本发明的示例性实施例,所述至少一个分箱运算可以是分箱方式相同但分箱参数不同的分箱运算;或者,所述至少一个分箱运算可以是分箱方式不同的分箱运算。

这里的分箱方式包括有监督分箱和/或无监督分箱下的各种分箱方式。例如,有监督分箱包括最小熵分箱、最小描述长度分箱等,而无监督分箱包括等宽分箱、等深分箱、基于k均值聚类的分箱等。

作为示例,至少一种分箱运算可分别对应于不同宽度的等宽分箱运算。也就是说,采用的分箱方式相同但划分的粒度不同,这使得产生的分箱特征能够更好地刻画原始数据记录的规律,从而更有利于机器学习模型的训练与预测。特别地,至少一种分箱运算所采用的不同宽度可在数值上构成等比数列,例如,分箱运算可按照值2、值4、值8、值16等的宽度来进行等宽分箱。或者,至少一种分箱运算所采用的不同宽度可在数值上构成等差数列,例如,分箱运算可按照值2、值4、值6、值8等的宽度来进行等宽分箱。

作为另一示例,至少一种分箱运算可分别对应于不同深度的等深分箱运算。也就是说,分箱运算采用的分箱方式相同但划分的粒度不同,这使得产生的分箱特征能够更好地刻画原始数据记录的规律,从而更有利于机器学习模型的训练与预测。特别地,分箱运算所采用的不同深度可在数值上构成等比数列,例如,分箱运算可按照值10、值100、值1000、值10000等的深度来进行等深分箱。或者,分箱运算所采用的不同深度可在数值上构成等差数列,例如,分箱运算可按照值10、值20、值30、值40等的深度来进行等深分箱。

针对每一个连续特征,在通过执行分箱运算而得到了相应的至少一个分箱特征之后,分箱组特征生成装置200可通过将每一个分箱特征作为一个组成元素而得到分箱组特征。可以看出,这里的分箱组特征可看做分箱特征的集合,因而也被用作离散特征。

在步骤S300中,由特征组合装置300通过在分箱组特征和/或基于所述多个属性信息产生的其他离散特征之间进行特征组合来生成机器学习样本的组合特征。这里,由于连续特征已经被转换为作为离散特征的分箱组特征,因此,可在包括分箱组特征和其他离散特征的特征之间进行任意组合,以作为机器学习样本的组合特征。作为示例,特征之间的组合可通过笛卡尔积来实现,然而,应注意,组合方式并不受限于此,任何能够将两个或多个离散特征相互结合的方式均可应用于本发明的示例性实施例。

这里,可将单个离散特征看做一阶特征,根据本发明的示例性实施例,可进行两阶、三阶等更高阶的特征组合,直至满足预定的截止条件。作为示例,可根据关于组合特征的搜索策略,按照迭代的方式来生成机器学习样本的组合特征。

图7示出根据本发明示例性实施例的用于生成组合特征的搜索树的示例。根据本发明的示例性实施例,例如,所述搜索树可基于诸如集束搜索的启发式搜索策略,其中,搜索树的一层可对应于特定阶数的特征组合。

参照图7,假设可进行组合的离散特征包括特征A、特征B、特征C、特征D和特征E,作为示例,特征A、特征B、特征C可以是由数据记录的离散值属性信息自身形成的离散特征,而特征D和特征E可以是由连续特征转换而来的分箱组特征。

根据搜索策略,在第一轮迭代中,选取了作为一阶特征的特征B和特征E这两个节点,这里,可将例如特征重要性等作为指标来对各个节点进行排序,并进而选取一部分节点以在下一层继续扩展。

在下一轮迭代中,基于特征B和特征E来生成作为二阶组合特征的特征BA、特征BC、特征BD、特征BE、特征EA、特征EB、特征EC、特征ED,并继续基于排序指标选取了其中的特征BC和特征EA。作为示例,特征BE和特征EB可被看做相同的组合特征。

按照上述方式继续进行迭代,直至满足特定的截止条件,例如,阶数限制等。这里,在每一层中被选择的节点(用实线示出)可作为组合特征以进行后续的处理,例如,作为最终采用的特征或进行进一步的重要性评价,而其余特征(用虚线示出)被剪枝。

图8示出根据本发明示例性实施例的机器学习模型的训练方法的流程图。在图8所示的方法中,除了上述步骤S100、S200和S300之外,所述方法还包括步骤S400和步骤S500。

具体说来,在图8所示的方法中,步骤S100、步骤S200和步骤S300可与图6所示的相应步骤类似,其中,在步骤S100中可获取已经标记过的历史数据记录。

此外,在步骤S400中,可由机器学习样本生成装置400产生至少包括一部分所产生的组合特征的机器学习训练样本,在有监督学习的情况下,该机器学习训练样本可包括特征和标记两部分。

在步骤S500中,可由机器学习模型训练装置500基于机器学习训练样本来训练机器学习模型。这里,机器学习模型训练装置500可利用适当的机器学习算法,从机器学习训练样本学习出适当的机器学习模型。

在训练出机器学习模型之后,可利用训练出的机器学习模型来进行预测。

图9示出根据本发明示例性实施例的机器学习模型的预测方法的流程图。在图9所示的方法中,除了上述步骤S100、S200和S300之外,所述方法还包括步骤S400和步骤S600。

具体说来,在图9所示的方法中,步骤S100、步骤S200和步骤S300可与图6所示的相应步骤类似,其中,在步骤S100中可获取将进行预测的数据记录。

此外,在步骤S400中,可由机器学习样本生成装置400产生至少包括一部分所产生的组合特征的机器学习预测样本,该机器学习预测样本可仅包括特征部分。

在步骤S600中,可由机器学习模型预测装置600利用机器学习模型,提供与机器学习预测样本相应的预测结果。这里,可批量地针对多个机器学习预测样本来提供预测结果。此外,机器学习模型可通过根据本发明示例性实施例的训练方法来产生,也可从外部接收。

如上所述,根据本发明的示例性实施例,在获取分箱组特征时,可自动选取适当的分箱运算。以下将参照图10来描述根据本发明另一示例性实施例的生成机器学习样本的组合特征的方法的流程图。

参照图10,其中的步骤S100、S200和步骤S300与图6所示的相应步骤类似,这里将不再赘述细节。与图6的方法相比,图10的方法还包括步骤S150,在该步骤中,针对每一个连续特征,可由分箱运算选择装置150从预定数量的分箱运算中选择将针对该连续特征执行的至少一种分箱运算,使得与选择的分箱运算对应的分箱特征的重要性不低于与未被选择的分箱运算对应的分箱特征的重要性。

作为示例,分箱运算选择装置150可针对与所述预定数量的分箱运算对应的分箱特征之中的每一个分箱特征,构建单特征机器学习模型,基于各个单特征机器学习模型的效果来确定各个分箱特征的重要性,并基于各个分箱特征的重要性来选择所述至少一种分箱运算,其中,单特征机器学习模型对应所述每一个分箱特征。

例如,假设对于连续特征F而言,存在预定数量M(M为大于1的整数)种分箱运算,对应M个分箱特征f

作为另一示例,分箱运算选择装置150可针对与所述预定数量的分箱运算对应的分箱特征之中的每一个分箱特征,构建复合机器学习模型,基于各个复合机器学习模型的效果来确定各个分箱特征的重要性,并基于各个分箱特征的重要性来选择所述至少一种分箱运算,其中,复合机器学习模型包括基于提升框架(例如,梯度提升框架)的基本子模型和附加子模型,其中,基本子模型对应基本特征子集,附加子模型对应所述每一个分箱特征。

例如,假设对于连续特征F而言,存在预定数量M种分箱运算,对应M个分箱特征f

在诸如图7所示的根据关于组合特征的搜索策略,按照迭代的方式来生成机器学习样本的组合特征的示例中,可针对每一轮迭代来执行步骤S150以更新所述至少一种分箱运算,并且,每一轮迭代中生成的组合特征作为新的离散特征被加入基本特征子集。例如,在图7的示例中,在第一轮迭代中,复合机器学习模型的基本特征子集可以为空,也可包括至少一部分一阶特征(例如,作为离散特征的特征A、特征B、特征C)或全部特征(例如,作为离散特征的特征A、特征B、特征C连同与特征D和特征E对应的原始连续特征)。在第一轮迭代之后,特征B和特征E被加入基本特征子集。然后,在第二轮迭代之后,特征BC和特征EA被补充到基本特征子集;在第三轮迭代之后,特征BCD和特征EAB被补充到基本特征子集,以此类推。应注意,在每一轮迭代中被选择的特征组合个数不限于一个。同时,针对每一轮迭代,都会重新通过构建复合机器学习模型来确定连续特征的分箱运算,使得连续特征按照确定的分箱运算转换为相应的分箱组特征,以在紧接的下一轮迭代中与其他离散特征进行组合。

应注意,上述步骤S150也可同样应用于图8和图9所示的方法中,这里将不再赘述。

图1到图5所示出的装置可被分别配置为执行特定功能的软件、硬件、固件或上述项的任意组合。例如,这些装置可对应于专用的集成电路,也可对应于纯粹的软件代码,还可对应于软件与硬件相结合的单元或模块。此外,这些装置所实现的一个或多个功能也可由物理实体设备(例如,处理器、客户端或服务器等)中的组件来统一执行。

以上参照图1到图10描述了根据本发明示例性实施例的生成机器学习样本的组合特征的方法和系统以及相应的机器学习模型训练/预测系统。应理解,上述方法可通过记录在计算可读介质上的程序来实现,例如,根据本发明的示例性实施例,可提供一种生成机器学习样本的组合特征的计算机介质,其中,在所述计算机可读介质上记录有用于执行以下方法步骤的计算机程序:(A)获取数据记录,其中,所述数据记录包括多个属性信息;(B)针对基于所述多个属性信息产生的每一个连续特征,执行至少一种分箱运算,以得到由至少一个分箱特征组成的分箱组特征,其中,每种分箱运算对应一个分箱特征;以及(C)通过在分箱组特征和/或基于所述多个属性信息产生的其他离散特征之间进行特征组合来生成机器学习样本的组合特征。

上述计算机可读介质中的计算机程序可在诸如客户端、主机、代理装置、服务器等计算机设备中部署的环境中运行,应注意,所述计算机程序还可用于执行除了上述步骤以外的附加步骤或者在执行上述步骤时执行更为具体的处理,这些附加步骤和进一步处理的内容已经参照图1到图10进行了描述,这里为了避免重复将不再进行赘述。

应注意,根据本发明示例性实施例的组合特征生成系统以及机器学习模型训练/预测系统可完全依赖计算机程序的运行来实现相应的功能,即,各个装置与计算机程序的功能架构中与各步骤相应,使得整个系统通过专门的软件包(例如,lib库)而被调用,以实现相应的功能。

另一方面,图1到图5所示的各个装置也可以通过硬件、软件、固件、中间件、微代码或其任意组合来实现。当以软件、固件、中间件或微代码实现时,用于执行相应操作的程序代码或者代码段可以存储在诸如存储介质的计算机可读介质中,使得处理器可通过读取并运行相应的程序代码或者代码段来执行相应的操作。

例如,本发明的示例性实施例还可以实现为计算装置,该计算装置包括存储部件和处理器,存储部件中存储有计算机可执行指令集合,当所述计算机可执行指令集合被所述处理器执行时,执行组合特征生成方法、机器学习模型训练方法和/或机器学习模型预测方法。

具体说来,所述计算装置可以部署在服务器或客户端中,也可以部署在分布式网络环境中的节点装置上。此外,所述计算装置可以是PC计算机、平板装置、个人数字助理、智能手机、web应用或其他能够执行上述指令集合的装置。

这里,所述计算装置并非必须是单个的计算装置,还可以是任何能够单独或联合执行上述指令(或指令集)的装置或电路的集合体。计算装置还可以是集成控制系统或系统管理器的一部分,或者可被配置为与本地或远程(例如,经由无线传输)以接口互联的便携式电子装置。

在所述计算装置中,处理器可包括中央处理器(CPU)、图形处理器(GPU)、可编程逻辑装置、专用处理器系统、微控制器或微处理器。作为示例而非限制,处理器还可包括模拟处理器、数字处理器、微处理器、多核处理器、处理器阵列、网络处理器等。

根据本发明示例性实施例的组合特征生成方法以及机器学习模型训练/预测方法中所描述的某些操作可通过软件方式来实现,某些操作可通过硬件方式来实现,此外,还可通过软硬件结合的方式来实现这些操作。

处理器可运行存储在存储部件之一中的指令或代码,其中,所述存储部件还可以存储数据。指令和数据还可经由网络接口装置而通过网络被发送和接收,其中,所述网络接口装置可采用任何已知的传输协议。

存储部件可与处理器集成为一体,例如,将RAM或闪存布置在集成电路微处理器等之内。此外,存储部件可包括独立的装置,诸如,外部盘驱动、存储阵列或任何数据库系统可使用的其他存储装置。存储部件和处理器可在操作上进行耦合,或者可例如通过I/O端口、网络连接等互相通信,使得处理器能够读取存储在存储部件中的文件。

此外,所述计算装置还可包括视频显示器(诸如,液晶显示器)和用户交互接口(诸如,键盘、鼠标、触摸输入装置等)。计算装置的所有组件可经由总线和/或网络而彼此连接。

根据本发明示例性实施例的组合特征生成方法以及相应的机器学习模型训练/预测方法所涉及的操作可被描述为各种互联或耦合的功能块或功能示图。然而,这些功能块或功能示图可被均等地集成为单个的逻辑装置或按照非确切的边界进行操作。

例如,如上所述,根据本发明示例性实施例的用于生成机器学习样本的组合特征的计算装置可包括存储部件和处理器,其中,存储部件中存储有计算机可执行指令集合,当所述计算机可执行指令集合被所述处理器执行时,执行下述步骤:(A)获取数据记录,其中,所述数据记录包括多个属性信息;(B)针对基于所述多个属性信息产生的每一个连续特征,执行至少一种分箱运算,以得到由至少一个分箱特征组成的分箱组特征,其中,每种分箱运算对应一个分箱特征;以及(C)通过在分箱组特征和/或基于所述多个属性信息产生的其他离散特征之间进行特征组合来生成机器学习样本的组合特征。

以上描述了本发明的各示例性实施例,应理解,上述描述仅是示例性的,并非穷尽性的,本发明不限于所披露的各示例性实施例。在不偏离本发明的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。因此,本发明的保护范围应该以权利要求的范围为准。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号