首页 / 针对机器学习的特征处理方法及特征处理系统

针对机器学习的特征处理方法及特征处理系统有效专利 发明

技术领域

[0002] 本发明总体说来涉及人工智能领域,更具体地说,涉及一种针对机器学习的特征处理方法及特征处理系统。

相关背景技术

[0003] 随着海量数据的出现,人工智能技术得到了迅速发展,而为了从大量数据中挖掘出价值,需要基于数据记录来产生适用于机器学习的样本。
[0004] 这里,每条数据记录可被看做关于一个事件或对象的描述,对应于一个示例或样例。在数据记录中,包括反映事件或对象在某方面的表现或性质的各个事项,这些事项可称为“属性”。
[0005] 如何将原始数据记录的各个属性转化为机器学习样本的特征,很可能对机器学习模型的效果带来很大的影响。例如,在图像或音频信号处理领域,常常将特征按照频域中的局部块进行直方图化(例如,第US20160247502A1号美国专利申请、第US20160239528A1号美国专利申请和第CN101276060号中国专利等),一方面,这种经典的处理方法依托于图像或音频信号的固有特性,现有技术中也普遍采用单一的直方图划分方式而缺乏相应的补充,另一方面,在很多实际的应用场景中,数据的内在规律很难如图像或音频信号那样明显,因此,无法有效地捕捉到适当的直方图划分方式,比如,按照传统分箱方式提取的特征很容易使得机器学习模型不稳定,即,在不同的分箱方式下,同样的模型对同样的数据预测效果差距很大,学习的效果非常依赖于箱数的选择,显著增加了模型调参的工作量,也导致模型较难到达最佳效果。
[0006] 事实上,机器学习模型的预测效果与模型的选择、可用的数据和特征的提取等有关。也就是说,一方面,可通过改进特征提取方式来提高模型预测效果,而另一方面,如果特征提取不适当,则将导致预测效果的恶化。
[0007] 然而,在确定特征提取方式的过程中,往往需要技术人员不仅掌握机器学习的知识,还需要对实际预测问题有深入的理解,而预测问题往往结合着不同行业的不同实践经验,导致很难达到满意的效果。

具体实施方式

[0047] 为了使本领域技术人员更好地理解本发明,下面结合附图和具体实施方式对本发明的示例性实施例作进一步详细说明。
[0048] 在本发明的示例性实施例中,通过以下方式来进行特征处理:对单个连续特征进行分箱运算和额外的其他运算,以生成与单个连续特征对应的多个特征,将这样生成的所有特征均放入机器学习样本中,使得生成的机器学习样本更适于机器学习,从而可取得较好的预测结果。
[0049] 这里,机器学习是人工智能研究发展到一定阶段的必然产物,其致力于通过计算的手段,利用经验来改善系统自身的性能。在计算机系统中,“经验”通常以“数据”形式存在,通过机器学习算法,可从数据中产生“模型”,也就是说,将经验数据提供给机器学习算法,就能基于这些经验数据产生模型,在面对新的情况时,模型会提供相应的判断,即,预测结果。不论是训练机器学习模型,还是利用训练好的机器学习模型进行预测,数据都需要转换为包括各种特征的机器学习样本。机器学习可被实现为“有监督学习”、“无监督学习”或“半监督学习”的形式,应注意,本发明对具体的机器学习算法并不进行特定限制。此外,还应注意,在训练和应用模型的过程中,还可结合统计算法等其他手段。
[0050] 图1示出根据本发明示例性实施例的针对机器学习的特征处理系统的框图。具体说来,所述特征处理系统对于各个连续特征分别同时进行分箱运算和另外的函数运算,从而针对单个连续特征可得到相应的多个运算特征,使得能够同时从不同的角度、尺度/层面来刻画原始数据记录,进一步地,基于得到的特征来形成机器学习样本。图1所示的系统可全部通过计算机程序以软件方式来实现,也可由专门的硬件装置来实现,还可通过软硬件结合的方式来实现。相应地,组成图1所示的系统的各个装置可以是仅依靠计算机程序来实现相应功能的虚拟模块,也可以是依靠硬件结构来实现所述功能的通用或专用器件,还可以是运行有相应计算机程序的处理器等。利用所述系统,能够产生机器学习样本,这些机器学习样本有助于提高机器学习效果(例如,模型稳定性等)。
[0051] 如图1所示,数据记录获取装置100用于获取数据记录,其中,所述数据记录包括至少一个属性信息。
[0052] 上述数据记录可以是在线产生的数据、预先生成并存储的数据、也可以是通过输入装置或传输媒介而从外部接收的数据。这些数据可涉及个人、企业或组织的信息,例如,身份、学历、职业、资产、联系方式、负债、收入、盈利、纳税等信息。或者,这些数据也可涉及业务相关项目的信息,例如,关于买卖合同的交易额、交易双方、标的物、交易地点等信息。应注意,本发明的示例性实施例中提到的属性信息内容可涉及任何对象或事务在某方面的表现或性质,而不限于对个人、物体、组织、单位、机构、项目、事件等进行限定或描述。
[0053] 数据记录获取装置100可获取不同来源的结构化或非结构化数据,例如,文本数据或数值数据等。获取的数据记录可用于形成机器学习样本,参与机器学习的训练/预测过程。这些数据可来源于期望获取模型预测结果的实体内部,例如,来源于期望获取预测结果的银行、企业、学校等;这些数据也可来源于上述实体以外,例如,来源于数据提供商、互联网(例如,社交网站)、移动运营商、APP运营商、快递公司、信用机构等。可选地,上述内部数据和外部数据可组合使用,以形成携带更多信息的机器学习样本。
[0054] 上述数据可通过输入装置输入到数据记录获取装置100,或者由数据记录获取装置100根据已有的数据来自动生成,或者可由数据记录获取装置100从网络上(例如,网络上的存储介质(例如,数据仓库))获得,此外,诸如服务器的中间数据交换装置可有助于数据记录获取装置100从外部数据源获取相应的数据。这里,获取的数据可被数据记录获取装置100中的文本分析模块等数据转换模块转换为容易处理的格式。应注意,数据记录获取装置
100可被配置为由软件、硬件和/或固件组成的各个模块,这些模块中的某些模块或全部模块可被集成为一体或共同协作以完成特定功能。
[0055] 特征产生装置200用于针对基于所述至少一个属性信息之中的至少一部分属性信息产生的连续特征之中的每一个连续特征,执行基本分箱运算和至少一个附加运算,以产生与所述每一个连续特征对应的基本分箱特征和至少一个附加特征。
[0056] 这里,针对数据记录的一部分属性信息,可产生相应的连续特征,这里,连续特征是与离散特征(例如,类别特征)相对的一种特征,其取值可以是具有一定连续性的数值,例如,距离、年龄、金额等。相对地,作为示例,离散特征的取值不具有连续性,例如,可以是“来自北京”、“来自上海”或“来自天津”、“性别为男”、“性别为女”等无序分类的特征。
[0057] 举例说来,特征产生装置200可将数据记录中的某种连续值属性直接作为机器学习样本中的对应连续特征,例如,可将距离、年龄、金额等属性直接作为相应的连续特征。此外,特征产生装置200也可通过对数据记录中的某些属性(例如,连续属性和/或离散属性)进行处理,以得到相应的连续特征,例如,将身高与体重的比值作为相应的连续特征。
[0058] 应注意,除了将进行基本分箱运算和附加运算的连续特征之外,特征产生装置200还可产生机器学习样本的其他连续特征和/或离散特征,这些特征可在不经过上述运算的情况下参与模型的训练和/或预测。作为可选方式,这些没有经过上述运算的特征也可由其他特征产生装置(未示出)来产生。
[0059] 对于将进行基本分箱运算的每一个连续特征,特征产生装置200还可额外执行至少一个附加运算,从而能够同时获得多个从不同的角度、尺度/层面来刻画原始数据记录的某些属性的特征。
[0060] 这里,分箱(binning)运算是指将连续特征进行离散化的一种特定方式,即,将连续特征的值域划分为多个区间(即,多个箱子),并基于划分的箱子来确定相应的分箱特征值。分箱运算大体上可划分为有监督分箱和无监督分箱,这两种类型各自包括一些具体的分箱方式,例如,有监督分箱包括最小熵分箱、最小描述长度分箱等,而无监督分箱包括等宽分箱、等深分箱、基于k均值聚类的分箱等。在每种分箱方式下,可设置相应的分箱参数,例如,宽度、深度等。应注意,根据本发明的示例性实施例,由特征产生装置200执行的分箱运算不限制分箱方式的种类,也不限制分箱运算的参数,并且,相应产生的分箱特征的具体表示方式也不受限制。
[0061] 除了执行基本分箱运算之外,特征产生装置200还可对所述每一个连续特征执行至少一个附加运算,这里,附加运算可以是任意函数运算,这些函数运算可产生连续特征或离散特征,例如,附加运算可以是对数运算、指数运算、绝对值运算等。特别地,附加运算也可以是分箱运算(称为“附加分箱运算”),这里的附加分箱运算与基本分箱运算在分箱方式和/或分箱参数方面存在差异。由此可见,所述至少一个附加运算可以是种类相同但具有不同运算参数(例如,指数运算中的指数、对数运算中的底数、分箱运算中的深度、分箱运算中的宽度等)的运算,也可以是不同种类的运算,还可以是附加运算之中的一部分为相同种类的运算(这一部分种类相同的运算需具有不同的运算参数),这里,所述附加运算可以是以对数运算、指数运算、绝对值运算等为主体的表达式运算,也可以是多种运算的组合。
[0062] 通过上述方式,特征产生装置200可将至少一部分连续特征之中的每一个分别转换为基本分箱特征以及相应的至少一个附加特征,从而提升了机器学习素材的有效性,为机器学习模型的训练/预测提供了较好的基础。
[0063] 机器学习样本产生装置300用于产生至少包括所产生的基本分箱特征和至少一个附加特征的机器学习样本。也就是说,在由机器学习样本产生装置300产生的机器学习样本中,包括由特征产生装置200产生的基本分箱特征和附加特征,此外,作为可选方式,机器学习样本还可包括任意的其他特征,例如,基于数据记录的属性信息产生的非连续特征、未经过分箱运算和附加运算的连续特征和/或经过分箱运算和附加运算的连续特征,如上所述,作为示例,这些其他特征可由特征产生装置200来产生,也可由其他装置来产生。
[0064] 应注意,图1所示的系统旨在产生机器学习样本,这样的系统可独立存在,这里,应注意,所述系统获取数据记录的方式并不受限制,也就是说,作为示例,数据记录获取装置100可以是具有接收并处理数据记录的能力的装置,也可以仅仅是提供已经准备好的数据记录的装置。
[0065] 此外,图1所示的系统也可集成到模型训练或模型预测的系统中,作为完成特征处理的部分。
[0066] 图2示出根据本发明示例性实施例的机器学习模型的训练系统的框图。在图2所示的系统中,除了上述数据记录获取装置100、特征产生装置200和机器学习样本产生装置300之外,还包括机器学习模型训练装置400。
[0067] 具体说来,在图2所示的系统中,数据记录获取装置100和特征产生装置200可按照在图1所示的系统中的方式进行操作。此外,机器学习样本产生装置300可产生机器学习训练样本,特别地,作为示例,在有监督学习的情况下,机器学习样本产生装置300所产生的机器学习训练样本可包括特征和标记(label)两部分。
[0068] 机器学习模型训练装置400用于基于机器学习训练样本来训练机器学习模型。这里,机器学习模型训练装置400可利用适当的机器学习算法(例如,对数几率回归),从机器学习训练样本学习出适当的机器学习模型。
[0069] 在上述示例中,可训练出较为稳定且预测效果较好的机器学习模型。
[0070] 图3示出根据本发明示例性实施例的机器学习模型的预测系统的框图。在图3所示的系统中,除了上述数据记录获取装置100、特征产生装置200和机器学习样本产生装置300之外,还包括机器学习模型预测装置500。
[0071] 具体说来,在图3所示的系统中,数据记录获取装置100和特征产生装置200可按照在图1所示的系统中的方式进行操作。此外,机器学习样本产生装置300可产生机器学习预测样本。
[0072] 机器学习模型预测装置500用于利用机器学习模型,提供与机器学习预测样本相应的预测结果。这里,机器学习模型预测装置500可批量地针对多个机器学习预测样本来提供预测结果。
[0073] 这里,应注意:图2和图3的系统还可有效地融合以形成能够完成机器学习模型的训练和预测两者的系统。
[0074] 具体说来,图4示出根据本发明示例性实施例的机器学习模型的训练和预测系统的框图。在图4所示的系统中,包括上述数据记录获取装置100、特征产生装置200、机器学习样本产生装置300、机器学习模型训练装置400和机器学习模型预测装置500。
[0075] 这里,在图4所示的系统中,数据记录获取装置100和特征产生装置200可按照在图1所示的系统中的方式进行操作。此外,机器学习样本产生装置300可根据情况来产生机器学习训练样本或机器学习预测样本,具体说来,在模型训练阶段,机器学习样本产生装置
300可产生机器学习训练样本,特别地,作为示例,在有监督学习的情况下,机器学习样本产生装置300所产生的机器学习训练样本可包括特征和标记(label)两部分。此外,在模型预测阶段,机器学习样本产生装置300可产生机器学习预测样本,这里,应理解,机器学习预测样本的特征部分与机器学习训练样本的特征部分是一致的。
[0076] 此外,在模型训练阶段,机器学习样本产生装置300将产生的机器学习训练样本提供给机器学习模型训练装置400,使得机器学习模型训练装置400基于机器学习训练样本来训练机器学习模型。在机器学习模型训练装置400学习出机器学习模型之后,机器学习模型训练装置400将训练好的机器学习模型提供给机器学习模型预测装置500。相应地,在模型预测阶段,机器学习样本产生装置300将产生的机器学习预测样本提供给机器学习模型预测装置500,使得机器学习模型预测装置500利用所述机器学习模型来提供针对机器学习预测样本的预测结果。
[0077] 应理解,上述装置可被分别配置为执行特定功能的软件、硬件、固件或上述项的任意组合。例如,这些装置可对应于专用的集成电路,也可对应于纯粹的软件代码,还可对应于软件与硬件相结合的单元或模块。此外,这些装置所实现的一个或多个功能也可由物理实体设备(例如,处理器、客户端或服务器等)中的组件来统一执行。
[0078] 以下参照图5来描述根据本发明示例性实施例的针对机器学习的特征处理方法的流程图。这里,作为示例,图5所示的方法可由图1所示的特征处理系统来执行,也可完全通过计算机程序以软件方式实现,还可通过特定配置的计算装置来执行图5所示的方法。为了描述方便,假设图5所示的方法由图1所示的特征处理系统来执行。
[0079] 如图所示,在步骤S100中,由数据记录获取装置100获取数据记录,其中,所述数据记录包括至少一个属性信息。
[0080] 这里,作为示例,数据记录获取装置100可通过手动、半自动或全自动的方式来采集数据,或对采集的原始数据进行处理,使得处理后的数据记录具有适当的格式或形式。作为示例,数据记录获取装置100可批量地采集数据。
[0081] 这里,数据记录获取装置100可通过输入装置(例如,工作站)接收用户手动输入的数据记录。此外,数据记录获取装置100可通过全自动的方式从数据源系统地取出数据记录,例如,通过以软件、固件、硬件或其组合实现的定时器机制来系统地请求数据源并从响应中得到所请求的数据。所述数据源可包括一个或多个数据库或其他服务器。可经由内部网络和/或外部网络来实现全自动获取数据的方式,其中可包括通过互联网来传送加密的数据。在服务器、数据库、网络等被配置为彼此通信的情况下,可在没有人工干预的情况下自动进行数据采集,但应注意,在这种方式下仍旧可存在一定的用户输入操作。半自动方式介于手动方式与全自动方式之间。半自动方式与全自动方式的区别在于由用户激活的触发机制代替了例如定时器机制。在这种情况下,在接收到特定的用户输入的情况下,才产生提取数据的请求。每次获取数据时,优选地,可将捕获的数据存储在非易失性存储器中。作为示例,可利用数据仓库来存储在获取期间采集的原始数据以及处理后的数据。
[0082] 上述获取的数据记录可来源于相同或不同的数据源,也就是说,每条数据记录也可以是不同数据记录的拼接结果。例如,除了获取客户向银行申请开通信用卡时填写的信息数据记录(其包括收入、学历、职务、资产情况等属性信息字段)之外,作为示例,数据记录获取装置100可还获取该客户在该银行的其他数据记录,例如,贷款记录、日常交易数据等,这些获取的数据记录可拼接为完整的数据记录。此外,数据记录获取装置100还可获取来源于其他私有源或公共源的数据,例如,来源于数据提供商的数据、来源于互联网(例如,社交网站)的数据、来源于移动运营商的数据、来源于APP运营商的数据、来源于快递公司的数据、来源于信用机构的数据等等。
[0083] 可选地,数据记录获取装置100可借助硬件集群(诸如Hadoop集群、Spark集群等)对采集到的数据进行存储和/或处理,例如,存储、分类和其他离线操作。此外,数据记录获取装置100也可对采集的数据进行在线的流处理。
[0084] 作为示例,数据记录获取装置100中可包括文本分析模块等数据转换模块,相应地,在步骤S100中,数据记录获取装置100可将文本等非结构化数据转换为更易于使用的结构化数据以在后续进行进一步的处理或引用。基于文本的数据可包括电子邮件、文档、网页、图形、电子数据表、呼叫中心日志、交易报告等。
[0085] 接下来,在步骤S200中,由特征产生装置200针对基于所述至少一个属性信息之中的至少一部分属性信息产生的连续特征之中的每一个连续特征,执行基本分箱运算和至少一个附加运算,以产生与所述每一个连续特征对应的基本分箱特征和至少一个附加特征。
[0086] 具体说来,步骤S200旨在产生基本分箱特征和至少一个附加特征,这些可构成机器学习样本的至少一部分特征。为此,对于特定的连续特征(所述连续特征基于数据记录的至少一部分属性信息而产生),通过分别执行基本分箱运算和附加运算,可获得相应的基本分箱特征和附加特征。
[0087] 连续特征可产生自数据记录的至少一部分属性信息,例如,数据记录的距离、年龄和金额等连续取值的属性信息可直接作为连续特征,又例如,可通过对数据记录的某些属性信息进行进一步的处理来获得连续特征,比如,可将身高与体重的比值作为连续特征。
[0088] 在获得了连续特征之后,可由特征产生装置200对获得的连续特征执行基本分箱运算,这里,特征产生装置200可按照各种分箱方式和/或分箱参数来执行基本分箱运算。
[0089] 以无监督下的等宽分箱为例,假设连续特征的取值区间为[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。
[0090] 在将连续特征映射到多个箱子之后,对应的特征值可以为自定义的任何值。也就是说,执行基本分箱运算以产生与每一个连续特征对应的多维度的基本分箱特征,其中,作为示例,每个维度可指示对应的箱子中是否被分到了相应的连续特征,例如,以“1”来表示连续特征被分到了相应的箱子,而以“0”来表示连续特征没有被分到相应的箱子,相应地,在上述示例中,假设分出了10个箱子,则基本分箱特征可以是10个维度的特征,与取值为61.5的连续特征对应的基本分箱特征可表示为[0,0,0,0,0,0,1,0,0,0]。或者,每个维度可指示对应的箱子中被分到的相应的连续特征的特征值,相应地,在上述示例中,与取值为
61.5的连续特征对应的基本分箱特征可表示为[0,0,0,0,0,0,61.5,0,0,0];或者,每个维度指示对应的箱子中被分到的所有连续特征的特征值的平均值;或者,每个维度指示对应的箱子中被分到的所有连续特征的特征值的中间值;或者,每个维度指示对应的箱子中被分到的所有连续特征的特征值的边界值,这里的边界值可以是上边界值或下边界值。
[0091] 除此之外,还可对基本分箱特征的取值进行归一化处理,以便于执行运算。假设第i个连续特征的第j个值为xij,其分箱特征可表示为(BinID,x′ij),其中,BinID指示连续特征被分到的箱子的标号,该标号的取值范围为0、1、…、B‑1,其中,B为箱子的总数,x′ij为xij的归一化值,上述特征(BinID,x′ij)表示基本分箱特征中与标号为BinID的箱子对应的维度的特征取值为x′ij,其余维度的特征取值为0。
[0092] 其中,x′ij可如下式表示:
[0093]
[0094] 其中,maxi为第i个连续特征的最大值,mini为第i个连续特征的最小值,并且,[0095] 其中, 为向下取整运算符号。
[0096] 以无监督下的等宽分箱为例,假设连续特征的取值区间为[0,100],在分箱宽度为50的情况下,按照上述计算式,取值为61.5的连续特征可对应于基本分箱特征(1,0.23),而在分箱宽度为10的情况下,按照上述计算式,取值为61.5的连续特征可对应于基本分箱特征(6,0.15)。
[0097] 这里,为了获得上述特征(BinID,x′ij),在步骤S200中,特征产生装置200可按照上述计算式,针对每一个xij值进行BinID和x′ij的运算,或者,特征产生装置200也可预先产生关于各个BinID的取值范围的映射表,通过查找该数据表来获得与连续特征相应的BinID。
[0098] 此外,作为示例,在执行基本分箱运算前,还可以通过去除数据样本中可能的离群点来减少数据记录中的噪音。通过这种方式,能进一步提高利用分箱特征进行机器学习的有效性。
[0099] 具体说来,可额外设置离群箱,使得具有离群值的连续特征被分到所述离群箱。举例说来,对于取值区间为[0,1000]的连续特征,可选取一定数量的样本进行预分箱,例如,先按照分箱宽度为10来进行等宽分箱,然后记录每个箱子内的样本数量,对于样本数量较少(例如,少于阈值)的箱子,可以将它们合并为至少一个离群箱。作为示例,如果位于两端的箱内样本数量较少,则可将样本较少的箱子合并为离群箱,而将剩余的箱子保留,假设0‑10号箱子中的样本数量较少,则可将0‑10号箱子合并为离群箱,从而将取值为[0,100]的连续特征统一划分到离群箱。
[0100] 除了执行上述基本分箱运算以外,在步骤S200中,特征产生装置200还针对被所述执行基本分箱运算的每一个连续特征,执行至少一个不同于基本分箱运算的附加运算以获得相应的至少一个附加特征。
[0101] 这里,所述附加运算可以是任意的函数运算,这些函数运算可具有相应的运算参数,并且,针对每一个连续特征执行的附加运算可以是一个或多个运算,所述多个运算可包括不同种类的运算,也可包括相同种类但不同运算参数的运算。
[0102] 特别地,附加运算也可指示分箱运算,这里,类似于基本分箱特征,通过附加分箱运算产生的附加分箱特征也可以是多维度的特征,其中,每个维度指示对应的箱子中是否被分到了相应的连续特征;或者,每个维度指示对应的箱子中被分到的相应的连续特征的特征值;或者,每个维度指示对应的箱子中被分到的所有连续特征的特征值的平均值;或者,每个维度指示对应的箱子中被分到的所有连续特征的特征值的中间值;或者,每个维度指示对应的箱子中被分到的所有连续特征的特征值的边界值。
[0103] 具体说来,所述至少一个附加运算可包括与基本分箱运算分箱方式相同但分箱参数不同的附加分箱运算;或者,所述至少一个附加运算可包括与基本分箱运算分箱方式不同的附加分箱运算。这里的分箱方式包括有监督分箱和/或无监督分箱下的各种分箱方式。例如,有监督分箱包括最小熵分箱、最小描述长度分箱等,而无监督分箱包括等宽分箱、等深分箱、基于k均值聚类的分箱等。
[0104] 作为示例,基本分箱运算和附加分箱运算可分别对应于不同宽度的等宽分箱运算。也就是说,基本分箱运算和附加分箱运算采用的分箱方式相同但划分的粒度不同,这使得产生的基本分箱特征和附加分箱特征能够更好地刻画原始数据记录的规律,从而跟有利于机器学习模型的训练与预测。特别地,基本分箱运算和附加分箱运算所采用的不同宽度可在数值上构成等比数列,例如,基本分箱运算可按照值2的宽度来进行等宽分箱,而附加分箱运算可按照值4、值8、值16等的宽度来进行等宽分箱。或者,基本分箱运算和附加分箱运算所采用的不同宽度可在数值上构成等差数列,例如,基本分箱运算可按照值2的宽度来进行等宽分箱,而附加分箱运算可按照值4、值6、值8等的宽度来进行等宽分箱。
[0105] 作为另一示例,基本分箱运算和附加分箱运算可分别对应于不同深度的等深分箱运算。也就是说,基本分箱运算和附加分箱运算采用的分箱方式相同但划分的粒度不同,这使得产生的基本分箱特征和附加分箱特征能够更好地刻画原始数据记录的规律,从而跟有利于机器学习模型的训练与预测。特别地,基本分箱运算和附加分箱运算所采用的不同深度可在数值上构成等比数列,例如,基本分箱运算可按照值10的深度来进行等深分箱,而附加分箱运算可按照值100、值1000、值10000等的深度来进行等深分箱。或者,基本分箱运算和附加分箱运算所采用的不同深度可在数值上构成等差数列,例如,基本分箱运算可按照值10的深度来进行等深分箱,而附加分箱运算可按照值20、值30、值40等的深度来进行等深分箱。
[0106] 根据本发明的示例性实施例,附加运算还可包括非分箱运算,例如,所述至少一个附加运算包括以下种类的运算之中的至少一种运算:对数运算、指数运算、绝对值运算、高斯变换运算。应注意,这里的附加运算不受运算种类和运算参数的限制,可采用任何适当的算式形式,也就是说,附加运算既可以具有诸如平方运算这样的简单形式,也可以具有复杂的运算表达式,例如,对于第i个连续特征的第j个值xij,可按照下式对其执行附加运算以得到附加特征x″ij:
[0107] x″ij=sign(xij)×log2(1+|xij|),其中,sign为符号函数。
[0108] 除了上述基本分箱特征和附加特征之外,在步骤S200中,还可产生机器学习样本中包括的其他特征,这些特征可由特征产生装置200或其他装置通过对数据记录的至少一部分属性信息进行诸如离散化、字段组合、提取部分字段值、取整等各种特征处理而获得。
[0109] 接下来,继续参照图5,在步骤S300中,由机器学习样本产生装置300产生至少包括所产生的基本分箱特征和至少一个附加特征的机器学习样本。这里,产生的机器学习样本可仅包括基本分箱特征和附加特征,也可还包括其他特征,作为示例,产生的机器学习样本可还包括基于所述至少一部分属性信息产生的所述连续特征之中的至少一个连续特征,即,经过了基本分箱运算和附加运算的连续特征之中的至少一个。这里的机器学习样本可指示训练样本或预测样本,如果是有监督学习下的预测样本,除了特征之外,还应包括相应的标记部分。
[0110] 根据本发明的示例性实施例,步骤S200和步骤S300可在分布式并行计算框架下于内存中执行,这里的分布式并行计算框架可具有分布式参数服务器。
[0111] 此外,作为示例,产生的机器学习样本可被直接用于机器学习模型训练处理和/或机器学习模型预测处理。具体说来,根据本发明示例性实施例的机器学习样本产生步骤可被视为机器学习模型训练和/或预测过程的一部分,相应地,机器学习样本不需要显式地保存到硬盘,这种处理方式与传统方式相比可明显地提高运行速度。
[0112] 图6示出根据本发明示例性实施例的机器学习模型的训练方法的流程图。在图6所示的方法中,除了上述步骤S100、S200和S300之外,所述方法还包括步骤S400。
[0113] 具体说来,在图6所示的方法中,步骤S100和步骤S200可与图5所示的相应步骤类似,只是,在步骤S300中,可产生机器学习训练样本,特别地,作为示例,在有监督学习的情况下,所产生的机器学习训练样本可包括特征和标记(label)两部分。
[0114] 在步骤S400中,可由机器学习模型训练装置400基于机器学习训练样本来训练机器学习模型。这里,机器学习模型训练装置400可利用适当的机器学习算法(例如,对数几率回归),从机器学习训练样本学习出适当的机器学习模型。
[0115] 在上述示例中,可训练出较为稳定且预测效果较好的机器学习模型。
[0116] 在训练出机器学习模型之后,可利用根据本发明示例性实施例的特征处理方式来进行机器学习预测。
[0117] 图7示出根据本发明示例性实施例的机器学习模型的预测方法的流程图。在图7所示的方法中,除了上述步骤S100、S200和S300之外,所述方法还包括步骤S500。
[0118] 具体说来,在图7所示的方法中,步骤S100和步骤S200可与图5所示的相应步骤类似,只是,在步骤S300中,可产生机器学习预测样本,这里,可按照相应的机器学习训练样本中的特征部分的产生方式来产生机器学习预测样本的特征部分。
[0119] 在步骤S500中,可由机器学习模型预测装置500利用机器学习模型,提供与机器学习预测样本相应的预测结果。这里,可批量地针对多个机器学习预测样本来提供预测结果。此外,机器学习模型可通过根据本发明示例性实施例的训练方法来产生,也可从外部接收。
[0120] 可以看出,在根据本发明示例性实施例的特征处理方案以及相应的机器学习方案中,针对单个连续特征,除了执行基本分箱运算之外,还额外执行附加的运算,从而获得与所述连续特征相应的包括分箱特征的多个特征,使得组成机器学习样本的特征更为有效,从而提升了机器学习模型的效果。
[0121] 上述方式与将离散特征连续化的处理方式相比,减少了信息的损失,此外,可有效地刻画出特征与预测目标之间的非线性关系,作为示例,上述方式对于某些应用广泛的线性模型(例如,对数几率回归模型)而言,将显著提高模型的效果。
[0122] 可选地,在本发明的示例性实施例中,可进一步执行在分箱方式和/或分箱参数方面存在差异的多种分箱运算,从而一方面提升了模型的效果,另一方面也减少了人为提取非线性特征或调节参数所要求的能力/精力,降低了机器学习的应用门槛。
[0123] 应注意,上述特征处理系统以及相应的模型训练/预测系统可完全依赖计算机程序的运行来实现相应的功能,即,各个装置与计算机程序的功能架构中的各步骤相应,使得整个系统通过专门的软件包(例如,lib库)而被调用,以实现相应的功能。
[0124] 另一方面,图1到图4所示的各个装置也可以通过硬件、软件、固件、中间件、微代码或其任意组合来实现。当以软件、固件、中间件或微代码实现时,用于执行相应操作的程序代码或者代码段可以存储在诸如存储介质的计算机可读介质中,使得处理器可通过读取并运行相应的程序代码或者代码段来执行相应的操作。
[0125] 这里,本发明的示例性实施例还可以实现为计算装置,该计算装置包括存储部件和处理器,存储部件中存储有计算机可执行指令集合,当所述计算机可执行指令集合被所述处理器执行时,执行上述特征处理方法和机器学习方法。
[0126] 具体说来,所述计算装置可以部署在服务器或客户端中,也可以部署在分布式网络环境中的节点装置上。此外,所述计算装置可以是PC计算机、平板装置、个人数字助理、智能手机、web应用或其他能够执行上述指令集合的装置。
[0127] 这里,所述计算装置并非必须是单个的计算装置,还可以是任何能够单独或联合执行上述指令(或指令集)的装置或电路的集合体。计算装置还可以是集成控制系统或系统管理器的一部分,或者可被配置为与本地或远程(例如,经由无线传输)以接口互联的便携式电子装置。
[0128] 在所述计算装置中,处理器可包括中央处理器(CPU)、图形处理器(GPU)、可编程逻辑装置、专用处理器系统、微控制器或微处理器。作为示例而非限制,处理器还可包括模拟处理器、数字处理器、微处理器、多核处理器、处理器阵列、网络处理器等。
[0129] 上述关于特征处理方法和/或机器学习方法中所描述的某些操作可通过软件方式来实现,某些操作可通过硬件方式来实现,此外,还可通过软硬件结合的方式来实现这些操作。
[0130] 处理器可运行存储在存储部件之一中的指令或代码,其中,所述存储部件还可以存储数据。指令和数据还可经由网络接口装置而通过网络被发送和接收,其中,所述网络接口装置可采用任何已知的传输协议。
[0131] 存储部件可与处理器集成为一体,例如,将RAM或闪存布置在集成电路微处理器等之内。此外,存储部件可包括独立的装置,诸如,外部盘驱动、存储阵列或任何数据库系统可使用的其他存储装置。存储部件和处理器可在操作上进行耦合,或者可例如通过I/O端口、网络连接等互相通信,使得处理器能够读取存储在存储部件中的文件。
[0132] 此外,所述计算装置还可包括视频显示器(诸如,液晶显示器)和用户交互接口(诸如,键盘、鼠标、触摸输入装置等)。计算装置的所有组件可经由总线和/或网络而彼此连接。
[0133] 上述关于特征处理和/或机器学习的方法所涉及的操作可被描述为各种互联或耦合的功能块或功能示图。然而,这些功能块或功能示图可被均等地集成为单个的逻辑装置或按照非确切的边界进行操作。
[0134] 具体说来,如上所述,根据本发明示例性实施例的执行针对机器学习的特征处理的计算装置可包括存储部件和处理器,存储部件中存储有计算机可执行指令集合,当所述计算机可执行指令集合被所述处理器执行时,执行下述步骤:(A)获取数据记录,其中,所述数据记录包括至少一个属性信息;(B)针对基于所述至少一个属性信息之中的至少一部分属性信息产生的连续特征之中的每一个连续特征,执行基本分箱运算和至少一个附加运算,以产生与所述每一个连续特征对应的基本分箱特征和至少一个附加特征;(C)产生至少包括所产生的基本分箱特征和至少一个附加特征的机器学习样本。
[0135] 应注意,以上已经结合图5到图7描述了根据本发明示例性实施例的针对机器学习的特征处理方法的各处理细节,这里将不再赘述计算装置执行各步骤时的处理细节。
[0136] 以上已经描述了本发明的各示例性实施例,应理解,上述描述仅是示例性的,并非穷尽性的,并且本发明也不限于所披露的各示例性实施例。在不偏离本发明的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。因此,本发明的保护范围应该以权利要求的范围为准。

当前第1页 第1页 第2页 第3页
相关技术
方法特征相关技术
机器学习相关技术
罗远飞发明人的其他相关专利技术